From cb5cde542d41d4cde28f3c813946b28f34fbae07 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Laura=20Kl=C3=BCnder?=
Date: Thu, 21 Dec 2017 02:58:13 +0100
Subject: [PATCH] make editing wifi measurements work and show error without
mobileclient
---
src/c3nav/editor/forms.py | 3 +++
src/c3nav/editor/static/editor/css/editor.css | 10 +++++++---
src/c3nav/editor/static/editor/js/editor.js | 11 +++++++++--
src/c3nav/editor/templates/editor/base.html | 3 +++
4 files changed, 22 insertions(+), 5 deletions(-)
diff --git a/src/c3nav/editor/forms.py b/src/c3nav/editor/forms.py
index af9b1f09..62f6ac44 100644
--- a/src/c3nav/editor/forms.py
+++ b/src/c3nav/editor/forms.py
@@ -136,6 +136,9 @@ class EditorFormBase(I18nModelFormMixin, ModelForm):
if 'to_node' in self.fields:
self.fields['to_node'].widget = HiddenInput()
+ if 'data' in self.fields:
+ self.initial['data'] = json.dumps(self.initial['data'])
+
def clean_redirect_slugs(self):
old_redirect_slugs = set(self.redirect_slugs)
new_redirect_slugs = set(s for s in (s.strip() for s in self.cleaned_data['redirect_slugs'].split(',')) if s)
diff --git a/src/c3nav/editor/static/editor/css/editor.css b/src/c3nav/editor/static/editor/css/editor.css
index fb9f2468..f38ee21e 100644
--- a/src/c3nav/editor/static/editor/css/editor.css
+++ b/src/c3nav/editor/static/editor/css/editor.css
@@ -72,10 +72,13 @@ body:not(.map-enabled) #sidebar {
nav.navbar .navbar-nav > li > a {
color:#666666;
}
+body.mobileclient .nomobileclient {
+ display:none;
+}
/* sidebar contents */
#sidebar form.creation-lock [type=submit].btn.btn-primary,
-#sidebar form.scan-lock [type=submit].btn.btn-primary{
+#sidebar form.scan-lock [type=submit].btn.btn-primary {
display:none;
}
#sidebar h3 {
@@ -334,13 +337,14 @@ body > .wificollector {
.wificollector:not(.empty) .btn.start,
.wificollector:not(.running) .btn.stop,
.wificollector:not(.done) .btn.reset,
-.wificollector.empty .count-line {
+.wificollector.empty .count-line,
+body:not(.mobileclient) .wificollector .btn {
display: none;
}
.wificollector .btn {
margin: 0 5px 0 0;
}
-.wificollector p {
+.wificollector p:first-child {
height: 26px;
margin: 0;
}
diff --git a/src/c3nav/editor/static/editor/js/editor.js b/src/c3nav/editor/static/editor/js/editor.js
index 8489fd8e..a2ad6da5 100644
--- a/src/c3nav/editor/static/editor/js/editor.js
+++ b/src/c3nav/editor/static/editor/js/editor.js
@@ -22,6 +22,8 @@ editor = {
editor.map.doubleClickZoom.enable();
});
+ if (window.mobileclient) $('body').addClass('mobileclient');
+
/*
* Fix scroll wheel zoom on precise scrolling devices
*/
@@ -234,8 +236,13 @@ editor = {
var data_field = $('form [name=data]');
if (data_field.length) {
data_field.hide();
- data_field.after($('body .wificollector')[0].outerHTML);
- data_field.closest('form').addClass('scan-lock');
+ var collector = $($('body .wificollector')[0].outerHTML);
+ if (data_field.val()) {
+ collector.removeClass('empty').addClass('done').find('.count').text(JSON.parse(data_field.val()).length);
+ } else {
+ data_field.closest('form').addClass('scan-lock');
+ }
+ data_field.after(collector);
}
},
_sidebar_error: function(data) {
diff --git a/src/c3nav/editor/templates/editor/base.html b/src/c3nav/editor/templates/editor/base.html
index 531f3994..d345e6d4 100644
--- a/src/c3nav/editor/templates/editor/base.html
+++ b/src/c3nav/editor/templates/editor/base.html
@@ -51,6 +51,9 @@
{% trans 'Reset scan results' %}
0 scans
+
+ {% trans 'mobileclient not found. Please install the c3nav app for wifi scanning support.' %}
+