X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=skyquake%2Fplugins%2Flaunchpad%2Fsrc%2FrecordViewer%2FrecordCard.jsx;h=7b3cb2188f246b60d50b159967e718fcc647177c;hb=8a3927012ae0fc7e136612682a5641b7ba0af567;hp=737ef701d7db6d9dde2ea7c0877db2242fc12639;hpb=573c1249edf74aa6cc50af1f92fd38832149d3eb;p=osm%2FUI.git diff --git a/skyquake/plugins/launchpad/src/recordViewer/recordCard.jsx b/skyquake/plugins/launchpad/src/recordViewer/recordCard.jsx index 737ef701d..7b3cb2188 100644 --- a/skyquake/plugins/launchpad/src/recordViewer/recordCard.jsx +++ b/skyquake/plugins/launchpad/src/recordViewer/recordCard.jsx @@ -36,6 +36,10 @@ import LaunchpadFleetStore from '../launchpadFleetStore.js'; import Prism from 'prismjs'; import 'prismjs/themes/prism.css'; +import {SkyquakeRBAC, isRBACValid} from 'widgets/skyquake_rbac/skyquakeRBAC.jsx'; +import ROLES from 'utils/roleConstants.js'; + +const PROJECT_ROLES = ROLES.PROJECT; export default class RecordCard extends React.Component { constructor(props) { @@ -77,6 +81,8 @@ export default class RecordCard extends React.Component { let notice = null; + let hasAccess = isRBACValid(this.context.userProfile, [PROJECT_ROLES.LCM_ADMIN]); + switch(this.props.type) { case 'vnfr' : cardData = this.props.data[0]; @@ -86,7 +92,7 @@ export default class RecordCard extends React.Component { if (displayConfigPrimitives) { configPrimitiveComponent = (
- + {/* */}
@@ -106,7 +112,7 @@ export default class RecordCard extends React.Component { //That match the currently selected job id if(v.id == cardData.id) { return v.primitive.map(function(p, i) { - return + return }) } }) @@ -134,31 +140,35 @@ export default class RecordCard extends React.Component { notice =
  • * If a separate browser window does not open, please check if the popup was blocked and allow it.
  • if(vdur.hasOwnProperty('volumes') && (vdur.volumes.length > 0)) { displayVolumesTab = true; - vdur.volumer.map((volume, vi) => { + vdur.volumes.map((volume, vi) => { // let html = Prism.highlight(JSON.stringify(volume), Prism.languages.javascript, 'javascript'); // volumesHTML.push( //
                     //       
                     //     
    - let properties = []; - _.forEach(volume, function(v, k) { - properties.push( -
    -
    {k}
    -
    {v}
    + function buildProperties(obj) { + let p = []; + _.forEach(obj, function(v, k) { + p.push( +
    +
    {k}
    +
    {v.constructor.name != 'Object' ? v : buildProperties(v)}
    ) - }) + }); + return p; + } volumesHTML.push(
    VOLUME
    - +
    { - properties + buildProperties(volume) } +
    ) }) @@ -204,7 +214,7 @@ export default class RecordCard extends React.Component { //That match the currently selected job id if(v.id == cardData.id) { return v.primitive.map(function(p, i) { - return + return }) } }) @@ -415,3 +425,7 @@ RecordCard.defaultProps = { isLoading: true, jobData: [] } +RecordCard.contextTypes = { + router: React.PropTypes.object, + userProfile: React.PropTypes.object +};