mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-18 02:21:13 +00:00
feat: Add user management invite links without SMTP set up (#5084)
* feat: update n8n-users-list to no longer use preset list of actions * feat: prepared users settings for invite links feature * refactor: Return invite link URLs when inviting users (#5079) * refactor: Return invite link URLs when inviting users * test: Refactor and add tests to mailer * feat: Add FE inviteAcceptUrl integration (#5085) * feat: update n8n-users-list to no longer use preset list of actions * feat: prepared users settings for invite links feature * feat: add integration with new inviteAcceptUrl changes * feat: Add inviteAcceptUrl to user list for pending users Co-authored-by: Alex Grozav <alex@grozav.com> * fix conflicts * fix lint issue * test: Make sure inviteAcceptUrl is defined * feat: update smtp setup suggestion * feat: add invite link summary when inviting multiple users * refactor: Add telemetry flag for when email is sent * fix: add email_sent correctly to telemetry event * feat: move SMTP info-tip to invite modal Co-authored-by: Omar Ajoue <krynble@gmail.com>
This commit is contained in:
@@ -3,13 +3,19 @@
|
||||
<div v-if="!isSharingEnabled">
|
||||
<n8n-action-box
|
||||
:heading="
|
||||
$locale.baseText(contextBasedTranslationKeys.credentials.sharing.unavailable.title)
|
||||
$locale.baseText(
|
||||
uiStore.contextBasedTranslationKeys.credentials.sharing.unavailable.title,
|
||||
)
|
||||
"
|
||||
:description="
|
||||
$locale.baseText(contextBasedTranslationKeys.credentials.sharing.unavailable.description)
|
||||
$locale.baseText(
|
||||
uiStore.contextBasedTranslationKeys.credentials.sharing.unavailable.description,
|
||||
)
|
||||
"
|
||||
:buttonText="
|
||||
$locale.baseText(contextBasedTranslationKeys.credentials.sharing.unavailable.button)
|
||||
$locale.baseText(
|
||||
uiStore.contextBasedTranslationKeys.credentials.sharing.unavailable.button,
|
||||
)
|
||||
"
|
||||
@click="goToUpgrade"
|
||||
/>
|
||||
@@ -62,9 +68,9 @@
|
||||
</template>
|
||||
</n8n-user-select>
|
||||
<n8n-users-list
|
||||
:actions="usersListActions"
|
||||
:users="sharedWithList"
|
||||
:currentUserId="usersStore.currentUser.id"
|
||||
:delete-label="$locale.baseText('credentialEdit.credentialSharing.list.delete')"
|
||||
:readonly="!credentialPermissions.updateSharing"
|
||||
@delete="onRemoveSharee"
|
||||
/>
|
||||
@@ -73,7 +79,7 @@
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { IUser, UIState } from '@/Interface';
|
||||
import { IUser, IUserListAction, UIState } from '@/Interface';
|
||||
import mixins from 'vue-typed-mixins';
|
||||
import { showMessage } from '@/mixins/showMessage';
|
||||
import { mapStores } from 'pinia';
|
||||
@@ -96,12 +102,17 @@ export default mixins(showMessage).extend({
|
||||
],
|
||||
computed: {
|
||||
...mapStores(useCredentialsStore, useUsersStore, useUsageStore, useUIStore, useSettingsStore),
|
||||
usersListActions(): IUserListAction[] {
|
||||
return [
|
||||
{
|
||||
label: this.$locale.baseText('credentialEdit.credentialSharing.list.delete'),
|
||||
value: 'delete',
|
||||
},
|
||||
];
|
||||
},
|
||||
isDefaultUser(): boolean {
|
||||
return this.usersStore.isDefaultUser;
|
||||
},
|
||||
contextBasedTranslationKeys(): UIState['contextBasedTranslationKeys'] {
|
||||
return this.uiStore.contextBasedTranslationKeys;
|
||||
},
|
||||
isSharingEnabled(): boolean {
|
||||
return this.settingsStore.isEnterpriseFeatureEnabled(EnterpriseEditionFeature.Sharing);
|
||||
},
|
||||
@@ -168,7 +179,7 @@ export default mixins(showMessage).extend({
|
||||
this.modalBus.$emit('close');
|
||||
},
|
||||
goToUpgrade() {
|
||||
let linkUrl = this.$locale.baseText(this.contextBasedTranslationKeys.upgradeLinkUrl);
|
||||
let linkUrl = this.$locale.baseText(this.uiStore.contextBasedTranslationKeys.upgradeLinkUrl);
|
||||
if (linkUrl.includes('subscription')) {
|
||||
linkUrl = this.usageStore.viewPlansUrl;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user