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 | 30 +++++++++++++++++++++++++++--- 1 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/gitblit/wicket/panels/AccessPolicyPanel.java b/src/main/java/com/gitblit/wicket/panels/AccessPolicyPanel.java index a115e25..2c88024 100644 --- a/src/main/java/com/gitblit/wicket/panels/AccessPolicyPanel.java +++ b/src/main/java/com/gitblit/wicket/panels/AccessPolicyPanel.java @@ -19,12 +19,15 @@ import java.util.ArrayList; import java.util.List; +import org.apache.wicket.ajax.form.AjaxFormChoiceComponentUpdatingBehavior; import org.apache.wicket.markup.html.basic.Label; 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.Model; +import org.apache.wicket.model.PropertyModel; import com.gitblit.Constants.AccessRestrictionType; import com.gitblit.Constants.AuthorizationControl; @@ -44,11 +47,18 @@ private final RepositoryModel repository; + private final AjaxFormChoiceComponentUpdatingBehavior callback; + private RadioGroup<AccessPolicy> policiesGroup; public AccessPolicyPanel(String wicketId, RepositoryModel repository) { + this(wicketId, repository, null); + } + + public AccessPolicyPanel(String wicketId, RepositoryModel repository, AjaxFormChoiceComponentUpdatingBehavior callback) { super(wicketId); this.repository = repository; + this.callback = callback; } @Override @@ -128,10 +138,24 @@ } }; policiesGroup.add(policiesList); + if (callback != null) { + policiesGroup.add(callback); + policiesGroup.setOutputMarkupId(true); + } + add(policiesGroup); + + 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"), + new PropertyModel<Boolean>(repository, "allowForks"))); + add(fragment); + } else { + add(new Label("allowForks").setVisible(false)); + } setOutputMarkupId(true); - - add(policiesGroup); } public void updateModel(RepositoryModel repository) { @@ -145,7 +169,7 @@ return false; } - private static class AccessPolicy implements Serializable { + public static class AccessPolicy implements Serializable { private static final long serialVersionUID = 1L; -- Gitblit v1.9.1