2013-10-03 15:04:25 -04:00
|
|
|
define(['forum/accountheader'], function(header) {
|
|
|
|
|
var AccountSettings = {};
|
2013-07-25 14:30:12 -04:00
|
|
|
|
2013-10-03 15:04:25 -04:00
|
|
|
AccountSettings.init = function() {
|
|
|
|
|
header.init();
|
2013-07-25 14:30:12 -04:00
|
|
|
|
2013-10-03 15:04:25 -04:00
|
|
|
$('#submitBtn').on('click', function() {
|
2014-02-11 17:57:22 -05:00
|
|
|
var settings = {};
|
2013-07-25 14:30:12 -04:00
|
|
|
|
2014-04-14 15:58:13 -04:00
|
|
|
$('.account').find('input, textarea, select').each(function(id, input) {
|
2014-02-11 17:57:22 -05:00
|
|
|
input = $(input);
|
2014-04-14 15:58:13 -04:00
|
|
|
var setting = input.attr('data-property');
|
|
|
|
|
if (input.is('select')) {
|
|
|
|
|
settings[setting] = input.val();
|
|
|
|
|
return;
|
|
|
|
|
}
|
2014-02-11 17:57:22 -05:00
|
|
|
|
|
|
|
|
switch (input.attr('type')) {
|
2014-04-16 16:47:51 -04:00
|
|
|
case 'text':
|
|
|
|
|
case 'textarea':
|
2014-04-14 15:58:13 -04:00
|
|
|
settings[setting] = input.val();
|
2014-02-11 17:57:22 -05:00
|
|
|
break;
|
2014-04-16 16:47:51 -04:00
|
|
|
case 'checkbox':
|
2014-04-14 15:58:13 -04:00
|
|
|
settings[setting] = input.is(':checked') ? 1 : 0;
|
2014-02-11 17:57:22 -05:00
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
});
|
2013-10-03 15:04:25 -04:00
|
|
|
|
2014-01-16 15:10:37 -05:00
|
|
|
socket.emit('user.saveSettings', settings, function(err) {
|
2014-01-16 18:06:19 -05:00
|
|
|
if (err) {
|
2014-04-11 15:44:53 -04:00
|
|
|
return app.alertError(err.message);
|
2013-10-03 15:04:25 -04:00
|
|
|
}
|
2014-04-11 15:44:53 -04:00
|
|
|
app.alertSuccess('[[success:settings-saved]]');
|
2013-10-03 15:04:25 -04:00
|
|
|
});
|
2014-02-11 17:57:22 -05:00
|
|
|
|
2013-10-03 15:04:25 -04:00
|
|
|
return false;
|
2013-07-30 18:30:43 -04:00
|
|
|
});
|
2014-04-11 15:44:53 -04:00
|
|
|
|
2014-02-11 17:57:22 -05:00
|
|
|
socket.emit('user.getSettings', function(err, settings) {
|
2014-04-14 15:58:13 -04:00
|
|
|
var inputs = $('.account').find('input, textarea, select');
|
|
|
|
|
|
|
|
|
|
inputs.each(function(index, input) {
|
|
|
|
|
input = $(input);
|
|
|
|
|
var setting = input.attr('data-property');
|
|
|
|
|
if (setting) {
|
|
|
|
|
if (input.is('select')) {
|
|
|
|
|
input.val(settings[setting]);
|
|
|
|
|
return;
|
|
|
|
|
}
|
2014-02-11 17:57:22 -05:00
|
|
|
|
|
|
|
|
switch (input.attr('type')) {
|
|
|
|
|
case 'text' :
|
|
|
|
|
case 'textarea' :
|
|
|
|
|
input.val(settings[setting]);
|
|
|
|
|
break;
|
|
|
|
|
case 'checkbox' :
|
|
|
|
|
input.prop('checked', !!settings[setting]);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
2014-04-14 15:58:13 -04:00
|
|
|
});
|
2014-02-11 17:57:22 -05:00
|
|
|
});
|
2013-10-03 15:04:25 -04:00
|
|
|
};
|
2013-07-25 14:30:12 -04:00
|
|
|
|
2013-10-03 15:04:25 -04:00
|
|
|
return AccountSettings;
|
|
|
|
|
});
|