mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-01-27 22:49:56 -05:00
b9f9c576ed
Closes #3036 Refs #3012 -Enable validation for settings/general -Turn on functional tests for the validations -Move notification closeAll calls so that notifications are cleared on attempted saves instead of just on successful saves
67 lines
No EOL
2.3 KiB
JavaScript
67 lines
No EOL
2.3 KiB
JavaScript
/*global alert */
|
|
var SettingsUserController = Ember.Controller.extend({
|
|
coverDefault: '/shared/img/user-cover.png',
|
|
cover: function () {
|
|
// @TODO: add {{asset}} subdir path
|
|
var cover = this.user.get('cover');
|
|
if (typeof cover !== 'string') {
|
|
cover = this.get('coverDefault');
|
|
}
|
|
return cover;
|
|
}.property('user.cover', 'coverDefault'),
|
|
|
|
coverTitle: function () {
|
|
return this.get('user.name') + '\'s Cover Image';
|
|
}.property('user.name'),
|
|
|
|
image: function () {
|
|
// @TODO: add {{asset}} subdir path
|
|
return 'background-image: url(' + this.user.getWithDefault('image', '/shared/img/user-image.png') + ')';
|
|
}.property('user.image'),
|
|
|
|
actions: {
|
|
save: function () {
|
|
var self = this;
|
|
|
|
// @TODO This should call closePassive() to only close passive notifications
|
|
self.notifications.closeAll();
|
|
|
|
alert('@TODO: Saving user...');
|
|
|
|
if (this.user.validate().get('isValid')) {
|
|
this.user.save().then(function (response) {
|
|
|
|
alert('Done saving' + JSON.stringify(response));
|
|
}, function () {
|
|
alert('Error saving.');
|
|
});
|
|
} else {
|
|
alert('Errors found! ' + JSON.stringify(this.user.get('errors')));
|
|
}
|
|
},
|
|
|
|
password: function () {
|
|
alert('@TODO: Changing password...');
|
|
var passwordProperties = this.getProperties('password', 'newPassword', 'ne2Password');
|
|
|
|
if (this.user.validatePassword(passwordProperties).get('passwordIsValid')) {
|
|
this.user.saveNewPassword(passwordProperties).then(function () {
|
|
alert('Success!');
|
|
// Clear properties from view
|
|
this.setProperties({
|
|
'password': '',
|
|
'newpassword': '',
|
|
'ne2password': ''
|
|
});
|
|
}.bind(this), function (errors) {
|
|
alert('Errors ' + JSON.stringify(errors));
|
|
});
|
|
} else {
|
|
alert('Errors found! ' + JSON.stringify(this.user.get('passwordErrors')));
|
|
}
|
|
}
|
|
}
|
|
|
|
});
|
|
|
|
export default SettingsUserController; |