2018-04-29 13:13:51 +00:00
|
|
|
/**
|
|
|
|
* Account image settings section
|
|
|
|
*
|
|
|
|
* @author Pierre HUBERT
|
|
|
|
*/
|
|
|
|
|
|
|
|
ComunicWeb.pages.settings.sections.accountImage = {
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 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-account-image-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: "Account image"
|
|
|
|
});
|
|
|
|
|
|
|
|
//Create box body
|
|
|
|
var boxBody = createElem2({
|
|
|
|
appendTo: box,
|
|
|
|
type: "div",
|
|
|
|
class: "box-body"
|
|
|
|
});
|
|
|
|
|
|
|
|
//Add loading callout
|
|
|
|
var loadMsg = ComunicWeb.common.messages.createLoadingCallout(boxBody);
|
|
|
|
|
|
|
|
//Fetch information about account image on the API
|
|
|
|
ComunicWeb.components.settings.interface.getAccountImage(function(result){
|
|
|
|
|
|
|
|
//Remove loading message
|
|
|
|
loadMsg.remove();
|
|
|
|
|
|
|
|
//Check for errors
|
|
|
|
if(result.error){
|
|
|
|
notify("Could not get account image information !", "danger");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
//Apply account image settings
|
2018-05-01 06:59:14 +00:00
|
|
|
var accountImageForm = createElem2({
|
|
|
|
type: "div",
|
|
|
|
appendTo: boxBody
|
|
|
|
});
|
2018-04-29 13:13:51 +00:00
|
|
|
|
2018-05-01 06:59:14 +00:00
|
|
|
//First, offer the user to upload a new account image
|
|
|
|
var newAccountImageLabel = createElem2({
|
|
|
|
appendTo: accountImageForm,
|
|
|
|
type: "label"
|
|
|
|
});
|
|
|
|
var fileInput = createElem2({
|
|
|
|
appendTo: newAccountImageLabel,
|
|
|
|
type: "input",
|
|
|
|
elemType: "file"
|
|
|
|
});
|
|
|
|
fileInput.style.display = "none";
|
|
|
|
var chooseButton = createElem2({
|
|
|
|
appendTo: newAccountImageLabel,
|
|
|
|
type: "div",
|
|
|
|
class: "btn btn-primary",
|
|
|
|
innerHTML: "Upload a new picture"
|
|
|
|
});
|
|
|
|
|
|
|
|
//Add event listener
|
|
|
|
fileInput.addEventListener("change", function(e){
|
|
|
|
|
|
|
|
//Check if no file have been selected
|
|
|
|
if(fileInput.files.length == 0)
|
|
|
|
return;
|
|
|
|
|
|
|
|
//Upload the new file
|
|
|
|
//Display a callout message
|
|
|
|
var message = ComunicWeb.common.messages.createCalloutElem("", "Please wait while your picture is being uploaded...");
|
|
|
|
boxBody.insertBefore(message, accountImageForm);
|
|
|
|
|
|
|
|
//Upload the image
|
|
|
|
var fd = new FormData();
|
|
|
|
fd.append("picture", fileInput.files[0], fileInput.files[0].name);
|
|
|
|
ComunicWeb.components.settings.interface.uploadAccountImage(fd, function(result){
|
|
|
|
|
|
|
|
//Remove message
|
|
|
|
message.remove();
|
|
|
|
|
|
|
|
//Check for errors
|
|
|
|
if(result.error){
|
|
|
|
notify("An error occured while trying to upload your image !", "danger");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
notify("Your picture has been successfully uploaded !", "success");
|
|
|
|
|
|
|
|
//Reload current page
|
|
|
|
ComunicWeb.common.system.reset();
|
|
|
|
});
|
|
|
|
});
|
2018-04-29 13:13:51 +00:00
|
|
|
});
|
|
|
|
},
|
|
|
|
}
|