Compare commits

...

5 Commits

Author SHA1 Message Date
renovate[bot] 0c4cf81ef1
Merge 5f84062945 into afa3de9885 2024-04-26 11:36:50 +02:00
Christoph Wurst afa3de9885
Merge pull request #5904 from nextcloud/enh/show-email-in-sharing
Add email information when sharing
2024-04-26 11:34:39 +02:00
Nextcloud bot 7d34c383a2
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-04-26 00:32:02 +00:00
Grigory Vodyanov 4837945888 Add email to sharing dialogs
Signed-off-by: Grigory Vodyanov <scratchx@gmx.com>
2024-04-25 18:06:16 +02:00
renovate[bot] 5f84062945
fix(deps): bump @nextcloud/logger from 2.7.0 to v3
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-24 20:24:17 +00:00
24 changed files with 150 additions and 12 deletions

View File

@ -128,6 +128,7 @@ OC.L10N.register(
"Unpublishing calendar failed" : "محاولة إلغاء نشر التقويم أخفقت",
"can edit" : "يمكن التحرير",
"Unshare with {displayName}" : "إلغاء المشاركة مع {displayName}",
"{teamDisplayName} (Team)" : "{teamDisplayName} (فريق)",
"An error occurred while unsharing the calendar." : "حدث خطأ أثناء إلغاء مشاركة التقويم",
"An error occurred, unable to change the permission of the share." : "حدث خطأ، لا يمكن تعديل صلاحيات نشر التقويم.",
"Share with users or groups" : "شارك مع مستخدمين او مجموعات",

View File

@ -126,6 +126,7 @@
"Unpublishing calendar failed" : "محاولة إلغاء نشر التقويم أخفقت",
"can edit" : "يمكن التحرير",
"Unshare with {displayName}" : "إلغاء المشاركة مع {displayName}",
"{teamDisplayName} (Team)" : "{teamDisplayName} (فريق)",
"An error occurred while unsharing the calendar." : "حدث خطأ أثناء إلغاء مشاركة التقويم",
"An error occurred, unable to change the permission of the share." : "حدث خطأ، لا يمكن تعديل صلاحيات نشر التقويم.",
"Share with users or groups" : "شارك مع مستخدمين او مجموعات",

View File

@ -128,6 +128,7 @@ OC.L10N.register(
"Unpublishing calendar failed" : "Aufhebung der Veröffentlichung des Kalenders fehlgeschlagen",
"can edit" : "kann bearbeiten",
"Unshare with {displayName}" : "Mit {displayName} nicht mehr teilen",
"{teamDisplayName} (Team)" : "{teamDisplayName} (Team)",
"An error occurred while unsharing the calendar." : "Es ist ein Fehler beim Aufheben der Freigabe des Kalenders aufgetreten.",
"An error occurred, unable to change the permission of the share." : "Es ist ein Fehler aufgetreten, die Berechtigung für die Freigabe konnte nicht geändert werden.",
"Share with users or groups" : "Mit Benutzern oder Gruppen teilen",

View File

@ -126,6 +126,7 @@
"Unpublishing calendar failed" : "Aufhebung der Veröffentlichung des Kalenders fehlgeschlagen",
"can edit" : "kann bearbeiten",
"Unshare with {displayName}" : "Mit {displayName} nicht mehr teilen",
"{teamDisplayName} (Team)" : "{teamDisplayName} (Team)",
"An error occurred while unsharing the calendar." : "Es ist ein Fehler beim Aufheben der Freigabe des Kalenders aufgetreten.",
"An error occurred, unable to change the permission of the share." : "Es ist ein Fehler aufgetreten, die Berechtigung für die Freigabe konnte nicht geändert werden.",
"Share with users or groups" : "Mit Benutzern oder Gruppen teilen",

View File

@ -128,6 +128,7 @@ OC.L10N.register(
"Unpublishing calendar failed" : "Unpublishing calendar failed",
"can edit" : "can edit",
"Unshare with {displayName}" : "Unshare with {displayName}",
"{teamDisplayName} (Team)" : "{teamDisplayName} (Team)",
"An error occurred while unsharing the calendar." : "An error occurred while unsharing the calendar.",
"An error occurred, unable to change the permission of the share." : "An error occurred, unable to change the permission of the share.",
"Share with users or groups" : "Share with users or groups",

View File

@ -126,6 +126,7 @@
"Unpublishing calendar failed" : "Unpublishing calendar failed",
"can edit" : "can edit",
"Unshare with {displayName}" : "Unshare with {displayName}",
"{teamDisplayName} (Team)" : "{teamDisplayName} (Team)",
"An error occurred while unsharing the calendar." : "An error occurred while unsharing the calendar.",
"An error occurred, unable to change the permission of the share." : "An error occurred, unable to change the permission of the share.",
"Share with users or groups" : "Share with users or groups",

View File

@ -1,6 +1,9 @@
OC.L10N.register(
"calendar",
{
"Provided email-address is too long" : "La dirección de correo electrónico proporcionada es demasiado larga",
"User-Session unexpectedly expired" : "La sesión de usuario expiró inesperadamente",
"Provided email-address is not valid" : "La dirección de correo electrónico proporcionada es inválida",
"%s has published the calendar »%s«" : "%s ha publicado el calendario »%s«",
"Hello," : "Hola,",
"We wanted to inform you that %s has published the calendar »%s«." : "Queremos informarte que %s ha publicado el calendario »%s«.",
@ -8,6 +11,7 @@ OC.L10N.register(
"Cheers!" : "¡Saludos!",
"Upcoming events" : "Próximos eventos",
"No upcoming events" : "No hay eventos próximos",
"%1$s with %2$s" : "%1$s con %2$s",
"Calendar" : "Calendario",
"Appointments" : "Citas",
"Confirm" : "Confirmar",

View File

@ -1,4 +1,7 @@
{ "translations": {
"Provided email-address is too long" : "La dirección de correo electrónico proporcionada es demasiado larga",
"User-Session unexpectedly expired" : "La sesión de usuario expiró inesperadamente",
"Provided email-address is not valid" : "La dirección de correo electrónico proporcionada es inválida",
"%s has published the calendar »%s«" : "%s ha publicado el calendario »%s«",
"Hello," : "Hola,",
"We wanted to inform you that %s has published the calendar »%s«." : "Queremos informarte que %s ha publicado el calendario »%s«.",
@ -6,6 +9,7 @@
"Cheers!" : "¡Saludos!",
"Upcoming events" : "Próximos eventos",
"No upcoming events" : "No hay eventos próximos",
"%1$s with %2$s" : "%1$s con %2$s",
"Calendar" : "Calendario",
"Appointments" : "Citas",
"Confirm" : "Confirmar",

View File

@ -128,6 +128,7 @@ OC.L10N.register(
"Unpublishing calendar failed" : "Impossible de dé-publier l'agenda",
"can edit" : "peut modifier",
"Unshare with {displayName}" : "Ne plus partager avec {displayName}",
"{teamDisplayName} (Team)" : "{teamDisplayName} (Équipe)",
"An error occurred while unsharing the calendar." : "Une erreur est survenue lors de l'annulation du partage de l'agenda.",
"An error occurred, unable to change the permission of the share." : "Une erreur sest produite, impossible de changer la permission du partage.",
"Share with users or groups" : "Partager avec des utilisateurs ou des groupes",

View File

@ -126,6 +126,7 @@
"Unpublishing calendar failed" : "Impossible de dé-publier l'agenda",
"can edit" : "peut modifier",
"Unshare with {displayName}" : "Ne plus partager avec {displayName}",
"{teamDisplayName} (Team)" : "{teamDisplayName} (Équipe)",
"An error occurred while unsharing the calendar." : "Une erreur est survenue lors de l'annulation du partage de l'agenda.",
"An error occurred, unable to change the permission of the share." : "Une erreur sest produite, impossible de changer la permission du partage.",
"Share with users or groups" : "Partager avec des utilisateurs ou des groupes",

View File

@ -128,6 +128,7 @@ OC.L10N.register(
"Unpublishing calendar failed" : "Није успео прекид објављивања календара",
"can edit" : "може да мења",
"Unshare with {displayName}" : "Уклони дељење са {displayName}",
"{teamDisplayName} (Team)" : "{teamDisplayName} (Тим)",
"An error occurred while unsharing the calendar." : "Дошло је до грешке приликом уклањања дељења календара.",
"An error occurred, unable to change the permission of the share." : "Дошло је до грешке, не може да се измени дозвола дељења.",
"Share with users or groups" : "Дели са корисницима или групама",

View File

@ -126,6 +126,7 @@
"Unpublishing calendar failed" : "Није успео прекид објављивања календара",
"can edit" : "може да мења",
"Unshare with {displayName}" : "Уклони дељење са {displayName}",
"{teamDisplayName} (Team)" : "{teamDisplayName} (Тим)",
"An error occurred while unsharing the calendar." : "Дошло је до грешке приликом уклањања дељења календара.",
"An error occurred, unable to change the permission of the share." : "Дошло је до грешке, не може да се измени дозвола дељења.",
"Share with users or groups" : "Дели са корисницима или групама",

View File

@ -128,6 +128,7 @@ OC.L10N.register(
"Unpublishing calendar failed" : "Avpublicering av kalendern misslyckades",
"can edit" : "kan redigera",
"Unshare with {displayName}" : "Sluta dela med {displayName}",
"{teamDisplayName} (Team)" : "{teamDisplayName} (Team)",
"An error occurred while unsharing the calendar." : "Ett fel uppstod när delningen av kalendern skulle tas bort.",
"An error occurred, unable to change the permission of the share." : "Ett fel inträffade. Det gick inte att ändra behörighet för delningen.",
"Share with users or groups" : "Dela med användare eller grupper",

View File

@ -126,6 +126,7 @@
"Unpublishing calendar failed" : "Avpublicering av kalendern misslyckades",
"can edit" : "kan redigera",
"Unshare with {displayName}" : "Sluta dela med {displayName}",
"{teamDisplayName} (Team)" : "{teamDisplayName} (Team)",
"An error occurred while unsharing the calendar." : "Ett fel uppstod när delningen av kalendern skulle tas bort.",
"An error occurred, unable to change the permission of the share." : "Ett fel inträffade. Det gick inte att ändra behörighet för delningen.",
"Share with users or groups" : "Dela med användare eller grupper",

View File

@ -128,6 +128,7 @@ OC.L10N.register(
"Unpublishing calendar failed" : "Takvim yayından kaldırılamadı",
"can edit" : "düzenleyebilir",
"Unshare with {displayName}" : "{displayName} ile paylaşımı kaldır",
"{teamDisplayName} (Team)" : "{teamDisplayName} (Takım)",
"An error occurred while unsharing the calendar." : "Takvim paylaşımdan kaldırılırken bir sorun çıktı",
"An error occurred, unable to change the permission of the share." : "Bir sorun çıktı. Takvimin izin ayarı değiştirilemedi.",
"Share with users or groups" : "Kullanıcı ya da gruplar ile paylaş",

View File

@ -126,6 +126,7 @@
"Unpublishing calendar failed" : "Takvim yayından kaldırılamadı",
"can edit" : "düzenleyebilir",
"Unshare with {displayName}" : "{displayName} ile paylaşımı kaldır",
"{teamDisplayName} (Team)" : "{teamDisplayName} (Takım)",
"An error occurred while unsharing the calendar." : "Takvim paylaşımdan kaldırılırken bir sorun çıktı",
"An error occurred, unable to change the permission of the share." : "Bir sorun çıktı. Takvimin izin ayarı değiştirilemedi.",
"Share with users or groups" : "Kullanıcı ya da gruplar ile paylaş",

View File

@ -128,6 +128,7 @@ OC.L10N.register(
"Unpublishing calendar failed" : "取消發佈日曆失敗",
"can edit" : "可編輯",
"Unshare with {displayName}" : "取消與 {displayName} 的分享",
"{teamDisplayName} (Team)" : "{teamDisplayName}(團隊)",
"An error occurred while unsharing the calendar." : "取消分享日曆時發生錯誤。",
"An error occurred, unable to change the permission of the share." : "發生錯誤,無法變更分享權限",
"Share with users or groups" : "與用戶或群組分享",

View File

@ -126,6 +126,7 @@
"Unpublishing calendar failed" : "取消發佈日曆失敗",
"can edit" : "可編輯",
"Unshare with {displayName}" : "取消與 {displayName} 的分享",
"{teamDisplayName} (Team)" : "{teamDisplayName}(團隊)",
"An error occurred while unsharing the calendar." : "取消分享日曆時發生錯誤。",
"An error occurred, unable to change the permission of the share." : "發生錯誤,無法變更分享權限",
"Share with users or groups" : "與用戶或群組分享",

View File

@ -128,6 +128,7 @@ OC.L10N.register(
"Unpublishing calendar failed" : "取消發佈日曆失敗",
"can edit" : "可編輯",
"Unshare with {displayName}" : "取消與 {displayName} 的分享",
"{teamDisplayName} (Team)" : "{teamDisplayName}(團隊)",
"An error occurred while unsharing the calendar." : "取消分享行事曆時發生錯誤。",
"An error occurred, unable to change the permission of the share." : "發生錯誤,無法變更分享權限",
"Share with users or groups" : "與使用者或群組分享",

View File

@ -126,6 +126,7 @@
"Unpublishing calendar failed" : "取消發佈日曆失敗",
"can edit" : "可編輯",
"Unshare with {displayName}" : "取消與 {displayName} 的分享",
"{teamDisplayName} (Team)" : "{teamDisplayName}(團隊)",
"An error occurred while unsharing the calendar." : "取消分享行事曆時發生錯誤。",
"An error occurred, unable to change the permission of the share." : "發生錯誤,無法變更分享權限",
"Share with users or groups" : "與使用者或群組分享",

52
package-lock.json generated
View File

@ -27,7 +27,7 @@
"@nextcloud/event-bus": "^3.2.0",
"@nextcloud/initial-state": "^2.1.0",
"@nextcloud/l10n": "^2.2.0",
"@nextcloud/logger": "^2.7.0",
"@nextcloud/logger": "^3.0.1",
"@nextcloud/moment": "^1.3.1",
"@nextcloud/router": "^3.0.1",
"@nextcloud/vue": "^8.11.2",
@ -3099,6 +3099,19 @@
"vue": "^2.7"
}
},
"node_modules/@nextcloud/calendar-availability-vue/node_modules/@nextcloud/logger": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/@nextcloud/logger/-/logger-2.7.0.tgz",
"integrity": "sha512-DSJg9H1jT2zfr7uoP4tL5hKncyY+LOuxJzLauj0M/f6gnpoXU5WG1Zw8EFPOrRWjkC0ZE+NCqrMnITgdRRpXJQ==",
"dependencies": {
"@nextcloud/auth": "^2.0.0",
"core-js": "^3.6.4"
},
"engines": {
"node": "^20.0.0",
"npm": "^9.0.0"
}
},
"node_modules/@nextcloud/calendar-js": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/@nextcloud/calendar-js/-/calendar-js-6.1.0.tgz",
@ -3278,6 +3291,19 @@
"npm": "^9.0.0"
}
},
"node_modules/@nextcloud/files/node_modules/@nextcloud/logger": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/@nextcloud/logger/-/logger-2.7.0.tgz",
"integrity": "sha512-DSJg9H1jT2zfr7uoP4tL5hKncyY+LOuxJzLauj0M/f6gnpoXU5WG1Zw8EFPOrRWjkC0ZE+NCqrMnITgdRRpXJQ==",
"dependencies": {
"@nextcloud/auth": "^2.0.0",
"core-js": "^3.6.4"
},
"engines": {
"node": "^20.0.0",
"npm": "^9.0.0"
}
},
"node_modules/@nextcloud/files/node_modules/is-svg": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/is-svg/-/is-svg-5.0.0.tgz",
@ -3331,16 +3357,15 @@
}
},
"node_modules/@nextcloud/logger": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/@nextcloud/logger/-/logger-2.7.0.tgz",
"integrity": "sha512-DSJg9H1jT2zfr7uoP4tL5hKncyY+LOuxJzLauj0M/f6gnpoXU5WG1Zw8EFPOrRWjkC0ZE+NCqrMnITgdRRpXJQ==",
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@nextcloud/logger/-/logger-3.0.1.tgz",
"integrity": "sha512-Q/c3WNp2BaXJ8sBWHsZaQ6I3k/gWMDW0ikP1vCLYq55xPxmRWwNN+X1dgUeMG3iPvQQgsjOoz+JiaZ8Mej15aA==",
"dependencies": {
"@nextcloud/auth": "^2.0.0",
"core-js": "^3.6.4"
"@nextcloud/auth": "^2.3.0"
},
"engines": {
"node": "^20.0.0",
"npm": "^9.0.0"
"npm": "^10.0.0"
}
},
"node_modules/@nextcloud/moment": {
@ -3775,6 +3800,19 @@
"npm": "^9.0.0"
}
},
"node_modules/@nextcloud/vue/node_modules/@nextcloud/logger": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/@nextcloud/logger/-/logger-2.7.0.tgz",
"integrity": "sha512-DSJg9H1jT2zfr7uoP4tL5hKncyY+LOuxJzLauj0M/f6gnpoXU5WG1Zw8EFPOrRWjkC0ZE+NCqrMnITgdRRpXJQ==",
"dependencies": {
"@nextcloud/auth": "^2.0.0",
"core-js": "^3.6.4"
},
"engines": {
"node": "^20.0.0",
"npm": "^9.0.0"
}
},
"node_modules/@nextcloud/vue/node_modules/@types/unist": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz",

View File

@ -54,7 +54,7 @@
"@nextcloud/event-bus": "^3.2.0",
"@nextcloud/initial-state": "^2.1.0",
"@nextcloud/l10n": "^2.2.0",
"@nextcloud/logger": "^2.7.0",
"@nextcloud/logger": "^3.0.1",
"@nextcloud/moment": "^1.3.1",
"@nextcloud/router": "^3.0.1",
"@nextcloud/vue": "^8.11.2",

View File

@ -27,9 +27,12 @@
<AccountGroupIcon v-else-if="sharee.isCircle" :size="20" class="share-item__team-icon" />
<NcAvatar v-else :user="sharee.userId" :display-name="sharee.displayName" />
<p class="share-item__label">
{{ displayName }}
</p>
<div class="share-item__label">
{{ sharee.displayName }}
<p>
{{ shareeEmail }}
</p>
</div>
<input :id="`${id}-can-edit`"
:disabled="updatingSharee"
@ -85,6 +88,7 @@ export default {
return {
id: randomId(),
updatingSharee: false,
shareeEmail: '',
}
},
computed: {
@ -104,6 +108,9 @@ export default {
return this.sharee.displayName
}
},
mounted() {
this.updateShareeEmail()
},
methods: {
/**
* Unshares the calendar from the given sharee
@ -145,6 +152,20 @@ export default {
this.updatingSharee = false
}
},
async updateShareeEmail() {
if (this.sharee.isGroup || this.sharee.isCircle) {
return
}
const shareeUrl = this.sharee.uri.replace('principal:', '/remote.php/dav/') + '/'
await this.$store.dispatch('fetchPrincipalByUrl', { url: shareeUrl })
const principal = this.$store.getters.getPrincipalByUrl(shareeUrl)
this.shareeEmail = principal.emailAddress
},
},
}
</script>
@ -173,6 +194,12 @@ export default {
&__label {
flex: 1 auto;
flex-direction: column;
p {
color: var(--color-text-lighter);
line-height: 1;
}
}
}
</style>

View File

@ -43,21 +43,40 @@
<template #no-options>
<span>{{ $t('calendar', 'No users or groups') }}</span>
</template>
<template #option="sharee">
<div class="share-item">
<AccountMultiple v-if="sharee.isGroup" :size="20" class="share-item__group-icon" />
<AccountGroupIcon v-else-if="sharee.isCircle" :size="20" class="share-item__team-icon" />
<NcAvatar v-else :user="sharee.userId" :display-name="sharee.displayName" />
<div class="share-item__label">
{{ sharee.displayName }}
<p>
{{ sharee.email }}
</p>
</div>
</div>
</template>
</NcSelect>
</div>
</template>
<script>
import { NcSelect } from '@nextcloud/vue'
import { NcAvatar, NcSelect } from '@nextcloud/vue'
import { principalPropertySearchByDisplaynameOrEmail } from '../../../services/caldavService.js'
import HttpClient from '@nextcloud/axios'
import debounce from 'debounce'
import { generateOcsUrl } from '@nextcloud/router'
import { urldecode } from '../../../utils/url.js'
import AccountMultiple from 'vue-material-design-icons/AccountMultiple.vue'
import AccountGroupIcon from 'vue-material-design-icons/AccountGroup.vue'
export default {
name: 'SharingSearch',
components: {
NcAvatar,
AccountGroupIcon,
AccountMultiple,
NcSelect,
},
props: {
@ -141,6 +160,7 @@ export default {
this.inputGiven = false
this.isLoading = false
}
}, 500),
/**
*
@ -188,6 +208,7 @@ export default {
isCircle: false,
isNoUser: isGroup,
search: query,
email: result.email,
})
return list
}, [])
@ -255,4 +276,30 @@ export default {
flex: 1 auto;
}
}
.share-item {
display: flex;
align-items: center;
gap: 10px;
width: 100%;
&__group-icon,
&__team-icon {
width: 32px;
height: 32px;
border-radius: 16px;
color: white;
background-color: var(--color-text-maxcontrast);
}
&__label {
flex: 1 auto;
flex-direction: column;
p {
color: var(--color-text-lighter);
line-height: 1;
}
}
}
</style>