modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java | 35 +- modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionDataSource.java | 6 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionListView.java | 31 ++ modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/SingleGroupDefinitionView.java | 86 +----- modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/InventoryView.java | 31 ++ modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java | 129 ++++------ 6 files changed, 150 insertions(+), 168 deletions(-)
New commits: commit e5215ae78bdb6ce50c560e5d957022489c161907 Author: Joseph Marques joseph@redhat.com Date: Wed Sep 22 14:18:06 2010 -0400
authz: disable links in nav panel for InventoryView according to perms
* hide "Discovery Manager" behind MANAGE_INVENTORY * hide "DynaGroup Manager" behind MANAGE_INVENTORY
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/InventoryView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/InventoryView.java index ed442b2..c6d5289 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/InventoryView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/InventoryView.java @@ -18,10 +18,13 @@ */ package org.rhq.enterprise.gui.coregui.client.inventory.resource;
+import java.util.EnumSet; import java.util.LinkedHashMap; import java.util.Map; +import java.util.Set;
import com.google.gwt.user.client.History; +import com.google.gwt.user.client.rpc.AsyncCallback; import com.smartgwt.client.data.Criteria; import com.smartgwt.client.types.VisibilityMode; import com.smartgwt.client.widgets.Canvas; @@ -33,12 +36,14 @@ import com.smartgwt.client.widgets.tree.Tree; import com.smartgwt.client.widgets.tree.TreeGrid; import com.smartgwt.client.widgets.tree.TreeNode;
+import org.rhq.core.domain.authz.Permission; import org.rhq.core.domain.measurement.AvailabilityType; import org.rhq.core.domain.resource.ResourceCategory; import org.rhq.enterprise.gui.coregui.client.BookmarkableView; import org.rhq.enterprise.gui.coregui.client.CoreGUI; import org.rhq.enterprise.gui.coregui.client.ViewId; import org.rhq.enterprise.gui.coregui.client.ViewPath; +import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup; import org.rhq.enterprise.gui.coregui.client.inventory.groups.ResourceGroupListView; import org.rhq.enterprise.gui.coregui.client.inventory.groups.definitions.GroupDefinitionListView; import org.rhq.enterprise.gui.coregui.client.inventory.resource.discovery.ResourceAutodiscoveryView; @@ -90,6 +95,22 @@ public class InventoryView extends LocatableHLayout implements BookmarkableView protected void onInit() { super.onInit();
+ GWTServiceLookup.getAuthorizationService().getExplicitGlobalPermissions(new AsyncCallback<Set<Permission>>() { + @Override + public void onFailure(Throwable caught) { + CoreGUI.getErrorHandler().handleError("Could not determine user's global permissions, assuming none", + caught); + finishOnInit(EnumSet.noneOf(Permission.class)); + } + + @Override + public void onSuccess(Set<Permission> result) { + finishOnInit(result); + } + }); + } + + private void finishOnInit(Set<Permission> globalPermissions) { setWidth100(); setHeight100();
@@ -103,8 +124,8 @@ public class InventoryView extends LocatableHLayout implements BookmarkableView sectionStack.setWidth(250); sectionStack.setHeight100();
- buildResourcesSection(); - buildGroupsSection(); + buildResourcesSection(globalPermissions); + buildGroupsSection(globalPermissions);
for (final String sectionName : treeGrids.keySet()) { TreeGrid grid = treeGrids.get(sectionName); @@ -133,12 +154,13 @@ public class InventoryView extends LocatableHLayout implements BookmarkableView addMember(contentCanvas); }
- private SectionStackSection buildResourcesSection() { + private SectionStackSection buildResourcesSection(Set<Permission> globalPermissions) {
final SectionStackSection section = new SectionStackSection(SECTION_RESOURCES); section.setExpanded(true);
final TreeNode discoveryQueue = new TreeNode(PAGE_ADQ); + discoveryQueue.setEnabled(globalPermissions.contains(Permission.MANAGE_INVENTORY)); discoveryQueue.setIcon("global/Recent_16.png");
final TreeNode onlyPlatforms = new TreeNode(PAGE_PLATFORMS); @@ -171,11 +193,12 @@ public class InventoryView extends LocatableHLayout implements BookmarkableView return section; }
- private SectionStackSection buildGroupsSection() { + private SectionStackSection buildGroupsSection(Set<Permission> globalPermissions) { final SectionStackSection section = new SectionStackSection(SECTION_GROUPS); section.setExpanded(true);
final TreeNode groupGroupDefinitions = new TreeNode(PAGE_GROUP_DEFINITIONS); + groupGroupDefinitions.setEnabled(globalPermissions.contains(Permission.MANAGE_INVENTORY)); groupGroupDefinitions.setIcon("types/GroupDefinition_16.png");
final TreeNode onlyCompatible = new TreeNode(PAGE_COMPATIBLE_GROUPS);
commit a97483270b9bb2be2ef07413d9a4bc81e1558a20 Author: Joseph Marques joseph@redhat.com Date: Wed Sep 22 14:16:40 2010 -0400
authz: disallow users w/o MANAGE_INVENTORY from viewing list of group defs
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionListView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionListView.java index c8293c7..a4fac9f 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionListView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionListView.java @@ -18,13 +18,18 @@ */ package org.rhq.enterprise.gui.coregui.client.inventory.groups.definitions;
+import java.util.Set; + +import com.google.gwt.user.client.History; import com.google.gwt.user.client.rpc.AsyncCallback; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.grid.CellFormatter; import com.smartgwt.client.widgets.grid.ListGridField; import com.smartgwt.client.widgets.grid.ListGridRecord;
+import org.rhq.core.domain.authz.Permission; import org.rhq.enterprise.gui.coregui.client.CoreGUI; +import org.rhq.enterprise.gui.coregui.client.ViewPath; import org.rhq.enterprise.gui.coregui.client.components.table.Table; import org.rhq.enterprise.gui.coregui.client.components.table.TableAction; import org.rhq.enterprise.gui.coregui.client.components.table.TableSection; @@ -144,4 +149,30 @@ public class GroupDefinitionListView extends TableSection { .extendLocatorId("Details")); return singleGroupDefinitionView; } + + @Override + public void renderView(final ViewPath viewPath) { + GWTServiceLookup.getAuthorizationService().getExplicitGlobalPermissions(new AsyncCallback<Set<Permission>>() { + @Override + public void onFailure(Throwable caught) { + CoreGUI.getErrorHandler().handleError( + "Could not determine whether user had MANAGE_INVENTORY permission", caught); + handleAuthorizationFailure(); + } + + private void handleAuthorizationFailure() { + CoreGUI.getErrorHandler().handleError("You do not have permission to view group definitions"); + History.back(); + } + + @Override + public void onSuccess(Set<Permission> result) { + if (result.contains(Permission.MANAGE_INVENTORY) == false) { + handleAuthorizationFailure(); + } else { + GroupDefinitionListView.super.renderView(viewPath); + } + } + }); + } } \ No newline at end of file
commit b5a275a90b1249c52153d734c180d0174660255d Author: Joseph Marques joseph@redhat.com Date: Wed Sep 22 14:15:55 2010 -0400
authz: disallow users w/o MANAGE_INVENTORY from viewing group def details
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/SingleGroupDefinitionView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/SingleGroupDefinitionView.java index dde421c..bcdb9ca 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/SingleGroupDefinitionView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/SingleGroupDefinitionView.java @@ -36,7 +36,6 @@ import com.smartgwt.client.widgets.events.ClickHandler; import com.smartgwt.client.widgets.form.fields.CheckboxItem; import com.smartgwt.client.widgets.form.fields.SelectItem; import com.smartgwt.client.widgets.form.fields.SpinnerItem; -import com.smartgwt.client.widgets.form.fields.StaticTextItem; import com.smartgwt.client.widgets.form.fields.TextAreaItem; import com.smartgwt.client.widgets.form.fields.TextItem; import com.smartgwt.client.widgets.grid.ListGridRecord; @@ -78,14 +77,6 @@ public class SingleGroupDefinitionView extends LocatableVLayout implements Bookm private TextAreaItem expression; private SpinnerItem recalculationInterval;
- // read-only form - private StaticTextItem idStatic; - private StaticTextItem nameStatic; - private StaticTextItem descriptionStatic; - private StaticTextItem recursiveStatic; - private StaticTextItem expressionStatic; - private StaticTextItem recalculationIntervalStatic; - public SingleGroupDefinitionView(String locatorId) { super(locatorId);
@@ -101,26 +92,14 @@ public class SingleGroupDefinitionView extends LocatableVLayout implements Bookm
// form setup id.setValue(groupDefinition.getId()); - idStatic.setValue(groupDefinition.getId()); - name.setValue(groupDefinition.getName()); - nameStatic.setValue(groupDefinition.getName()); - recursive.setValue(groupDefinition.isRecursive()); - recursiveStatic.setValue(groupDefinition.isRecursive()); - description.setValue(groupDefinition.getDescription()); - descriptionStatic.setValue(groupDefinition.getDescription()); - recalculationInterval.setValue(groupDefinition.getRecalculationInterval()); - recalculationIntervalStatic.setValue(groupDefinition.getRecalculationInterval()); - expression.setValue(groupDefinition.getExpression()); - expressionStatic.setValue(groupDefinition.getExpression());
final LocatableDynamicForm form = new LocatableDynamicForm(extendLocatorId("GroupDefinitionForm")); - form.setFields(id, idStatic, name, nameStatic, description, descriptionStatic, expression, expressionStatic, - recursive, recursiveStatic, recalculationInterval, recalculationIntervalStatic); + form.setFields(id, name, description, expression, recursive, recalculationInterval); form.setDataSource(GroupDefinitionDataSource.getInstance()); form.setHiliteRequiredFields(true); form.setRequiredTitleSuffix(" <span style="color: red;">* </span>:"); @@ -229,71 +208,40 @@ public class SingleGroupDefinitionView extends LocatableVLayout implements Bookm expression.show(); recalculationInterval.show();
- nameStatic.hide(); - descriptionStatic.hide(); - recursiveStatic.hide(); - expressionStatic.hide(); - recalculationIntervalStatic.hide(); - if (groupDefinitionId == 0) { viewId.getBreadcrumbs().get(0).setDisplayName("New Group Definition"); } else { - viewId.getBreadcrumbs().get(0).setDisplayName("Editing '" + nameStatic.getValue().toString() + "'"); + viewId.getBreadcrumbs().get(0).setDisplayName("Editing '" + name.getValue().toString() + "'"); } CoreGUI.refreshBreadCrumbTrail();
markForRedraw(); }
- public void switchToViewMode() { - name.hide(); - description.hide(); - recursive.hide(); - expression.hide(); - recalculationInterval.hide(); - - nameStatic.show(); - descriptionStatic.show(); - recursiveStatic.show(); - expressionStatic.show(); - recalculationIntervalStatic.show(); - - viewId.getBreadcrumbs().get(0).setDisplayName("Viewing '" + nameStatic.getValue().toString() + "'"); - - markForRedraw(); - } - private void buildForm() { id = new TextItem("id", "ID"); id.setVisible(false); - idStatic = new StaticTextItem("idStatic", "ID"); - idStatic.setVisible(false);
name = new TextItem("name", "Name"); name.setWidth(400); name.setDefaultValue(""); - nameStatic = new StaticTextItem("nameStatic", "Name");
description = new TextAreaItem("description", "Description"); description.setWidth(400); description.setHeight(50); description.setDefaultValue(""); - descriptionStatic = new StaticTextItem("descriptionStatic", "Description");
recursive = new CheckboxItem("recursive", "Recursive"); - recursiveStatic = new StaticTextItem("recursiveStatic", "Recursive");
expression = new TextAreaItem("expression", "Expression"); expression.setWidth(400); expression.setHeight(150); expression.setDefaultValue(""); - expressionStatic = new StaticTextItem("expressionStatic", "Expression");
recalculationInterval = new SpinnerItem("recalculationInterval", "Recalculation Interval"); recalculationInterval.setWrapTitle(false); recalculationInterval.setMin(0); recalculationInterval.setDefaultValue(0); - recalculationIntervalStatic = new StaticTextItem("recalculationIntervalStatic", "Recalculation Interval");
templateSelector = new SelectItem(); templateSelector.setValueMap(getTemplates()); @@ -352,18 +300,14 @@ public class SingleGroupDefinitionView extends LocatableVLayout implements Bookm return results.toString(); }
- private void lookupDetails(final int groupDefinitionId, final boolean hasEditPermission) { + private void lookupDetails(final int groupDefinitionId) { ResourceGroupDefinitionCriteria criteria = new ResourceGroupDefinitionCriteria(); criteria.addFilterId(groupDefinitionId);
if (groupDefinitionId == 0) { GroupDefinition newGroupDefinition = new GroupDefinition(); setGroupDefinition(newGroupDefinition); - if (hasEditPermission) { - switchToEditMode(); - } else { - switchToViewMode(); - } + switchToEditMode(); } else { GWTServiceLookup.getResourceGroupService().findGroupDefinitionsByCriteria(criteria, new AsyncCallback<PageList<GroupDefinition>>() { @@ -381,11 +325,7 @@ public class SingleGroupDefinitionView extends LocatableVLayout implements Bookm } else { GroupDefinition existingGroupDefinition = result.get(0); setGroupDefinition(existingGroupDefinition); - if (hasEditPermission) { - switchToEditMode(); - } else { - switchToViewMode(); - } + switchToEditMode(); } } }); @@ -401,14 +341,22 @@ public class SingleGroupDefinitionView extends LocatableVLayout implements Bookm @Override public void onFailure(Throwable caught) { CoreGUI.getErrorHandler().handleError( - "Could not determine whether user had MANAGE_INVENTORY permission, defaulting to view-only mode", - caught); - lookupDetails(groupDefinitionId, false); + "Could not determine whether user had MANAGE_INVENTORY permission", caught); + handleAuthorizationFailure(); + } + + private void handleAuthorizationFailure() { + CoreGUI.getErrorHandler().handleError("You do not have permission to view group definitions"); + History.back(); }
@Override public void onSuccess(Set<Permission> result) { - lookupDetails(groupDefinitionId, result.contains(Permission.MANAGE_INVENTORY)); + if (result.contains(Permission.MANAGE_INVENTORY) == false) { + handleAuthorizationFailure(); + } else { + lookupDetails(groupDefinitionId); + } } });
commit 9fa4e9c1a1444e4716cfd32a12499295ab2d5a35 Author: Joseph Marques joseph@redhat.com Date: Wed Sep 22 13:10:12 2010 -0400
refactoring for maintainability; fix alignment of elements
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java index 6878764..2aa22ce 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java @@ -22,11 +22,13 @@ import com.google.gwt.event.logical.shared.ValueChangeEvent; import com.google.gwt.event.logical.shared.ValueChangeHandler; import com.google.gwt.user.client.History; import com.google.gwt.user.client.ui.Hyperlink; +import com.smartgwt.client.types.Alignment; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.HTMLFlow; import com.smartgwt.client.widgets.Img; +import com.smartgwt.client.widgets.events.ClickEvent; +import com.smartgwt.client.widgets.events.ClickHandler; import com.smartgwt.client.widgets.layout.HLayout; -import com.smartgwt.client.widgets.layout.LayoutSpacer; import com.smartgwt.client.widgets.toolbar.ToolStrip;
import org.rhq.enterprise.gui.coregui.client.components.AboutModalWindow; @@ -36,16 +38,13 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/** * @author Greg Hinkle + * @author Joseph Marques */ public class MenuBarView extends LocatableVLayout {
- private AboutModalWindow aboutModalWindow; - public static final String[] SECTIONS = { "Dashboard", "Inventory", "Reports", "Bundles", "Administration" };
- private String selected = "Dashboard"; - - private HTMLFlow linksPane; + private String currentlySelectedSection = "Dashboard";
public MenuBarView(String locatorId) { super(locatorId); @@ -54,97 +53,62 @@ public class MenuBarView extends LocatableVLayout { protected void onDraw() { super.onDraw();
- History.addValueChangeHandler(new ValueChangeHandler<String>() { - public void onValueChange(ValueChangeEvent<String> stringValueChangeEvent) { - String first = stringValueChangeEvent.getValue().split("/")[0]; - - if ("Resource".equals(first)) { - first = "Inventory"; - } - - selected = first; - linksPane.setContents(setupLinks()); - linksPane.markForRedraw(); - } - }); - ToolStrip topStrip = new ToolStrip(); topStrip.setHeight(34); topStrip.setWidth100(); topStrip.setBackgroundImage("header/header_bg.png"); topStrip.setMembersMargin(20);
- this.aboutModalWindow = new AboutModalWindow(); + topStrip.addMember(getLogoSection()); + topStrip.addMember(getLinksSection()); + topStrip.addMember(getActionsSection()); + + addMember(topStrip); + addMember(new SearchBarPane(this.extendLocatorId("Search"))); + + markForRedraw(); + } + + private Canvas getLogoSection() { + final AboutModalWindow aboutModalWindow = new AboutModalWindow(); Img logo = new Img("header/rhq_logo_28px.png", 80, 28); - logo.addClickHandler(new com.smartgwt.client.widgets.events.ClickHandler() { - public void onClick(com.smartgwt.client.widgets.events.ClickEvent event) { - MenuBarView.this.aboutModalWindow.show(); + logo.addClickHandler(new ClickHandler() { + public void onClick(ClickEvent event) { + aboutModalWindow.show(); } }); - topStrip.addMember(logo); + return logo; + }
- linksPane = new HTMLFlow(); + private Canvas getLinksSection() { + final HTMLFlow linksPane = new HTMLFlow(); linksPane.setContents(setupLinks());
- topStrip.addMember(linksPane); - - topStrip.addMember(new LayoutSpacer()); - - //HLayout helpLayout = new HLayout(); - // Label loggedInAs = new Label("Logged in as " + CoreGUI.getSessionSubject().getName()); - // loggedInAs.setWrap(false); - // loggedInAs.setValign(VerticalAlignment.CENTER); - // helpLayout.addMember(loggedInAs); - - topStrip.addMember(getHelpLinkSection()); - topStrip.addMember(SeleniumUtility.setHtmlId(new Hyperlink("Log Out", "LogOut"))); - // helpLayout.setLayoutAlign(VerticalAlignment.CENTER); - // topStrip.addMember(helpLayout); - - /* DynamicForm links = new DynamicForm(); - links.setNumCols(SECTIONS.length * 2); - links.setHeight100(); - - int i = 0; - FormItem[] linkItems = new FormItem[SECTIONS.length]; - for (String section : SECTIONS) { - LinkItem sectionLink = new LinkItem(); - sectionLink.setTitle(section); - sectionLink.setValue("#" + section); - sectionLink.setShowTitle(false); - - if (section.equals("Demo")) { - sectionLink.setCellStyle("TopSectionLinkSelected"); - // sectionLink.("header/header_bg_selected.png"); - } else { - sectionLink.setCellStyle("TopSectionLink"); - // widgetCanvas.setStyleName("TopSectionLink"); - } - linkItems[i++] = sectionLink; - } - links.setItems(linkItems); + History.addValueChangeHandler(new ValueChangeHandler<String>() { + public void onValueChange(ValueChangeEvent<String> stringValueChangeEvent) { + String first = stringValueChangeEvent.getValue().split("/")[0];
- topStrip.addMember(links); - */ - addMember(topStrip); - addMember(new SearchBarPane(this.extendLocatorId("Search"))); + if ("Resource".equals(first)) { + first = "Inventory"; + }
- markForRedraw(); + currentlySelectedSection = first; + linksPane.setContents(setupLinks()); + linksPane.markForRedraw(); + } + }); + return linksPane; }
private String setupLinks() { StringBuilder headerString = new StringBuilder( "<table style="height: 34px;" cellpadding="0" cellspacing="0"><tr>");
- boolean first = true; + headerString.append("<td style="width: 1px;"><img src="images/header/header_bg_line.png"/></td>"); for (String section : SECTIONS) { - if (first) { - headerString.append("<td style="width: 1px;"><img src="images/header/header_bg_line.png"/></td>"); - } - first = false;
String styleClass = "TopSectionLink"; - if (section.equals(selected)) { + if (section.equals(currentlySelectedSection)) { styleClass += "Selected"; }
@@ -162,13 +126,19 @@ public class MenuBarView extends LocatableVLayout { return headerString.toString(); }
- private Canvas getHelpLinkSection() { - HLayout helpLayout = new HLayout(); + private Canvas getActionsSection() { + HLayout layout = new HLayout(); + layout.setMargin(10); + layout.setAlign(Alignment.RIGHT); + LocatableImg helpImage = new LocatableImg("HelpImage", "[SKIN]/actions/help.png", 16, 16); Hyperlink helpLink = SeleniumUtility.setHtmlId(new Hyperlink("Help", "Help")); - helpLayout.addMember(helpImage); - helpLayout.addMember(helpLink); - return helpLayout; - } + Hyperlink logoutLink = SeleniumUtility.setHtmlId(new Hyperlink("Log Out", "LogOut"));
+ layout.addMember(helpImage); + layout.addMember(helpLink); + layout.addMember(logoutLink); + + return layout; + } }
commit bfbd77a21072e829969cdbf7a054997be06b74fe Author: Joseph Marques joseph@redhat.com Date: Wed Sep 22 11:29:28 2010 -0400
add icon next to help link in menu bar
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java index cd1b7d9..6878764 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java @@ -22,12 +22,15 @@ import com.google.gwt.event.logical.shared.ValueChangeEvent; import com.google.gwt.event.logical.shared.ValueChangeHandler; import com.google.gwt.user.client.History; import com.google.gwt.user.client.ui.Hyperlink; +import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.HTMLFlow; import com.smartgwt.client.widgets.Img; +import com.smartgwt.client.widgets.layout.HLayout; import com.smartgwt.client.widgets.layout.LayoutSpacer; import com.smartgwt.client.widgets.toolbar.ToolStrip;
import org.rhq.enterprise.gui.coregui.client.components.AboutModalWindow; +import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableImg; import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout; import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
@@ -92,7 +95,8 @@ public class MenuBarView extends LocatableVLayout { // loggedInAs.setWrap(false); // loggedInAs.setValign(VerticalAlignment.CENTER); // helpLayout.addMember(loggedInAs); - topStrip.addMember(SeleniumUtility.setHtmlId(new Hyperlink("Help", "Help"))); + + topStrip.addMember(getHelpLinkSection()); topStrip.addMember(SeleniumUtility.setHtmlId(new Hyperlink("Log Out", "LogOut"))); // helpLayout.setLayoutAlign(VerticalAlignment.CENTER); // topStrip.addMember(helpLayout); @@ -158,4 +162,13 @@ public class MenuBarView extends LocatableVLayout { return headerString.toString(); }
+ private Canvas getHelpLinkSection() { + HLayout helpLayout = new HLayout(); + LocatableImg helpImage = new LocatableImg("HelpImage", "[SKIN]/actions/help.png", 16, 16); + Hyperlink helpLink = SeleniumUtility.setHtmlId(new Hyperlink("Help", "Help")); + helpLayout.addMember(helpImage); + helpLayout.addMember(helpLink); + return helpLayout; + } + }
commit 1bb5479e42ed753091337fdf2a81ffe089a1a937 Author: Joseph Marques joseph@redhat.com Date: Wed Sep 22 10:56:27 2010 -0400
cosmetic, reformatting
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java index 403456c..00a27f0 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java @@ -447,21 +447,24 @@ public class CoreGUI implements EntryPoint, ValueChangeHandler<String> { * This is a nasty hack; but it's extremely reliable when running with other * js libraries on the same page at the same time as gwt. */ - public static native boolean detectIe6() /*-{ - if (typeof $doc.body.style.maxHeight != "undefined") - return(false); - else - return(true); - }-*/; - - public static native void forceIe6Hacks() /*-{ - $wnd.XMLHttpRequestBackup = $wnd.XMLHttpRequest; - $wnd.XMLHttpRequest = null; - }-*/; - - public static native void unforceIe6Hacks() /*-{ - $wnd.XMLHttpRequest = $wnd.XMLHttpRequestBackup; - $wnd.XMLHttpRequestBackup = null; - }-*/; + public static native boolean detectIe6() + /*-{ + if (typeof $doc.body.style.maxHeight != "undefined") + return(false); + else + return(true); + }-*/; + + public static native void forceIe6Hacks() + /*-{ + $wnd.XMLHttpRequestBackup = $wnd.XMLHttpRequest; + $wnd.XMLHttpRequest = null; + }-*/; + + public static native void unforceIe6Hacks() + /*-{ + $wnd.XMLHttpRequest = $wnd.XMLHttpRequestBackup; + $wnd.XMLHttpRequestBackup = null; + }-*/;
}
commit 6905ddc17545a6cb9e06230d476a81a2c379f8ca Author: Joseph Marques joseph@redhat.com Date: Wed Sep 22 00:35:24 2010 -0400
remove debugging statements from GroupDefinitionDataSource
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionDataSource.java index 32692b1..f4da478 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionDataSource.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionDataSource.java @@ -109,7 +109,6 @@ public class GroupDefinitionDataSource extends RPCDataSource<GroupDefinition> {
@Override protected void executeAdd(final DSRequest request, final DSResponse response) { - System.out.println("executeAdd"); JavaScriptObject data = request.getData(); final ListGridRecord record = new ListGridRecord(data); final GroupDefinition newGroupDefinition = copyValues(record); @@ -137,7 +136,6 @@ public class GroupDefinitionDataSource extends RPCDataSource<GroupDefinition> {
@Override protected void executeUpdate(final DSRequest request, final DSResponse response) { - System.out.println("executeUpdate"); final ListGridRecord record = getEditedRecord(request); final GroupDefinition updatedGroupDefinition = copyValues(record); final String name = updatedGroupDefinition.getName(); @@ -161,10 +159,6 @@ public class GroupDefinitionDataSource extends RPCDataSource<GroupDefinition> { @Override public GroupDefinition copyValues(ListGridRecord from) { GroupDefinition groupDefinition = new GroupDefinition(); - String[] attributes = from.getAttributes(); - for (String nextAttribute : attributes) { - System.out.println("ListGridRecord attribute: " + nextAttribute); - } groupDefinition.setId(from.getAttributeAsInt("id")); groupDefinition.setName(from.getAttributeAsString("name")); groupDefinition.setDescription(from.getAttributeAsString("description"));
rhq-commits@lists.fedorahosted.org