From 318dc96c5e01a06170a6c5442a3b04996263223e Mon Sep 17 00:00:00 2001
From: nicrausaz <n.crausaz99@gmail.com>
Date: Wed, 17 Apr 2019 10:15:57 +0200
Subject: [PATCH] Auth, global style

---
 .../app/Http/Controllers/AuthController.php   |   4 +-
 canapGEST/Documentation/journal_travail.xlsx  | Bin 11555 -> 11639 bytes
 canapGEST/Site/src/layouts/MainNavbar.vue     |  14 +++++-
 canapGEST/Site/src/plugins/axios.js           |   6 +--
 .../Site/src/store/modules/user/actions.js    |  42 ++++++++++--------
 .../Site/src/store/modules/user/getters.js    |   5 ++-
 .../Site/src/store/modules/user/index.js      |   8 ++--
 .../Site/src/store/modules/user/mutations.js  |   5 ++-
 .../Site/src/store/modules/user/state.js      |  12 ++++-
 canapGEST/Site/src/views/HomeView.vue         |   2 +
 10 files changed, 63 insertions(+), 35 deletions(-)

diff --git a/canapGEST/API/app/Http/Controllers/AuthController.php b/canapGEST/API/app/Http/Controllers/AuthController.php
index 44b070a..f9e945a 100644
--- a/canapGEST/API/app/Http/Controllers/AuthController.php
+++ b/canapGEST/API/app/Http/Controllers/AuthController.php
@@ -47,8 +47,8 @@ class AuthController extends Controller
     $this->oClient->SetWantedAttributes(array('uniqueid', 'name', 'firstname', 'unit', 'unitid', 'where', 'group'));
     $this->oClient->SetWishedAttributes(array('email', 'title'));
     // $this->oClient->SetApplicationURL('https://canap-gest.epfl.ch:8443');
-    // $this->oClient->SetApplicationURL('http://canap-gest-dev.local:8080');
-    $this->oClient->SetApplicationURL('http://localhost:8000/api/auth/login');
+    $this->oClient->SetApplicationURL('http://canap-gest-dev.local:8080');
+    // $this->oClient->SetApplicationURL('http://localhost:8000/api/auth/login');
     $this->oClient->SetCustomFilter('org=EPFL&group=canap-gest-users-dev');
 
     $this->oClient->Authenticate();
diff --git a/canapGEST/Documentation/journal_travail.xlsx b/canapGEST/Documentation/journal_travail.xlsx
index c26463dc75116a6add63c9fb7e1ed32d8c330f28..799cf12f03e650c69c237b49d3eedd2479fc9573 100644
GIT binary patch
delta 3074
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
NK3s}*SN@;j{{SwgyO#g}

delta 2962
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
IDF6Tf0Qr-B@Bjb+

diff --git a/canapGEST/Site/src/layouts/MainNavbar.vue b/canapGEST/Site/src/layouts/MainNavbar.vue
index cff676f..fbe6351 100644
--- a/canapGEST/Site/src/layouts/MainNavbar.vue
+++ b/canapGEST/Site/src/layouts/MainNavbar.vue
@@ -3,22 +3,34 @@
     <img src="../../public/statics/epfl_logo.png" width="100">
     <v-toolbar-title>Canap-Gest</v-toolbar-title>
     <v-spacer></v-spacer>
-    <v-toolbar-items class="hidden-sm-and-down">
+    <v-toolbar-items class="hidden-sm-and-down" v-if="!isLoged">
       <v-btn flat class="white--text">Link One</v-btn>
       <v-btn flat class="white--text">Link Two</v-btn>
       <v-btn icon class="white--text">
         <v-icon @click="login">account_circle</v-icon>
       </v-btn>
     </v-toolbar-items>
+    <v-toolbar-items class="hidden-sm-and-down" v-else>
+      <v-btn flat class="white--text">Nicolas Crausaz</v-btn>
+      <v-btn icon class="white--text">
+        <v-icon @click="logout">logout</v-icon>
+      </v-btn>
+    </v-toolbar-items>
   </v-toolbar>
 </template>
 
 <script>
 export default {
   name: 'main-navbar',
+  computed: {
+    isLoged() { return this.$store.getters['moduleUser/userIsLogedIn'] }
+  },
   methods: {
     login() {
       this.$store.dispatch('moduleUser/login')
+    },
+    logout() {
+      this.$store.dispatch('moduleUser/logout')
     }
   },
 }
diff --git a/canapGEST/Site/src/plugins/axios.js b/canapGEST/Site/src/plugins/axios.js
index 92775ec..cf4de35 100644
--- a/canapGEST/Site/src/plugins/axios.js
+++ b/canapGEST/Site/src/plugins/axios.js
@@ -1,10 +1,8 @@
 import axios from 'axios'
 
 const instance = axios.create({
-  baseURL: 'http://localhost:8000/api',
-  maxRedirects: 0
+  headers: { 'Authorization': "Bearer " + localStorage.getItem('stored_token') },
+  baseURL: 'http://localhost:8000/api'
 })
 
-instance.defaults.headers.common['Authorization'] = '';
-
 export default instance
\ No newline at end of file
diff --git a/canapGEST/Site/src/store/modules/user/actions.js b/canapGEST/Site/src/store/modules/user/actions.js
index 498d8b9..dfcfdd7 100644
--- a/canapGEST/Site/src/store/modules/user/actions.js
+++ b/canapGEST/Site/src/store/modules/user/actions.js
@@ -1,26 +1,30 @@
 import axios from '../../../plugins/axios'
 
-export function login (/*context, params*/) {
-  // context.commit(mutation)
-  // axios({
-  //   method: "get",
-  //   url: "auth/login"
-  // })
-
-  // window.location = 'http://localhost:8000/api/auth/login'
-
-  axios.get('auth/login')
-  .then(response => {
-    // console.log(response.request.responseURL)
-    window.location = response.request.responseURL
+export function login() {
+  axios({
+    method: 'get',
+    url: '/auth/login'
   })
-  .catch(err => {
-    console.log(err)
-    // window.location = 'http://localhost:8000/api/auth/login'
-    // console.log(err)
+    .then(response => {
+      if (!response.data.token) {
+        window.location = 'http://localhost:8000/api/auth/login'
+      } else {
+        localStorage.setItem('stored_token', response.data.token);
+        console.log('setting token:' + response.data.token)
+      }
+    })
+}
+
+export function getUserData(context) {
+  axios({
+    method: 'get',
+    url: '/user'
   })
+    .then(response => {
+      context.commit('setUserData', response.data)
+    })
 }
 
-export function logout (/*context, params*/) {
-  // context.commit(mutation)
+export function logout() {
+  localStorage.removeItem('stored_token');
 }
\ No newline at end of file
diff --git a/canapGEST/Site/src/store/modules/user/getters.js b/canapGEST/Site/src/store/modules/user/getters.js
index 5c933b1..cb5d186 100644
--- a/canapGEST/Site/src/store/modules/user/getters.js
+++ b/canapGEST/Site/src/store/modules/user/getters.js
@@ -1,3 +1,4 @@
-export default {
-
+export function userIsLogedIn () {
+  // return localStorage.getItem('stored_token') != null
+  return localStorage.getItem('stored_token')
 }
\ No newline at end of file
diff --git a/canapGEST/Site/src/store/modules/user/index.js b/canapGEST/Site/src/store/modules/user/index.js
index 85b6a31..1839ad7 100644
--- a/canapGEST/Site/src/store/modules/user/index.js
+++ b/canapGEST/Site/src/store/modules/user/index.js
@@ -1,12 +1,12 @@
 import state from './state'
-// import * as getters from './getters'
-// import * as mutations from './mutations'
+import * as getters from './getters'
+import * as mutations from './mutations'
 import * as actions from './actions'
 
 export default {
   namespaced: true,
   state,
-  // getters,
-  // mutations,
+  getters,
+  mutations,
   actions
 }
\ No newline at end of file
diff --git a/canapGEST/Site/src/store/modules/user/mutations.js b/canapGEST/Site/src/store/modules/user/mutations.js
index 5c933b1..f46dd70 100644
--- a/canapGEST/Site/src/store/modules/user/mutations.js
+++ b/canapGEST/Site/src/store/modules/user/mutations.js
@@ -1,3 +1,4 @@
-export default {
-
+export function setUserData (state, data) {
+  console.log(data)
+  state.userData = data
 }
\ No newline at end of file
diff --git a/canapGEST/Site/src/store/modules/user/state.js b/canapGEST/Site/src/store/modules/user/state.js
index 4ba933e..a508fcb 100644
--- a/canapGEST/Site/src/store/modules/user/state.js
+++ b/canapGEST/Site/src/store/modules/user/state.js
@@ -1,3 +1,13 @@
 export default {
-  token: ''
+  userData: {
+    tequila: {
+        firstname: String,
+        name: String,
+        group: String,
+        user: String,
+        sciper: String
+    },
+    role: String,
+    permissions: []
+}
 }
\ No newline at end of file
diff --git a/canapGEST/Site/src/views/HomeView.vue b/canapGEST/Site/src/views/HomeView.vue
index 290ce4d..239e784 100644
--- a/canapGEST/Site/src/views/HomeView.vue
+++ b/canapGEST/Site/src/views/HomeView.vue
@@ -2,6 +2,8 @@
   <div id="home-view">
     <h1>Accueil</h1>Accueil: statistiques
     Il y a : 4 nouvelles postulations pour le métier : test depuis votre dernière connexion
+    <br>
+    <button @click="$store.dispatch('moduleUser/getUserData')">get data</button>
   </div>
 </template>
 
-- 
GitLab