modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleEditView.java | 3 - modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RolesDataSource.java | 21 ++++++++ modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RolesView.java | 5 -- modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UserEditView.java | 4 - modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UsersDataSource.java | 3 + modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UsersView.java | 24 +--------- modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/AbstractRecordEditor.java | 23 +++++++-- modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/EnhancedDynamicForm.java | 1 modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties | 1 9 files changed, 49 insertions(+), 36 deletions(-)
New commits: commit db64b2c53b8669ee58ffc4c50c18eb47999cedd7 Author: Ian Springer ian.springer@redhat.com Date: Thu Nov 18 13:53:21 2010 -0500
various users/roles views tweaks and fixes
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleEditView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleEditView.java index 4173bcf..fd14c4c 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleEditView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleEditView.java @@ -57,7 +57,6 @@ import org.rhq.enterprise.gui.coregui.client.inventory.resource.selection.Resour */ public class RoleEditView extends AbstractRecordEditor<RolesDataSource> implements BookmarkableView {
- private static final String DATA_TYPE_NAME = "role"; private static final String HEADER_ICON = "global/Role_16.png";
private PermissionEditorView permissionEditorItem; @@ -75,7 +74,7 @@ public class RoleEditView extends AbstractRecordEditor<RolesDataSource> implemen private boolean isLdapConfigured;
public RoleEditView(String locatorId, int roleId) { - super(locatorId, new RolesDataSource(), roleId, DATA_TYPE_NAME, HEADER_ICON); + super(locatorId, new RolesDataSource(), roleId, MSG.common_label_role(), HEADER_ICON); }
@Override diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RolesDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RolesDataSource.java index 7eb099c..ba5f6e9 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RolesDataSource.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RolesDataSource.java @@ -31,6 +31,7 @@ import com.smartgwt.client.data.DataSourceField; import com.smartgwt.client.data.Record; import com.smartgwt.client.data.fields.DataSourceIntegerField; import com.smartgwt.client.data.fields.DataSourceTextField; +import com.smartgwt.client.types.FieldType; import com.smartgwt.client.widgets.grid.ListGridRecord;
import org.rhq.core.domain.authz.Permission; @@ -65,6 +66,9 @@ public class RolesDataSource extends RPCDataSource<Role> { public static final String LDAP_GROUPS = "ldapGroups"; }
+ public static final int ID_SUPERUSER = 1; + public static final int ID_ALL_RESOURCES = 2; + private static RolesDataSource INSTANCE;
private RoleGWTServiceAsync roleService = GWTServiceLookup.getRoleService(); @@ -93,7 +97,7 @@ public class RolesDataSource extends RPCDataSource<Role> { protected List<DataSourceField> addDataSourceFields() { List<DataSourceField> fields = super.addDataSourceFields();
- DataSourceField idDataField = new DataSourceIntegerField(Field.ID, "ID"); + DataSourceIntegerField idDataField = new DataSourceIntegerField(Field.ID, "ID"); idDataField.setPrimaryKey(true); idDataField.setCanEdit(false); fields.add(idDataField); @@ -105,6 +109,21 @@ public class RolesDataSource extends RPCDataSource<Role> { .common_title_description(), 100, false); fields.add(descriptionField);
+ DataSourceField resourceGroupsField = new DataSourceField(Field.RESOURCE_GROUPS, FieldType.ANY, "Resource Groups"); + fields.add(resourceGroupsField); + + DataSourceField globalPermissionsField = new DataSourceField(Field.GLOBAL_PERMISSIONS, FieldType.ANY, "Global Permissions"); + fields.add(globalPermissionsField); + + DataSourceField resourcePermissionsField = new DataSourceField(Field.RESOURCE_PERMISSIONS, FieldType.ANY, "Resource Permissions"); + fields.add(resourcePermissionsField); + + DataSourceField subjectsField = new DataSourceField(Field.SUBJECTS, FieldType.ANY, "Subjects"); + fields.add(subjectsField); + + DataSourceField ldapGroupsField = new DataSourceField(Field.LDAP_GROUPS, FieldType.ANY, "LDAP Groups"); + fields.add(ldapGroupsField); + return fields; }
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RolesView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RolesView.java index 35417e7..4b40221 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RolesView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RolesView.java @@ -38,9 +38,6 @@ import org.rhq.enterprise.gui.coregui.client.components.view.ViewName; public class RolesView extends TableSection implements BookmarkableView { public static final ViewName VIEW_ID = new ViewName("Roles", MSG.view_adminSecurity_roles());
- private static final int ID_SUPERUSER = 1; - private static final int ID_ALL_RESOURCES = 2; - // TODO: We need a 24x24 version of the Role icon. private static final String HEADER_ICON = "global/Role_16.png";
@@ -72,7 +69,7 @@ public class RolesView extends TableSection implements BookmarkableView {
for (ListGridRecord record : selection) { int id = record.getAttributeAsInt(RolesDataSource.Field.ID); - if (id == ID_SUPERUSER || id == ID_ALL_RESOURCES) { + if (id == RolesDataSource.ID_SUPERUSER || id == RolesDataSource.ID_ALL_RESOURCES) { // The superuser and all-resources roles cannot be deleted. return false; } diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UserEditView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UserEditView.java index 3bec8c3..2f99ddf 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UserEditView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UserEditView.java @@ -53,7 +53,6 @@ import org.rhq.enterprise.gui.coregui.client.components.selector.AssignedItemsCh */ public class UserEditView extends AbstractRecordEditor<UsersDataSource> {
- private static final String DATA_TYPE_NAME = "user"; private static final String HEADER_ICON = "global/User_24.png"; private static final int SUBJECT_ID_RHQADMIN = 2;
@@ -62,7 +61,7 @@ public class UserEditView extends AbstractRecordEditor<UsersDataSource> { private boolean hasManageSecurityPermission;
public UserEditView(String locatorId, int subjectId) { - super(locatorId, new UsersDataSource(), subjectId, DATA_TYPE_NAME, HEADER_ICON); + super(locatorId, new UsersDataSource(), subjectId, MSG.common_label_user(), HEADER_ICON); }
@Override @@ -204,4 +203,5 @@ public class UserEditView extends AbstractRecordEditor<UsersDataSource> { super.reset(); this.roleSelector.reset(); } + } diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UsersDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UsersDataSource.java index 8a3ce83..c24ac5b 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UsersDataSource.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UsersDataSource.java @@ -74,6 +74,9 @@ public class UsersDataSource extends RPCDataSource<Subject> { public static final String PASSWORD_VERIFY = "passwordVerify"; }
+ public static final int ID_OVERLORD = 1; + public static final int ID_RHQADMIN = 2; + private final SubjectGWTServiceAsync subjectService = GWTServiceLookup.getSubjectService();
public static UsersDataSource getInstance() { diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UsersView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UsersView.java index 7118d31..e6c73c5 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UsersView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UsersView.java @@ -22,14 +22,12 @@ import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.grid.ListGridField; import com.smartgwt.client.widgets.grid.ListGridRecord;
-import org.rhq.enterprise.gui.coregui.client.CoreGUI; import org.rhq.enterprise.gui.coregui.client.admin.AdministrationView; import org.rhq.enterprise.gui.coregui.client.components.table.AbstractTableAction; import org.rhq.enterprise.gui.coregui.client.components.table.TableAction; import org.rhq.enterprise.gui.coregui.client.components.table.TableActionEnablement; import org.rhq.enterprise.gui.coregui.client.components.table.TableSection; import org.rhq.enterprise.gui.coregui.client.components.view.ViewName; -import org.rhq.enterprise.gui.coregui.client.util.message.Message;
/** * A table that lists all users and provides the ability to view details of or delete those users and to create new @@ -44,13 +42,8 @@ public class UsersView extends TableSection { public static final String VIEW_PATH = AdministrationView.VIEW_ID + "/" + AdministrationView.SECTION_SECURITY_VIEW_ID + "/" + VIEW_ID;
- private static final int ID_OVERLORD = 1; - private static final int ID_RHQADMIN = 2; - private static final String HEADER_ICON = "global/User_24.png";
- private static Message message; - public UsersView(String locatorId) { super(locatorId, MSG.view_adminSecurity_users());
@@ -61,15 +54,6 @@ public class UsersView extends TableSection { }
@Override - public void refresh() { - super.refresh(); - if (UsersView.message != null) { - CoreGUI.getMessageCenter().notify(UsersView.message); - UsersView.message = null; - } - } - - @Override protected void configureTable() { getListGrid().setUseAllDataSourceFields(false);
@@ -97,8 +81,8 @@ public class UsersView extends TableSection { }
for (ListGridRecord record : selection) { - int id = record.getAttributeAsInt("id"); - if (id == ID_OVERLORD || id == ID_RHQADMIN) { + int id = record.getAttributeAsInt(UsersDataSource.Field.ID); + if (id == UsersDataSource.ID_OVERLORD || id == UsersDataSource.ID_RHQADMIN) { // The superuser and rhqadmin users cannot be deleted. return false; } @@ -125,12 +109,12 @@ public class UsersView extends TableSection {
@Override protected String getDataTypeName() { - return "user"; + return MSG.common_label_user(); }
@Override protected String getDataTypeNamePlural() { - return "users"; + return MSG.common_label_users(); }
} diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/AbstractRecordEditor.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/AbstractRecordEditor.java index 865ca35..f246c19 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/AbstractRecordEditor.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/AbstractRecordEditor.java @@ -287,18 +287,30 @@ public abstract class AbstractRecordEditor<DS extends RPCDataSource> extends Loc // Load the data into the form. this.form.editRecord(record);
+ // This tells form.saveData() to invoke executeUpdate() on the dataSource. + this.form.setSaveOperationType(DSOperationType.UPDATE); + // Now that all the widgets have been created and initialized, make everything visible. - LOADING_LABEL.hide(); - this.editCanvas.show(); - markForRedraw(); + displayForm(); }
private void editNewRecord() { this.titleBar.setTitle("New " + this.dataTypeName); + Record record = createNewRecord(); - editRecord(record); + this.form.editRecord(record); + // This tells form.saveData() to invoke executeAdd() on the dataSource. this.form.setSaveOperationType(DSOperationType.ADD); + + // Now that all the widgets have been created and initialized, make everything visible. + displayForm(); + } + + private void displayForm() { + LOADING_LABEL.hide(); + this.editCanvas.show(); + markForRedraw(); }
protected abstract Record createNewRecord(); @@ -325,8 +337,7 @@ public abstract class AbstractRecordEditor<DS extends RPCDataSource> extends Loc
protected void onExistingRecordFetched(Record record) { editRecord(record); - // This tells form.saveData() to invoke executeUpdate() on the dataSource. - this.form.setSaveOperationType(DSOperationType.UPDATE); +
// Perform up front validation for existing records. // NOTE: We do *not* do this for new records, since we expect most of the required fields to be blank. diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/EnhancedDynamicForm.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/EnhancedDynamicForm.java index de483de..b013f36 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/EnhancedDynamicForm.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/EnhancedDynamicForm.java @@ -87,6 +87,7 @@ public class EnhancedDynamicForm extends LocatableDynamicForm {
// DataSource Settings setAutoFetchData(true); + setUseAllDataSourceFields(false);
// Validation Settings setValidateOnChange(!isNewRecord); diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties index 4e7c1ed..8df9966 100644 --- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties +++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties @@ -1241,4 +1241,3 @@ view_messageCenter_messageTitle = Message Center~ view_messageCenter_messageSeverity = Severity~ view_messageCenter_messageTime = Time~ view_messageCenter_messageDetail = Detail~ -