Browse Source

made location.reload if user loggedin is admin (need to display admin menu)

Bachir Soussi Chiadmi 5 years ago
parent
commit
a8c8d04408

File diff suppressed because it is too large
+ 0 - 0
web/themes/custom/materiotheme/assets/dist/main.js


+ 2 - 2
web/themes/custom/materiotheme/vuejs/components/User/Login.vue

@@ -46,7 +46,7 @@ export default {
   },
   methods: {
     ...mapActions({
-      getToken: 'User/getToken'
+      userLogin: 'User/userLogin'
     }),
 
     // usernameInputHandler(input) {
@@ -57,7 +57,7 @@ export default {
     // },
 
     login () {
-      this.getToken({
+      this.userLogin({
         mail: this.mail,
         pass: this.password
       })

+ 1 - 0
web/themes/custom/materiotheme/vuejs/components/User/UserTools.vue

@@ -6,6 +6,7 @@
     <a href="/admin/content/materials"
       v-if="isAdmin"
       class="mdi mdi-settings"
+      title="admin"
     ></a>
     <a href="/user/logout"
       @click.prevent="onLogout()"

+ 20 - 9
web/themes/custom/materiotheme/vuejs/store/modules/user.js

@@ -52,39 +52,50 @@ export default {
       state.mail = ''
       state.token = null
       state.isloggedin = false
-      state.asAdmin = false
       state.logout_token = null
+      if (state.isAdmin){
+        window.location.reload(true);
+      }
+      state.asAdmin = false
     }
   },
 
   // actions
   actions : {
+    userLogin({ dispatch, commit, state }, credentials){
+      dispatch('getToken', credentials)
+        .then(() => {
+          dispatch('getUser').then((userdata) => {
+            console.log('User Loggedin');
+            if (state.isAdmin){
+              window.location.reload(true);
+            }
+          })
+        })
+    },
     getToken ({ dispatch, commit, state }, credentials) {
-      REST.post('/user/login?_format=json', credentials)
+      return REST.post('/user/login?_format=json', credentials)
         .then(({ data }) => {
-          console.log('user getToken data', data)
+          console.log('user REST getToken data', data)
           commit('setToken', data)
-          dispatch('getUser')
         })
         .catch(( error ) => {
-            console.warn('Issue with login', error)
-            Promise.reject(error)
+          console.warn('Issue with getToken', error)
+          Promise.reject(error)
         })
     },
     getUser ({ dispatch, commit, state }) {
       let params = {
         token: state.token
       }
-      REST.get(`/user/${state.uid}?_format=json`, params)
+      return REST.get(`/user/${state.uid}?_format=json`, params)
         .then(({ data }) => {
           console.log('user REST getUser data', data)
           console.log('roles', data['roles'])
           commit('setUser', data)
           if(data.roles){
             commit('setRoles', data.roles)
-            // dispatch('checkLoginRole')
           }
-          // dispatch('checkLoginRole')
           // JSONAPI.get(`/user/user/${state.uuid}?include=roles`)
           //   .then(({ data }) => {
           //     console.log('user JSONAPI getUser data', data)

Some files were not shown because too many files changed in this diff