Skip to content

Commit

Permalink
fix(files_sharing): permissions translation
Browse files Browse the repository at this point in the history
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
  • Loading branch information
ShGKme authored and Jerome-Herbinet committed Nov 27, 2023
1 parent e7d9b84 commit 41ffe3a
Show file tree
Hide file tree
Showing 7 changed files with 28 additions and 29 deletions.
41 changes: 20 additions & 21 deletions apps/files_sharing/src/views/SharingDetailsTab.vue
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down Expand Up @@ -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'
Expand Down Expand Up @@ -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')
}
if (hasPermissions(this.share.permissions, ATOMIC_PERMISSIONS.CREATE)) {
perms.push('create')
// 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.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: {
Expand Down
2 changes: 1 addition & 1 deletion core/css/server.css

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion core/css/server.css.map

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions dist/core-common.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/core-common.js.map

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions dist/files-main.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/files-main.js.map

Large diffs are not rendered by default.

0 comments on commit 41ffe3a

Please sign in to comment.