Added RBAC to logging page. Removed /check-auth route references.
[osm/UI.git] / skyquake / framework / widgets / skyquake_nav / skyquakeNav.jsx
index c4df1e2..99d1482 100644 (file)
@@ -28,7 +28,8 @@ import {FormSection} from '../form_controls/formControls.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');
+import rw from 'utils/rw.js';
+
 var API_SERVER = rw.getSearchParams(window.location).api_server;
 var UPLOAD_SERVER = rw.getSearchParams(window.location).upload_server;
 
@@ -36,23 +37,6 @@ var UPLOAD_SERVER = rw.getSearchParams(window.location).upload_server;
 // Internal classes/functions
 //
 
-class LogoutAppMenuItem extends React.Component {
-    handleLogout() {
-        Utils.clearAuthentication();
-    }
-    render() {
-        return (
-            <div className="app">
-                <h2>
-                    <a onClick={this.handleLogout}>
-                        Logout
-                    </a>
-                </h2>
-            </div>
-        );
-    }
-}
-
 class SelectProject extends React.Component {
     constructor(props) {
         super(props);
@@ -309,6 +293,7 @@ export function buildNav(nav, currentPlugin, props) {
                 label: nav[k].label || k,
                 route: route
             });
+            let shouldAllow = nav[k].allow || ['*'];
             if (nav[k].pluginName == currentPlugin) {
                 navClass += " active";
             }
@@ -316,13 +301,15 @@ export function buildNav(nav, currentPlugin, props) {
             navItem.priority = nav[k].priority;
             navItem.order = nav[k].order;
             if(nav[k].admin_link) {
-                adminNav.push((
-                    <li key={nav[k].name}>
-                        {dashboardLink}
-                    </li>
-                ))
+
+                if (isRBACValid(User, shouldAllow) ){
+                    adminNav.push((
+                        <li key={nav[k].name}>
+                            {dashboardLink}
+                        </li>
+                    ))
+                }
             } else {
-                let shouldAllow = nav[k].allow || ['*'];
                 if (isRBACValid(User, shouldAllow) ){
                     navItem.html = (
                         <div  key={k} className={navClass}>