90 lines
2.2 KiB
JavaScript
90 lines
2.2 KiB
JavaScript
/*
|
|
* Copyright (c) 2015
|
|
*
|
|
* This file is licensed under the Affero General Public License version 3
|
|
* or later.
|
|
*
|
|
* See the COPYING-README file.
|
|
*
|
|
*/
|
|
|
|
/* global moment, oc_appconfig, oc_config */
|
|
|
|
(function() {
|
|
if (!OC.Share) {
|
|
OC.Share = {};
|
|
OC.Share.Types = {};
|
|
}
|
|
|
|
// FIXME: the config model should populate its own model attributes based on
|
|
// the old DOM-based config
|
|
var ShareConfigModel = OC.Backbone.Model.extend({
|
|
defaults: {
|
|
publicUploadEnabled: false,
|
|
enforcePasswordForPublicLink: oc_appconfig.core.enforcePasswordForPublicLink,
|
|
isDefaultExpireDateEnforced: oc_appconfig.core.defaultExpireDateEnforced === true,
|
|
isDefaultExpireDateEnabled: oc_appconfig.core.defaultExpireDateEnabled === true,
|
|
isRemoteShareAllowed: oc_appconfig.core.remoteShareAllowed,
|
|
defaultExpireDate: oc_appconfig.core.defaultExpireDate,
|
|
isResharingAllowed: oc_appconfig.core.resharingAllowed,
|
|
allowGroupSharing: oc_appconfig.core.allowGroupSharing
|
|
},
|
|
|
|
/**
|
|
* @returns {boolean}
|
|
*/
|
|
areAvatarsEnabled: function() {
|
|
return oc_config.enable_avatars === true;
|
|
},
|
|
|
|
/**
|
|
* @returns {boolean}
|
|
*/
|
|
isPublicUploadEnabled: function() {
|
|
var publicUploadEnabled = $('#filestable').data('allow-public-upload');
|
|
return publicUploadEnabled === 'yes';
|
|
},
|
|
|
|
/**
|
|
* @returns {boolean}
|
|
*/
|
|
isMailPublicNotificationEnabled: function() {
|
|
return $('input:hidden[name=mailPublicNotificationEnabled]').val() === 'yes';
|
|
},
|
|
|
|
/**
|
|
* @returns {boolean}
|
|
*/
|
|
isMailNotificationEnabled: function() {
|
|
return $('input:hidden[name=mailNotificationEnabled]').val() === 'yes';
|
|
},
|
|
|
|
/**
|
|
* @returns {boolean}
|
|
*/
|
|
isShareWithLinkAllowed: function() {
|
|
return $('#allowShareWithLink').val() === 'yes';
|
|
},
|
|
|
|
/**
|
|
* @returns {string}
|
|
*/
|
|
getFederatedShareDocLink: function() {
|
|
return oc_appconfig.core.federatedCloudShareDoc;
|
|
},
|
|
|
|
getDefaultExpirationDateString: function () {
|
|
var expireDateString = '';
|
|
if (this.get('isDefaultExpireDateEnabled')) {
|
|
var date = moment.utc();
|
|
var expireAfterDays = this.get('defaultExpireDate');
|
|
date.add(expireAfterDays, 'days');
|
|
expireDateString = date.format('YYYY-MM-DD 00:00:00');
|
|
}
|
|
return expireDateString;
|
|
}
|
|
});
|
|
|
|
|
|
OC.Share.ShareConfigModel = ShareConfigModel;
|
|
})();
|