aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Android/AndroidManifest.xml2
-rw-r--r--iPhone/FixMyStreet/FixMyStreet-Info.plist2
-rw-r--r--www/css/fms.css25
-rw-r--r--www/index.html2
-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
-rw-r--r--www/templates/en/reports.html10
-rw-r--r--www/templates/en/sent.html21
14 files changed, 113 insertions, 29 deletions
diff --git a/Android/AndroidManifest.xml b/Android/AndroidManifest.xml
index bcc181b..8ef37e7 100644
--- a/Android/AndroidManifest.xml
+++ b/Android/AndroidManifest.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.mysociety.FixMyStreet"
- android:versionCode="11"
+ android:versionCode="13"
android:versionName="2.0" >
<uses-sdk
diff --git a/iPhone/FixMyStreet/FixMyStreet-Info.plist b/iPhone/FixMyStreet/FixMyStreet-Info.plist
index 473350b..1c16412 100644
--- a/iPhone/FixMyStreet/FixMyStreet-Info.plist
+++ b/iPhone/FixMyStreet/FixMyStreet-Info.plist
@@ -39,7 +39,7 @@
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
- <string>4</string>
+ <string>7</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSMainNibFile</key>
diff --git a/www/css/fms.css b/www/css/fms.css
index c075de7..b225a0a 100644
--- a/www/css/fms.css
+++ b/www/css/fms.css
@@ -10,6 +10,17 @@
padding: 0.5em;
border-radius:0;
}
+
+ .ui-icon-plus, .ui-icon-minus, .ui-icon-delete, .ui-icon-arrow-r, .ui-icon-arrow-l, .ui-icon-arrow-u, .ui-icon-arrow-d, .ui-icon-check, .ui-icon-gear, .ui-icon-refresh, .ui-icon-forward, .ui-icon-back, .ui-icon-grid, .ui-icon-star, .ui-icon-alert, .ui-icon-info, .ui-icon-home, .ui-icon-bars, .ui-icon-edit, .ui-icon-search, .ui-icon-searchfield::after, .ui-icon-checkbox-off, .ui-icon-checkbox-on, .ui-icon-radio-off, .ui-icon-radio-on {
+ background-size: 810px 54px;
+ }
+
+ .ui-li .ui-btn-up-c {
+ border-top-width: 0px;
+ border-bottom-width: 0px;
+ border-right-width: 0px;
+ border-left-width: 1px;
+ }
.ui-checkbox,
.ui-controlgroup .ui-checkbox
{
@@ -70,6 +81,20 @@
.gmailstyletest input[type="range"] {
font-size: 16px;
}
+
+ @media only screen and (max-width: 800px) and (min-width: 600px)
+ and (min-resolution: 320dpi) {
+ .gmailstyletest input,
+ .gmailstyletest input[type="password"],
+ .gmailstyletest input[type="search"],
+ .gmailstyletest input[type="email"],
+ .gmailstyletest textarea,
+ .gmailstyletest select,
+ .gmailstyletest input[type="range"] {
+ font-size: 24px;
+ }
+ }
+
select{
-webkit-appearance: none;
-moz-appearance: none;
diff --git a/www/index.html b/www/index.html
index c056e94..c9b6a7f 100644
--- a/www/index.html
+++ b/www/index.html
@@ -18,7 +18,7 @@
<script type="text/javascript" src="js/config.js"></script>
- <script type="text/javascript" src="jslib/jquery-1.9.1.js"></script>
+ <script type="text/javascript" src="jslib/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="js/mobile_config.js"></script>
<script type="text/javascript" src="jslib/jquery.mobile-1.3.1.min.js"></script>
<script type="text/javascript" src="jslib/moment-2.0.0.min.js"></script>
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',
diff --git a/www/templates/en/reports.html b/www/templates/en/reports.html
index 45c1dc0..c7cc86b 100644
--- a/www/templates/en/reports.html
+++ b/www/templates/en/reports.html
@@ -2,12 +2,10 @@
<h1>My Reports</h1>
<a id="reports-next-btn" data-icon="arrow-r" data-iconpos="right" class="ui-btn-right">Home</a>
</div>
-<div class="container" data-enhance="false">
- <div class="content" role="main">
- <h1>Draft reports</h1>
- </div>
+<div data-role="content">
+ <h3>Draft reports</h3>
- <ul>
- <% drafts.each(function(draft) { if ( draft ) { print( '<li id="' + draft.id + '">' + draft.description() + ' <a class="del_report">X</a> <a class="use_report">&#8594;</a></li>' ); } else { print( '<li>no/li<>'); } } ); %>
+ <ul data-role="listview" data-split-theme="c" data-inset="true" data-split-icon="delete" class="reports">
+ <% drafts.each(function(draft) { if ( draft ) { print( '<li id="' + draft.id + '"' + ( draft.get('lat') ? ' class="with_location"' : '' ) + '><a href="#" class="use_report">' + draft.description() + ( draft.get('lat') ? ' L' : '' ) + '</a><a class="del_report" href="#" title="delete">Delete</a></li>' ); } else { print( '<li>no/li<>'); } } ); %>
</ul>
</div>
diff --git a/www/templates/en/sent.html b/www/templates/en/sent.html
index 512015a..f18a7aa 100644
--- a/www/templates/en/sent.html
+++ b/www/templates/en/sent.html
@@ -2,12 +2,17 @@
<a class="ui-btn-left">Locate</a>
<h1>Report Created</h1>
</div>
-<div class="table-cell">
- <div class="container" data-role="content">
- <div class="content" role="main">
- <h1>Your report has been created</h1>
+<div data-role="content">
+ <% if ( typeof email_confirm != 'undefined' && email_confirm === 1 ) { %>
+ <h3>Confirmation email sent</h3>
- <p>You can view it on the site at <span id="report_url"></span></p>
- </div><!-- .content role=main -->
- </div><!-- .container -->
-</div><!-- .table-cell -->
+ <p>
+ We've sent you a confirmation email which may take a few minutes to arrive. Once it arrives
+ click the link in the email to confirm your report.
+ </p>
+ <% } else { %>
+ <h3>Your report has been created</h3>
+
+ <p><a onclick="FMS.openExternal(event); return false;" href="<%= site_url %>">View it on the site</a></p>
+ <% } %>
+</div>