Changed account settings editing
Account settings editing no longer encapsulates file content in base64.
This commit is contained in:
parent
2458935fdf
commit
01a84ee4e2
2 changed files with 24 additions and 34 deletions
|
@ -77,11 +77,7 @@ App.Presenters.UserAccountSettingsPresenter = function(
|
||||||
}
|
}
|
||||||
|
|
||||||
function avatarContentChanged(files) {
|
function avatarContentChanged(files) {
|
||||||
if (files.length === 1) {
|
avatarContent = files[0];
|
||||||
fileDropper.readAsDataURL(files[0], function(content) {
|
|
||||||
avatarContent = content;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function accountSettingsFormSubmitted(e) {
|
function accountSettingsFormSubmitted(e) {
|
||||||
|
@ -89,38 +85,42 @@ App.Presenters.UserAccountSettingsPresenter = function(
|
||||||
var $el = jQuery(target);
|
var $el = jQuery(target);
|
||||||
var $messages = jQuery(target).find('.messages');
|
var $messages = jQuery(target).find('.messages');
|
||||||
messagePresenter.hideMessages($messages);
|
messagePresenter.hideMessages($messages);
|
||||||
var formData = {};
|
var formData = new FormData();
|
||||||
|
|
||||||
if (privileges.canChangeAvatarStyle) {
|
if (privileges.canChangeAvatarStyle) {
|
||||||
formData.avatarStyle = $el.find('[name=avatar-style]:checked').val();
|
formData.append('avatarStyle', $el.find('[name=avatar-style]:checked').val());
|
||||||
if (avatarContent) {
|
if (avatarContent) {
|
||||||
formData.avatarContent = avatarContent;
|
formData.append('avatarContent', avatarContent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (privileges.canChangeName) {
|
if (privileges.canChangeName) {
|
||||||
formData.userName = $el.find('[name=userName]').val();
|
formData.append('userName', $el.find('[name=userName]').val());
|
||||||
}
|
|
||||||
if (privileges.canChangeEmailAddress) {
|
|
||||||
formData.email = $el.find('[name=email]').val();
|
|
||||||
}
|
|
||||||
if (privileges.canChangePassword) {
|
|
||||||
formData.password = $el.find('[name=password]').val();
|
|
||||||
formData.passwordConfirmation = $el.find('[name=passwordConfirmation]').val();
|
|
||||||
}
|
|
||||||
if (privileges.canChangeAccessRank) {
|
|
||||||
formData.accessRank = $el.find('[name=access-rank]:checked').val();
|
|
||||||
}
|
|
||||||
if (privileges.canBan) {
|
|
||||||
formData.banned = $el.find('[name=ban]').is(':checked') ? 1 : 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!validateAccountSettingsFormData(formData)) {
|
if (privileges.canChangeEmailAddress) {
|
||||||
|
formData.append('email', $el.find('[name=email]').val());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (privileges.canChangePassword) {
|
||||||
|
var password = $el.find('[name=password]').val();
|
||||||
|
var passwordConfirmation = $el.find('[name=passwordConfirmation]').val();
|
||||||
|
|
||||||
|
if (password) {
|
||||||
|
if (password !== passwordConfirmation) {
|
||||||
|
messagePresenter.showError($messages, 'Passwords must be the same.');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!formData.password) {
|
formData.append('password', password);
|
||||||
delete formData.password;
|
}
|
||||||
delete formData.passwordConfirmation;
|
}
|
||||||
|
|
||||||
|
if (privileges.canChangeAccessRank) {
|
||||||
|
formData.append('accessRank', $el.find('[name=access-rank]:checked').val());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (privileges.canBan) {
|
||||||
|
formData.append('banned', $el.find('[name=ban]').is(':checked') ? 1 : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
promise.wait(api.post('/users/' + user.name, formData))
|
promise.wait(api.post('/users/' + user.name, formData))
|
||||||
|
@ -153,16 +153,6 @@ App.Presenters.UserAccountSettingsPresenter = function(
|
||||||
messagePresenter.showError($messages, apiResponse.json && apiResponse.json.error || apiResponse);
|
messagePresenter.showError($messages, apiResponse.json && apiResponse.json.error || apiResponse);
|
||||||
}
|
}
|
||||||
|
|
||||||
function validateAccountSettingsFormData(formData) {
|
|
||||||
var $messages = jQuery(target).find('.messages');
|
|
||||||
if (formData.password !== formData.passwordConfirmation) {
|
|
||||||
messagePresenter.showError($messages, 'Passwords must be the same.');
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
init: init,
|
init: init,
|
||||||
render: render,
|
render: render,
|
||||||
|
|
|
@ -27,7 +27,7 @@ class UserEditFormData implements IValidatable
|
||||||
$this->accessRank = EnumHelper::accessRankFromString($inputReader->accessRank);
|
$this->accessRank = EnumHelper::accessRankFromString($inputReader->accessRank);
|
||||||
if ($inputReader->avatarStyle !== null)
|
if ($inputReader->avatarStyle !== null)
|
||||||
$this->avatarStyle = EnumHelper::avatarStyleFromString($inputReader->avatarStyle);
|
$this->avatarStyle = EnumHelper::avatarStyleFromString($inputReader->avatarStyle);
|
||||||
$this->avatarContent = $inputReader->decodeBase64($inputReader->avatarContent);
|
$this->avatarContent = $inputReader->readFile('avatarContent');
|
||||||
$this->browsingSettings = json_decode($inputReader->browsingSettings);
|
$this->browsingSettings = json_decode($inputReader->browsingSettings);
|
||||||
if ($inputReader->banned !== null)
|
if ($inputReader->banned !== null)
|
||||||
$this->banned = boolval($inputReader->banned);
|
$this->banned = boolval($inputReader->banned);
|
||||||
|
|
Loading…
Reference in a new issue