jshint and refactor accountedit

v1.18.x
barisusakli
parent 1e3b88a7f0
commit 7545d55b22

@ -23,6 +23,7 @@
"follow": "Follow", "follow": "Follow",
"unfollow": "Unfollow", "unfollow": "Unfollow",
"profile_update_success": "Profile has been updated successfully!",
"change_picture": "Change Picture", "change_picture": "Change Picture",
"edit": "Edit", "edit": "Edit",
"uploaded_picture": "Uploaded Picture", "uploaded_picture": "Uploaded Picture",

@ -1,82 +1,82 @@
'use strict';
/* globals define, ajaxify, socket, app, config, utils, translator */
define(['forum/accountheader', 'uploader'], function(header, uploader) { define(['forum/accountheader', 'uploader'], function(header, uploader) {
var AccountEdit = {}, var AccountEdit = {},
gravatarPicture = '', gravatarPicture = '',
uploadedPicture = ''; uploadedPicture = '',
selectedImageType = '';
AccountEdit.init = function() { AccountEdit.init = function() {
header.init();
gravatarPicture = ajaxify.variables.get('gravatarpicture'); gravatarPicture = ajaxify.variables.get('gravatarpicture');
uploadedPicture = ajaxify.variables.get('uploadedpicture'); uploadedPicture = ajaxify.variables.get('uploadedpicture');
var selectedImageType = ''; header.init();
$('#submitBtn').on('click', function() {
var userData = { $('#submitBtn').on('click', updateProfile);
uid: $('#inputUID').val(),
username: $('#inputUsername').val(),
email: $('#inputEmail').val(),
fullname: $('#inputFullname').val(),
website: $('#inputWebsite').val(),
birthday: $('#inputBirthday').val(),
location: $('#inputLocation').val(),
signature: $('#inputSignature').val()
};
socket.emit('user.updateProfile', userData, function(err, data) { handleImageChange();
if(err) { handleImageUpload();
return app.alertError(err.message); handlePasswordChange();
} updateSignature();
};
if (!data) { function updateProfile() {
return app.alertError('There was an error updating the profile!'); var userData = {
} uid: $('#inputUID').val(),
username: $('#inputUsername').val(),
email: $('#inputEmail').val(),
fullname: $('#inputFullname').val(),
website: $('#inputWebsite').val(),
birthday: $('#inputBirthday').val(),
location: $('#inputLocation').val(),
signature: $('#inputSignature').val()
};
app.alertSuccess('Profile has been updated successfully!'); socket.emit('user.updateProfile', userData, function(err, data) {
if (data.picture) { if (err) {
$('#user-current-picture').attr('src', data.picture); return app.alertError(err.message);
$('#user_label img').attr('src', data.picture); }
}
if (data.gravatarpicture) { app.alertSuccess('[[user:profile_update_success]]');
$('#user-gravatar-picture').attr('src', data.gravatarpicture);
gravatarPicture = data.gravatarpicture;
}
if(data.userslug) { if (data.picture) {
var oldslug = $('.account-username-box').attr('data-userslug'); $('#user-current-picture').attr('src', data.picture);
$('.account-username-box a').each(function(index) { $('#user_label img').attr('src', data.picture);
$(this).attr('href', $(this).attr('href').replace(oldslug, data.userslug)); }
});
$('.account-username-box').attr('data-userslug', data.userslug); if (data.gravatarpicture) {
$('#user-gravatar-picture').attr('src', data.gravatarpicture);
gravatarPicture = data.gravatarpicture;
}
$('#user-profile-link').attr('href', config.relative_path + '/user/' + data.userslug); if (data.userslug) {
$('#user-profile-link span').html(' ' + userData.username); var oldslug = $('.account-username-box').attr('data-userslug');
} $('.account-username-box a').each(function(index) {
}); $(this).attr('href', $(this).attr('href').replace(oldslug, data.userslug));
return false; });
});
$('.account-username-box').attr('data-userslug', data.userslug);
function getSignatureCharsLeft() { $('#user-profile-link').attr('href', config.relative_path + '/user/' + data.userslug);
if($('#inputSignature').length) { $('#user-profile-link span').html(' ' + userData.username);
return '(' + $('#inputSignature').val().length + '/' + config.maximumSignatureLength + ')';
} else {
return '';
} }
} });
$('#signatureCharCountLeft').html(getSignatureCharsLeft()); return false;
}
$('#inputSignature').on('keyup change', function(ev) { function handleImageChange() {
$('#signatureCharCountLeft').html(getSignatureCharsLeft()); function selectImageType(type) {
}); $('#gravatar-box .fa-check').toggle(type === 'gravatar');
$('#uploaded-box .fa-check').toggle(type === 'uploaded');
selectedImageType = type;
}
$('#changePictureBtn').on('click', function() { $('#changePictureBtn').on('click', function() {
selectedImageType = ''; selectedImageType = '';
AccountEdit.updateImages(); updateImages();
$('#change-picture-modal').modal('show'); $('#change-picture-modal').modal('show');
$('#change-picture-modal').removeClass('hide'); $('#change-picture-modal').removeClass('hide');
@ -85,31 +85,29 @@ define(['forum/accountheader', 'uploader'], function(header, uploader) {
}); });
$('#gravatar-box').on('click', function() { $('#gravatar-box').on('click', function() {
$('#gravatar-box .fa-check').show(); selectImageType('gravatar');
$('#uploaded-box .fa-check').hide();
selectedImageType = 'gravatar';
}); });
$('#uploaded-box').on('click', function() { $('#uploaded-box').on('click', function() {
$('#gravatar-box .fa-check').hide(); selectImageType('uploaded');
$('#uploaded-box .fa-check').show();
selectedImageType = 'uploaded';
}); });
$('#savePictureChangesBtn').on('click', function() { $('#savePictureChangesBtn').on('click', function() {
$('#change-picture-modal').modal('hide'); $('#change-picture-modal').modal('hide');
if (selectedImageType) { if (selectedImageType) {
AccountEdit.changeUserPicture(selectedImageType); changeUserPicture(selectedImageType);
if (selectedImageType == 'gravatar') if (selectedImageType === 'gravatar') {
$('#user-current-picture').attr('src', gravatarPicture); $('#user-current-picture').attr('src', gravatarPicture);
else if (selectedImageType == 'uploaded') } else if (selectedImageType === 'uploaded') {
$('#user-current-picture').attr('src', uploadedPicture); $('#user-current-picture').attr('src', uploadedPicture);
}
} }
}); });
}
function handleImageUpload() {
$('#upload-picture-modal').on('hide', function() { $('#upload-picture-modal').on('hide', function() {
$('#userPhotoInput').val(''); $('#userPhotoInput').val('');
}); });
@ -117,7 +115,7 @@ define(['forum/accountheader', 'uploader'], function(header, uploader) {
$('#uploadPictureBtn').on('click', function() { $('#uploadPictureBtn').on('click', function() {
$('#change-picture-modal').modal('hide'); $('#change-picture-modal').modal('hide');
uploader.open(RELATIVE_PATH + '/user/uploadpicture', {uid: ajaxify.variables.get('theirid')}, config.maximumProfileImageSize, function(imageUrlOnServer) { uploader.open(config.relative_path + '/user/uploadpicture', {uid: ajaxify.variables.get('theirid')}, config.maximumProfileImageSize, function(imageUrlOnServer) {
imageUrlOnServer = imageUrlOnServer + '?' + new Date().getTime(); imageUrlOnServer = imageUrlOnServer + '?' + new Date().getTime();
$('#user-current-picture').attr('src', imageUrlOnServer); $('#user-current-picture').attr('src', imageUrlOnServer);
@ -130,137 +128,129 @@ define(['forum/accountheader', 'uploader'], function(header, uploader) {
}, app.updateHeader); }, app.updateHeader);
}); });
return false; return false;
}); });
}
function showError(element, msg) { function handlePasswordChange() {
translator.translate(msg, function(msg) { var currentPassword = $('#inputCurrentPassword');
element.html(msg); var password_notify = $('#password-notify');
element.parent() var password_confirm_notify = $('#password-confirm-notify');
.removeClass('alert-success') var password = $('#inputNewPassword');
.addClass('alert-danger'); var password_confirm = $('#inputNewPasswordAgain');
element.show(); var passwordvalid = false;
validationError = true; var passwordsmatch = false;
}); var successIcon = '<i class="fa fa-check"></i>';
}
function onPasswordChanged() {
function showSuccess(element, msg) { passwordvalid = utils.isPasswordValid(password.val());
translator.translate(msg, function(msg) { if (password.val().length < config.minimumPasswordLength) {
element.html(msg); showError(password_notify, '[[user:change_password_error_length]]');
element.parent() } else if (!passwordvalid) {
.removeClass('alert-danger') showError(password_notify, '[[user:change_password_error]]');
.addClass('alert-success'); } else {
element.show(); showSuccess(password_notify, successIcon);
}); }
} }
(function handlePasswordChange() { function onPasswordConfirmChanged() {
var currentPassword = $('#inputCurrentPassword'); if(password.val()) {
var password_notify = $('#password-notify'); if (password.val() !== password_confirm.val()) {
var password_confirm_notify = $('#password-confirm-notify'); showError(password_confirm_notify, '[[user:change_password_error_match]]');
var password = $('#inputNewPassword'); passwordsmatch = false;
var password_confirm = $('#inputNewPasswordAgain');
var passwordvalid = false;
var passwordsmatch = false;
var successIcon = '<i class="fa fa-check"></i>';
function onPasswordChanged() {
passwordvalid = utils.isPasswordValid(password.val());
if (password.val().length < config.minimumPasswordLength) {
showError(password_notify, '[[user:change_password_error_length]]');
} else if (!passwordvalid) {
showError(password_notify, '[[user:change_password_error]]');
} else { } else {
showSuccess(password_notify, successIcon); showSuccess(password_confirm_notify, successIcon);
passwordsmatch = true;
} }
} }
}
function onPasswordConfirmChanged() { password.on('blur', onPasswordChanged);
if(password.val()) { password_confirm.on('blur', onPasswordConfirmChanged);
if (password.val() !== password_confirm.val()) {
showError(password_confirm_notify, '[[user:change_password_error_match]]') $('#changePasswordBtn').on('click', function() {
passwordsmatch = false; if ((passwordvalid && passwordsmatch) || app.isAdmin) {
} else { socket.emit('user.changePassword', {
showSuccess(password_confirm_notify, successIcon); 'currentPassword': currentPassword.val(),
passwordsmatch = true; 'newPassword': password.val(),
'uid': ajaxify.variables.get('theirid')
}, function(err) {
currentPassword.val('');
password.val('');
password_confirm.val('');
passwordsmatch = false;
passwordvalid = false;
if (err) {
return app.alertError(err.message);
} }
}
}
password.on('blur', onPasswordChanged);
password_confirm.on('blur', onPasswordConfirmChanged);
$('#changePasswordBtn').on('click', function() {
if ((passwordvalid && passwordsmatch) || app.isAdmin) {
socket.emit('user.changePassword', {
'currentPassword': currentPassword.val(),
'newPassword': password.val(),
'uid': ajaxify.variables.get('theirid')
}, function(err) {
currentPassword.val('');
password.val('');
password_confirm.val('');
passwordsmatch = false;
passwordvalid = false;
if (err) {
return app.alertError(err.message);
}
app.alertSuccess('[[user:change_password_success]]');
});
}
return false;
});
}());
};
app.alertSuccess('[[user:change_password_success]]');
});
}
return false;
});
}
AccountEdit.changeUserPicture = function(type) { function changeUserPicture(type) {
var userData = { socket.emit('user.changePicture', {
type: type, type: type,
uid: ajaxify.variables.get('theirid') uid: ajaxify.variables.get('theirid')
}; }, function(err) {
socket.emit('user.changePicture', userData, function(err) {
if(err) { if(err) {
app.alertError(err.message); app.alertError(err.message);
} }
}); });
} }
AccountEdit.updateImages = function() { function updateImages() {
var currentPicture = $('#user-current-picture').attr('src'); var currentPicture = $('#user-current-picture').attr('src');
if (gravatarPicture) { if (gravatarPicture) {
$('#user-gravatar-picture').attr('src', gravatarPicture); $('#user-gravatar-picture').attr('src', gravatarPicture);
$('#gravatar-box').show();
} else {
$('#gravatar-box').hide();
} }
if (uploadedPicture) { if (uploadedPicture) {
$('#user-uploaded-picture').attr('src', uploadedPicture); $('#user-uploaded-picture').attr('src', uploadedPicture);
$('#uploaded-box').show();
} else {
$('#uploaded-box').hide();
} }
$('#gravatar-box').toggle(!!gravatarPicture);
$('#uploaded-box').toggle(!!uploadedPicture);
if (currentPicture == gravatarPicture) { $('#gravatar-box .fa-check').toggle(currentPicture === gravatarPicture);
$('#gravatar-box .fa-check').show(); $('#uploaded-box .fa-check').toggle(currentPicture === uploadedPicture);
} else { }
$('#gravatar-box .fa-check').hide();
}
if (currentPicture == uploadedPicture) { function updateSignature() {
$('#uploaded-box .fa-check').show(); function getSignatureCharsLeft() {
} else { return $('#inputSignature').length ? '(' + $('#inputSignature').val().length + '/' + config.maximumSignatureLength + ')' : '';
$('#uploaded-box .fa-check').hide();
} }
$('#signatureCharCountLeft').html(getSignatureCharsLeft());
$('#inputSignature').on('keyup change', function(ev) {
$('#signatureCharCountLeft').html(getSignatureCharsLeft());
});
}
function showError(element, msg) {
translator.translate(msg, function(msg) {
element.html(msg);
element.parent()
.removeClass('alert-success')
.addClass('alert-danger');
element.show();
});
}
function showSuccess(element, msg) {
translator.translate(msg, function(msg) {
element.html(msg);
element.parent()
.removeClass('alert-danger')
.addClass('alert-success');
element.show();
});
} }
return AccountEdit; return AccountEdit;

Loading…
Cancel
Save