From 97d3afed7f416bc3c0740b05974949ea38520c7e Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 28 Dec 2011 20:09:46 -0500
Subject: [PATCH] Manager support for hook script inheritance

---
 src/com/gitblit/client/EditTeamDialog.java |   41 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 41 insertions(+), 0 deletions(-)

diff --git a/src/com/gitblit/client/EditTeamDialog.java b/src/com/gitblit/client/EditTeamDialog.java
index a04ed2c..49669e2 100644
--- a/src/com/gitblit/client/EditTeamDialog.java
+++ b/src/com/gitblit/client/EditTeamDialog.java
@@ -71,6 +71,10 @@
 
 	private JPalette<String> userPalette;
 
+	private JPalette<String> preReceivePalette;
+
+	private JPalette<String> postReceivePalette;
+
 	private Set<String> teamnames;
 
 	public EditTeamDialog(int protocolVersion, ServerSettings settings) {
@@ -141,10 +145,24 @@
 		};
 		usersPanel.add(userPalette, BorderLayout.CENTER);
 
+		preReceivePalette = new JPalette<String>(true);
+		JPanel preReceivePanel = new JPanel(new BorderLayout(5, 5));
+		preReceivePanel.add(
+				newFieldPanel(Translation.get("gb.preReceiveScripts"), preReceivePalette),
+				BorderLayout.CENTER);
+
+		postReceivePalette = new JPalette<String>(true);
+		JPanel postReceivePanel = new JPanel(new BorderLayout(5, 5));
+		postReceivePanel.add(
+				newFieldPanel(Translation.get("gb.postReceiveScripts"), postReceivePalette),
+				BorderLayout.CENTER);
+
 		JTabbedPane panel = new JTabbedPane(JTabbedPane.TOP);
 		panel.addTab(Translation.get("gb.general"), fieldsPanelTop);
 		panel.addTab(Translation.get("gb.teamMembers"), usersPanel);
 		panel.addTab(Translation.get("gb.restrictedRepositories"), repositoriesPanel);
+		panel.addTab(Translation.get("gb.preReceiveScripts"), preReceivePanel);
+		panel.addTab(Translation.get("gb.postReceiveScripts"), postReceivePanel);
 
 		JButton createButton = new JButton(Translation.get("gb.save"));
 		createButton.addActionListener(new ActionListener() {
@@ -241,6 +259,13 @@
 
 		team.users.clear();
 		team.users.addAll(userPalette.getSelections());
+
+		team.preReceiveScripts.clear();
+		team.preReceiveScripts.addAll(preReceivePalette.getSelections());
+
+		team.postReceiveScripts.clear();
+		team.postReceiveScripts.addAll(postReceivePalette.getSelections());
+
 		return true;
 	}
 
@@ -278,6 +303,22 @@
 		userPalette.setObjects(users, selected);
 	}
 
+	public void setPreReceiveScripts(List<String> unused, List<String> selected) {
+		Collections.sort(unused);
+		if (selected != null) {
+			Collections.sort(selected);
+		}
+		preReceivePalette.setObjects(unused, selected);
+	}
+
+	public void setPostReceiveScripts(List<String> unused, List<String> selected) {
+		Collections.sort(unused);
+		if (selected != null) {
+			Collections.sort(selected);
+		}
+		postReceivePalette.setObjects(unused, selected);
+	}
+
 	public TeamModel getTeam() {
 		if (canceled) {
 			return null;

--
Gitblit v1.9.1