mirror of
https://github.com/n8n-io/n8n.git
synced 2024-11-09 22:24:05 -08:00
feat: Add sharing permissions info for workflow sharees (#4892)
* feat: Add sharing permissions info for workflow sharees * fix: Remove infotip for owner
This commit is contained in:
parent
1cce8eaf16
commit
c013245db7
|
@ -81,7 +81,7 @@ export default mixins(
|
|||
].concat(this.credentialData.sharedWith || []);
|
||||
},
|
||||
credentialOwnerName(): string {
|
||||
return this.credentialsStore.getCredentialOwnerName(this.credentialId);
|
||||
return this.credentialsStore.getCredentialOwnerName(`${this.credentialId}`);
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
|
|
|
@ -14,6 +14,9 @@
|
|||
</n8n-text>
|
||||
</div>
|
||||
<div v-else :class="$style.container">
|
||||
<n8n-info-tip v-if="!workflowPermissions.isOwner" :bold="false" class="mb-s" >
|
||||
{{ $locale.baseText('workflows.shareModal.info.sharee', { interpolate: { workflowOwnerName } }) }}
|
||||
</n8n-info-tip>
|
||||
<enterprise-edition :features="[EnterpriseEditionFeature.WorkflowSharing]">
|
||||
<n8n-user-select
|
||||
v-if="workflowPermissions.updateSharing"
|
||||
|
@ -186,6 +189,9 @@ export default mixins(
|
|||
workflowPermissions(): IPermissions {
|
||||
return getWorkflowPermissions(this.usersStore.currentUser, this.workflow);
|
||||
},
|
||||
workflowOwnerName(): string {
|
||||
return this.workflowsEEStore.getWorkflowOwnerName(`${this.workflow.id}`);
|
||||
},
|
||||
isSharingAvailable(): boolean {
|
||||
return this.settingsStore.isEnterpriseFeatureEnabled(EnterpriseEditionFeature.WorkflowSharing) === true;
|
||||
},
|
||||
|
|
|
@ -1415,6 +1415,8 @@
|
|||
"workflows.shareModal.notAvailable.button": "Explore n8n cloud",
|
||||
"workflows.shareModal.isDefaultUser.description": "You first need to set up your owner account to enable workflow sharing features.",
|
||||
"workflows.shareModal.isDefaultUser.button": "Go to settings",
|
||||
"workflows.shareModal.info.sharee": "Only {workflowOwnerName} can change who this workflow is shared with",
|
||||
"workflows.shareModal.info.sharee.fallback": "the owner",
|
||||
"workflows.roles.editor": "Editor",
|
||||
"workflows.concurrentChanges.confirmMessage.title": "Workflow was edited by someone else",
|
||||
"workflows.concurrentChanges.confirmMessage.message": "Another user made <strong>an edit</strong> to this workflow since you last saved it. Do you want to overwrite their changes?",
|
||||
|
|
|
@ -8,9 +8,20 @@ import {useRootStore} from "@/stores/n8nRootStore";
|
|||
import {useSettingsStore} from "@/stores/settings";
|
||||
import {defineStore} from "pinia";
|
||||
import {useWorkflowsStore} from "@/stores/workflows";
|
||||
import {i18n} from "@/plugins/i18n";
|
||||
|
||||
export const useWorkflowsEEStore = defineStore(STORES.WORKFLOWS_EE, {
|
||||
state() { return {}; },
|
||||
getters: {
|
||||
getWorkflowOwnerName() {
|
||||
return (workflowId: string): string => {
|
||||
const workflow = useWorkflowsStore().getWorkflowById(workflowId);
|
||||
return workflow && workflow.ownedBy && workflow.ownedBy.firstName
|
||||
? `${workflow.ownedBy.firstName} ${workflow.ownedBy.lastName} (${workflow.ownedBy.email})`
|
||||
: i18n.baseText('workflows.shareModal.info.sharee.fallback');
|
||||
};
|
||||
},
|
||||
},
|
||||
actions: {
|
||||
setWorkflowOwnedBy(payload: { workflowId: string, ownedBy: Partial<IUser> }): void {
|
||||
const workflowsStore = useWorkflowsStore();
|
||||
|
|
|
@ -149,6 +149,9 @@ export const useWorkflowsStore = defineStore(STORES.WORKFLOWS, {
|
|||
return workflowRunData[nodeName];
|
||||
};
|
||||
},
|
||||
getWorkflowById() {
|
||||
return (id: string): IWorkflowDb => this.workflowsById[id];
|
||||
},
|
||||
|
||||
// Node getters
|
||||
allConnections() : IConnections {
|
||||
|
|
Loading…
Reference in a new issue