From 6929d9df029d230d45d2b3f33717cb0ae6a40c56 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Wed, 05 Dec 2012 17:24:18 -0500 Subject: [PATCH] Added attributes tab to Edit User for both site and Manager --- src/com/gitblit/wicket/pages/EditUserPage.html | 14 +++++++ src/com/gitblit/wicket/GitBlitWebApp.properties | 3 + src/com/gitblit/wicket/pages/EditUserPage.java | 5 ++ src/com/gitblit/client/EditUserDialog.java | 39 +++++++++++++++++++ 4 files changed, 60 insertions(+), 1 deletions(-) diff --git a/src/com/gitblit/client/EditUserDialog.java b/src/com/gitblit/client/EditUserDialog.java index e954fed..0400f5c 100644 --- a/src/com/gitblit/client/EditUserDialog.java +++ b/src/com/gitblit/client/EditUserDialog.java @@ -90,7 +90,17 @@ private JCheckBox canCreateCheckbox; private JCheckBox notFederatedCheckbox; + + private JTextField organizationalUnitField; + + private JTextField organizationField; + private JTextField localityField; + + private JTextField stateProvinceField; + + private JTextField countryCodeField; + private RegistrantPermissionsPanel repositoryPalette; private JPalette<TeamModel> teamsPalette; @@ -142,6 +152,12 @@ Translation.get("gb.excludeFromFederationDescription"), anUser.excludeFromFederation); + organizationalUnitField = new JTextField(anUser.organizationalUnit == null ? "" : anUser.organizationalUnit, 25); + organizationField = new JTextField(anUser.organization == null ? "" : anUser.organization, 25); + localityField = new JTextField(anUser.locality == null ? "" : anUser.locality, 25); + stateProvinceField = new JTextField(anUser.stateProvince == null ? "" : anUser.stateProvince, 25); + countryCodeField = new JTextField(anUser.countryCode == null ? "" : anUser.countryCode, 15); + // credentials are optionally controlled by 3rd-party authentication usernameField.setEnabled(settings.supportsCredentialChanges); passwordField.setEnabled(settings.supportsCredentialChanges); @@ -149,6 +165,12 @@ displayNameField.setEnabled(settings.supportsDisplayNameChanges); emailAddressField.setEnabled(settings.supportsEmailAddressChanges); + + organizationalUnitField.setEnabled(settings.supportsDisplayNameChanges); + organizationField.setEnabled(settings.supportsDisplayNameChanges); + localityField.setEnabled(settings.supportsDisplayNameChanges); + stateProvinceField.setEnabled(settings.supportsDisplayNameChanges); + countryCodeField.setEnabled(settings.supportsDisplayNameChanges); JPanel fieldsPanel = new JPanel(new GridLayout(0, 1)); fieldsPanel.add(newFieldPanel(Translation.get("gb.username"), usernameField)); @@ -162,6 +184,13 @@ fieldsPanel.add(newFieldPanel(Translation.get("gb.excludeFromFederation"), notFederatedCheckbox)); + JPanel attributesPanel = new JPanel(new GridLayout(0, 1, 5, 2)); + attributesPanel.add(newFieldPanel(Translation.get("gb.organizationalUnit") + " (OU)", organizationalUnitField)); + attributesPanel.add(newFieldPanel(Translation.get("gb.organization") + " (O)", organizationField)); + attributesPanel.add(newFieldPanel(Translation.get("gb.locality") + " (L)", localityField)); + attributesPanel.add(newFieldPanel(Translation.get("gb.stateProvince") + " (ST)", stateProvinceField)); + attributesPanel.add(newFieldPanel(Translation.get("gb.countryCode") + " (C)", countryCodeField)); + final Insets _insets = new Insets(5, 5, 5, 5); repositoryPalette = new RegistrantPermissionsPanel(RegistrantType.REPOSITORY); teamsPalette = new JPalette<TeamModel>(); @@ -169,6 +198,9 @@ JPanel fieldsPanelTop = new JPanel(new BorderLayout()); fieldsPanelTop.add(fieldsPanel, BorderLayout.NORTH); + + JPanel attributesPanelTop = new JPanel(new BorderLayout()); + attributesPanelTop.add(attributesPanel, BorderLayout.NORTH); JPanel repositoriesPanel = new JPanel(new BorderLayout()) { @@ -192,6 +224,7 @@ JTabbedPane panel = new JTabbedPane(JTabbedPane.TOP); panel.addTab(Translation.get("gb.general"), fieldsPanelTop); + panel.addTab(Translation.get("gb.attributes"), attributesPanelTop); if (protocolVersion > 1) { panel.addTab(Translation.get("gb.teamMemberships"), teamsPanel); } @@ -324,6 +357,12 @@ user.canCreate = canCreateCheckbox.isSelected(); user.excludeFromFederation = notFederatedCheckbox.isSelected(); + user.organizationalUnit = organizationalUnitField.getText().trim(); + user.organization = organizationField.getText().trim(); + user.locality = localityField.getText().trim(); + user.stateProvince = stateProvinceField.getText().trim(); + user.countryCode = countryCodeField.getText().trim(); + for (RegistrantAccessPermission rp : repositoryPalette.getPermissions()) { user.setRepositoryPermission(rp.registrant, rp.permission); } diff --git a/src/com/gitblit/wicket/GitBlitWebApp.properties b/src/com/gitblit/wicket/GitBlitWebApp.properties index 9ee9f39..7ce7526 100644 --- a/src/com/gitblit/wicket/GitBlitWebApp.properties +++ b/src/com/gitblit/wicket/GitBlitWebApp.properties @@ -433,4 +433,5 @@ gb.jceWarning = Your Java Runtime Environment does not have the \"JCE Unlimited Strength Jurisdiction Policy\" files.\nThis will limit the length of passwords you may use to encrypt your keystores to 7 characters.\nThese policy files are an optional download from Oracle.\n\nWould you like to continue and generate the certificate infrastructure anyway?\n\nAnswering No will direct your browser to Oracle's download page so that you may download the policy files. gb.maxActivityCommits = max activity commits gb.maxActivityCommitsDescription = maximum number of commits to contribute to the Activity page -gb.noMaximum = no maximum \ No newline at end of file +gb.noMaximum = no maximum +gb.attributes = attributes \ No newline at end of file diff --git a/src/com/gitblit/wicket/pages/EditUserPage.html b/src/com/gitblit/wicket/pages/EditUserPage.html index e697a35..e79011c 100644 --- a/src/com/gitblit/wicket/pages/EditUserPage.html +++ b/src/com/gitblit/wicket/pages/EditUserPage.html @@ -13,6 +13,7 @@ <!-- tab titles --> <ul class="nav nav-tabs"> <li class="active"><a href="#general" data-toggle="tab"><wicket:message key="gb.general"></wicket:message></a></li> + <li><a href="#attributes" data-toggle="tab"><wicket:message key="gb.attributes"></wicket:message></a></li> <li><a href="#permissions" data-toggle="tab"><wicket:message key="gb.accessPermissions"></wicket:message></a></li> </ul> @@ -36,6 +37,19 @@ </table> </div> + <!-- attributes tab --> + <div class="tab-pane" id="attributes"> + <table class="plain"> + <tbody class="settings"> + <tr><th><wicket:message key="gb.organizationalUnit"></wicket:message> (OU)</th><td class="edit"><input type="text" wicket:id="organizationalUnit" size="30" tabindex="1" /></td></tr> + <tr><th><wicket:message key="gb.organization"></wicket:message> (O)</th><td class="edit"><input type="text" wicket:id="organization" size="30" tabindex="2" /></td></tr> + <tr><th><wicket:message key="gb.locality"></wicket:message> (L)</th><td class="edit"><input type="text" wicket:id="locality" size="30" tabindex="3" /></td></tr> + <tr><th><wicket:message key="gb.stateProvince"></wicket:message> (ST)</th><td class="edit"><input type="text" wicket:id="stateProvince" size="30" tabindex="4" /></td></tr> + <tr><th><wicket:message key="gb.countryCode"></wicket:message> (C)</th><td class="edit"><input type="text" wicket:id="countryCode" size="15 " tabindex="5" /></td></tr> + </tbody> + </table> + </div> + <!-- access permissions tab --> <div class="tab-pane" id="permissions"> <table class="plain"> diff --git a/src/com/gitblit/wicket/pages/EditUserPage.java b/src/com/gitblit/wicket/pages/EditUserPage.java index d22800e..7a01fb6 100644 --- a/src/com/gitblit/wicket/pages/EditUserPage.java +++ b/src/com/gitblit/wicket/pages/EditUserPage.java @@ -239,6 +239,11 @@ form.add(new RegistrantPermissionsPanel("repositories", RegistrantType.REPOSITORY, repos, permissions, getAccessPermissions())); form.add(teams.setEnabled(editTeams)); + form.add(new TextField<String>("organizationalUnit").setEnabled(editDisplayName)); + form.add(new TextField<String>("organization").setEnabled(editDisplayName)); + form.add(new TextField<String>("locality").setEnabled(editDisplayName)); + form.add(new TextField<String>("stateProvince").setEnabled(editDisplayName)); + form.add(new TextField<String>("countryCode").setEnabled(editDisplayName)); form.add(new Button("save")); Button cancel = new Button("cancel") { private static final long serialVersionUID = 1L; -- Gitblit v1.9.1