mirror of
				https://github.com/pierre42100/ComunicWeb
				synced 2025-11-04 04:04:20 +00:00 
			
		
		
		
	Send a request over the server to update user password
This commit is contained in:
		
							
								
								
									
										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",
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user