mirror of
https://github.com/nextcloud/server.git
synced 2026-05-28 04:32:30 -04:00
fix(files_sharing): permissions translation
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
This commit is contained in:
parent
93b8e662ad
commit
b43325fb43
9 changed files with 31 additions and 32 deletions
|
|
@ -64,9 +64,11 @@
|
|||
type="radio"
|
||||
button-variant-grouped="vertical"
|
||||
@update:checked="expandCustomPermissions">
|
||||
<DotsHorizontalIcon :size="20" />
|
||||
<span>{{ t('files_sharing', 'Custom permissions') }}</span>
|
||||
<small>{{ t('files_sharing', customPermissionsList) }}</small>
|
||||
{{ t('files_sharing', 'Custom permissions') }}
|
||||
<small>{{ customPermissionsList }}</small>
|
||||
<template #icon>
|
||||
<DotsHorizontalIcon :size="20" />
|
||||
</template>
|
||||
</NcCheckboxRadioSwitch>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -194,6 +196,8 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { getLanguage } from '@nextcloud/l10n'
|
||||
|
||||
import NcButton from '@nextcloud/vue/dist/Components/NcButton.js'
|
||||
import NcInputField from '@nextcloud/vue/dist/Components/NcInputField.js'
|
||||
import NcAvatar from '@nextcloud/vue/dist/Components/NcAvatar.js'
|
||||
|
|
@ -611,26 +615,21 @@ export default {
|
|||
return this.fileInfo.shareAttributes.some(hasDisabledDownload)
|
||||
},
|
||||
customPermissionsList() {
|
||||
const perms = []
|
||||
if (hasPermissions(this.share.permissions, ATOMIC_PERMISSIONS.READ)) {
|
||||
perms.push('read')
|
||||
// Key order will be different, because ATOMIC_PERMISSIONS are numbers
|
||||
const translatedPermissions = {
|
||||
[ATOMIC_PERMISSIONS.READ]: this.t('files_sharing', 'Read'),
|
||||
[ATOMIC_PERMISSIONS.CREATE]: this.t('files_sharing', 'Create'),
|
||||
[ATOMIC_PERMISSIONS.UPDATE]: this.t('files_sharing', 'Update'),
|
||||
[ATOMIC_PERMISSIONS.SHARE]: this.t('files_sharing', 'Share'),
|
||||
[ATOMIC_PERMISSIONS.DELETE]: this.t('files_sharing', 'Delete'),
|
||||
}
|
||||
if (hasPermissions(this.share.permissions, ATOMIC_PERMISSIONS.CREATE)) {
|
||||
perms.push('create')
|
||||
}
|
||||
if (hasPermissions(this.share.permissions, ATOMIC_PERMISSIONS.UPDATE)) {
|
||||
perms.push('update')
|
||||
}
|
||||
if (hasPermissions(this.share.permissions, ATOMIC_PERMISSIONS.DELETE)) {
|
||||
perms.push('delete')
|
||||
}
|
||||
if (hasPermissions(this.share.permissions, ATOMIC_PERMISSIONS.SHARE)) {
|
||||
perms.push('share')
|
||||
}
|
||||
const capitalizeFirstAndJoin = array => array.map((item, index) => index === 0 ? item[0].toUpperCase() + item.substring(1) : item).join(', ')
|
||||
|
||||
return capitalizeFirstAndJoin(perms)
|
||||
|
||||
return [ATOMIC_PERMISSIONS.READ, ATOMIC_PERMISSIONS.CREATE, ATOMIC_PERMISSIONS.UPDATE, ATOMIC_PERMISSIONS.SHARE, ATOMIC_PERMISSIONS.DELETE]
|
||||
.filter((permission) => hasPermissions(this.share.permissions, permission))
|
||||
.map((permission, index) => index === 0
|
||||
? translatedPermissions[permission]
|
||||
: translatedPermissions[permission].toLocaleLowerCase(getLanguage()))
|
||||
.join(', ')
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
4
dist/core-common.js
vendored
4
dist/core-common.js
vendored
File diff suppressed because one or more lines are too long
2
dist/core-common.js.map
vendored
2
dist/core-common.js.map
vendored
File diff suppressed because one or more lines are too long
4
dist/files-main.js
vendored
4
dist/files-main.js
vendored
File diff suppressed because one or more lines are too long
2
dist/files-main.js.map
vendored
2
dist/files-main.js.map
vendored
File diff suppressed because one or more lines are too long
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