James Moger
2011-12-23 0d013a007d08d7a50e226c6066da3190e0ba779b
Display inherited scripts in EditRepository page. Drop mailing list helpline.
2 files added
5 files modified
97 ■■■■■ changed files
src/com/gitblit/GitBlit.java 24 ●●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/GitBlitWebApp.properties 1 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/EditRepositoryPage.html 6 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/EditRepositoryPage.java 3 ●●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/EditTeamPage.html 2 ●●● patch | view | raw | blame | history
src/com/gitblit/wicket/panels/BulletListPanel.html 13 ●●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/panels/BulletListPanel.java 48 ●●●●● patch | view | raw | blame | history
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.
     * 
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
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" /> &nbsp;<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" /> &nbsp;<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" /> &nbsp;<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" /> &nbsp;<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" /> &nbsp; <input class="btn primary" type="submit" value="Save" wicket:message="value:gb.save" wicket:id="save" tabindex="16" /></div></td></tr>
            </tbody>
        </table>
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") {
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" /> &nbsp;<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>
src/com/gitblit/wicket/panels/BulletListPanel.html
New file
@@ -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>
src/com/gitblit/wicket/panels/BulletListPanel.java
New file
@@ -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));
    }
}