James Moger
2012-12-05 6929d9df029d230d45d2b3f33717cb0ae6a40c56
Added attributes tab to Edit User for both site and Manager
4 files modified
61 ■■■■■ changed files
src/com/gitblit/client/EditUserDialog.java 39 ●●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/GitBlitWebApp.properties 3 ●●●● 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
@@ -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);
        }
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
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;