mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2024-09-20 06:35:56 +08:00
Highlight user's current user assignement on access modal [SCI-10518]
This commit is contained in:
parent
b8a69f2d18
commit
578309499c
|
@ -59,7 +59,7 @@
|
|||
<MenuDropdown
|
||||
v-if="!userAssignment.attributes.last_owner && params.object.urls.update_access"
|
||||
class="ml-auto"
|
||||
:listItems="rolesFromatted"
|
||||
:listItems="rolesFromatted(userAssignment)"
|
||||
:btnText="userAssignment.attributes.user_role.name"
|
||||
:position="'right'"
|
||||
:caret="true"
|
||||
|
@ -114,36 +114,6 @@ export default {
|
|||
GeneralDropdown
|
||||
},
|
||||
computed: {
|
||||
rolesFromatted() {
|
||||
let roles = [];
|
||||
|
||||
if (!this.params.object.top_level_assignable) {
|
||||
roles.push({
|
||||
emit: 'setRole',
|
||||
text: this.i18n.t('access_permissions.reset'),
|
||||
params: 'reset'
|
||||
});
|
||||
}
|
||||
|
||||
roles = roles.concat(this.roles.map((role, index) => (
|
||||
{
|
||||
dividerBefore: !this.params.object.top_level_assignable && index === 0,
|
||||
emit: 'setRole',
|
||||
text: role[1],
|
||||
params: role[0]
|
||||
}
|
||||
)));
|
||||
|
||||
if (this.params.object.top_level_assignable) {
|
||||
roles.push({
|
||||
dividerBefore: true,
|
||||
emit: 'removeRole',
|
||||
text: this.i18n.t('access_permissions.remove_access')
|
||||
});
|
||||
}
|
||||
|
||||
return roles;
|
||||
},
|
||||
manuallyAssignedUsers() {
|
||||
return this.assignedUsers.filter((user) => (
|
||||
user.attributes?.assigned === 'manually'
|
||||
|
@ -170,6 +140,37 @@ export default {
|
|||
this.$emit('usersReloaded');
|
||||
});
|
||||
},
|
||||
rolesFromatted(userAssignment = null) {
|
||||
let roles = [];
|
||||
|
||||
if (!this.params.object.top_level_assignable) {
|
||||
roles.push({
|
||||
emit: 'setRole',
|
||||
text: this.i18n.t('access_permissions.reset'),
|
||||
params: 'reset'
|
||||
});
|
||||
}
|
||||
|
||||
roles = roles.concat(this.roles.map((role, index) => (
|
||||
{
|
||||
dividerBefore: !this.params.object.top_level_assignable && index === 0,
|
||||
emit: 'setRole',
|
||||
text: role[1],
|
||||
params: role[0],
|
||||
active: (userAssignment?.attributes?.user_role?.id === role[0])
|
||||
}
|
||||
)));
|
||||
|
||||
if (this.params.object.top_level_assignable) {
|
||||
roles.push({
|
||||
dividerBefore: true,
|
||||
emit: 'removeRole',
|
||||
text: this.i18n.t('access_permissions.remove_access')
|
||||
});
|
||||
}
|
||||
|
||||
return roles;
|
||||
},
|
||||
getRoles() {
|
||||
axios.get(this.params.roles_path)
|
||||
.then((response) => {
|
||||
|
|
Loading…
Reference in a new issue