admin.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. if($('#page-type-admin-profile').length) {
  2. let vueProfile = new Vue({
  3. el: '#page-type-admin-profile',
  4. data: {
  5. password: '********',
  6. passwordVerify: '********',
  7. name: ''
  8. },
  9. methods: {
  10. saveUser: (ev) => {
  11. if(vueProfile.password !== vueProfile.passwordVerify) {
  12. alerts.pushError('Error', "Passwords don't match!");
  13. return;
  14. }
  15. $.post(window.location.href, {
  16. password: vueProfile.password,
  17. name: vueProfile.name
  18. }).done((resp) => {
  19. alerts.pushSuccess('Saved successfully', 'Changes have been applied.');
  20. }).fail((jqXHR, txtStatus, resp) => {
  21. alerts.pushError('Error', resp);
  22. })
  23. }
  24. },
  25. created: function() {
  26. this.name = usrDataName;
  27. }
  28. });
  29. } else if($('#page-type-admin-users').length) {
  30. //=include ../modals/admin-users-create.js
  31. } else if($('#page-type-admin-users-edit').length) {
  32. let vueEditUser = new Vue({
  33. el: '#page-type-admin-users-edit',
  34. data: {
  35. id: '',
  36. email: '',
  37. password: '********',
  38. name: '',
  39. rights: [],
  40. roleoverride: 'none'
  41. },
  42. methods: {
  43. addRightsRow: (ev) => {
  44. vueEditUser.rights.push({
  45. role: 'write',
  46. path: '/',
  47. exact: false,
  48. deny: false
  49. });
  50. },
  51. removeRightsRow: (idx) => {
  52. _.pullAt(vueEditUser.rights, idx)
  53. vueEditUser.$forceUpdate()
  54. },
  55. saveUser: (ev) => {
  56. let formattedRights = _.cloneDeep(vueEditUser.rights)
  57. switch(vueEditUser.roleoverride) {
  58. case 'admin':
  59. formattedRights.push({
  60. role: 'admin',
  61. path: '/',
  62. exact: false,
  63. deny: false
  64. })
  65. break;
  66. }
  67. $.post(window.location.href, {
  68. password: vueEditUser.password,
  69. name: vueEditUser.name,
  70. rights: JSON.stringify(formattedRights)
  71. }).done((resp) => {
  72. alerts.pushSuccess('Saved successfully', 'Changes have been applied.');
  73. }).fail((jqXHR, txtStatus, resp) => {
  74. alerts.pushError('Error', resp);
  75. })
  76. }
  77. },
  78. created: function() {
  79. this.id = usrData._id;
  80. this.email = usrData.email;
  81. this.name = usrData.name;
  82. if(_.find(usrData.rights, { role: 'admin' })) {
  83. this.rights = _.reject(usrData.rights, ['role', 'admin']);
  84. this.roleoverride = 'admin';
  85. } else {
  86. this.rights = usrData.rights;
  87. }
  88. }
  89. });
  90. //=include ../modals/admin-users-delete.js
  91. }