2015-08-13 03:38:14 +03:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2015
|
|
|
|
*
|
|
|
|
* This file is licensed under the Affero General Public License version 3
|
|
|
|
* or later.
|
|
|
|
*
|
|
|
|
* See the COPYING-README file.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
2016-08-19 22:03:25 +03:00
|
|
|
/* global moment, oc_appconfig, oc_config */
|
2016-01-28 14:28:30 +03:00
|
|
|
|
2015-08-13 03:38:14 +03:00
|
|
|
(function() {
|
|
|
|
if (!OC.Share) {
|
|
|
|
OC.Share = {};
|
|
|
|
OC.Share.Types = {};
|
|
|
|
}
|
|
|
|
|
2015-09-15 11:27:33 +03:00
|
|
|
// FIXME: the config model should populate its own model attributes based on
|
|
|
|
// the old DOM-based config
|
2015-08-13 03:38:14 +03:00
|
|
|
var ShareConfigModel = OC.Backbone.Model.extend({
|
|
|
|
defaults: {
|
2015-09-03 16:53:17 +03:00
|
|
|
publicUploadEnabled: false,
|
2015-09-04 16:31:45 +03:00
|
|
|
enforcePasswordForPublicLink: oc_appconfig.core.enforcePasswordForPublicLink,
|
2016-10-17 10:11:30 +03:00
|
|
|
enableLinkPasswordByDefault: oc_appconfig.core.enableLinkPasswordByDefault,
|
2015-09-04 16:31:45 +03:00
|
|
|
isDefaultExpireDateEnforced: oc_appconfig.core.defaultExpireDateEnforced === true,
|
2015-09-12 15:21:14 +03:00
|
|
|
isDefaultExpireDateEnabled: oc_appconfig.core.defaultExpireDateEnabled === true,
|
|
|
|
isRemoteShareAllowed: oc_appconfig.core.remoteShareAllowed,
|
2016-10-31 13:52:00 +03:00
|
|
|
isMailShareAllowed: oc_appconfig.shareByMailEnabled !== undefined,
|
2015-09-04 16:31:45 +03:00
|
|
|
defaultExpireDate: oc_appconfig.core.defaultExpireDate,
|
2016-03-21 21:47:10 +03:00
|
|
|
isResharingAllowed: oc_appconfig.core.resharingAllowed,
|
2017-04-10 19:36:23 +03:00
|
|
|
isPasswordForMailSharesRequired: (oc_appconfig.shareByMail === undefined) ? false : oc_appconfig.shareByMail.enforcePasswordProtection,
|
2016-03-21 21:47:10 +03:00
|
|
|
allowGroupSharing: oc_appconfig.core.allowGroupSharing
|
2015-08-13 03:38:14 +03:00
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @returns {boolean}
|
|
|
|
*/
|
|
|
|
isPublicUploadEnabled: function() {
|
|
|
|
var publicUploadEnabled = $('#filestable').data('allow-public-upload');
|
2015-09-14 01:43:11 +03:00
|
|
|
return publicUploadEnabled === 'yes';
|
2015-08-13 03:38:14 +03:00
|
|
|
},
|
|
|
|
|
2015-08-18 13:13:08 +03:00
|
|
|
/**
|
|
|
|
* @returns {boolean}
|
|
|
|
*/
|
|
|
|
isShareWithLinkAllowed: function() {
|
|
|
|
return $('#allowShareWithLink').val() === 'yes';
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @returns {string}
|
|
|
|
*/
|
|
|
|
getFederatedShareDocLink: function() {
|
|
|
|
return oc_appconfig.core.federatedCloudShareDoc;
|
2015-09-12 15:21:14 +03:00
|
|
|
},
|
|
|
|
|
|
|
|
getDefaultExpirationDateString: function () {
|
|
|
|
var expireDateString = '';
|
|
|
|
if (this.get('isDefaultExpireDateEnabled')) {
|
2016-01-28 14:28:30 +03:00
|
|
|
var date = moment.utc();
|
|
|
|
var expireAfterDays = this.get('defaultExpireDate');
|
|
|
|
date.add(expireAfterDays, 'days');
|
|
|
|
expireDateString = date.format('YYYY-MM-DD 00:00:00');
|
2015-09-12 15:21:14 +03:00
|
|
|
}
|
|
|
|
return expireDateString;
|
2015-08-13 03:38:14 +03:00
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
OC.Share.ShareConfigModel = ShareConfigModel;
|
|
|
|
})();
|