aboutsummaryrefslogtreecommitdiffstats
path: root/phonegap/www/js/mobile.js
diff options
context:
space:
mode:
authorStruan Donald <struan@exo.org.uk>2012-06-01 16:38:09 +0100
committerStruan Donald <struan@exo.org.uk>2012-06-01 16:47:16 +0100
commitd7ec11d4ff1467f61b7fc5936cebcf158ef1765a (patch)
treeb7b5bc634a0159c138710a0f20dbabf369de03cd /phonegap/www/js/mobile.js
parent39a974fcbb2240d660857c1239b77f82b9f5433b (diff)
inital pass at sign in/sign out functionality
Diffstat (limited to 'phonegap/www/js/mobile.js')
-rw-r--r--phonegap/www/js/mobile.js91
1 files changed, 89 insertions, 2 deletions
diff --git a/phonegap/www/js/mobile.js b/phonegap/www/js/mobile.js
index f580ee0bf..adf5e86cf 100644
--- a/phonegap/www/js/mobile.js
+++ b/phonegap/www/js/mobile.js
@@ -195,8 +195,10 @@ function check_name( name, msg ) {
$('#password_surround').hide();
$('#providing_password').hide();
$('#form_name').val( name );
- $('#form_name').focus();
- $('#form_name').before('<div class="form-error">' + msg + '</div>' );
+ if ( msg ) {
+ $('#form_name').focus();
+ $('#form_name').before('<div class="form-error">' + msg + '</div>' );
+ }
}
function fileUploadSuccess(r) {
@@ -305,10 +307,95 @@ function postReport(e) {
return false;
}
+function sign_in() {
+ jQuery.ajax( {
+ url: CONFIG.FMS_URL + "auth/ajax/sign_in",
+ type: 'POST',
+ data: {
+ email: $('#form_email').val(),
+ password_sign_in: $('#password_sign_in').val(),
+ remember_me: 1
+ },
+ success: function(data) {
+ if ( data.name ) {
+ localStorage.name = data.name;
+ window.location = 'signed_in.html';
+ $('#sign_out').show();
+ $('#sign_in').hide();
+ } else {
+ alert('Sign in Failed :(');
+ }
+ }
+ } );
+
+}
+
+function display_signed_out_msg() {
+ if ( localStorage.signed_out == 1 ) {
+ $('#user-meta').html('<p>You&rsquo;ve been signed out.</p>');
+ localStorage.signed_out = null;
+ }
+}
+
+function sign_out() {
+ jQuery.ajax( {
+ url: CONFIG.FMS_URL + "auth/ajax/sign_out",
+ type: 'GET',
+ success: function(data) {
+ if ( data.signed_out ) {
+ localStorage.signed_out = 1;
+ localStorage.name = null;
+ document.location = 'sign_in.html';
+ }
+ }
+ } );
+}
+
+function check_auth() {
+ if ( $('#user-meta').length ) {
+ jQuery.ajax( {
+ url: CONFIG.FMS_URL + "auth/ajax/check_auth",
+ type: 'GET',
+ statusCode: {
+ 200: function(data) {
+ localStorage.name = data.name;
+ $('#user-meta').html('<p>Hi ' + localStorage.name + '<a href="#" onclick="sign_out(); return false;">Sign out</a></p>');
+ $('.mobile-sign-in-banner').show();
+ $('#sign_in').hide();
+ $('#sign_out').show();
+ },
+ 401: function() {
+ $('#user-meta').html('');
+ localStorage.name = '';
+ $('.mobile-sign-in-banner').show();
+ $('#sign_out').hide();
+ $('#sign_in').show();
+ $('#user-meta').html('');
+ }
+ }
+ } );
+ }
+}
+
+function signed_in() {
+ if ( $('body').hasClass('signed-in-page') ) {
+ $('#user-meta').html('<p>Hi ' + localStorage.name + '<a href="#" onclick="sign_out(); return false;">Sign out</a></p>');
+ }
+
+ if ( $('#form_sign_in').length ) {
+ ('form sign in exists');
+ check_name( localStorage.name );
+ $('.form-focus-hidden').show();
+ }
+}
+
$(function(){
$('#postcodeForm').submit(locate);
$('#mapForm').submit(postReport);
+ $('#signInForm').submit(sign_in);
$('#ffo').click(getPosition);
$('#mapForm :input[type=submit]').on('click', function() { submit_clicked = $(this); });
+ check_auth();
+ signed_in();
});