Skip to content

Commit

Permalink
Merge pull request #38227 from nextcloud/allow-enforcing-share-passwo…
Browse files Browse the repository at this point in the history
…rds-only-when-already-asking-for-a-password

Allow enforcing share passwords only when already asking for a password
  • Loading branch information
nickvergessen committed May 22, 2023
2 parents 30e4457 + c1f3bcf commit fdf7fd4
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 11 deletions.
15 changes: 15 additions & 0 deletions apps/settings/src/admin.js
Expand Up @@ -46,6 +46,21 @@ window.addEventListener('DOMContentLoaded', () => {
$('#setDefaultRemoteExpireDate').toggleClass('hidden', !this.checked)
})

$('#enableLinkPasswordByDefault').change(function() {
if (this.checked) {
$('#enforceLinkPassword').removeAttr('disabled')
$('#passwordsExcludedGroups').removeAttr('disabled')
} else {
$('#enforceLinkPassword').attr('disabled', '')
$('#passwordsExcludedGroups').attr('disabled', '')

// Uncheck "Enforce password protection" when "Always asks for a
// password" is unchecked; the change event needs to be explicitly
// triggered so it behaves like a change done by the user.
$('#enforceLinkPassword').removeAttr('checked').trigger('change')
}
})

$('#enforceLinkPassword').change(function() {
$('#selectPasswordsExcludedGroups').toggleClass('hidden', !this.checked)
})
Expand Down
18 changes: 10 additions & 8 deletions apps/settings/templates/settings/admin/sharing.php
Expand Up @@ -117,17 +117,19 @@
<input type="checkbox" name="shareapi_enforce_links_password" id="enforceLinkPassword" class="checkbox"
value="1" <?php if ($_['enforceLinkPassword']) {
print_unescaped('checked="checked"');
} ?> <?php if ($_['enableLinkPasswordByDefault'] !== 'yes') {
print_unescaped('disabled');
} ?> />
<label for="enforceLinkPassword"><?php p($l->t('Enforce password protection'));?></label><br/>
<label for="enforceLinkPassword" class="indent"><?php p($l->t('Enforce password protection'));?></label><br/>

<?php if ($_['passwordExcludedGroupsFeatureEnabled']) { ?>
<div id="selectPasswordsExcludedGroups" class="indent <?php if (!$_['enforceLinkPassword']) { p('hidden'); } ?>">
<div class="indent">
<label for="shareapi_enforce_links_password_excluded_groups"><?php p($l->t('Exclude groups from password requirements:'));?>
<br />
<input name="shareapi_enforce_links_password_excluded_groups" id="passwordsExcludedGroups" value="<?php p($_['passwordExcludedGroups']) ?>" style="width: 400px" class="noJSAutoUpdate"/>
</div>
</div>
<span id="selectPasswordsExcludedGroups" class="double-indent <?php if (!$_['enforceLinkPassword']) { p('hidden'); } ?>">
<label for="shareapi_enforce_links_password_excluded_groups"><?php p($l->t('Exclude groups from password requirements:'));?></label><br/>
<input name="shareapi_enforce_links_password_excluded_groups" id="passwordsExcludedGroups" value="<?php p($_['passwordExcludedGroups']) ?>"
style="width: 400px" class="noJSAutoUpdate double-indent" <?php if ($_['enableLinkPasswordByDefault'] !== 'yes') {
print_unescaped('disabled');
} ?> />
</span><br/>
<?php } ?>

<input type="checkbox" name="shareapi_default_expire_date" id="shareapiDefaultExpireDate" class="checkbox"
Expand Down
4 changes: 2 additions & 2 deletions dist/settings-legacy-admin.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit fdf7fd4

Please sign in to comment.