| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 | 
							- 'use strict'
 
- /* global usrData, usrDataName */
 
- import $ from 'jquery'
 
- import _ from 'lodash'
 
- import Vue from 'vue'
 
- module.exports = (alerts) => {
 
-   if ($('#page-type-admin-profile').length) {
 
-     let vueProfile = new Vue({
 
-       el: '#page-type-admin-profile',
 
-       data: {
 
-         password: '********',
 
-         passwordVerify: '********',
 
-         name: ''
 
-       },
 
-       methods: {
 
-         saveUser: (ev) => {
 
-           if (vueProfile.password !== vueProfile.passwordVerify) {
 
-             alerts.pushError('Error', "Passwords don't match!")
 
-             return
 
-           }
 
-           $.post(window.location.href, {
 
-             password: vueProfile.password,
 
-             name: vueProfile.name
 
-           }).done((resp) => {
 
-             alerts.pushSuccess('Saved successfully', 'Changes have been applied.')
 
-           }).fail((jqXHR, txtStatus, resp) => {
 
-             alerts.pushError('Error', resp)
 
-           })
 
-         }
 
-       },
 
-       created: function () {
 
-         this.name = usrDataName
 
-       }
 
-     })
 
-   } else if ($('#page-type-admin-users').length) {
 
-     require('../modals/admin-users-create.js')(alerts)
 
-   } else 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)
 
-   } else if ($('#page-type-admin-settings').length) {
 
-     let vueSettings = new Vue({ // eslint-disable-line no-unused-vars
 
-       el: '#page-type-admin-settings',
 
-       data: {
 
-         upgradeModal: {
 
-           state: false,
 
-           step: 'confirm',
 
-           mode: 'upgrade',
 
-           error: 'Something went wrong.'
 
-         }
 
-       },
 
-       methods: {
 
-         upgrade: (ev) => {
 
-           vueSettings.upgradeModal.mode = 'upgrade'
 
-           vueSettings.upgradeModal.step = 'confirm'
 
-           vueSettings.upgradeModal.state = true
 
-         },
 
-         reinstall: (ev) => {
 
-           vueSettings.upgradeModal.mode = 're-install'
 
-           vueSettings.upgradeModal.step = 'confirm'
 
-           vueSettings.upgradeModal.state = true
 
-         },
 
-         upgradeCancel: (ev) => {
 
-           vueSettings.upgradeModal.state = false
 
-         },
 
-         upgradeStart: (ev) => {
 
-           vueSettings.upgradeModal.step = 'running'
 
-           $.post('/admin/settings/install', {
 
-             mode: vueSettings.upgradeModal.mode
 
-           }).done((resp) => {
 
-             // todo
 
-           }).fail((jqXHR, txtStatus, resp) => {
 
-             vueSettings.upgradeModal.step = 'error'
 
-             vueSettings.upgradeModal.error = jqXHR.responseText
 
-           })
 
-         },
 
-         flushcache: (ev) => {
 
-           window.alert('Coming soon!')
 
-         },
 
-         resetaccounts: (ev) => {
 
-           window.alert('Coming soon!')
 
-         },
 
-         flushsessions: (ev) => {
 
-           window.alert('Coming soon!')
 
-         }
 
-       }
 
-     })
 
-   }
 
- }
 
 
  |