aboutsummaryrefslogtreecommitdiffstats
path: root/www/js
diff options
context:
space:
mode:
Diffstat (limited to 'www/js')
-rw-r--r--www/js/models/draft.js13
-rw-r--r--www/js/router.js6
-rw-r--r--www/js/views/around.js8
-rw-r--r--www/js/views/details.js4
-rw-r--r--www/js/views/fms.js6
-rw-r--r--www/js/views/reports.js8
-rw-r--r--www/js/views/sent.js11
-rw-r--r--www/js/views/submit.js24
8 files changed, 68 insertions, 12 deletions
diff --git a/www/js/models/draft.js b/www/js/models/draft.js
index b033f21..97a92ff 100644
--- a/www/js/models/draft.js
+++ b/www/js/models/draft.js
@@ -28,6 +28,19 @@
return desc;
},
+ isPartial: function() {
+ if (
+ this.get('title') ||
+ this.get('details') ||
+ this.get('category') ||
+ this.get('file')
+ ) {
+ return true;
+ }
+
+ return false;
+ },
+
createdDate: function() {
return moment.utc( this.get('created') ).format( 'H:mm Do MMM' );
}
diff --git a/www/js/router.js b/www/js/router.js
index f14c279..2646fb0 100644
--- a/www/js/router.js
+++ b/www/js/router.js
@@ -18,6 +18,7 @@
'submit-email': 'submitEmail',
'submit-name': 'submitName',
'submit-password': 'submitPassword',
+ 'submit-set-password': 'submitSetPassword',
'save_offline': 'saveOffline',
'sent': 'sent',
'reports': 'reports',
@@ -108,6 +109,11 @@
this.changeView(submitPasswordView);
},
+ submitSetPassword: function(){
+ var submitSetPasswordView = new FMS.SubmitSetPasswordView({ model: FMS.currentDraft });
+ this.changeView(submitSetPasswordView);
+ },
+
saveOffline: function(){
var saveOfflineView = new FMS.SaveOfflineView({ model: FMS.currentDraft });
this.changeView(saveOfflineView);
diff --git a/www/js/views/around.js b/www/js/views/around.js
index d1075f6..39d58e5 100644
--- a/www/js/views/around.js
+++ b/www/js/views/around.js
@@ -165,8 +165,12 @@
$('#view-my-reports').show();
$('#login-options').show();
$('#mark-here').show();
- this.model.set('lat', null);
- this.model.set('lon', null);
+ if ( this.model.isPartial() ) {
+ FMS.clearCurrentDraft();
+ } else {
+ this.model.set('lat', null);
+ this.model.set('lon', null);
+ }
fixmystreet.markers.setVisibility(true);
fixmystreet.select_feature.activate();
},
diff --git a/www/js/views/details.js b/www/js/views/details.js
index 67fbab6..b5e94e5 100644
--- a/www/js/views/details.js
+++ b/www/js/views/details.js
@@ -22,8 +22,8 @@
if ( this.model.get('category') ) {
this.$('#form_category').val( this.model.get('category') );
- this.setSelectClass();
}
+ this.setSelectClass();
},
@@ -74,7 +74,7 @@
},
setSelectClass: function() {
- var cat = $('#form_category');
+ var cat = this.$('#form_category');
if ( cat.val() !== "" && cat.val() !== '-- Pick a category --' ) {
cat.removeClass('noselection');
} else {
diff --git a/www/js/views/fms.js b/www/js/views/fms.js
index 7196941..640d5e6 100644
--- a/www/js/views/fms.js
+++ b/www/js/views/fms.js
@@ -57,11 +57,13 @@
FMS.router.navigate( route, { trigger: true } );
},
- onClickButtonPrev: function() {
+ onClickButtonPrev: function(e) {
+ e.preventDefault();
this.navigate( this.prev, true );
},
- onClickButtonNext: function() {
+ onClickButtonNext: function(e) {
+ e.preventDefault();
this.navigate( this.next );
},
diff --git a/www/js/views/reports.js b/www/js/views/reports.js
index 5241319..f5c1cbb 100644
--- a/www/js/views/reports.js
+++ b/www/js/views/reports.js
@@ -16,8 +16,9 @@
},
deleteReport: function(e) {
+ e.preventDefault();
var el = $(e.target);
- var id = el.parent('li').attr('id');
+ var id = el.parents('li').attr('id');
var del = FMS.removeDraft( id, true );
var that = this;
del.done( function() { that.onRemoveDraft(el); } );
@@ -25,14 +26,15 @@
},
useReport: function(e) {
+ e.preventDefault();
var el = $(e.target);
- var id = el.parent('li').attr('id');
+ var id = el.parents('li').attr('id');
FMS.currentDraft = FMS.allDrafts.get(id);
this.navigate('around');
},
onRemoveDraft: function(el) {
- el.parent('li').remove();
+ el.parents('li').remove();
},
render: function(){
diff --git a/www/js/views/sent.js b/www/js/views/sent.js
index 03ec7a7..179d9f7 100644
--- a/www/js/views/sent.js
+++ b/www/js/views/sent.js
@@ -10,6 +10,17 @@
'pagebeforeshow': 'beforeDisplay',
'pageshow': 'afterDisplay',
'vclick .ui-btn-left': 'onClickButtonPrev'
+ },
+
+ render: function(){
+ if ( !this.template ) {
+ console.log('no template to render');
+ return;
+ }
+ template = _.template( tpl.get( this.template ) );
+ this.$el.html(template(FMS.createdReport.toJSON()));
+ this.afterRender();
+ return this;
}
})
});
diff --git a/www/js/views/submit.js b/www/js/views/submit.js
index bab9396..e408a2e 100644
--- a/www/js/views/submit.js
+++ b/www/js/views/submit.js
@@ -55,6 +55,12 @@
if ( FMS.currentUser ) {
FMS.currentUser.save();
}
+ if (resp.report) {
+ this.report.set('site_id', resp.report);
+ this.report.set('site_url', CONFIG.FMS_URL + '/report/' + resp.report);
+ } else {
+ this.report.set('email_confirm', 1);
+ }
var reset = FMS.removeDraft( model.id, true);
var that = this;
reset.done( function() { that.onRemoveDraft(); } );
@@ -115,14 +121,16 @@
return isValid;
},
- onClickPassword: function() {
+ onClickPassword: function(e) {
+ e.preventDefault();
if ( this.validate() ) {
FMS.currentUser.set('email', $('#form_email').val());
this.navigate( 'submit-password' );
}
},
- onClickConfirm: function() {
+ onClickConfirm: function(e) {
+ e.preventDefault();
if ( this.validate() ) {
FMS.currentUser.set('email', $('#form_email').val());
this.navigate( 'submit-name' );
@@ -180,7 +188,7 @@
this.model.set('submit_clicked', 'submit_register');
FMS.currentUser.set('name', $('#form_name').val());
FMS.currentUser.set('phone', $('#form_phone').val());
- this.navigate( 'submit-password' );
+ this.navigate( 'submit-set-password' );
}
},
@@ -265,6 +273,16 @@
(function (FMS, Backbone, _, $) {
_.extend( FMS, {
+ SubmitSetPasswordView: FMS.SubmitPasswordView.extend({
+ template: 'submit_password',
+ id: 'submit--set-password-page',
+ prev: 'submit-name'
+ })
+ });
+})(FMS, Backbone, _, $);
+
+(function (FMS, Backbone, _, $) {
+ _.extend( FMS, {
SubmitConfirmView: FMS.SubmitView.extend({
template: 'submit_confirm',
id: 'submit-confirm-page',