AndyRussG has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/154479

Change subject: Move get_cohort_by_name() to CohortService
......................................................................

Move get_cohort_by_name() to CohortService

Move wikimetrics.controllers.cohorts.get_cohort_by_name() to
wikimetrics.api.cohorts.CohortService.

Change-Id: I3c0b89bf3a702e43bacc9884d2baaf608cea1e0b
---
M wikimetrics/api/cohorts.py
M wikimetrics/controllers/cohorts.py
2 files changed, 15 insertions(+), 13 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/analytics/wikimetrics 
refs/changes/79/154479/1

diff --git a/wikimetrics/api/cohorts.py b/wikimetrics/api/cohorts.py
index bf360f2..4b9af93 100644
--- a/wikimetrics/api/cohorts.py
+++ b/wikimetrics/api/cohorts.py
@@ -71,6 +71,15 @@
         db_session = db.get_session()
         return db_session.query(CohortStore).get(cohort.id)
 
+    def get_cohort_by_name(self, db_session, name):
+        """
+        Gets a cohort by name, without worrying about access, ownership or 
duplicates.
+        """
+        try:
+            return db_session.query(CohortStore).filter(CohortStore.name == 
name).first()
+        finally:
+            db_session.close()
+
     def get(self, db_session, user_id, **kargs):
         """Same as _get but checks validity of the cohort"""
         cohort = self._get(db_session, user_id, **kargs)
diff --git a/wikimetrics/controllers/cohorts.py 
b/wikimetrics/controllers/cohorts.py
index e98ea7b..f7ff8ac 100644
--- a/wikimetrics/controllers/cohorts.py
+++ b/wikimetrics/controllers/cohorts.py
@@ -184,8 +184,11 @@
         try:
             if not form.validate():
                 flash('Please fix validation problems.', 'warning')
-            elif get_cohort_by_name(form.name.data):
+
+            # NOTE: The following two lines will be removed in validation 
refactor
+            elif g.cohort_service.get_cohort_by_name(db.get_session(), 
form.name.data):
                 flash('That Cohort name is already taken.', 'warning')
+
             else:
                 form.parse_records()
                 vc = ValidateCohort.from_upload(form, current_user.id)
@@ -205,21 +208,11 @@
     )
 
 
-def get_cohort_by_name(name):
-    """
-    Gets a cohort by name, without checking access or worrying about duplicates
-    """
-    try:
-        db_session = db.get_session()
-        return db_session.query(CohortStore).filter(CohortStore.name == 
name).first()
-    finally:
-        db_session.close()
-
-
 @app.route('/cohorts/validate/name')
 def validate_cohort_name_allowed():
     name = request.args.get('name')
-    available = get_cohort_by_name(name) is None
+    session = db.get_session()
+    available = g.cohort_service.get_cohort_by_name(session, name) is None
     return json.dumps(available)
 
 

-- 
To view, visit https://gerrit.wikimedia.org/r/154479
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3c0b89bf3a702e43bacc9884d2baaf608cea1e0b
Gerrit-PatchSet: 1
Gerrit-Project: analytics/wikimetrics
Gerrit-Branch: master
Gerrit-Owner: AndyRussG <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to