X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FUI.git;a=blobdiff_plain;f=skyquake%2Fframework%2Fwidgets%2Fskyquake_nav%2FskyquakeNav.jsx;h=c4df1e259a15b42b49245a74e2b6566bd39de671;hp=1aaaf4d454ce4dfcf341859d9d6424b036c48d9e;hb=b584e4b139ec4a30a97ea42ff54c76753731d707;hpb=56e55f5efc98e32a1afb3d99d07e9e5b0847a258 diff --git a/skyquake/framework/widgets/skyquake_nav/skyquakeNav.jsx b/skyquake/framework/widgets/skyquake_nav/skyquakeNav.jsx index 1aaaf4d45..c4df1e259 100644 --- a/skyquake/framework/widgets/skyquake_nav/skyquakeNav.jsx +++ b/skyquake/framework/widgets/skyquake_nav/skyquakeNav.jsx @@ -25,7 +25,7 @@ import 'style/common.scss'; import './skyquakeNav.scss'; import SelectOption from '../form_controls/selectOption.jsx'; import {FormSection} from '../form_controls/formControls.jsx'; -import SkyquakeRBAC from 'widgets/skyquake_rbac/skyquakeRBAC.jsx'; +import {isRBACValid, SkyquakeRBAC} from 'widgets/skyquake_rbac/skyquakeRBAC.jsx'; //Temporary, until api server is on same port as webserver var rw = require('utils/rw.js'); @@ -190,6 +190,9 @@ export default class skyquakeNav extends React.Component { skyquakeNav.defaultProps = { nav: {} } +skyquakeNav.contextTypes = { + userProfile: React.PropTypes.object +}; /** * Returns a React Component * @param {object} link Information about the nav link @@ -259,6 +262,7 @@ export function buildNav(nav, currentPlugin, props) { let secondaryNav = []; let adminNav = []; let self = this; + const User = this.context.userProfile; self.hasSubNav = {}; let secondaryNavHTML = (
@@ -318,16 +322,19 @@ export function buildNav(nav, currentPlugin, props) { )) } else { - navItem.html = ( - -

{dashboardLink} {self.hasSubNav[k] ? : ''}

- -
- ); + let shouldAllow = nav[k].allow || ['*']; + if (isRBACValid(User, shouldAllow) ){ + navItem.html = ( +
+

{dashboardLink} {self.hasSubNav[k] ? : ''}

+ +
+ ); + } navList.push(navItem) }