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)); }