James Moger
2012-12-05 6929d9df029d230d45d2b3f33717cb0ae6a40c56
Added attributes tab to Edit User for both site and Manager
4 files modified
59 ■■■■■ changed files
src/com/gitblit/client/EditUserDialog.java 39 ●●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/GitBlitWebApp.properties 1 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/EditUserPage.html 14 ●●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/EditUserPage.java 5 ●●●●● patch | view | raw | blame | history
src/com/gitblit/client/EditUserDialog.java
@@ -91,6 +91,16 @@
    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);
        }
src/com/gitblit/wicket/GitBlitWebApp.properties
@@ -434,3 +434,4 @@
gb.maxActivityCommits = max activity commits
gb.maxActivityCommitsDescription = maximum number of commits to contribute to the Activity page
gb.noMaximum = no maximum
gb.attributes = attributes
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">
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;