James Moger
2012-10-01 d683ddfbfbb4a0bec8c98167b399b05801b8062a
Tweaking forks page
4 files modified
52 ■■■■■ changed files
resources/gitblit.css 7 ●●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/GitBlitWebApp.properties 1 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/ForksPage.html 11 ●●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/ForksPage.java 33 ●●●●● patch | view | raw | blame | history
resources/gitblit.css
@@ -173,6 +173,13 @@
    padding: 2px 0px;
}
.forkSource .forks, .forkEntry .forks {
    font-size: 10px;
    padding-left: 5px;
    text-decoration: underline;
    vertical-align: middle;
}
div.page_footer {
    clear: both;
    height: 17px;
src/com/gitblit/wicket/GitBlitWebApp.properties
@@ -333,3 +333,4 @@
gb.myFork = view my fork
gb.forksProhibited = forks prohibited
gb.forksProhibitedWarning = this repository forbids forks
gb.noForks = {0} has no forks
src/com/gitblit/wicket/pages/ForksPage.html
@@ -8,17 +8,26 @@
<wicket:extend>
    <div class="forkSource">
        <div>
        <b><span class="repositorySwatch" wicket:id="forkSourceSwatch"></span></b>
        <span wicket:id="forkSourceAvatar" style="vertical-align: baseline;"></span>
        <span wicket:id="forkSourceProject">[a project]</span> / <span wicket:id="forkSource">[a fork]</span> 
    </div>
        <div style="padding-left:32px;" wicket:id="forkSourceOrigin">[origin repository]</div>
    </div>
    
    <div wicket:id="fork">
        <div class="forkEntry">
        <div class="forkEntry" style="margin-left:32px;">
            <span wicket:id="anAvatar" style="vertical-align: baseline;"></span>
            <span wicket:id="aProject">[a project]</span> / <span wicket:id="aFork">[a fork]</span>
            <span wicket:id="anIcon" class="forks"></span>
        </div>
    </div>
    <wicket:fragment wicket:id="originFragment">
        <p class="originRepository"><wicket:message key="gb.forkedFrom">[forked from]</wicket:message> <span wicket:id="originRepository">[origin repository]</span></p>
    </wicket:fragment>
</wicket:extend>    
</body>
</html>
src/com/gitblit/wicket/pages/ForksPage.java
@@ -15,12 +15,14 @@
 */
package com.gitblit.wicket.pages;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.List;
import org.apache.wicket.Component;
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.panel.Fragment;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.markup.repeater.data.DataView;
import org.apache.wicket.markup.repeater.data.ListDataProvider;
@@ -99,6 +101,27 @@
            add(new Label("forkSource", StringUtils.stripDotGit(source)));
        }
        // superOrigin?
        if (StringUtils.isEmpty(origin.originRepository)) {
            // origin is root
            add(new Label("forkSourceOrigin").setVisible(false));
        } else {
            // origin has an origin
            RepositoryModel superOrigin = GitBlit.self().getRepositoryModel(origin.originRepository);
            if (!user.canViewRepository(superOrigin)) {
                // show superOrigin repository without link
                Fragment forkFrag = new Fragment("forkSourceOrigin", "originFragment", this);
                forkFrag.add(new Label("originRepository", StringUtils.stripDotGit(superOrigin.name)));
                add(forkFrag);
            } else {
                // link to superOrigin repository
                Fragment forkFrag = new Fragment("forkSourceOrigin", "originFragment", this);
                forkFrag.add(new LinkPanel("originRepository", null, StringUtils.stripDotGit(superOrigin.name),
                    SummaryPage.class, WicketUtils.newRepositoryParameter(superOrigin.name)));
                add(forkFrag);
            }
        }
        // only display user-accessible forks
        List<RepositoryModel> forks = new ArrayList<RepositoryModel>();
        for (String aFork : list) {
@@ -129,7 +152,15 @@
                String repo = StringUtils.getLastPathElement(fork.name);
                item.add(new LinkPanel("aFork", null, StringUtils.stripDotGit(repo), SummaryPage.class, WicketUtils.newRepositoryParameter(fork.name)));
                
                WicketUtils.setCssStyle(item, "margin-left:25px;");
                if (ArrayUtils.isEmpty(fork.forks)) {
                    // repository is a leaf
                    Component icon = new Label("anIcon", "<i class=\"icon-leaf\" ></i>").setEscapeModelStrings(false);
                    WicketUtils.setHtmlTooltip(icon, MessageFormat.format(getString("gb.noForks"), fork.name));
                    item.add(icon);
                } else {
                    // show forks link
                    item.add(new LinkPanel("anIcon", null, "(" + getString("gb.forks") + ")", ForksPage.class, WicketUtils.newRepositoryParameter(fork.name)));
                }
            }
        };