X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FUI.git;a=blobdiff_plain;f=skyquake%2Fplugins%2Fcomposer%2Fsrc%2Fsrc%2Fcomponents%2FCatalogPanel.js;h=8de0f00122abcb96dded54ec4c29eadc182f4ebd;hp=0314e19ff4a99b3e8939d5fcdc9d38841cab2660;hb=28412d0042632687d765d239cbb3ff0523a131b9;hpb=f2dc2462571800e62cba969964de621dca09299c
diff --git a/skyquake/plugins/composer/src/src/components/CatalogPanel.js b/skyquake/plugins/composer/src/src/components/CatalogPanel.js
index 0314e19ff..8de0f0012 100644
--- a/skyquake/plugins/composer/src/src/components/CatalogPanel.js
+++ b/skyquake/plugins/composer/src/src/components/CatalogPanel.js
@@ -39,6 +39,8 @@ import ComposerAppStore from '../stores/ComposerAppStore'
import CatalogPanelStore from '../stores/CatalogPanelStore'
import LoadingIndicator from './LoadingIndicator'
import SelectionManager from '../libraries/SelectionManager'
+import { isRBACValid } from 'widgets/skyquake_rbac/skyquakeRBAC';
+import ROLES from 'utils/roleConstants.js';
import '../styles/CatalogPanel.scss'
@@ -80,7 +82,12 @@ const CatalogPanel = React.createClass({
document.body.removeEventListener('dragend', this.onDragEnd);
window.removeEventListener('dragend', this.onDragEnd);
},
+ contextTypes: {
+ userProfile: React.PropTypes.object
+ },
render() {
+ const User = this.context.userProfile || {};
+ const isModifiableByUser = isRBACValid(User, [ROLES.PROJECT.PROJECT_ADMIN, ROLES.PROJECT.CATALOG_ADMIN]);
const onDropCatalogItem = e => {
e.preventDefault();
@@ -112,12 +119,30 @@ const CatalogPanel = React.createClass({
const isDraggingFiles = uiTransientState.isDragging && uiTransientState.isDraggingFiles;
const updateDropZone = createDropZone.bind(this, UploadDropZone.ACTIONS.update, '.action-update-catalog-package');
const onboardDropZone = createDropZone.bind(this, UploadDropZone.ACTIONS.onboard, '.action-onboard-catalog-package');
- const className = ClassNames('CatalogPanel', {'-is-tray-open': this.state.isTrayOpen});
+ const className = ClassNames('CatalogPanel', { '-is-tray-open': this.state.isTrayOpen });
const hasNoCatalogs = this.props.hasNoCatalogs;
const isLoading = this.props.isLoading;
+ const packageManagerPanel = (
+