File: /home/imensosw/www/imenso.co/timesheet/js/setting.js
// THIS FILE REQURES THAT THE LIB FILE IS LOADED FIRST
if (!_.isObject(app)) {
alert("System Library failed to load [SYSLD01]. Pleasr report this error to support@nthriveeducation.com");
//the app object is defined in lib.js
}
if(app.dev){
app.log("DEV MODE ON");
}
app.files = [{
name:"changepassword",
file:'./../../inc/setting/change_password.inc.html'
},
{
name:'navbar',
file:'./../../inc/layouts/navbar.inc.html'
}
];
app.project={id:""};
$(document).ready(function(){
app.setListeners();
app.init(function(){
app.startApp();
});
});
app.setListeners = function() {
app.setLibListeners();
$(document).on('click', '#updatepasswordbutton', function(){
app.handleSetting();
});
}
app.launchSetting = function() {
app.log("Launching with user ",app.user);
$.ajax({
method: "POST",
url: app.location+"api/imensoapi.php",
dataType: "json",
data: {
action: "launchload",
user: app.user
}
})
.fail(function() {
alert("There was an error connecting to the server SR[01]")
})
.done(function(resp) {
if (resp.resp == 'OK') {
if (resp.error) {
alert("Transaction error. " + resp.error);
} else {
app.log("User launched");
app.user = Cookies.getJSON('usertoken');
app.launcheScreen();
}
} else {
alert("There was an error connecting to the server SR[02]")
}
}); //- ajax
} //- launchUser
app.launcheScreen=function(){
$("body").prepend(app.templates.navbar({
active:"setting",
type:app.user.acces_level
}));
}
app.startApp = function(){
app.log("Starting");
app.user = Cookies.getJSON('usertoken');
if (app.user && app.user.token && app.user.token.length > 20) {
app.launchSetting();
$("#maincontainer").html(app.templates.changepassword());
} else {
window.location.href=app.location;
}
}
app.handleSetting = function() {
app.addPassword();
var errors = app.validatePassword();
if(errors.length>0)
{
app.alertMessage(errors.join("<br \>"),"warning");
return;
}
app.changePassword();
// app.showProjectList(app.resp.projects);
}
app.addPassword = function() {
app.settingForm={
current_password:$('#current_password').val().trim(),
new_password:$('#new_password').val().trim(),
confirm_password:$('#confirm_password').val().trim(),
}
}
app.validatePassword = function() {
var error=[];
if(app.settingForm.current_password=="")
{
error.push("Please enter current_password");
}
if(app.settingForm.new_password=="")
{
error.push("Please enter password");
}
if(app.settingForm.new_password!="" && app.settingForm.new_password.length<6)
{
error.push("Password must be at least 6 digits!");
}
if(app.settingForm.confirm_password!=app.settingForm.new_password)
{
error.push("Confirm password not match");
}
return error;
}
app.changePassword=function(){
$('#updatepasswordbutton').prop("disabled",true);
$('#updatepasswordbutton').html("Updating....");
$.ajax({
method: "POST",
url: app.location+"api/setting.php",
dataType: "json",
data: {
action: "changepassword",
setting:app.settingForm,
token: app.user.token
}
})
.fail(function() {
alert("There was an error connecting to the server SR[01]")
})
.done(function(resp) {
if(resp.msg.length>0 && resp.msg=="timeout")
{
app.userLogout();
}
else if (resp.resp == 'OK') {
if(resp.msg.length) {
app.alertMessage("Failed. " + resp.msg,"warning");
$('#updatepasswordbutton').prop("disabled",false);
$('#updatepasswordbutton').html("update");
} else {
setTimeout(function(){
app.userLogout();
},300);
app.alertMessage("Password change successfully. " + resp.msg,"success");
$('#updatepasswordbutton').prop("disabled",false);
$('#updatepasswordbutton').html("update");
}
}
else {
alert("There was an error connecting to the server SR[02]");
}
}); //- ajax
}//-ef getUser
app.loadTemplates = function() {
app.templates.modal = _.template("<div class='modal fade' tabindex='-1' role='dialog' id='modal'><div class='modal-dialog' role='document'><div class='modal-content'><div class='modal-header'><h5 class='modal-title'><%=title%></h5><button type='button' class='close' data-dismiss='modal' aria-label='Close'><span aria-hidden='true'>×</span></button></div><div class='modal-body'><%=content%></div><div style='display:none' class='modal-footer'><button type='button' class='btn btn-default' data-dismiss='modal'>Close</button></div></div></div></div>");
}
;