From f76fee63ed9cb3a30d3c0c092d860b1cb93a481b Mon Sep 17 00:00:00 2001
From: Gerard Smyth <gerard.smyth@gmail.com>
Date: Thu, 08 May 2014 13:09:30 -0400
Subject: [PATCH] Updated the SyndicationServlet to provide an additional option to return details of the tags in the repository instead of the commits. This uses a new 'ot' request parameter to indicate the object type of the content to return, which can be ither TAG or COMMIT. If this is not provided, then COMMIT is assumed to maintain backwards compatability. If tags are returned, then the paging parameters, 'l' and 'pg' are still supported, but searching options are currently ignored.
---
src/main/java/com/gitblit/client/EditUserDialog.java | 71 ++++++++++++++++++-----------------
1 files changed, 37 insertions(+), 34 deletions(-)
diff --git a/src/main/java/com/gitblit/client/EditUserDialog.java b/src/main/java/com/gitblit/client/EditUserDialog.java
index fd6745e..676916b 100644
--- a/src/main/java/com/gitblit/client/EditUserDialog.java
+++ b/src/main/java/com/gitblit/client/EditUserDialog.java
@@ -79,29 +79,31 @@
private JPasswordField passwordField;
private JPasswordField confirmPasswordField;
-
+
private JTextField displayNameField;
-
+
private JTextField emailAddressField;
private JCheckBox canAdminCheckbox;
-
+
private JCheckBox canForkCheckbox;
-
+
private JCheckBox canCreateCheckbox;
private JCheckBox notFederatedCheckbox;
-
+
+ private JCheckBox disabledCheckbox;
+
private JTextField organizationalUnitField;
-
+
private JTextField organizationField;
private JTextField localityField;
-
+
private JTextField stateProvinceField;
-
+
private JTextField countryCodeField;
-
+
private RegistrantPermissionsPanel repositoryPalette;
private JPalette<TeamModel> teamsPalette;
@@ -132,6 +134,7 @@
KeyStroke stroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0);
JRootPane rootPane = new JRootPane();
rootPane.registerKeyboardAction(new ActionListener() {
+ @Override
public void actionPerformed(ActionEvent actionEvent) {
setVisible(false);
}
@@ -146,32 +149,24 @@
25);
displayNameField = new JTextField(anUser.displayName == null ? "" : anUser.displayName, 25);
emailAddressField = new JTextField(anUser.emailAddress == null ? "" : anUser.emailAddress, 25);
- canAdminCheckbox = new JCheckBox(Translation.get("gb.canAdminDescription"), anUser.canAdmin);
+ canAdminCheckbox = new JCheckBox(Translation.get("gb.canAdminDescription"), anUser.canAdmin);
canForkCheckbox = new JCheckBox(Translation.get("gb.canForkDescription"), anUser.canFork);
canCreateCheckbox = new JCheckBox(Translation.get("gb.canCreateDescription"), anUser.canCreate);
notFederatedCheckbox = new JCheckBox(
Translation.get("gb.excludeFromFederationDescription"),
anUser.excludeFromFederation);
-
+ disabledCheckbox = new JCheckBox(Translation.get("gb.disableUserDescription"), anUser.disabled);
+
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);
- confirmPasswordField.setEnabled(settings.supportsCredentialChanges);
- 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);
+ // credentials are optionally controlled by 3rd-party authentication
+ usernameField.setEnabled(anUser.isLocalAccount());
+ passwordField.setEnabled(anUser.isLocalAccount());
+ confirmPasswordField.setEnabled(anUser.isLocalAccount());
JPanel fieldsPanel = new JPanel(new GridLayout(0, 1));
fieldsPanel.add(newFieldPanel(Translation.get("gb.username"), usernameField));
@@ -184,6 +179,7 @@
fieldsPanel.add(newFieldPanel(Translation.get("gb.canCreate"), canCreateCheckbox));
fieldsPanel.add(newFieldPanel(Translation.get("gb.excludeFromFederation"),
notFederatedCheckbox));
+ fieldsPanel.add(newFieldPanel(Translation.get("gb.disableUser"), disabledCheckbox));
JPanel attributesPanel = new JPanel(new GridLayout(0, 1, 5, 2));
attributesPanel.add(newFieldPanel(Translation.get("gb.organizationalUnit") + " (OU)", organizationalUnitField));
@@ -191,11 +187,10 @@
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>();
- teamsPalette.setEnabled(settings.supportsTeamMembershipChanges);
JPanel fieldsPanelTop = new JPanel(new BorderLayout());
fieldsPanelTop.add(fieldsPanel, BorderLayout.NORTH);
@@ -207,6 +202,7 @@
private static final long serialVersionUID = 1L;
+ @Override
public Insets getInsets() {
return _insets;
}
@@ -217,6 +213,7 @@
private static final long serialVersionUID = 1L;
+ @Override
public Insets getInsets() {
return _insets;
}
@@ -233,6 +230,7 @@
JButton createButton = new JButton(Translation.get("gb.save"));
createButton.addActionListener(new ActionListener() {
+ @Override
public void actionPerformed(ActionEvent event) {
if (validateFields()) {
canceled = false;
@@ -243,6 +241,7 @@
JButton cancelButton = new JButton(Translation.get("gb.cancel"));
cancelButton.addActionListener(new ActionListener() {
+ @Override
public void actionPerformed(ActionEvent event) {
canceled = true;
setVisible(false);
@@ -330,6 +329,9 @@
return false;
}
+ // change the cookie
+ user.cookie = StringUtils.getSHA1(user.username + password);
+
String type = settings.get(Keys.realm.passwordStorage).getString("md5");
if (type.equalsIgnoreCase("md5")) {
// store MD5 digest of password
@@ -349,7 +351,7 @@
// no change in password
user.password = password;
}
-
+
user.displayName = displayNameField.getText().trim();
user.emailAddress = emailAddressField.getText().trim();
@@ -357,13 +359,14 @@
user.canFork = canForkCheckbox.isSelected();
user.canCreate = canCreateCheckbox.isSelected();
user.excludeFromFederation = notFederatedCheckbox.isSelected();
+ user.disabled = disabledCheckbox.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);
}
@@ -394,16 +397,16 @@
if (repo.accessRestriction.exceeds(AccessRestrictionType.NONE)
&& repo.authorizationControl.equals(AuthorizationControl.NAMED)) {
restricted.add(repo.name);
- }
+ }
}
repoMap.put(repo.name.toLowerCase(), repo);
}
StringUtils.sortRepositorynames(restricted);
-
+
List<String> list = new ArrayList<String>();
// repositories
list.add(".*");
-
+
String prefix;
if (settings.hasKey(Keys.git.userRepositoryPrefix)) {
prefix = settings.get(Keys.git.userRepositoryPrefix).currentValue;
@@ -418,7 +421,7 @@
// all repositories excluding personal repositories
list.add("[^" + prefix + "].*");
}
-
+
String lastProject = null;
for (String repo : restricted) {
String projectPath = StringUtils.getFirstPathElement(repo).toLowerCase();
@@ -440,7 +443,7 @@
list.remove(rp.registrant.toLowerCase());
}
}
-
+
// update owner and missing permissions for editing
for (RegistrantAccessPermission permission : permissions) {
if (permission.mutable && PermissionType.EXPLICIT.equals(permission.permissionType)) {
@@ -471,7 +474,7 @@
}
teamsPalette.setObjects(teams, selected);
}
-
+
public UserModel getUser() {
if (canceled) {
return null;
--
Gitblit v1.9.1