From 87163b405e60dba58453105cd8c06181d4f6b13a Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 05 Mar 2015 09:17:34 -0500
Subject: [PATCH] Merged #243 "Allow Forks is not saved on repository edit"

---
 src/main/java/com/gitblit/wicket/panels/AccessPolicyPanel.java |   25 +++++++++----------------
 1 files changed, 9 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/gitblit/wicket/panels/AccessPolicyPanel.java b/src/main/java/com/gitblit/wicket/panels/AccessPolicyPanel.java
index 7aa801f..2c88024 100644
--- a/src/main/java/com/gitblit/wicket/panels/AccessPolicyPanel.java
+++ b/src/main/java/com/gitblit/wicket/panels/AccessPolicyPanel.java
@@ -21,14 +21,13 @@
 
 import org.apache.wicket.ajax.form.AjaxFormChoiceComponentUpdatingBehavior;
 import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.markup.html.form.CheckBox;
 import org.apache.wicket.markup.html.form.Radio;
 import org.apache.wicket.markup.html.form.RadioGroup;
 import org.apache.wicket.markup.html.list.ListItem;
 import org.apache.wicket.markup.html.list.ListView;
 import org.apache.wicket.markup.html.panel.Fragment;
-import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
+import org.apache.wicket.model.PropertyModel;
 
 import com.gitblit.Constants.AccessRestrictionType;
 import com.gitblit.Constants.AuthorizationControl;
@@ -51,8 +50,6 @@
 	private final AjaxFormChoiceComponentUpdatingBehavior callback;
 
 	private RadioGroup<AccessPolicy> policiesGroup;
-
-	private IModel<Boolean> allowForks;
 
 	public AccessPolicyPanel(String wicketId, RepositoryModel repository) {
 		this(wicketId, repository, null);
@@ -147,28 +144,24 @@
 		}
 		add(policiesGroup);
 
-		allowForks = Model.of(true);
-		add(newCheckbox("allowForks",
+		if (app().settings().getBoolean(Keys.web.allowForking, true)) {
+			Fragment fragment = new Fragment("allowForks", "allowForksFragment", this);
+			fragment.add(new BooleanOption("allowForks",
 				getString("gb.allowForks"),
 				getString("gb.allowForksDescription"),
-				allowForks).setEnabled(app().settings().getBoolean(Keys.web.allowForking, true)));
+				new PropertyModel<Boolean>(repository, "allowForks")));
+			add(fragment);
+		} else {
+			add(new Label("allowForks").setVisible(false));
+		}
 
 		setOutputMarkupId(true);
-	}
-
-	private Fragment newCheckbox(String wicketId, String title, String description, IModel<Boolean> model) {
-		Fragment fragment = new Fragment(wicketId, "checkboxOption", this);
-		fragment.add(new Label("name", title));
-		fragment.add(new Label("description", description));
-		fragment.add(new CheckBox("checkbox", model));
-		return fragment;
 	}
 
 	public void updateModel(RepositoryModel repository) {
 		AccessPolicy policy = policiesGroup.getModelObject();
 		repository.authorizationControl = policy.control;
 		repository.accessRestriction = policy.type;
-		repository.allowForks = allowForks.getObject();
 	}
 
 	@Override

--
Gitblit v1.9.1