Files
raven/app/ayanova/src/utils/initialize.js
2018-11-08 22:23:05 +00:00

123 lines
3.8 KiB
JavaScript

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>
*/