From 0d013a007d08d7a50e226c6066da3190e0ba779b Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 23 Dec 2011 16:52:35 -0500
Subject: [PATCH] Display inherited scripts in EditRepository page. Drop mailing list helpline.
---
src/com/gitblit/GitBlit.java | 24 ++++++++++++
src/com/gitblit/wicket/GitBlitWebApp.properties | 1
src/com/gitblit/wicket/pages/EditRepositoryPage.java | 3 +
src/com/gitblit/wicket/panels/BulletListPanel.java | 48 ++++++++++++++++++++++++
src/com/gitblit/wicket/pages/EditRepositoryPage.html | 6 +-
src/com/gitblit/wicket/pages/EditTeamPage.html | 2
src/com/gitblit/wicket/panels/BulletListPanel.html | 13 ++++++
7 files changed, 92 insertions(+), 5 deletions(-)
diff --git a/src/com/gitblit/GitBlit.java b/src/com/gitblit/GitBlit.java
index c818dd5..4f08de4 100644
--- a/src/com/gitblit/GitBlit.java
+++ b/src/com/gitblit/GitBlit.java
@@ -1480,6 +1480,30 @@
return scripts;
}
+ public List<String> getInheritedPreReceiveScripts(RepositoryModel repository) {
+ Set<String> globals = new HashSet<String>();
+ for (String script : getStrings(Keys.groovy.preReceiveScripts)) {
+ if (script.endsWith(".groovy")) {
+ globals.add(script.substring(0, script.lastIndexOf('.')));
+ } else {
+ globals.add(script);
+ }
+ }
+ return new ArrayList<String>(globals);
+ }
+
+ public List<String> getInheritedPostReceiveScripts(RepositoryModel repository) {
+ Set<String> globals = new HashSet<String>();
+ for (String script : getStrings(Keys.groovy.postReceiveScripts)) {
+ if (script.endsWith(".groovy")) {
+ globals.add(script.substring(0, script.lastIndexOf('.')));
+ } else {
+ globals.add(script);
+ }
+ }
+ return new ArrayList<String>(globals);
+ }
+
/**
* Notify the administrators by email.
*
diff --git a/src/com/gitblit/wicket/GitBlitWebApp.properties b/src/com/gitblit/wicket/GitBlitWebApp.properties
index aead2c4..ed660bd 100644
--- a/src/com/gitblit/wicket/GitBlitWebApp.properties
+++ b/src/com/gitblit/wicket/GitBlitWebApp.properties
@@ -197,7 +197,6 @@
gb.emptyRepository = empty repository
gb.repositoryUrl = repository url
gb.mailingLists = mailing lists
-gb.mailingListsDescription = used by the sendmail hook
gb.preReceiveScripts = pre-receive scripts
gb.postReceiveScripts = post-receive scripts
gb.hookScripts = hook scripts
diff --git a/src/com/gitblit/wicket/pages/EditRepositoryPage.html b/src/com/gitblit/wicket/pages/EditRepositoryPage.html
index 9381344..a0e9b80 100644
--- a/src/com/gitblit/wicket/pages/EditRepositoryPage.html
+++ b/src/com/gitblit/wicket/pages/EditRepositoryPage.html
@@ -22,7 +22,7 @@
<tr><th><wicket:message key="gb.skipSizeCalculation"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="skipSizeCalculation" tabindex="9" /> <span class="help-inline"><wicket:message key="gb.skipSizeCalculationDescription"></wicket:message></span></td></tr>
<tr><th><wicket:message key="gb.skipSummaryMetrics"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="skipSummaryMetrics" tabindex="10" /> <span class="help-inline"><wicket:message key="gb.skipSummaryMetricsDescription"></wicket:message></span></td></tr>
<tr><th><wicket:message key="gb.isFrozen"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="isFrozen" tabindex="11" /> <span class="help-inline"><wicket:message key="gb.isFrozenDescription"></wicket:message></span></td></tr>
- <tr><th><wicket:message key="gb.mailingLists"></wicket:message></th><td class="edit"><input class="span12" type="text" wicket:id="mailingLists" size="40" tabindex="12" /> <span class="help-inline"><wicket:message key="gb.mailingListsDescription"></wicket:message></span></td></tr>
+ <tr><th><wicket:message key="gb.mailingLists"></wicket:message></th><td class="edit"><input class="span14" type="text" wicket:id="mailingLists" size="40" tabindex="12" /></td></tr>
<tr><td colspan="2"><h3><wicket:message key="gb.accessPermissions"></wicket:message></h3></td></tr>
<tr><th><wicket:message key="gb.accessRestriction"></wicket:message></th><td class="edit"><select class="span6" wicket:id="accessRestriction" tabindex="13" /></td></tr>
<tr><th style="vertical-align: top;"><wicket:message key="gb.permittedUsers"></wicket:message></th><td style="padding:2px;"><span wicket:id="users"></span></td></tr>
@@ -31,8 +31,8 @@
<tr><th><wicket:message key="gb.federationStrategy"></wicket:message></th><td class="edit"><select class="span6" wicket:id="federationStrategy" tabindex="14" /></td></tr>
<tr><th style="vertical-align: top;"><wicket:message key="gb.federationSets"></wicket:message></th><td style="padding:2px;"><span wicket:id="federationSets"></span></td></tr>
<tr><td colspan="2"><h3><wicket:message key="gb.hookScripts"></wicket:message></h3></td></tr>
- <tr><th style="vertical-align: top;"><wicket:message key="gb.preReceiveScripts"></wicket:message></th><td style="padding:2px;"><span wicket:id="preReceiveScripts"></span></td></tr>
- <tr><th style="vertical-align: top;"><wicket:message key="gb.postReceiveScripts"></wicket:message></th><td style="padding:2px;"><span wicket:id="postReceiveScripts"></span></td></tr>
+ <tr><th style="vertical-align: top;"><wicket:message key="gb.preReceiveScripts"></wicket:message><p></p><span wicket:id="inheritedPreReceive"></span></th><td style="padding:2px;"><span wicket:id="preReceiveScripts"></span></td></tr>
+ <tr><th style="vertical-align: top;"><wicket:message key="gb.postReceiveScripts"></wicket:message><p></p><span wicket:id="inheritedPostReceive"></span></th><td style="padding:2px;"><span wicket:id="postReceiveScripts"></span></td></tr>
<tr><td colspan='2'><div class="actions" "><input class="btn" type="submit" value="Cancel" wicket:message="value:gb.cancel" wicket:id="cancel" tabindex="15" /> <input class="btn primary" type="submit" value="Save" wicket:message="value:gb.save" wicket:id="save" tabindex="16" /></div></td></tr>
</tbody>
</table>
diff --git a/src/com/gitblit/wicket/pages/EditRepositoryPage.java b/src/com/gitblit/wicket/pages/EditRepositoryPage.java
index f595053..69d2119 100644
--- a/src/com/gitblit/wicket/pages/EditRepositoryPage.java
+++ b/src/com/gitblit/wicket/pages/EditRepositoryPage.java
@@ -50,6 +50,7 @@
import com.gitblit.utils.StringUtils;
import com.gitblit.wicket.GitBlitWebSession;
import com.gitblit.wicket.WicketUtils;
+import com.gitblit.wicket.panels.BulletListPanel;
public class EditRepositoryPage extends RootSubPage {
@@ -292,7 +293,9 @@
form.add(teamsPalette);
form.add(federationSetsPalette);
form.add(preReceivePalette);
+ form.add(new BulletListPanel("inheritedPreReceive", "inherited", GitBlit.self().getInheritedPreReceiveScripts(repositoryModel)));
form.add(postReceivePalette);
+ form.add(new BulletListPanel("inheritedPostReceive", "inherited", GitBlit.self().getInheritedPostReceiveScripts(repositoryModel)));
form.add(new Button("save"));
Button cancel = new Button("cancel") {
diff --git a/src/com/gitblit/wicket/pages/EditTeamPage.html b/src/com/gitblit/wicket/pages/EditTeamPage.html
index 537d78d..6c68aa2 100644
--- a/src/com/gitblit/wicket/pages/EditTeamPage.html
+++ b/src/com/gitblit/wicket/pages/EditTeamPage.html
@@ -12,7 +12,7 @@
<tbody class="settings">
<tr><td colspan="2"><h3><wicket:message key="gb.general"></wicket:message></h3></td></tr>
<tr><th><wicket:message key="gb.teamName"></wicket:message></th><td class="edit"><input type="text" wicket:id="name" id="name" size="30" tabindex="1" /></td></tr>
- <tr><th><wicket:message key="gb.mailingLists"></wicket:message></th><td class="edit"><input class="span12" type="text" wicket:id="mailingLists" size="40" tabindex="2" /> <span class="help-inline"><wicket:message key="gb.mailingListsDescription"></wicket:message></span></td></tr>
+ <tr><th><wicket:message key="gb.mailingLists"></wicket:message></th><td class="edit"><input class="span14" type="text" wicket:id="mailingLists" size="40" tabindex="2" /></td></tr>
<tr><td colspan="2" style="padding-top:10px;"><h3><wicket:message key="gb.accessPermissions"></wicket:message></h3></td></tr>
<tr><th style="vertical-align: top;"><wicket:message key="gb.teamMembers"></wicket:message></th><td style="padding:2px;"><span wicket:id="users"></span></td></tr>
<tr><td colspan="2"><hr></hr></td></tr>
diff --git a/src/com/gitblit/wicket/panels/BulletListPanel.html b/src/com/gitblit/wicket/panels/BulletListPanel.html
new file mode 100644
index 0000000..4d28f49
--- /dev/null
+++ b/src/com/gitblit/wicket/panels/BulletListPanel.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.3-strict.dtd"
+ xml:lang="en"
+ lang="en">
+
+<wicket:panel>
+ <span class="label" wicket:id="header">already specified</span>
+ <ul wicket:id="list">
+ <li wicket:id="listItem">item</li>
+ </ul>
+</wicket:panel>
+</html>
\ No newline at end of file
diff --git a/src/com/gitblit/wicket/panels/BulletListPanel.java b/src/com/gitblit/wicket/panels/BulletListPanel.java
new file mode 100644
index 0000000..e49223e
--- /dev/null
+++ b/src/com/gitblit/wicket/panels/BulletListPanel.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2011 gitblit.com.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.gitblit.wicket.panels;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.markup.repeater.Item;
+import org.apache.wicket.markup.repeater.data.DataView;
+import org.apache.wicket.markup.repeater.data.ListDataProvider;
+
+public class BulletListPanel extends Panel {
+
+ private static final long serialVersionUID = 1L;
+
+ public BulletListPanel(String id, String header, List<String> list) {
+ super(id);
+ if (list == null) {
+ list = new ArrayList<String>();
+ }
+ add(new Label("header", header).setVisible(list.size() > 0));
+ ListDataProvider<String> listDp = new ListDataProvider<String>(list);
+ DataView<String> listView = new DataView<String>("list", listDp) {
+ private static final long serialVersionUID = 1L;
+
+ public void populateItem(final Item<String> item) {
+ String entry = item.getModelObject();
+ item.add(new Label("listItem", entry));
+ }
+ };
+ add(listView.setVisible(list.size() > 0));
+ }
+}
\ No newline at end of file
--
Gitblit v1.9.1