mirror of
https://github.com/nextcloud/server.git
synced 2026-02-19 02:38:40 -05:00
Merge pull request #55580 from nextcloud/fix/share-permissions-password-validation
fix(files_sharing): Only send password on change
This commit is contained in:
commit
87b94c7f52
12 changed files with 27 additions and 14 deletions
|
|
@ -1344,10 +1344,13 @@ class ShareAPIController extends OCSController {
|
|||
$share->setPermissions($permissions);
|
||||
}
|
||||
|
||||
if ($password === '') {
|
||||
$share->setPassword(null);
|
||||
} elseif ($password !== null) {
|
||||
$share->setPassword($password);
|
||||
$passwordParamSent = $password !== null;
|
||||
if ($passwordParamSent) {
|
||||
if ($password === '') {
|
||||
$share->setPassword(null);
|
||||
} else {
|
||||
$share->setPassword($password);
|
||||
}
|
||||
}
|
||||
|
||||
if ($label !== null) {
|
||||
|
|
|
|||
|
|
@ -316,7 +316,9 @@ export default {
|
|||
// share api controller accepts
|
||||
for (const name of propertyNames) {
|
||||
if (name === 'password') {
|
||||
properties[name] = this.share.newPassword ?? this.share.password
|
||||
if (this.share.newPassword !== undefined) {
|
||||
properties[name] = this.share.newPassword
|
||||
}
|
||||
continue
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1054,7 +1054,11 @@ export default {
|
|||
|
||||
async saveShare() {
|
||||
const permissionsAndAttributes = ['permissions', 'attributes', 'note', 'expireDate']
|
||||
const publicShareAttributes = ['label', 'password', 'hideDownload']
|
||||
const publicShareAttributes = ['label', 'hideDownload']
|
||||
// Only include password if it's being actively changed
|
||||
if (this.hasUnsavedPassword) {
|
||||
publicShareAttributes.push('password')
|
||||
}
|
||||
if (this.config.allowCustomTokens) {
|
||||
publicShareAttributes.push('token')
|
||||
}
|
||||
|
|
@ -1221,7 +1225,11 @@ export default {
|
|||
* "sendPasswordByTalk".
|
||||
*/
|
||||
onPasswordProtectedByTalkChange() {
|
||||
this.queueUpdate('sendPasswordByTalk', 'password')
|
||||
if (this.isEmailShareType || this.hasUnsavedPassword) {
|
||||
this.queueUpdate('sendPasswordByTalk', 'password')
|
||||
} else {
|
||||
this.queueUpdate('sendPasswordByTalk')
|
||||
}
|
||||
},
|
||||
|
||||
isValidShareAttribute(value) {
|
||||
|
|
|
|||
2
dist/1626-1626.js
vendored
Normal file
2
dist/1626-1626.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
dist/1626-1626.js.map
vendored
Normal file
1
dist/1626-1626.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
1
dist/1626-1626.js.map.license
vendored
Symbolic link
1
dist/1626-1626.js.map.license
vendored
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
1626-1626.js.license
|
||||
2
dist/8906-8906.js
vendored
2
dist/8906-8906.js
vendored
File diff suppressed because one or more lines are too long
1
dist/8906-8906.js.map
vendored
1
dist/8906-8906.js.map
vendored
File diff suppressed because one or more lines are too long
1
dist/8906-8906.js.map.license
vendored
1
dist/8906-8906.js.map.license
vendored
|
|
@ -1 +0,0 @@
|
|||
8906-8906.js.license
|
||||
4
dist/files_sharing-files_sharing_tab.js
vendored
4
dist/files_sharing-files_sharing_tab.js
vendored
File diff suppressed because one or more lines are too long
2
dist/files_sharing-files_sharing_tab.js.map
vendored
2
dist/files_sharing-files_sharing_tab.js.map
vendored
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue