mirror of
https://github.com/pierre42100/ComunicWeb
synced 2025-06-19 04:15:17 +00:00
Can send request to delete user accounts
This commit is contained in:
122
assets/js/components/settings/helper.js
Normal file
122
assets/js/components/settings/helper.js
Normal file
@ -0,0 +1,122 @@
|
||||
/**
|
||||
* Settings helper
|
||||
*
|
||||
* @author Pierre HUBERT
|
||||
*/
|
||||
|
||||
ComunicWeb.components.settings.helper = {
|
||||
|
||||
/**
|
||||
* Request user account deletion
|
||||
*/
|
||||
requestAccountDeletion: function(){
|
||||
|
||||
//Prompt user confirmation
|
||||
ComunicWeb.common.messages.confirm("Do you really want to delete your account ? This operation can not be reverted !", function(r){
|
||||
|
||||
//Check if the user cancelled the operation
|
||||
if(!r) return;
|
||||
|
||||
//Prompt user password
|
||||
var dialog = ComunicWeb.common.messages.createDialogSkeleton({
|
||||
type: "danger",
|
||||
title: "Password required"
|
||||
});
|
||||
$(dialog.modal).modal("show");
|
||||
|
||||
//Create modal close function
|
||||
var closeModal = function(){
|
||||
$(dialog.modal).modal("hide");
|
||||
emptyElem(dialog.modal);
|
||||
dialog.modal.remove();
|
||||
};
|
||||
dialog.cancelButton.addEventListener("click", closeModal);
|
||||
dialog.closeModal.addEventListener("click", closeModal);
|
||||
|
||||
//Set dialog body
|
||||
var passwordForm = createElem2({
|
||||
appendTo: dialog.modalBody,
|
||||
type: "div"
|
||||
});
|
||||
|
||||
createElem2({
|
||||
appendTo: passwordForm,
|
||||
type: "p",
|
||||
innerHTML: "We need your password to continue. Note: once you click 'Confirm', you will not be able to go back..."
|
||||
});
|
||||
|
||||
//Create pasword input group
|
||||
var inputGroup = createElem2({
|
||||
appendTo: passwordForm,
|
||||
type: "div",
|
||||
class: "input-group input-group-sm"
|
||||
});
|
||||
|
||||
//Create password input
|
||||
var passwordInput = createElem2({
|
||||
appendTo: inputGroup,
|
||||
type: "input",
|
||||
class: "form-control",
|
||||
elemType: "password"
|
||||
});
|
||||
|
||||
//Create input group
|
||||
var inputGroupContainer = createElem2({
|
||||
appendTo: inputGroup,
|
||||
type: "span",
|
||||
class: "input-group-btn"
|
||||
});
|
||||
|
||||
//Add submit button
|
||||
var submitButton = createElem2({
|
||||
appendTo: inputGroupContainer,
|
||||
type: "button",
|
||||
class: "btn btn-danger",
|
||||
innerHTML: "Confirm deletion"
|
||||
});
|
||||
|
||||
submitButton.addEventListener("click", function(e){
|
||||
|
||||
//Check given password
|
||||
var password = passwordInput.value;
|
||||
if(password.length < 4)
|
||||
return notify("Please check given password !", "danger");
|
||||
|
||||
//Close modal
|
||||
closeModal();
|
||||
|
||||
//Perform a request over the interface
|
||||
ComunicWeb.components.settings.helper.deleteAccount(password);
|
||||
});
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Delete the account of the user
|
||||
*
|
||||
* @param {string} password The password of the account to delete
|
||||
*/
|
||||
deleteAccount: function(password){
|
||||
|
||||
//Lock the screen with a loading splash screen
|
||||
var splashScreen = ComunicWeb.common.page.showTransparentWaitSplashScreen();
|
||||
|
||||
//Perform the request over the interface
|
||||
ComunicWeb.components.account.interface.deleteAccount(password, function(result){
|
||||
|
||||
//Remove loading splash screen
|
||||
splashScreen.remove();
|
||||
|
||||
//Check for errors
|
||||
if(result.error)
|
||||
return notify("Could not delete your account (please check given password) !", "danger");
|
||||
|
||||
//Restart the page in case of success
|
||||
ComunicWeb.common.system.restart();
|
||||
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
}
|
Reference in New Issue
Block a user