mirror of https://github.com/requarks/wiki
parent
d590c67d50
commit
33c05b327b
@ -0,0 +1,74 @@
|
|||||||
|
'use strict'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'admin-edit-user',
|
||||||
|
props: ['usrdata'],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
id: '',
|
||||||
|
email: '',
|
||||||
|
password: '********',
|
||||||
|
name: '',
|
||||||
|
rights: [],
|
||||||
|
roleoverride: 'none'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
addRightsRow() {
|
||||||
|
this.rights.push({
|
||||||
|
role: 'write',
|
||||||
|
path: '/',
|
||||||
|
exact: false,
|
||||||
|
deny: false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
removeRightsRow(idx) {
|
||||||
|
this._.pullAt(this.rights, idx)
|
||||||
|
this.$forceUpdate()
|
||||||
|
},
|
||||||
|
saveUser() {
|
||||||
|
let self = this
|
||||||
|
let formattedRights = this._.cloneDeep(this.rights)
|
||||||
|
switch (this.roleoverride) {
|
||||||
|
case 'admin':
|
||||||
|
formattedRights.push({
|
||||||
|
role: 'admin',
|
||||||
|
path: '/',
|
||||||
|
exact: false,
|
||||||
|
deny: false
|
||||||
|
})
|
||||||
|
break
|
||||||
|
}
|
||||||
|
this.$http.post(window.location.href, {
|
||||||
|
password: this.password,
|
||||||
|
name: this.name,
|
||||||
|
rights: JSON.stringify(formattedRights)
|
||||||
|
}).then(resp => {
|
||||||
|
self.$store.dispatch('alert', {
|
||||||
|
style: 'green',
|
||||||
|
icon: 'check',
|
||||||
|
msg: 'Changes have been applied successfully.'
|
||||||
|
})
|
||||||
|
}).catch(err => {
|
||||||
|
self.$store.dispatch('alert', {
|
||||||
|
style: 'red',
|
||||||
|
icon: 'square-cross',
|
||||||
|
msg: 'Error: ' + err.body.msg
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
let usr = JSON.parse(this.usrdata)
|
||||||
|
this.id = usr._id
|
||||||
|
this.email = usr.email
|
||||||
|
this.name = usr.name
|
||||||
|
|
||||||
|
if (this._.find(usr.rights, { role: 'admin' })) {
|
||||||
|
this.rights = this._.reject(usr.rights, ['role', 'admin'])
|
||||||
|
this.roleoverride = 'admin'
|
||||||
|
} else {
|
||||||
|
this.rights = usr.rights
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,72 +0,0 @@
|
|||||||
'use strict'
|
|
||||||
|
|
||||||
/* global usrData */
|
|
||||||
|
|
||||||
import $ from 'jquery'
|
|
||||||
import _ from 'lodash'
|
|
||||||
import Vue from 'vue'
|
|
||||||
|
|
||||||
module.exports = (alerts) => {
|
|
||||||
if ($('#page-type-admin-users-edit').length) {
|
|
||||||
let vueEditUser = new Vue({
|
|
||||||
el: '#page-type-admin-users-edit',
|
|
||||||
data: {
|
|
||||||
id: '',
|
|
||||||
email: '',
|
|
||||||
password: '********',
|
|
||||||
name: '',
|
|
||||||
rights: [],
|
|
||||||
roleoverride: 'none'
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
addRightsRow: (ev) => {
|
|
||||||
vueEditUser.rights.push({
|
|
||||||
role: 'write',
|
|
||||||
path: '/',
|
|
||||||
exact: false,
|
|
||||||
deny: false
|
|
||||||
})
|
|
||||||
},
|
|
||||||
removeRightsRow: (idx) => {
|
|
||||||
_.pullAt(vueEditUser.rights, idx)
|
|
||||||
vueEditUser.$forceUpdate()
|
|
||||||
},
|
|
||||||
saveUser: (ev) => {
|
|
||||||
let formattedRights = _.cloneDeep(vueEditUser.rights)
|
|
||||||
switch (vueEditUser.roleoverride) {
|
|
||||||
case 'admin':
|
|
||||||
formattedRights.push({
|
|
||||||
role: 'admin',
|
|
||||||
path: '/',
|
|
||||||
exact: false,
|
|
||||||
deny: false
|
|
||||||
})
|
|
||||||
break
|
|
||||||
}
|
|
||||||
$.post(window.location.href, {
|
|
||||||
password: vueEditUser.password,
|
|
||||||
name: vueEditUser.name,
|
|
||||||
rights: JSON.stringify(formattedRights)
|
|
||||||
}).done((resp) => {
|
|
||||||
alerts.pushSuccess('Saved successfully', 'Changes have been applied.')
|
|
||||||
}).fail((jqXHR, txtStatus, resp) => {
|
|
||||||
alerts.pushError('Error', resp)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
},
|
|
||||||
created: function () {
|
|
||||||
this.id = usrData._id
|
|
||||||
this.email = usrData.email
|
|
||||||
this.name = usrData.name
|
|
||||||
|
|
||||||
if (_.find(usrData.rights, { role: 'admin' })) {
|
|
||||||
this.rights = _.reject(usrData.rights, ['role', 'admin'])
|
|
||||||
this.roleoverride = 'admin'
|
|
||||||
} else {
|
|
||||||
this.rights = usrData.rights
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
require('../modals/admin-users-delete.js')(alerts)
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in new issue