73 lines
2.1 KiB
JavaScript
73 lines
2.1 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 */
|
|
|
|
(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,
|
|
enableLinkPasswordByDefault: OC.appConfig.core.enableLinkPasswordByDefault,
|
|
isDefaultExpireDateEnforced: OC.appConfig.core.defaultExpireDateEnforced === true,
|
|
isDefaultExpireDateEnabled: OC.appConfig.core.defaultExpireDateEnabled === true,
|
|
isRemoteShareAllowed: OC.appConfig.core.remoteShareAllowed,
|
|
isMailShareAllowed: OC.appConfig.shareByMailEnabled !== undefined,
|
|
defaultExpireDate: OC.appConfig.core.defaultExpireDate,
|
|
isResharingAllowed: OC.appConfig.core.resharingAllowed,
|
|
isPasswordForMailSharesRequired: (OC.appConfig.shareByMail === undefined) ? false : OC.appConfig.shareByMail.enforcePasswordProtection,
|
|
allowGroupSharing: OC.appConfig.core.allowGroupSharing
|
|
},
|
|
|
|
/**
|
|
* @returns {boolean}
|
|
*/
|
|
isPublicUploadEnabled: function() {
|
|
var publicUploadEnabled = $('#filestable').data('allow-public-upload');
|
|
return publicUploadEnabled === '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;
|
|
})();
|