mirror of
https://github.com/YunoHost/yunohost-admin.git
synced 2024-09-03 20:06:15 +02:00
fix store not being updated on permissions changes
This commit is contained in:
parent
bc41d0ad9d
commit
fc5f20b442
2 changed files with 20 additions and 8 deletions
|
@ -81,12 +81,27 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
'UPDATE_GROUPS' (state, [data, { groupName }]) {
|
||||||
|
Vue.set(state.groups, groupName, data)
|
||||||
|
},
|
||||||
|
|
||||||
'DEL_GROUPS' (state, [groupname]) {
|
'DEL_GROUPS' (state, [groupname]) {
|
||||||
Vue.delete(state.groups, groupname)
|
Vue.delete(state.groups, groupname)
|
||||||
},
|
},
|
||||||
|
|
||||||
'SET_PERMISSIONS' (state, [permissions]) {
|
'SET_PERMISSIONS' (state, [permissions]) {
|
||||||
state.permissions = permissions
|
state.permissions = permissions
|
||||||
|
},
|
||||||
|
|
||||||
|
'UPDATE_PERMISSIONS' (state, [_, { groupName, action, permId }]) {
|
||||||
|
// FIXME hacky way to update the store
|
||||||
|
const permissions = state.groups[groupName].permissions
|
||||||
|
if (action === 'add') {
|
||||||
|
permissions.push(permId)
|
||||||
|
} else if (action === 'remove') {
|
||||||
|
const index = permissions.indexOf(permId)
|
||||||
|
if (index > -1) permissions.splice(index, 1)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -202,22 +202,19 @@ export default {
|
||||||
onPermissionChanged ({ option, groupName, action, applyMethod }) {
|
onPermissionChanged ({ option, groupName, action, applyMethod }) {
|
||||||
const permId = this.permissions.find(perm => perm.label === option).id
|
const permId = this.permissions.find(perm => perm.label === option).id
|
||||||
api.put(
|
api.put(
|
||||||
`users/permissions/${permId}/${action}/${groupName}`,
|
// FIXME hacky way to update the store
|
||||||
|
{ uri: `users/permissions/${permId}/${action}/${groupName}`, storeKey: 'permissions', groupName, action, permId },
|
||||||
{},
|
{},
|
||||||
{ key: 'permissions.' + action, perm: option, name: groupName }
|
{ key: 'permissions.' + action, perm: option, name: groupName }
|
||||||
).then(() => {
|
).then(() => applyMethod(option))
|
||||||
applyMethod(option)
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
|
|
||||||
onUserChanged ({ option, groupName, action, applyMethod }) {
|
onUserChanged ({ option, groupName, action, applyMethod }) {
|
||||||
api.put(
|
api.put(
|
||||||
`users/groups/${groupName}/${action}/${option}`,
|
{ uri: `users/groups/${groupName}/${action}/${option}`, storeKey: 'groups', groupName },
|
||||||
{},
|
{},
|
||||||
{ key: 'groups.' + action, user: option, name: groupName }
|
{ key: 'groups.' + action, user: option, name: groupName }
|
||||||
).then(() => {
|
).then(() => applyMethod(option))
|
||||||
applyMethod(option)
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
|
|
||||||
onSpecificUserAdded ({ option: userName, action, applyMethod }) {
|
onSpecificUserAdded ({ option: userName, action, applyMethod }) {
|
||||||
|
|
Loading…
Reference in a new issue