Add an option to disallow sending sharing emails to non-owncloud users
Fix #10836
This commit is contained in:
parent
c36bac3abd
commit
539c0aeb04
|
@ -120,6 +120,7 @@ $tmpl->assign('usedSpacePercent', (int)$storageInfo['relative']);
|
||||||
$tmpl->assign('isPublic', false);
|
$tmpl->assign('isPublic', false);
|
||||||
$tmpl->assign("encryptedFiles", \OCP\Util::encryptedFiles());
|
$tmpl->assign("encryptedFiles", \OCP\Util::encryptedFiles());
|
||||||
$tmpl->assign("mailNotificationEnabled", $config->getAppValue('core', 'shareapi_allow_mail_notification', 'no'));
|
$tmpl->assign("mailNotificationEnabled", $config->getAppValue('core', 'shareapi_allow_mail_notification', 'no'));
|
||||||
|
$tmpl->assign("mailPublicNotificationEnabled", $config->getAppValue('core', 'shareapi_allow_public_notification', 'no'));
|
||||||
$tmpl->assign("allowShareWithLink", $config->getAppValue('core', 'shareapi_allow_links', 'yes'));
|
$tmpl->assign("allowShareWithLink", $config->getAppValue('core', 'shareapi_allow_links', 'yes'));
|
||||||
$tmpl->assign("encryptionInitStatus", $encryptionInitStatus);
|
$tmpl->assign("encryptionInitStatus", $encryptionInitStatus);
|
||||||
$tmpl->assign('appNavigation', $nav);
|
$tmpl->assign('appNavigation', $nav);
|
||||||
|
|
|
@ -15,5 +15,6 @@
|
||||||
<input type="hidden" name="encryptedFiles" id="encryptedFiles" value="<?php $_['encryptedFiles'] ? p('1') : p('0'); ?>" />
|
<input type="hidden" name="encryptedFiles" id="encryptedFiles" value="<?php $_['encryptedFiles'] ? p('1') : p('0'); ?>" />
|
||||||
<input type="hidden" name="encryptedInitStatus" id="encryptionInitStatus" value="<?php p($_['encryptionInitStatus']) ?>" />
|
<input type="hidden" name="encryptedInitStatus" id="encryptionInitStatus" value="<?php p($_['encryptionInitStatus']) ?>" />
|
||||||
<input type="hidden" name="mailNotificationEnabled" id="mailNotificationEnabled" value="<?php p($_['mailNotificationEnabled']) ?>" />
|
<input type="hidden" name="mailNotificationEnabled" id="mailNotificationEnabled" value="<?php p($_['mailNotificationEnabled']) ?>" />
|
||||||
|
<input type="hidden" name="mailPublicNotificationEnabled" id="mailPublicNotificationEnabled" value="<?php p($_['mailPublicNotificationEnabled']) ?>" />
|
||||||
<input type="hidden" name="allowShareWithLink" id="allowShareWithLink" value="<?php p($_['allowShareWithLink']) ?>" />
|
<input type="hidden" name="allowShareWithLink" id="allowShareWithLink" value="<?php p($_['allowShareWithLink']) ?>" />
|
||||||
<?php endif;
|
<?php endif;
|
||||||
|
|
|
@ -410,10 +410,14 @@ OC.Share={
|
||||||
html += '<label for="sharingDialogAllowPublicUpload">' + t('core', 'Allow Public Upload') + '</label>';
|
html += '<label for="sharingDialogAllowPublicUpload">' + t('core', 'Allow Public Upload') + '</label>';
|
||||||
html += '</div>';
|
html += '</div>';
|
||||||
}
|
}
|
||||||
html += '</div><form id="emailPrivateLink" >';
|
html += '</div>';
|
||||||
html += '<input id="email" style="display:none; width:62%;" value="" placeholder="'+t('core', 'Email link to person')+'" type="text" />';
|
var mailPublicNotificationEnabled = $('input:hidden[name=mailPublicNotificationEnabled]').val();
|
||||||
html += '<input id="emailButton" style="display:none;" type="submit" value="'+t('core', 'Send')+'" />';
|
if (mailPublicNotificationEnabled === 'yes') {
|
||||||
html += '</form>';
|
html += '<form id="emailPrivateLink">';
|
||||||
|
html += '<input id="email" style="display:none; width:62%;" value="" placeholder="'+t('core', 'Email link to person')+'" type="text" />';
|
||||||
|
html += '<input id="emailButton" style="display:none;" type="submit" value="'+t('core', 'Send')+'" />';
|
||||||
|
html += '</form>';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
html += '<div id="expiration">';
|
html += '<div id="expiration">';
|
||||||
|
@ -520,7 +524,7 @@ OC.Share={
|
||||||
.append( insert )
|
.append( insert )
|
||||||
.appendTo( ul );
|
.appendTo( ul );
|
||||||
};
|
};
|
||||||
if (link && linksAllowed) {
|
if (link && linksAllowed && $('#email').length != 0) {
|
||||||
$('#email').autocomplete({
|
$('#email').autocomplete({
|
||||||
minLength: 1,
|
minLength: 1,
|
||||||
source: function (search, response) {
|
source: function (search, response) {
|
||||||
|
|
|
@ -31,6 +31,7 @@ describe('OC.Share tests', function() {
|
||||||
$('#testArea').append($('<div id="shareContainer"></div>'));
|
$('#testArea').append($('<div id="shareContainer"></div>'));
|
||||||
// horrible parameters
|
// horrible parameters
|
||||||
$('#testArea').append('<input id="allowShareWithLink" type="hidden" value="yes">');
|
$('#testArea').append('<input id="allowShareWithLink" type="hidden" value="yes">');
|
||||||
|
$('#testArea').append('<input id="mailPublicNotificationEnabled" name="mailPublicNotificationEnabled" type="hidden" value="yes">');
|
||||||
$container = $('#shareContainer');
|
$container = $('#shareContainer');
|
||||||
/* jshint camelcase:false */
|
/* jshint camelcase:false */
|
||||||
oldAppConfig = _.extend({}, oc_appconfig.core);
|
oldAppConfig = _.extend({}, oc_appconfig.core);
|
||||||
|
@ -362,6 +363,16 @@ describe('OC.Share tests', function() {
|
||||||
$('#dropdown [name=expirationCheckbox]').click();
|
$('#dropdown [name=expirationCheckbox]').click();
|
||||||
expect($('#dropdown [name=expirationCheckbox]').prop('checked')).toEqual(true);
|
expect($('#dropdown [name=expirationCheckbox]').prop('checked')).toEqual(true);
|
||||||
});
|
});
|
||||||
|
it('displayes email form when sending emails is enabled', function() {
|
||||||
|
$('input[name=mailPublicNotificationEnabled]').val('yes');
|
||||||
|
showDropDown();
|
||||||
|
expect($('#emailPrivateLink').length).toEqual(1);
|
||||||
|
});
|
||||||
|
it('not renders email form when sending emails is disabled', function() {
|
||||||
|
$('input[name=mailPublicNotificationEnabled]').val('no');
|
||||||
|
showDropDown();
|
||||||
|
expect($('#emailPrivateLink').length).toEqual(0);
|
||||||
|
});
|
||||||
it('sets picker minDate to today and no maxDate by default', function() {
|
it('sets picker minDate to today and no maxDate by default', function() {
|
||||||
showDropDown();
|
showDropDown();
|
||||||
$('#dropdown [name=linkCheckbox]').click();
|
$('#dropdown [name=linkCheckbox]').click();
|
||||||
|
|
|
@ -66,6 +66,7 @@ $template->assign('allowLinks', $appConfig->getValue('core', 'shareapi_allow_lin
|
||||||
$template->assign('enforceLinkPassword', \OCP\Util::isPublicLinkPasswordRequired());
|
$template->assign('enforceLinkPassword', \OCP\Util::isPublicLinkPasswordRequired());
|
||||||
$template->assign('allowPublicUpload', $appConfig->getValue('core', 'shareapi_allow_public_upload', 'yes'));
|
$template->assign('allowPublicUpload', $appConfig->getValue('core', 'shareapi_allow_public_upload', 'yes'));
|
||||||
$template->assign('allowResharing', $appConfig->getValue('core', 'shareapi_allow_resharing', 'yes'));
|
$template->assign('allowResharing', $appConfig->getValue('core', 'shareapi_allow_resharing', 'yes'));
|
||||||
|
$template->assign('allowPublicMailNotification', $appConfig->getValue('core', 'shareapi_allow_public_notification', 'no'));
|
||||||
$template->assign('allowMailNotification', $appConfig->getValue('core', 'shareapi_allow_mail_notification', 'no'));
|
$template->assign('allowMailNotification', $appConfig->getValue('core', 'shareapi_allow_mail_notification', 'no'));
|
||||||
$template->assign('onlyShareWithGroupMembers', \OC\Share\Share::shareWithGroupMembersOnly());
|
$template->assign('onlyShareWithGroupMembers', \OC\Share\Share::shareWithGroupMembersOnly());
|
||||||
$databaseOverload = (strpos(\OCP\Config::getSystemValue('dbtype'), 'sqlite') !== false);
|
$databaseOverload = (strpos(\OCP\Config::getSystemValue('dbtype'), 'sqlite') !== false);
|
||||||
|
|
|
@ -271,10 +271,15 @@ if ($_['suggestedOverwriteWebroot']) {
|
||||||
<input type="checkbox" name="shareapi_enforce_links_password" id="enforceLinkPassword"
|
<input type="checkbox" name="shareapi_enforce_links_password" id="enforceLinkPassword"
|
||||||
value="1" <?php if ($_['enforceLinkPassword']) print_unescaped('checked="checked"'); ?> />
|
value="1" <?php if ($_['enforceLinkPassword']) print_unescaped('checked="checked"'); ?> />
|
||||||
<label for="enforceLinkPassword"><?php p($l->t('Enforce password protection'));?></label><br/>
|
<label for="enforceLinkPassword"><?php p($l->t('Enforce password protection'));?></label><br/>
|
||||||
|
|
||||||
<input type="checkbox" name="shareapi_allow_public_upload" id="allowPublicUpload"
|
<input type="checkbox" name="shareapi_allow_public_upload" id="allowPublicUpload"
|
||||||
value="1" <?php if ($_['allowPublicUpload'] == 'yes') print_unescaped('checked="checked"'); ?> />
|
value="1" <?php if ($_['allowPublicUpload'] == 'yes') print_unescaped('checked="checked"'); ?> />
|
||||||
<label for="allowPublicUpload"><?php p($l->t('Allow public uploads'));?></label><br/>
|
<label for="allowPublicUpload"><?php p($l->t('Allow public uploads'));?></label><br/>
|
||||||
|
|
||||||
|
<input type="checkbox" name="shareapi_allow_public_notification" id="allowPublicMailNotification"
|
||||||
|
value="1" <?php if ($_['allowPublicMailNotification'] == 'yes') print_unescaped('checked="checked"'); ?> />
|
||||||
|
<label for="allowPublicMailNotification"><?php p($l->t('Allow users to send mail notification for shared files'));?></label><br/>
|
||||||
|
|
||||||
<input type="checkbox" name="shareapi_default_expire_date" id="shareapiDefaultExpireDate"
|
<input type="checkbox" name="shareapi_default_expire_date" id="shareapiDefaultExpireDate"
|
||||||
value="1" <?php if ($_['shareDefaultExpireDateSet'] === 'yes') print_unescaped('checked="checked"'); ?> />
|
value="1" <?php if ($_['shareDefaultExpireDateSet'] === 'yes') print_unescaped('checked="checked"'); ?> />
|
||||||
<label for="shareapiDefaultExpireDate"><?php p($l->t('Set default expiration date'));?></label><br/>
|
<label for="shareapiDefaultExpireDate"><?php p($l->t('Set default expiration date'));?></label><br/>
|
||||||
|
@ -302,7 +307,7 @@ if ($_['suggestedOverwriteWebroot']) {
|
||||||
<p class="<?php if ($_['shareAPIEnabled'] === 'no') p('hidden');?>">
|
<p class="<?php if ($_['shareAPIEnabled'] === 'no') p('hidden');?>">
|
||||||
<input type="checkbox" name="shareapi_allow_mail_notification" id="allowMailNotification"
|
<input type="checkbox" name="shareapi_allow_mail_notification" id="allowMailNotification"
|
||||||
value="1" <?php if ($_['allowMailNotification'] === 'yes') print_unescaped('checked="checked"'); ?> />
|
value="1" <?php if ($_['allowMailNotification'] === 'yes') print_unescaped('checked="checked"'); ?> />
|
||||||
<label for="allowMailNotification"><?php p($l->t('Allow users to send mail notification for shared files'));?></label><br/>
|
<label for="allowMailNotification"><?php p($l->t('Allow users to send mail notification for shared files to other users'));?></label><br/>
|
||||||
</p>
|
</p>
|
||||||
<p class="<?php if ($_['shareAPIEnabled'] === 'no') p('hidden');?>">
|
<p class="<?php if ($_['shareAPIEnabled'] === 'no') p('hidden');?>">
|
||||||
<input type="checkbox" name="shareapi_exclude_groups" id="shareapiExcludeGroups"
|
<input type="checkbox" name="shareapi_exclude_groups" id="shareapiExcludeGroups"
|
||||||
|
|
Loading…
Reference in New Issue