From d376abaca317746fed3b557045432302b8f0b82f Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 30 Sep 2011 19:49:03 -0400
Subject: [PATCH] Clarified page hierarchy. Fixed TicGit pages.
---
src/com/gitblit/wicket/pages/RepositoriesPage.java | 1
src/com/gitblit/wicket/pages/EditRepositoryPage.java | 2
src/com/gitblit/wicket/pages/EditUserPage.java | 6 +-
src/com/gitblit/wicket/pages/FederationRegistrationPage.java | 13 ---
src/com/gitblit/wicket/pages/FederationPage.html | 6 +-
src/com/gitblit/wicket/pages/ReviewProposalPage.java | 4
src/com/gitblit/wicket/pages/SendProposalPage.java | 6 +-
src/com/gitblit/wicket/pages/RootSubPage.html | 18 ++++++
/dev/null | 32 ----------
src/com/gitblit/wicket/pages/TicketPage.java | 2
src/com/gitblit/wicket/WicketUtils.java | 8 +-
src/com/gitblit/wicket/pages/FederationPage.java | 1
src/com/gitblit/wicket/pages/ChangePasswordPage.java | 2
src/com/gitblit/wicket/pages/RootPage.java | 38 +++++-------
src/com/gitblit/wicket/pages/SendProposalPage.html | 2
src/com/gitblit/wicket/pages/ReviewProposalPage.html | 2
src/com/gitblit/wicket/pages/TicketPage.html | 2
src/com/gitblit/wicket/pages/RootSubPage.java | 21 ++++---
src/com/gitblit/wicket/pages/UsersPage.java | 1
19 files changed, 72 insertions(+), 95 deletions(-)
diff --git a/src/com/gitblit/wicket/WicketUtils.java b/src/com/gitblit/wicket/WicketUtils.java
index 3ffd6cd..e5b7f69 100644
--- a/src/com/gitblit/wicket/WicketUtils.java
+++ b/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);
diff --git a/src/com/gitblit/wicket/pages/ChangePasswordPage.java b/src/com/gitblit/wicket/pages/ChangePasswordPage.java
index 660a813..fec2414 100644
--- a/src/com/gitblit/wicket/pages/ChangePasswordPage.java
+++ b/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>("");
diff --git a/src/com/gitblit/wicket/pages/EditRepositoryPage.java b/src/com/gitblit/wicket/pages/EditRepositoryPage.java
index ae7966d..2afe014 100644
--- a/src/com/gitblit/wicket/pages/EditRepositoryPage.java
+++ b/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;
diff --git a/src/com/gitblit/wicket/pages/EditUserPage.java b/src/com/gitblit/wicket/pages/EditUserPage.java
index 8dbb0d9..446ab89 100644
--- a/src/com/gitblit/wicket/pages/EditUserPage.java
+++ b/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);
}
}
};
diff --git a/src/com/gitblit/wicket/pages/FederationPage.html b/src/com/gitblit/wicket/pages/FederationPage.html
index ab8a941..bb39d34 100644
--- a/src/com/gitblit/wicket/pages/FederationPage.html
+++ b/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>
\ No newline at end of file
diff --git a/src/com/gitblit/wicket/pages/FederationPage.java b/src/com/gitblit/wicket/pages/FederationPage.java
index b993f71..1f98c17 100644
--- a/src/com/gitblit/wicket/pages/FederationPage.java
+++ b/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)
diff --git a/src/com/gitblit/wicket/pages/FederationRegistrationPage.java b/src/com/gitblit/wicket/pages/FederationRegistrationPage.java
index aed94a4..e480eb7 100644
--- a/src/com/gitblit/wicket/pages/FederationRegistrationPage.java
+++ b/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);
diff --git a/src/com/gitblit/wicket/pages/RepositoriesPage.java b/src/com/gitblit/wicket/pages/RepositoriesPage.java
index 5339760..289006f 100644
--- a/src/com/gitblit/wicket/pages/RepositoriesPage.java
+++ b/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");
diff --git a/src/com/gitblit/wicket/pages/ReviewProposalPage.html b/src/com/gitblit/wicket/pages/ReviewProposalPage.html
index 7f26f28..6487a0a 100644
--- a/src/com/gitblit/wicket/pages/ReviewProposalPage.html
+++ b/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>
diff --git a/src/com/gitblit/wicket/pages/ReviewProposalPage.java b/src/com/gitblit/wicket/pages/ReviewProposalPage.java
index 2f2d6f3..1d9092a 100644
--- a/src/com/gitblit/wicket/pages/ReviewProposalPage.java
+++ b/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);
}
diff --git a/src/com/gitblit/wicket/pages/RootPage.java b/src/com/gitblit/wicket/pages/RootPage.java
index dd64de6..37f6ad1 100644
--- a/src/com/gitblit/wicket/pages/RootPage.java
+++ b/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) {
diff --git a/src/com/gitblit/wicket/pages/RootSubPage.html b/src/com/gitblit/wicket/pages/RootSubPage.html
new file mode 100644
index 0000000..554da11
--- /dev/null
+++ b/src/com/gitblit/wicket/pages/RootSubPage.html
@@ -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>
\ No newline at end of file
diff --git a/src/com/gitblit/wicket/pages/StandardPage.java b/src/com/gitblit/wicket/pages/RootSubPage.java
similarity index 76%
rename from src/com/gitblit/wicket/pages/StandardPage.java
rename to src/com/gitblit/wicket/pages/RootSubPage.java
index 4598931..f7572b1 100644
--- a/src/com/gitblit/wicket/pages/StandardPage.java
+++ b/src/com/gitblit/wicket/pages/RootSubPage.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;
diff --git a/src/com/gitblit/wicket/pages/SendProposalPage.html b/src/com/gitblit/wicket/pages/SendProposalPage.html
index 794cb70..8a28906 100644
--- a/src/com/gitblit/wicket/pages/SendProposalPage.html
+++ b/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>
\ No newline at end of file
diff --git a/src/com/gitblit/wicket/pages/SendProposalPage.java b/src/com/gitblit/wicket/pages/SendProposalPage.java
index 11f97a0..ed20049 100644
--- a/src/com/gitblit/wicket/pages/SendProposalPage.java
+++ b/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);
}
diff --git a/src/com/gitblit/wicket/pages/StandardPage.html b/src/com/gitblit/wicket/pages/StandardPage.html
deleted file mode 100644
index 14ec15c..0000000
--- a/src/com/gitblit/wicket/pages/StandardPage.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!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>
- <!-- topbar header -->
- <div class="topbar">
- <div class="fill">
- <div class="container">
- <a class="brand" wicket:id="rootLink">
- <img src="gitblt_25_white.png" width="79" height="25" alt="gitblit" class="logo"/>
- </a>
- </div>
- </div>
- </div>
-
- <!-- feedback panel -->
- <div style="text-align:center;padding-top:5px;" wicket:id="feedback">[Feedback Panel]</div>
-
- <!-- 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>
\ No newline at end of file
diff --git a/src/com/gitblit/wicket/pages/TicketPage.html b/src/com/gitblit/wicket/pages/TicketPage.html
index 160bc0c..ed3eb22 100644
--- a/src/com/gitblit/wicket/pages/TicketPage.html
+++ b/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">
diff --git a/src/com/gitblit/wicket/pages/TicketPage.java b/src/com/gitblit/wicket/pages/TicketPage.java
index 48db1ce..d250a45 100644
--- a/src/com/gitblit/wicket/pages/TicketPage.java
+++ b/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);
diff --git a/src/com/gitblit/wicket/pages/UsersPage.java b/src/com/gitblit/wicket/pages/UsersPage.java
index 9a7f8a5..b54b968 100644
--- a/src/com/gitblit/wicket/pages/UsersPage.java
+++ b/src/com/gitblit/wicket/pages/UsersPage.java
@@ -23,6 +23,7 @@
public UsersPage() {
super();
+ setupPage("", "");
add(new UsersPanel("usersPanel", showAdmin).setVisible(showAdmin));
}
--
Gitblit v1.9.1