diff --git a/src/App.vue b/src/App.vue index 2da976cc66f26587798b62c6395579a2e38568b0..1c8fe36a9b06efd9ae034c281cb548a9e28f2293 100644 --- a/src/App.vue +++ b/src/App.vue @@ -28,18 +28,14 @@ export default { return this.$store.state.auth.status.loggedIn; }, - currentUser() { - return this.$store.state.auth.user; - }, - }, created() { - this.update() + this.navUpdate(); }, methods: { - update() { + navUpdate (){ if (!this.loggedIn) { this.sidebarStyle = "display: none"; this.contentClass = "content col-md-12"; diff --git a/src/components/Home.vue b/src/components/Home.vue index e6ad403022abaf6ca4e46c85c44678d58b24adac..7812868a0fbdfa76f0f8460be66e73763db7e11e 100644 --- a/src/components/Home.vue +++ b/src/components/Home.vue @@ -50,10 +50,6 @@ export default { */ }, - logOut: function() { - this.$store.dispatch('auth/logout'); - this.$router.push('/login'); - } } diff --git a/src/components/LogIn.vue b/src/components/LogIn.vue index 646003df8d44af4bd215e3e92fd175502778ead4..01a744577c2998af0396b07778d080af5af70bb3 100644 --- a/src/components/LogIn.vue +++ b/src/components/LogIn.vue @@ -72,7 +72,9 @@ export default { reg: /^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$/, password: "", passwordFieldType: 'password', - passwordToggleStyle: "password_toggle_img" + passwordToggleStyle: "password_toggle_img", + + } }, @@ -113,9 +115,10 @@ export default { if (this.user.username && this.user.password) { this.$store.dispatch('auth/login', this.user).then( () => { - localStorage.setItem('cronJob', 0); + this.$crontab.startCrontab(); + this.$crontab.execJob('counter') this.$router.push('/home'); - this.$parent.update(); + this.$parent.navUpdate(); } ); } diff --git a/src/components/SideMenu.vue b/src/components/SideMenu.vue index dfa812bfc2d8d6c8b3bcc49ba333b2389f359941..55dfd6ebd9055e7f22ac353b506494453c53f9da 100644 --- a/src/components/SideMenu.vue +++ b/src/components/SideMenu.vue @@ -12,7 +12,7 @@ <router-link to="/layouts"><a class="navA">Vorlagen</a></router-link><br> <router-link to="/calendar"><a class="navA">Kalender</a></router-link><br> <router-link to="/register"><a class="navA">neuen Nutzer anlegen</a></router-link> - <a class="nav-link sidebar-bottom" href @click.prevent="logOut()"> + <a class="nav-link sidebar-bottom" href @click.prevent="logout"> <a href="/logout"><a class="navA">Abmelden</a></a> </a> </div> @@ -24,15 +24,16 @@ export default { name: "SideMenu", methods: { - logOut: function() { + logout: function () { this.$store.dispatch('auth/logout').then( () => { localStorage.setItem('cronJob', 0); this.$router.push('/login'); - this.$parent.update(); + this.$parent.navUpdate(); }, error => { this.message = (error.response && error.response.data) || error.message || error.toString(); + console.log(this.message) } ); } diff --git a/src/components/Teachers.vue b/src/components/Teachers.vue index 4a3c51a90af0fb61adb1f928d4a04a0263f15988..b5fbcabe7fd56a9486479cf60581c5606e2a3679 100644 --- a/src/components/Teachers.vue +++ b/src/components/Teachers.vue @@ -1,55 +1,42 @@ <template> <div class="content col-md-12"> - <h1>{{counter}}</h1> <h1>{{data}}</h1> + <h1>{{message}}</h1> + <h1>{{service}}</h1> </div> </template> <script> + + export default { name: "Teachers", data(){ return{ data: "Placeholder", - counter: JSON.parse(localStorage.getItem('cronJob')), - cronJob: this.$crontab.addJob({ - name: 'counter', - interval: { - seconds: '/1', - }, - job: this.countUp - }) + message: "not Expired", + service: 0, } + }, created() { this.getData(); - this.$crontab.execJob('counter'); }, methods:{ - countUp () { - this.counter += 1 - if (this.counter >= 60){ - this.$crontab.deleteJob('counter'); - //alert("Geh nachhcause"); - } - localStorage.setItem('cronJob', this.counter); - }, getData () { this.$store.dispatch('user/getHello').then( - () => { + (response) => { + console.log(response.status) this.data = this.$store.state.user.response; }, - error => { - this.message = - (error.response && error.response.data) || - error.message || - error.toString(); - this.successful = false; + (error) => { + this.message = error; + console.log(error) } ); - } + }, } } </script> diff --git a/src/main.js b/src/main.js index 608442b014e90f72b33fe607f5dd84c18031bf0e..5dad244e3c8b15dff6a40cf434c9fbb777bff0bb 100644 --- a/src/main.js +++ b/src/main.js @@ -16,6 +16,11 @@ import { faHome, faUser, faUserPlus, faSignInAlt, faSignOutAlt } from '@fortawes library.add(faHome, faUser, faUserPlus, faSignInAlt, faSignOutAlt); +VueCrontab.setOption({ + interval: 200, + auto_start: false +}) + Vue.config.productionTip = false; Vue.use(VueCrontab) Vue.use(BootstrapVue) diff --git a/src/router.js b/src/router.js index a280dcf39f41eae4948848bf953e581b4337543d..9c4395ce8c8dbd4ab6407110534cd62618b79062 100644 --- a/src/router.js +++ b/src/router.js @@ -63,7 +63,7 @@ const router = new Router({ }) router.beforeEach((to, from, next) => { - const publicPages = ['/login']; + const publicPages = ['/login', '/register']; const authRequired = !publicPages.includes(to.path); const loggedIn = localStorage.getItem('user'); diff --git a/src/services/auth.service.js b/src/services/auth.service.js index bde984551ea15e3db8e93a059d57f8f44d66df15..fe87078f40f1a9f18406d7f43d84ff1413557782 100644 --- a/src/services/auth.service.js +++ b/src/services/auth.service.js @@ -14,6 +14,7 @@ class AuthService { .then(response => { if (response.data.idToken) { localStorage.setItem('user', JSON.stringify(response.data)); + localStorage.setItem('cronJob', 0); } return response.data;