James Moger
2011-09-30 d376abaca317746fed3b557045432302b8f0b82f
Clarified page hierarchy. Fixed TicGit pages.
1 files added
1 files renamed
1 files deleted
16 files modified
167 ■■■■■ changed files
src/com/gitblit/wicket/WicketUtils.java 8 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/ChangePasswordPage.java 2 ●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/EditRepositoryPage.java 2 ●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/EditUserPage.java 6 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/FederationPage.html 6 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/FederationPage.java 1 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/FederationRegistrationPage.java 13 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/RepositoriesPage.java 1 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/ReviewProposalPage.html 2 ●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/ReviewProposalPage.java 4 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/RootPage.java 38 ●●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/RootSubPage.html 18 ●●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/RootSubPage.java 21 ●●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/SendProposalPage.html 2 ●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/SendProposalPage.java 6 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/StandardPage.html 32 ●●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/TicketPage.html 2 ●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/TicketPage.java 2 ●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/UsersPage.java 1 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/WicketUtils.java
@@ -88,13 +88,13 @@
    public static void setTicketCssClass(Component container, String state) {
        String css = null;
        if (state.equals("open")) {
            css = "bug_open";
            css = "label important";
        } else if (state.equals("hold")) {
            css = "bug_hold";
            css = "label warning";
        } else if (state.equals("resolved")) {
            css = "bug_resolved";
            css = "label success";
        } else if (state.equals("invalid")) {
            css = "bug_invalid";
            css = "label";
        }
        if (css != null) {
            setCssClass(container, css);
src/com/gitblit/wicket/pages/ChangePasswordPage.java
@@ -32,7 +32,7 @@
import com.gitblit.utils.StringUtils;
import com.gitblit.wicket.GitBlitWebSession;
public class ChangePasswordPage extends StandardPage {
public class ChangePasswordPage extends RootSubPage {
    IModel<String> password = new Model<String>("");
    IModel<String> confirmPassword = new Model<String>("");
src/com/gitblit/wicket/pages/EditRepositoryPage.java
@@ -47,7 +47,7 @@
import com.gitblit.wicket.GitBlitWebSession;
import com.gitblit.wicket.WicketUtils;
public class EditRepositoryPage extends StandardPage {
public class EditRepositoryPage extends RootSubPage {
    private final boolean isCreate;
src/com/gitblit/wicket/pages/EditUserPage.java
@@ -44,7 +44,7 @@
import com.gitblit.wicket.WicketUtils;
@RequiresAdminRole
public class EditUserPage extends StandardPage {
public class EditUserPage extends RootSubPage {
    private final boolean isCreate;
@@ -157,8 +157,8 @@
                            userModel.username));
                    setResponsePage(EditUserPage.class);
                } else {
                    // back to home
                    setResponsePage(RepositoriesPage.class);
                    // back to users page
                    setResponsePage(UsersPage.class);
                }
            }
        };
src/com/gitblit/wicket/pages/FederationPage.html
@@ -6,12 +6,12 @@
<body>
<wicket:extend>
    <div wicket:id="federationProposalsPanel">[federation proposals panel]</div>
    <div wicket:id="federationTokensPanel">[federation tokens panel]</div>
    <div style="padding-top: 10px;" wicket:id="federationProposalsPanel">[federation proposals panel]</div>
    <div style="padding-top: 10px;" wicket:id="federationRegistrationsPanel">[federation registrations panel]</div>
    <div wicket:id="federationTokensPanel">[federation tokens panel]</div>
</wicket:extend>
</body>
</html>
src/com/gitblit/wicket/pages/FederationPage.java
@@ -25,6 +25,7 @@
    public FederationPage() {
        super();
        setupPage("", "");
        boolean showFederation = showAdmin && GitBlit.canFederate();
        add(new FederationTokensPanel("federationTokensPanel", showFederation)
src/com/gitblit/wicket/pages/FederationRegistrationPage.java
@@ -25,24 +25,15 @@
import org.apache.wicket.markup.repeater.data.ListDataProvider;
import com.gitblit.GitBlit;
import com.gitblit.Keys;
import com.gitblit.models.FederationModel;
import com.gitblit.models.FederationModel.RepositoryStatus;
import com.gitblit.wicket.GitBlitWebSession;
import com.gitblit.wicket.WicketUtils;
public class FederationRegistrationPage extends StandardPage {
public class FederationRegistrationPage extends RootSubPage {
    public FederationRegistrationPage(PageParameters params) {
        super(params);
        final boolean showAdmin;
        if (GitBlit.getBoolean(Keys.web.authenticateAdminPages, true)) {
            boolean allowAdmin = GitBlit.getBoolean(Keys.web.allowAdministration, false);
            showAdmin = allowAdmin && GitBlitWebSession.get().canAdmin();
        } else {
            showAdmin = false;
        }
        setStatelessHint(true);
        String url = WicketUtils.getUrlParameter(params);
src/com/gitblit/wicket/pages/RepositoriesPage.java
@@ -35,6 +35,7 @@
    public RepositoriesPage() {
        super();
        setupPage("", "");
        // Load the markdown welcome message
        String messageSource = GitBlit.getString(Keys.web.repositoriesMessage, "gitblit");
src/com/gitblit/wicket/pages/ReviewProposalPage.html
@@ -16,7 +16,7 @@
        <tr><th valign="top"><wicket:message key="gb.proposal">proposal</wicket:message></th><td><span class="sha1" wicket:id="definition">[definition]</span></td></tr>
    </table>
        
    <div wicket:id="repositories"></div>
    <div wicket:id="repositoriesPanel"></div>
    
</wicket:extend>    
</body>
src/com/gitblit/wicket/pages/ReviewProposalPage.java
@@ -33,7 +33,7 @@
import com.gitblit.wicket.panels.RepositoriesPanel;
@RequiresAdminRole
public class ReviewProposalPage extends StandardPage {
public class ReviewProposalPage extends RootSubPage {
    private final String PROPS_PATTERN = "{0} = {1}\n";
@@ -91,7 +91,7 @@
        List<RepositoryModel> repositories = new ArrayList<RepositoryModel>(
                proposal.repositories.values());
        RepositoriesPanel repositoriesPanel = new RepositoriesPanel("repositories", false,
        RepositoriesPanel repositoriesPanel = new RepositoriesPanel("repositoriesPanel", false,
                repositories, getAccessRestrictions());
        add(repositoriesPanel);
    }
src/com/gitblit/wicket/pages/RootPage.java
@@ -17,15 +17,13 @@
import java.text.MessageFormat;
import javax.servlet.http.Cookie;
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.form.PasswordTextField;
import org.apache.wicket.markup.html.form.StatelessForm;
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.protocol.http.WebRequest;
import org.apache.wicket.protocol.http.WebResponse;
import com.gitblit.Constants;
@@ -35,23 +33,30 @@
import com.gitblit.utils.StringUtils;
import com.gitblit.wicket.GitBlitWebSession;
/**
 * Root page is a topbar, navigable page like Repositories, Users, or
 * Federation.
 *
 * @author James Moger
 *
 */
public abstract class RootPage extends BasePage {
    final boolean showAdmin;
    boolean showAdmin;
    IModel<String> username = new Model<String>("");
    IModel<String> password = new Model<String>("");
    public RootPage() {
        super();
        setupPage("", "");
    }
        // try to automatically login from cookie
        if (!GitBlitWebSession.get().isLoggedIn()
                && GitBlit.getBoolean(Keys.web.allowCookieAuthentication, false)) {
            loginByCookie();
        }
    public RootPage(PageParameters params) {
        super(params);
    }
    @Override
    protected void setupPage(String repositoryName, String pageName) {
        if (GitBlit.getBoolean(Keys.web.authenticateAdminPages, true)) {
            boolean allowAdmin = GitBlit.getBoolean(Keys.web.allowAdministration, false);
            showAdmin = allowAdmin && GitBlitWebSession.get().canAdmin();
@@ -122,19 +127,8 @@
                        pendingProposals));
            }
        }
    }
    private void loginByCookie() {
        UserModel user = null;
        // Grab cookie from Browser Session
        Cookie[] cookies = ((WebRequest) getRequestCycle().getRequest()).getCookies();
        if (cookies != null && cookies.length > 0) {
            user = GitBlit.self().authenticate(cookies);
        }
        // Login the user
        loginUser(user);
        super.setupPage(repositoryName, pageName);
    }
    private void loginUser(UserModel user) {
src/com/gitblit/wicket/pages/RootSubPage.html
New file
@@ -0,0 +1,18 @@
<!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">
<body>
<wicket:extend>
    <!-- page header -->
    <div class="page-header">
        <h2><span wicket:id="pageName">[page name]</span> <small><span wicket:id="pageSubName">[sub name]</span></small></h2>
    </div>
    <!-- Subclass Content -->
    <wicket:child/>
</wicket:extend>
</body>
</html>
src/com/gitblit/wicket/pages/RootSubPage.java
File was renamed from src/com/gitblit/wicket/pages/StandardPage.java
@@ -20,21 +20,24 @@
import com.gitblit.utils.StringUtils;
public abstract class StandardPage extends BasePage {
    public StandardPage() {
        // create constructor
/**
 * RootSubPage is a non-topbar navigable RootPage. It also has a page header.
 *
 * @author James Moger
 *
 */
public abstract class RootSubPage extends RootPage {
    public RootSubPage() {
        super();
        setStatelessHint(true);
    }
    public StandardPage(PageParameters params) {
        // edit constructor
    public RootSubPage(PageParameters params) {
        super(params);
        setStatelessHint(true);
    }
    protected void setupPage(String pageName, String subName) {
    @Override
    protected void setupPage(String pageName, String subName) {
        add(new Label("pageName", pageName));
        if (!StringUtils.isEmpty(subName)) {
            subName = "/ " + subName;
src/com/gitblit/wicket/pages/SendProposalPage.html
@@ -18,7 +18,7 @@
    </table>
    </form>
    
    <div style="padding-top:10px;" wicket:id="repositories"></div>
    <div style="padding-top:10px;" wicket:id="repositoriesPanel"></div>
</body>
</wicket:extend>    
</html>
src/com/gitblit/wicket/pages/SendProposalPage.java
@@ -37,7 +37,7 @@
import com.gitblit.wicket.panels.RepositoriesPanel;
@RequiresAdminRole
public class SendProposalPage extends StandardPage {
public class SendProposalPage extends RootSubPage {
    public String myUrl;
@@ -139,7 +139,7 @@
            @Override
            public void onSubmit() {
                setResponsePage(RepositoriesPage.class);
                setResponsePage(FederationPage.class);
            }
        };
        cancel.setDefaultFormProcessing(false);
@@ -148,7 +148,7 @@
        List<RepositoryModel> repositories = new ArrayList<RepositoryModel>(
                proposal.repositories.values());
        RepositoriesPanel repositoriesPanel = new RepositoriesPanel("repositories", false,
        RepositoriesPanel repositoriesPanel = new RepositoriesPanel("repositoriesPanel", false,
                repositories, getAccessRestrictions());
        add(repositoriesPanel);
    }
src/com/gitblit/wicket/pages/StandardPage.html
File was deleted
src/com/gitblit/wicket/pages/TicketPage.html
@@ -8,7 +8,7 @@
<wicket:extend>
    <!-- ticket title -->
    <div style="font-size:150%;padding-top:5px;" wicket:id="ticketTitle">[ticket title]</div>
    <div style="font-size:150%;padding-top:5px;padding-bottom:5px;" wicket:id="ticketTitle">[ticket title]</div>
        
    <!-- ticket info -->
    <table class="plain">
src/com/gitblit/wicket/pages/TicketPage.java
@@ -34,7 +34,7 @@
    public TicketPage(PageParameters params) {
        super(params);
        final String ticketFolder = WicketUtils.getPath(params);
        final String ticketFolder = WicketUtils.getObject(params);
        Repository r = getRepository();
        TicketModel t = TicgitUtils.getTicket(r, ticketFolder);
src/com/gitblit/wicket/pages/UsersPage.java
@@ -23,6 +23,7 @@
    public UsersPage() {
        super();        
        setupPage("", "");
        add(new UsersPanel("usersPanel", showAdmin).setVisible(showAdmin));
    }