mirror of
https://github.com/pierre42100/ComunicWeb
synced 2024-11-22 20:19:21 +00:00
Send a request over the server to update user password
This commit is contained in:
parent
eb2a9b3947
commit
e18df207e2
11
assets/css/pages/settings/sections/password.css
Normal file
11
assets/css/pages/settings/sections/password.css
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
/**
|
||||||
|
* Settings password section stylesheet
|
||||||
|
*
|
||||||
|
* @author Pierre HUBERT
|
||||||
|
*/
|
||||||
|
|
||||||
|
.box-password-settings .submit-form {
|
||||||
|
width: 150px;
|
||||||
|
margin: auto;
|
||||||
|
display: block;
|
||||||
|
}
|
@ -1115,6 +1115,13 @@ var ComunicWeb = {
|
|||||||
security: {
|
security: {
|
||||||
//TODO : implement
|
//TODO : implement
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Password section
|
||||||
|
*/
|
||||||
|
password: {
|
||||||
|
//TODO : implement
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -68,6 +68,21 @@ ComunicWeb.components.settings.interface = {
|
|||||||
setSecurity: function(settings, callback){
|
setSecurity: function(settings, callback){
|
||||||
var apiURI = "settings/set_security";
|
var apiURI = "settings/set_security";
|
||||||
ComunicWeb.common.api.makeAPIrequest(apiURI, settings, true, callback);
|
ComunicWeb.common.api.makeAPIrequest(apiURI, settings, true, callback);
|
||||||
}
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the password of the user
|
||||||
|
*
|
||||||
|
* @param {string} oldPassword The old password of the user
|
||||||
|
* @param {string} newPassword The new password
|
||||||
|
* @param {function} callback
|
||||||
|
*/
|
||||||
|
updatePassword: function(oldPassword, newPassword, callback){
|
||||||
|
var apiURI = "settings/update_password";
|
||||||
|
var params = {
|
||||||
|
oldPassword: oldPassword,
|
||||||
|
newPassword: newPassword
|
||||||
|
};
|
||||||
|
ComunicWeb.common.api.makeAPIrequest(apiURI, params, true, callback);
|
||||||
|
},
|
||||||
}
|
}
|
125
assets/js/pages/settings/sections/password.js
Normal file
125
assets/js/pages/settings/sections/password.js
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
/**
|
||||||
|
* Password update section
|
||||||
|
*
|
||||||
|
* @author Pierre HUBERT
|
||||||
|
*/
|
||||||
|
|
||||||
|
ComunicWeb.pages.settings.sections.password = {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Open settings section
|
||||||
|
*
|
||||||
|
* @param {object} args Additionnal arguments
|
||||||
|
* @param {HTMLElement} target The target for the page
|
||||||
|
*/
|
||||||
|
open: function(args, target){
|
||||||
|
|
||||||
|
//Create a box
|
||||||
|
var box = createElem2({
|
||||||
|
appendTo: target,
|
||||||
|
type: "div",
|
||||||
|
class: "box box-primary box-password-settings"
|
||||||
|
});
|
||||||
|
|
||||||
|
//Add box header
|
||||||
|
var boxHead = createElem2({
|
||||||
|
appendTo: box,
|
||||||
|
type: "div",
|
||||||
|
class: "box-header",
|
||||||
|
});
|
||||||
|
var boxTitle = createElem2({
|
||||||
|
appendTo: boxHead,
|
||||||
|
type: "h3",
|
||||||
|
class: "box-title",
|
||||||
|
innerHTML: "Password update"
|
||||||
|
});
|
||||||
|
|
||||||
|
//Create box body
|
||||||
|
var boxBody = createElem2({
|
||||||
|
appendTo: box,
|
||||||
|
type: "div",
|
||||||
|
class: "box-body"
|
||||||
|
});
|
||||||
|
|
||||||
|
//Create a form contener
|
||||||
|
var formContener = createElem2({
|
||||||
|
appendTo: boxBody,
|
||||||
|
type: "div"
|
||||||
|
});
|
||||||
|
|
||||||
|
//Ask the user to enter its old password
|
||||||
|
var oldPasswordInput = createFormGroup({
|
||||||
|
target: formContener,
|
||||||
|
label: "Old password",
|
||||||
|
placeholder: "Your old (current) password",
|
||||||
|
type: "password"
|
||||||
|
});
|
||||||
|
|
||||||
|
//Ask the user to enter its new password
|
||||||
|
var newPasswordInput = createFormGroup({
|
||||||
|
target: formContener,
|
||||||
|
label: "New password",
|
||||||
|
placeholder: "Your new password",
|
||||||
|
type: "password"
|
||||||
|
});
|
||||||
|
|
||||||
|
//Ask the user to confirm its new password
|
||||||
|
var confirmNewPasswordInput = createFormGroup({
|
||||||
|
target: formContener,
|
||||||
|
label: "Confirm your password",
|
||||||
|
placeholder: "Your new password",
|
||||||
|
type: "password"
|
||||||
|
});
|
||||||
|
|
||||||
|
//Add submit button
|
||||||
|
var sendButton = createElem2({
|
||||||
|
appendTo: formContener,
|
||||||
|
type: "div",
|
||||||
|
class: "btn btn-primary submit-form",
|
||||||
|
innerHTML: "Update password"
|
||||||
|
});
|
||||||
|
|
||||||
|
//Make submit button lives
|
||||||
|
sendButton.onclick = function(){
|
||||||
|
|
||||||
|
//Check the old and the new password
|
||||||
|
if(!ComunicWeb.common.formChecker.checkInput(oldPasswordInput, true)){
|
||||||
|
notify("Please specify your old password to update your password!", "danger");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!ComunicWeb.common.formChecker.checkInput(newPasswordInput, true)){
|
||||||
|
notify("Please specify a new password to update your password!", "danger");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Check if the old and the new password are the same or not
|
||||||
|
if(newPasswordInput.value !== confirmNewPasswordInput.value){
|
||||||
|
notify("The new password and its confirmation are not the same!", "danger");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Perform a request over the server
|
||||||
|
sendButton.style.visibility = "hidden";
|
||||||
|
|
||||||
|
//Perform a request over the server
|
||||||
|
ComunicWeb.components.settings.interface.updatePassword(oldPasswordInput.value, newPasswordInput.value, function(result){
|
||||||
|
|
||||||
|
sendButton.style.visibility = "visible";
|
||||||
|
|
||||||
|
//Check for errors
|
||||||
|
if(result.error){
|
||||||
|
notify("An error occurred while trying to udpate user password!", "danger");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Success
|
||||||
|
notify("Your password has been successfully updated !");
|
||||||
|
|
||||||
|
//Refresh current page to remove passwords (security)
|
||||||
|
ComunicWeb.common.page.refresh_current_page();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
@ -22,5 +22,11 @@ ComunicWeb.pages.settings.sectionsList = {
|
|||||||
handler: "ComunicWeb.pages.settings.sections.security.open",
|
handler: "ComunicWeb.pages.settings.sections.security.open",
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Password settings
|
||||||
|
*/
|
||||||
|
password: {
|
||||||
|
title: "Password",
|
||||||
|
handler: "ComunicWeb.pages.settings.sections.password.open",
|
||||||
|
},
|
||||||
}
|
}
|
@ -168,6 +168,7 @@ class Dev {
|
|||||||
//Sections sections
|
//Sections sections
|
||||||
"css/pages/settings/sections/general.css",
|
"css/pages/settings/sections/general.css",
|
||||||
"css/pages/settings/sections/security.css",
|
"css/pages/settings/sections/security.css",
|
||||||
|
"css/pages/settings/sections/password.css",
|
||||||
|
|
||||||
//Latest post page stylesheet
|
//Latest post page stylesheet
|
||||||
"css/pages/latestPosts/main.css",
|
"css/pages/latestPosts/main.css",
|
||||||
@ -334,6 +335,7 @@ class Dev {
|
|||||||
//Settings sections
|
//Settings sections
|
||||||
"js/pages/settings/sections/general.js",
|
"js/pages/settings/sections/general.js",
|
||||||
"js/pages/settings/sections/security.js",
|
"js/pages/settings/sections/security.js",
|
||||||
|
"js/pages/settings/sections/password.js",
|
||||||
|
|
||||||
//Login page
|
//Login page
|
||||||
"js/pages/login.js",
|
"js/pages/login.js",
|
||||||
|
Loading…
Reference in New Issue
Block a user