This commit is contained in:
@@ -2,6 +2,8 @@ import decode from "jwt-decode";
|
|||||||
import config from "./config";
|
import config from "./config";
|
||||||
import logger from "./logit";
|
import logger from "./logit";
|
||||||
import store from "../store";
|
import store from "../store";
|
||||||
|
import initialize from "./initialize";
|
||||||
|
|
||||||
//import axios from 'axios';
|
//import axios from 'axios';
|
||||||
//import auth0 from 'auth0-js';
|
//import auth0 from 'auth0-js';
|
||||||
//import Router from 'vue-router';
|
//import Router from 'vue-router';
|
||||||
@@ -36,14 +38,13 @@ export function processLogin(response) {
|
|||||||
roles: token["ayanova/roles"]
|
roles: token["ayanova/roles"]
|
||||||
});
|
});
|
||||||
|
|
||||||
|
//Initialize the application
|
||||||
|
initialize();
|
||||||
|
|
||||||
logger.log("User " + token.id + " logged in");
|
logger.log("User " + token.id + " logged in");
|
||||||
return Promise.resolve(true);
|
return Promise.resolve(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// var router = new Router({
|
|
||||||
// mode: 'history',
|
|
||||||
// });
|
|
||||||
|
|
||||||
export function processLogout() {
|
export function processLogout() {
|
||||||
logger.log("Logout");
|
logger.log("Logout");
|
||||||
store.commit("notAuthenticated");
|
store.commit("notAuthenticated");
|
||||||
|
|||||||
122
app/ayanova/src/utils/initialize.js
Normal file
122
app/ayanova/src/utils/initialize.js
Normal 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>
|
||||||
|
*/
|
||||||
Reference in New Issue
Block a user