|
@@ -17,14 +17,38 @@ if($('#page-type-admin-users').length) {
|
|
|
},
|
|
|
methods: {
|
|
|
addRightsRow: (ev) => {
|
|
|
- vueEditUser.rights.push({});
|
|
|
+ vueEditUser.rights.push({
|
|
|
+ role: 'write',
|
|
|
+ path: '/',
|
|
|
+ exact: false,
|
|
|
+ deny: false
|
|
|
+ });
|
|
|
},
|
|
|
- removeRightsRow: (ev) => {
|
|
|
-
|
|
|
+ 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() {
|
|
@@ -33,8 +57,6 @@ if($('#page-type-admin-users').length) {
|
|
|
this.email = usrData.email;
|
|
|
this.name = usrData.name;
|
|
|
|
|
|
- console.log(_.find(usrData.rights, { role: 'admin' }));
|
|
|
-
|
|
|
if(_.find(usrData.rights, { role: 'admin' })) {
|
|
|
this.rights = _.reject(usrData.rights, ['role', 'admin']);
|
|
|
this.roleoverride = 'admin';
|