This commit is contained in:
2018-11-08 22:23:05 +00:00
parent 74bffdba00
commit 86f359f98e
2 changed files with 127 additions and 4 deletions

View File

@@ -2,6 +2,8 @@ import decode from "jwt-decode";
import config from "./config";
import logger from "./logit";
import store from "../store";
import initialize from "./initialize";
//import axios from 'axios';
//import auth0 from 'auth0-js';
//import Router from 'vue-router';
@@ -36,14 +38,13 @@ export function processLogin(response) {
roles: token["ayanova/roles"]
});
//Initialize the application
initialize();
logger.log("User " + token.id + " logged in");
return Promise.resolve(true);
}
// var router = new Router({
// mode: 'history',
// });
export function processLogout() {
logger.log("Logout");
store.commit("notAuthenticated");

View File

@@ -0,0 +1,122 @@
import store from "../store";
import roles from "./roles";
function addNavItem(title, icon, route) {
store.state.navItems.push({
title,
icon,
route
});
}
/////////////////////////////////////
// Initialize the app
// on change of authentication status
export default function initialize() {
//clear the nav items either way
store.state.navItems = [];
if (store.state.authenticated) {
//put nav items into store
//Everyone has a home
addNavItem("Home", "home", "/");
if (
roles.hasRole(roles.AuthorizationRoles.TechLimited) ||
roles.hasRole(roles.AuthorizationRoles.TechFull) ||
roles.hasRole(roles.AuthorizationRoles.SubContractorLimited) ||
roles.hasRole(roles.AuthorizationRoles.SubContractorFull)
) {
addNavItem("Service", "toolbox", "/service");
}
if (
roles.hasRole(roles.AuthorizationRoles.OpsAdminFull) ||
roles.hasRole(roles.AuthorizationRoles.OpsAdminLimited)
) {
addNavItem("Operations", "cogs", "ops");
}
//Everyone can see about and logout
addNavItem("About", "info-circle", "/about");
addNavItem("Log out", "sign-out-alt", "/login");
}
}
/*
<v-list-tile to="/">
<v-list-tile-action>
<v-icon>fa-home</v-icon>
</v-list-tile-action>
<v-list-tile-content>
<v-list-tile-title>Home</v-list-tile-title>
</v-list-tile-content>
</v-list-tile>
<v-list-tile to="/service">
<v-list-tile-action>
<v-icon>fa-toolbox</v-icon>
</v-list-tile-action>
<v-list-tile-content>
<v-list-tile-title>Service</v-list-tile-title>
</v-list-tile-content>
</v-list-tile>
<v-list-tile to="/dispatch">
<v-list-tile-action>
<v-icon>fa-shipping-fast</v-icon>
</v-list-tile-action>
<v-list-tile-content>
<v-list-tile-title>Dispatch</v-list-tile-title>
</v-list-tile-content>
</v-list-tile>
<v-list-tile to="/inventory">
<v-list-tile-action>
<v-icon>fa-dolly</v-icon>
</v-list-tile-action>
<v-list-tile-content>
<v-list-tile-title>Inventory</v-list-tile-title>
</v-list-tile-content>
</v-list-tile>
<v-list-tile to="/accounting">
<v-list-tile-action>
<v-icon>fa-file-invoice-dollar</v-icon>
</v-list-tile-action>
<v-list-tile-content>
<v-list-tile-title>Accounting</v-list-tile-title>
</v-list-tile-content>
</v-list-tile>
<v-list-tile to="/admin">
<v-list-tile-action>
<v-icon>fa-user-tie</v-icon>
</v-list-tile-action>
<v-list-tile-content>
<v-list-tile-title>Administration</v-list-tile-title>
</v-list-tile-content>
</v-list-tile>
<v-list-tile to="/ops">
<v-list-tile-action>
<v-icon>fa-cogs</v-icon>
</v-list-tile-action>
<v-list-tile-content>
<v-list-tile-title>Operations</v-list-tile-title>
</v-list-tile-content>
</v-list-tile>
<v-list-tile to="/about">
<v-list-tile-action>
<v-icon>fa-info-circle</v-icon>
</v-list-tile-action>
<v-list-tile-content>
<v-list-tile-title>About</v-list-tile-title>
</v-list-tile-content>
</v-list-tile>
<v-list-tile
v-if="this.$store.state.authenticated"
to="/login"
v-on:click.native="logout()"
>
<v-list-tile-action>
<v-icon>fa-sign-out-alt</v-icon>
</v-list-tile-action>
<v-list-tile-content>
<v-list-tile-title>Log off</v-list-tile-title>
</v-list-tile-content>
</v-list-tile>
*/