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