/** * Created by markop on 9/29/15. */ (function(){ $('#formSignUp').submit(function(event) { console.log($(this).serialize()); var jqUsername = $("#modalSignUpUsername"), jqName = $("#modalSignUpName"), jqEmail = $("#modalSignUpEmail"), jqPassword = $("#modalSignUpPassword"), jqVerify = $("#modalSignUpVerify"); if (jqPassword.val() != jqVerify.val()) { alert('Passwords do not match.'); } else { codeq.comms.signup(jqUsername.val(), jqName.val(), jqEmail.val(), jqPassword.val()) .then(function (data) { if (data.code !== 0) throw new Error('Signup failed, code: ' + data.code + ', message: ' + data.message); //back to login $('#modalSignUp').modal('hide'); alert('Welcome '+ jqUsername.val() +'. Thanks for signing up.'); $('#modalLogIn').modal('show'); //assume user wants to sign-in with signed username $("#username").val(jqUsername.val()); //clear jqUsername.val(''); jqName.val(''); jqEmail.val(''); jqPassword.val(''); jqVerify.val(''); }) .fail(function (reason) { codeq.log.error('Signup failed: ' + reason, reason); alert('Signup failed: ' + reason); }) .done(); } event.preventDefault(); // Prevent the form from submitting via the browser. }); $('#formChangePassword').submit(function(event) { var jqNew = $("#modalChangePasswordNew"), jqVerify = $("#modalChangePasswordVerify"); if (jqNew.val() != jqVerify.val()) { alert('Passwords do not match.'); } else { codeq.comms.changePassword(jqNew.val()) .then(function (data) { if (data.code !== 0) throw new Error('Password change failed, code: ' + data.code + ', message: ' + data.message); $('#modalChangePassword').modal('hide'); jqNew.val(''); jqVerify.val(''); alert('Password changed.'); }) .fail(function (reason) { codeq.log.error('Password change failed: ' + reason, reason); alert('Password change failed: ' + reason); }) .done(); } event.preventDefault(); // Prevent the form from submitting via the browser. }); codeq.profile = { }; codeq.globalStateMachine.register('profile',{ 'enter': function(){ $("#screen_profile").css('display', ''); $('#disabled').css('display', 'none'); codeq.comms.getUserStat() .then(function (data) { if (data.code !== 0) throw new Error('GetUserStat failed, code: ' + data.code + ', message: ' + data.message); console.log(data); var data = data.stat; var columns = ['language', 'problem_group', 'problems_count', 'done', 'in_progress'], labels = ['Language', 'Problem group', 'All', 'Done', 'In progress']; var items=''; $.each(labels, function( key, val ) { items+=''+val+''; }); items+=''; $.each( data, function( object, row ) { items+=''; if(row['problem_group']) { $.each( columns, function( key, val ) { items+=''+row[val]||""+''; }); } else { $.each( columns, function( key, val ) { items+=''+(row[val]==null?'(all)':row[val])+''; }); } items+=''; }); $('#table1').html(items) }) .fail(function (reason) { codeq.log.error('GetUserStat failed: ' + reason, reason); alert('GetUserStat failed: ' + reason); }) .done(); }, 'exit' : function(){ $("#screen_profile").css('display', 'none'); } }); })();