From 20739c93a680d7085d0e71c0e4f9c0bb24018fb9 Mon Sep 17 00:00:00 2001 From: Christoph Wurst Date: Wed, 20 Apr 2016 17:03:50 +0200 Subject: Persist settings on the server Persist personal settings federated sharing scopes Show new settings fields in read-only mode too Insert values on page load Return updated values; show inline success feedback Signed-off-by: Roeland Jago Douma --- settings/js/usersettings.js | 47 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 settings/js/usersettings.js (limited to 'settings/js/usersettings.js') diff --git a/settings/js/usersettings.js b/settings/js/usersettings.js new file mode 100644 index 00000000000..d8d089f83de --- /dev/null +++ b/settings/js/usersettings.js @@ -0,0 +1,47 @@ +/* global OC */ + +/** + * Copyright (c) 2016, Christoph Wurst + * + * This file is licensed under the Affero General Public License version 3 or later. + * See the COPYING-README file. + */ + +(function() { + 'use strict'; + + /** + * Model for storing and saving user settings + * + * @class UserSettings + */ + var UserSettings = OC.Backbone.Model.extend({ + url: OC.generateUrl('/settings/users/{id}/settings', {id: OC.currentUser}), + parse: function(data) { + if (_.isUndefined(data)) { + return null; + } + if (_.isUndefined(data.data)) { + return null; + } + data = data.data; + + var ignored = [ + 'userId', + 'message' + ]; + + _.each(ignored, function(ign) { + if (!_.isUndefined(data[ign])) { + delete data[ign]; + } + }); + + return data; + } + }); + + OC.Settings = OC.Settings || {}; + + OC.Settings.UserSettings = UserSettings; +})(); \ No newline at end of file -- cgit v1.2.3