Milimetric has submitted this change and it was merged.

Change subject: added autocomplete to the csv upload form
......................................................................


added autocomplete to the csv upload form

Change-Id: Iad5ddc4321229085289b1ddb8778195c173d6255
---
M wikimetrics/controllers/cohorts.py
M wikimetrics/database.py
M wikimetrics/static/js/cohortUpload.js
M wikimetrics/templates/csv_upload_form.html
4 files changed, 26 insertions(+), 4 deletions(-)

Approvals:
  Milimetric: Verified; Looks good to me, approved



diff --git a/wikimetrics/controllers/cohorts.py 
b/wikimetrics/controllers/cohorts.py
index e0616dc..6d134af 100644
--- a/wikimetrics/controllers/cohorts.py
+++ b/wikimetrics/controllers/cohorts.py
@@ -123,7 +123,10 @@
 def cohort_upload():
     """ View for uploading and validating a new cohort via CSV """
     if request.method == 'GET':
-        return render_template('csv_upload.html')
+        return render_template(
+            'csv_upload.html',
+            projects=json.dumps(db.project_host_map.keys()),
+        )
 
     elif request.method == 'POST':
         try:
@@ -152,6 +155,7 @@
                 name=name,
                 project=project,
                 description=description,
+                projects=json.dumps(db.project_host_map.keys()),
             )
         except Exception, e:
             app.logger.exception(str(e))
@@ -242,6 +246,13 @@
     return json.dumps(available)
 
 
[email protected]('/cohorts/validate/project')
+def validate_cohort_project_allowed():
+    project = request.args.get('project')
+    valid = project in db.project_host_map
+    return json.dumps(valid)
+
+
 def normalize_newlines(stream):
     for line in stream:
         if '\r' in line:
diff --git a/wikimetrics/database.py b/wikimetrics/database.py
index dc514aa..5e0dab0 100644
--- a/wikimetrics/database.py
+++ b/wikimetrics/database.py
@@ -33,7 +33,7 @@
 
 
 def get_host_projects(host_id):
-    cluster_url_fmt = 'http://noc.wikimedia.org/conf/s{0}.dblist'
+    cluster_url_fmt = 'https://noc.wikimedia.org/conf/s{0}.dblist'
     url = cluster_url_fmt.format(host_id)
     projects = urlopen(url).read().splitlines()
     return (host_id, projects)
diff --git a/wikimetrics/static/js/cohortUpload.js 
b/wikimetrics/static/js/cohortUpload.js
index b463e51..8aae272 100644
--- a/wikimetrics/static/js/cohortUpload.js
+++ b/wikimetrics/static/js/cohortUpload.js
@@ -9,6 +9,9 @@
         messages: {
             name: {
                 remote: 'This cohort name is taken.',
+            },
+            project: {
+                remote: 'That project does not exist.',
             }
         },
         rules: {
@@ -17,6 +20,10 @@
                 cohortName: true,
                 remote: '/cohorts/validate/name',
             },
+            project: {
+                required: true,
+                remote: '/cohorts/validate/project',
+            },
             csv: {
                 required: true
             }
diff --git a/wikimetrics/templates/csv_upload_form.html 
b/wikimetrics/templates/csv_upload_form.html
index 00b9233..059044e 100644
--- a/wikimetrics/templates/csv_upload_form.html
+++ b/wikimetrics/templates/csv_upload_form.html
@@ -18,8 +18,12 @@
     <div class="control-group">
         <label for="project" class="control-label">Default Project</label>
         <div class="controls">
-            <input type="text" name="project" class="required" id="project" 
value="{% if project %}{{project}}{% endif %}"/>
-            <!--TODO: make this an autocomplete box-->
+            <input type="text" name="project" id="project"
+                   value="{% if project %}{{project}}{% endif %}"
+                   data-provide="typeahead"
+                   data-source='{{projects}}'
+                   autocomplete="off"
+            />
         </div>
     </div>
     <div class="control-group">

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Iad5ddc4321229085289b1ddb8778195c173d6255
Gerrit-PatchSet: 1
Gerrit-Project: analytics/wikimetrics
Gerrit-Branch: master
Gerrit-Owner: Milimetric <[email protected]>
Gerrit-Reviewer: Milimetric <[email protected]>

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

Reply via email to