Dashboard updates

Former-commit-id: e6c96075892397f2033dc54edbe51b218e515e79 [formerly 842b38286f4cffdabd36c8a09f135dea50d8a750] [formerly 6db6ef19b576adc616b8209ec5ad0ef52705effa [formerly af369cdea115cf56e4f10d39fd75ca4455ff0145]]
Former-commit-id: 1cd150a4e4d4846772e460778fca006ea1105fe4 [formerly 6137ec696244fe7230db1d8c29a6eede7dee6926]
Former-commit-id: 2b82b1b5a2b3f7ff39448501089cd9860cb4707c
This commit is contained in:
Henrique Dias
2017-07-07 20:00:32 +01:00
parent c9ddf10aba
commit ee55b9fd9c
10 changed files with 536 additions and 127 deletions

View File

@@ -7,6 +7,7 @@ import Users from '@/components/Users'
import User from '@/components/User'
import Settings from '@/components/Settings'
import auth from '@/utils/auth.js'
import store from '@/store'
Vue.use(Router)
@@ -55,7 +56,10 @@ const router = new Router({
{
path: '/users',
name: 'Users',
component: Users
component: Users,
meta: {
requiresAdmin: true
}
},
{
path: '/users/',
@@ -66,7 +70,10 @@ const router = new Router({
{
path: '/users/*',
name: 'User',
component: User
component: User,
meta: {
requiresAdmin: true
}
},
{
path: '/*',
@@ -85,6 +92,19 @@ router.beforeEach((to, from, next) => {
// if not, redirect to login page.
auth.loggedIn()
.then(() => {
if (to.matched.some(record => record.meta.requiresAdmin)) {
if (store.state.user.admin) {
next()
return
}
next({
path: '/403'
})
return
}
next()
})
.catch(e => {