From eecaad8b8e2c447429c31a01d49260ddd6b4ee03 Mon Sep 17 00:00:00 2001
From: Paul Martin <paul@paulsputer.com>
Date: Sat, 16 Apr 2016 17:35:32 -0400
Subject: [PATCH] Proof of concept #1026

---
 src/main/java/com/gitblit/client/EditRepositoryDialog.java |   38 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 38 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/gitblit/client/EditRepositoryDialog.java b/src/main/java/com/gitblit/client/EditRepositoryDialog.java
index ce22d72..ef665d1 100644
--- a/src/main/java/com/gitblit/client/EditRepositoryDialog.java
+++ b/src/main/java/com/gitblit/client/EditRepositoryDialog.java
@@ -58,6 +58,8 @@
 import javax.swing.ListCellRenderer;
 import javax.swing.ScrollPaneConstants;
 
+import org.eclipse.jgit.lib.Repository;
+
 import com.gitblit.Constants.AccessRestrictionType;
 import com.gitblit.Constants.AuthorizationControl;
 import com.gitblit.Constants.FederationStrategy;
@@ -88,6 +90,14 @@
 
 	private JTextField descriptionField;
 
+	private JCheckBox acceptNewPatchsets;
+
+	private JCheckBox acceptNewTickets;
+
+	private JCheckBox requireApproval;
+
+	private JComboBox mergeToField;
+
 	private JCheckBox useIncrementalPushTags;
 
 	private JCheckBox showRemoteBranches;
@@ -205,6 +215,22 @@
 
 		ownersPalette = new JPalette<String>(true);
 
+		acceptNewTickets = new JCheckBox(Translation.get("gb.acceptsNewTicketsDescription"),
+				anRepository.acceptNewTickets);
+		acceptNewPatchsets = new JCheckBox(Translation.get("gb.acceptsNewPatchsetsDescription"),
+				anRepository.acceptNewPatchsets);
+		requireApproval = new JCheckBox(Translation.get("gb.requireApprovalDescription"),
+				anRepository.requireApproval);
+
+		if (ArrayUtils.isEmpty(anRepository.availableRefs)) {
+			mergeToField = new JComboBox();
+			mergeToField.setEnabled(false);
+		} else {
+			mergeToField = new JComboBox(
+					anRepository.availableRefs.toArray());
+			mergeToField.setSelectedItem(anRepository.mergeTo);
+		}
+
 		useIncrementalPushTags = new JCheckBox(Translation.get("gb.useIncrementalPushTagsDescription"),
 				anRepository.useIncrementalPushTags);
 		showRemoteBranches = new JCheckBox(
@@ -298,6 +324,13 @@
 		fieldsPanel.add(newFieldPanel(Translation.get("gb.gcPeriod"), gcPeriod));
 		fieldsPanel.add(newFieldPanel(Translation.get("gb.gcThreshold"), gcThreshold));
 
+		fieldsPanel.add(newFieldPanel(Translation.get("gb.acceptsNewTickets"),
+				acceptNewTickets));
+		fieldsPanel.add(newFieldPanel(Translation.get("gb.acceptsNewPatchsets"),
+				acceptNewPatchsets));
+		fieldsPanel.add(newFieldPanel(Translation.get("gb.requireApproval"),
+				requireApproval));
+		fieldsPanel.add(newFieldPanel(Translation.get("gb.mergeTo"), mergeToField));
 		fieldsPanel
 		.add(newFieldPanel(Translation.get("gb.enableIncrementalPushTags"), useIncrementalPushTags));
 		fieldsPanel.add(newFieldPanel(Translation.get("gb.showRemoteBranches"),
@@ -552,6 +585,11 @@
 				: headRefField.getSelectedItem().toString();
 		repository.gcPeriod = (Integer) gcPeriod.getSelectedItem();
 		repository.gcThreshold = gcThreshold.getText();
+		repository.acceptNewPatchsets = acceptNewPatchsets.isSelected();
+		repository.acceptNewTickets = acceptNewTickets.isSelected();
+		repository.requireApproval = requireApproval.isSelected();
+		repository.mergeTo = mergeToField.getSelectedItem() == null ? null
+				: Repository.shortenRefName(mergeToField.getSelectedItem().toString());
 		repository.useIncrementalPushTags = useIncrementalPushTags.isSelected();
 		repository.showRemoteBranches = showRemoteBranches.isSelected();
 		repository.skipSizeCalculation = skipSizeCalculation.isSelected();

--
Gitblit v1.9.1