fix: edit role from admin

This commit is contained in:
lesion 2024-02-10 11:53:05 +01:00
parent 32b7e35a1a
commit 7daaad2d58
No known key found for this signature in database
GPG key ID: 352918250B012177
2 changed files with 2 additions and 19 deletions

View file

@ -31,16 +31,6 @@ v-container
v-btn(@click='newUserDialog=false' color='error' outlined) {{$t('common.cancel')}} v-btn(@click='newUserDialog=false' color='error' outlined) {{$t('common.cancel')}}
v-btn(@click='createUser' :disabled='!valid' color='primary' outlined) {{$t('common.send')}} v-btn(@click='createUser' :disabled='!valid' color='primary' outlined) {{$t('common.send')}}
//- CHANGE ROLE
v-dialog(v-model='changeRoleDialog' width=300)
v-card(v-if='selected_user')
v-card-content
h2 {{$t('common.change_role')}}
v-list(nav dense)
v-list-item(v-for="role in ['admin', 'editor', 'user'].filter(r => r !== selected_user.role)" :key='role' link @click='changeRole(role)')
v-list-item-content
v-list-item-title {{ role }}
v-card-text v-card-text
//- USERS LIST //- USERS LIST
v-data-table( v-data-table(
@ -57,12 +47,10 @@ v-container
template(v-slot:activator="{ on, attrs }") template(v-slot:activator="{ on, attrs }")
v-btn(:color='role_colors[item.role ]' v-bind='attrs' v-on="on" small label) {{ item.role }} v-btn(:color='role_colors[item.role ]' v-bind='attrs' v-on="on" small label) {{ item.role }}
v-list(width=100 nav color='secondary') v-list(width=100 nav color='secondary')
v-list-item(v-for="role in ['admin', 'editor', 'user'].filter(r => r !== item.role)" :key='role' link @click='changeRole(role)') v-list-item(v-for="role in ['admin', 'editor', 'user'].filter(r => r !== item.role)" :key='role' link @click='changeRole(item, role)')
v-list-item-content v-list-item-content
v-list-item-title {{ role }} v-list-item-title {{ role }}
//- v-select(v-model="item.role" :items='["user", "editor", "admin"]' dense hide-details
//- @change="selected => changeRole(item, selected)")
template(v-slot:item.actions='{item}') template(v-slot:item.actions='{item}')
v-btn(text small @click='deleteUser(item)' color='error' ) {{$t('admin.delete_user')}} v-btn(text small @click='deleteUser(item)' color='error' ) {{$t('admin.delete_user')}}
@ -84,7 +72,6 @@ export default {
changeRoleDialog: false, changeRoleDialog: false,
role_colors: { admin: 'error', editor: 'secondary', user: 'success' }, role_colors: { admin: 'error', editor: 'secondary', user: 'success' },
valid: false, valid: false,
selected_user: null,
new_user: { new_user: {
email: '', email: '',
is_admin: false is_admin: false
@ -126,10 +113,6 @@ export default {
user.is_active = !user.is_active user.is_active = !user.is_active
this.$axios.$put('/user', user) this.$axios.$put('/user', user)
}, },
chooseRole (user) {
this.changeRoleDialog = true
this.selected_user = user
},
async changeRole (user, role) { async changeRole (user, role) {
// ask confirmation? // ask confirmation?
const configMsg = user.is_admin ? 'admin.disable_admin_user_confirm' : 'admin.enable_admin_user_confirm' const configMsg = user.is_admin ? 'admin.disable_admin_user_confirm' : 'admin.enable_admin_user_confirm'

View file

@ -64,7 +64,7 @@ const userController = {
if (!req.body.password) { delete req.body.password } if (!req.body.password) { delete req.body.password }
if ((!user.is_active && req.body.is_active) || user.recover_code) { if ((!user.is_active && req.body.is_active)) {
mail.send(user.email, 'confirm', { user, config }, res.locals.settings.locale) mail.send(user.email, 'confirm', { user, config }, res.locals.settings.locale)
} }