[prev in list] [next in list] [prev in thread] [next in thread] 

List:       rhq-commits
Subject:    [rhq] modules/enterprise
From:       ips () fedoraproject ! org (ips)
Date:       2010-09-30 20:47:26
Message-ID: 20100930204726.554E1120153 () lists ! fedorahosted ! org
[Download RAW message or body]

 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java \
|    4 +-  modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui \
/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java |  \
13 +++++++--  modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/PluginConfigurationEditView.java \
|   14 +++++++---  3 files changed, 24 insertions(+), 7 deletions(-)

New commits:
commit efd0a83daf83a5e667dbf0f0352aa28f03b806ef
Author: Ian Springer <ian.springer at redhat.com>
Date:   Thu Sep 30 16:44:44 2010 -0400

    add authz checks to resource and plugin config views - if the user doesn't have \
the needed perms, the config editor is put in read-only mode and a transient message \
is displayed to inform them why the config is not editable

diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java \
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java
 index b2c532d..05c37b6 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java
                
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java
 @@ -238,7 +238,7 @@ public class ResourceDetailView extends \
                AbstractTwoLevelTabSetView<ResourceCompo
         updateSubTab(this.inventoryTab, this.inventoryChildren, canvas, visible, \
                true);
         visible = facets.contains(ResourceTypeFacet.PLUGIN_CONFIGURATION);
         canvas = (visible) ? new \
                PluginConfigurationEditView(this.inventoryTab.extendLocatorId("PluginConfigView"),
                
-            resource) : null;
+            resourceComposite) : null;
         updateSubTab(this.inventoryTab, this.inventoryConn, canvas, visible, true);
         updateSubTab(this.inventoryTab, this.inventoryGroups, \
                ResourceGroupListView.getGroupsOf(this.inventoryTab
             .extendLocatorId("GroupsView"), resource.getId()), true, true);
@@ -275,7 +275,7 @@ public class ResourceDetailView extends \
                AbstractTwoLevelTabSetView<ResourceCompo
         if (updateTab(this.configurationTab, \
                facets.contains(ResourceTypeFacet.CONFIGURATION), resourcePermissions
             .isConfigureRead())) {
             updateSubTab(this.configurationTab, this.configCurrent, new \
                ResourceConfigurationEditView(this
-                .extendLocatorId("ResourceConfigView"), resource), true, true);
+                .extendLocatorId("ResourceConfigView"), resourceComposite), true, \
                true);
             updateSubTab(this.configurationTab, this.configHistory, \
ConfigurationHistoryView.getHistoryOf(  resource.getId()), true, true);
         }
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coreg \
ui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java \
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java
 index 9843339..b002f0b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java
                
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java
 @@ -29,6 +29,8 @@ import com.smartgwt.client.widgets.toolbar.ToolStrip;
 import org.rhq.core.domain.configuration.Configuration;
 import org.rhq.core.domain.configuration.ResourceConfigurationUpdate;
 import org.rhq.core.domain.resource.Resource;
+import org.rhq.core.domain.resource.composite.ResourceComposite;
+import org.rhq.core.domain.resource.composite.ResourcePermission;
 import org.rhq.enterprise.gui.coregui.client.CoreGUI;
 import org.rhq.enterprise.gui.coregui.client.components.configuration.ConfigurationEditor;
  import org.rhq.enterprise.gui.coregui.client.components.configuration.ValidationStateChangeListener;
 @@ -45,13 +47,15 @@ import \
                org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
  */
 public class ResourceConfigurationEditView extends LocatableVLayout implements \
ValidationStateChangeListener {  private Resource resource;
+    private ResourcePermission resourcePermission;
     private ConfigurationEditor editor;
     private IButton saveButton;
 
-    public ResourceConfigurationEditView(String locatorId, Resource resource) {
+    public ResourceConfigurationEditView(String locatorId, ResourceComposite \
resourceComposite) {  super(locatorId);
 
-        this.resource = resource;
+        this.resource = resourceComposite.getResource();
+        this.resourcePermission = resourceComposite.getResourcePermission();
     }
 
     @Override
@@ -78,9 +82,14 @@ public class ResourceConfigurationEditView extends \
                LocatableVLayout implements V
         editor = new ConfigurationEditor(this.getLocatorId(), resource.getId(), \
resource.getResourceType().getId());  editor.setOverflow(Overflow.AUTO);
         editor.addValidationStateChangeListener(this);
+        editor.setReadOnly(!this.resourcePermission.isConfigureWrite());
 
         addMember(toolStrip);
         addMember(editor);
+
+        Message message = new TransientMessage("You do not have permission to edit \
this Resource's configuration.", +            Message.Severity.Info, true);
+        CoreGUI.getMessageCenter().notify(message);
     }
 
     private void save() {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/PluginConfigurationEditView.java \
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/PluginConfigurationEditView.java
 index d179046..1483cfa 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/PluginConfigurationEditView.java
                
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/PluginConfigurationEditView.java
 @@ -28,6 +28,8 @@ import com.smartgwt.client.widgets.toolbar.ToolStrip;
 import org.rhq.core.domain.configuration.Configuration;
 import org.rhq.core.domain.configuration.PluginConfigurationUpdate;
 import org.rhq.core.domain.resource.Resource;
+import org.rhq.core.domain.resource.composite.ResourceComposite;
+import org.rhq.core.domain.resource.composite.ResourcePermission;
 import org.rhq.enterprise.gui.coregui.client.CoreGUI;
 import org.rhq.enterprise.gui.coregui.client.components.configuration.ConfigurationEditor;
  import org.rhq.enterprise.gui.coregui.client.components.configuration.ValidationStateChangeListener;
 @@ -44,13 +46,15 @@ import \
                org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
  */
 public class PluginConfigurationEditView extends LocatableVLayout implements \
ValidationStateChangeListener {  private Resource resource;
+    private ResourcePermission resourcePermission;
     private ConfigurationEditor editor;
     private LocatableIButton saveButton;
 
-    public PluginConfigurationEditView(String locatorId, Resource resource) {
+    public PluginConfigurationEditView(String locatorId, ResourceComposite \
resourceComposite) {  super(locatorId);
 
-        this.resource = resource;
+        this.resource = resourceComposite.getResource();
+        this.resourcePermission = resourceComposite.getResourcePermission();
     }
 
     @Override
@@ -60,7 +64,6 @@ public class PluginConfigurationEditView extends LocatableVLayout \
implements Val  }
 
     public void build() {
-
         ToolStrip toolStrip = new ToolStrip();
         toolStrip.setWidth100();
 
@@ -79,9 +82,14 @@ public class PluginConfigurationEditView extends LocatableVLayout \
implements Val  ConfigurationEditor.ConfigType.plugin);
         editor.setOverflow(Overflow.AUTO);
         editor.addValidationStateChangeListener(this);
+        editor.setReadOnly(!this.resourcePermission.isInventory());
 
         addMember(toolStrip);
         addMember(editor);
+
+        Message message = new TransientMessage("You do not have permission to edit \
this Resource's connection properties.", +            Message.Severity.Info, true);
+        CoreGUI.getMessageCenter().notify(message);
     }
 
     private void save() {


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic