From 3f5b8f5d9203aa7ffb7fbe9cdbaf9dba3da6cae6 Mon Sep 17 00:00:00 2001
From: Hybris95 <hybris_95@hotmail.com>
Date: Thu, 01 May 2014 16:14:15 -0400
Subject: [PATCH] Fixes sort, page building and search functions on "my tickets" page.

---
 src/main/java/com/gitblit/wicket/GitBlitWebApp.java |   46 ++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 42 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/gitblit/wicket/GitBlitWebApp.java b/src/main/java/com/gitblit/wicket/GitBlitWebApp.java
index ab5ae2a..9f002d2 100644
--- a/src/main/java/com/gitblit/wicket/GitBlitWebApp.java
+++ b/src/main/java/com/gitblit/wicket/GitBlitWebApp.java
@@ -34,11 +34,13 @@
 import com.gitblit.manager.IFederationManager;
 import com.gitblit.manager.IGitblit;
 import com.gitblit.manager.INotificationManager;
+import com.gitblit.manager.IPluginManager;
 import com.gitblit.manager.IProjectManager;
 import com.gitblit.manager.IRepositoryManager;
 import com.gitblit.manager.IRuntimeManager;
 import com.gitblit.manager.IUserManager;
-import com.gitblit.utils.StringUtils;
+import com.gitblit.tickets.ITicketService;
+import com.gitblit.transport.ssh.IPublicKeyManager;
 import com.gitblit.wicket.pages.ActivityPage;
 import com.gitblit.wicket.pages.BlamePage;
 import com.gitblit.wicket.pages.BlobDiffPage;
@@ -49,6 +51,9 @@
 import com.gitblit.wicket.pages.ComparePage;
 import com.gitblit.wicket.pages.DocPage;
 import com.gitblit.wicket.pages.DocsPage;
+import com.gitblit.wicket.pages.EditMilestonePage;
+import com.gitblit.wicket.pages.EditTicketPage;
+import com.gitblit.wicket.pages.ExportTicketPage;
 import com.gitblit.wicket.pages.FederationRegistrationPage;
 import com.gitblit.wicket.pages.ForkPage;
 import com.gitblit.wicket.pages.ForksPage;
@@ -59,6 +64,8 @@
 import com.gitblit.wicket.pages.LuceneSearchPage;
 import com.gitblit.wicket.pages.MetricsPage;
 import com.gitblit.wicket.pages.MyDashboardPage;
+import com.gitblit.wicket.pages.NewMilestonePage;
+import com.gitblit.wicket.pages.NewTicketPage;
 import com.gitblit.wicket.pages.OverviewPage;
 import com.gitblit.wicket.pages.PatchPage;
 import com.gitblit.wicket.pages.ProjectPage;
@@ -70,9 +77,11 @@
 import com.gitblit.wicket.pages.SummaryPage;
 import com.gitblit.wicket.pages.TagPage;
 import com.gitblit.wicket.pages.TagsPage;
+import com.gitblit.wicket.pages.TicketsPage;
 import com.gitblit.wicket.pages.TreePage;
 import com.gitblit.wicket.pages.UserPage;
 import com.gitblit.wicket.pages.UsersPage;
+import com.gitblit.wicket.pages.MyTicketsPage;
 
 public class GitBlitWebApp extends WebApplication {
 
@@ -84,11 +93,15 @@
 
 	private final IRuntimeManager runtimeManager;
 
+	private final IPluginManager pluginManager;
+
 	private final INotificationManager notificationManager;
 
 	private final IUserManager userManager;
 
 	private final IAuthenticationManager authenticationManager;
+
+	private final IPublicKeyManager publicKeyManager;
 
 	private final IRepositoryManager repositoryManager;
 
@@ -100,9 +113,11 @@
 
 	public GitBlitWebApp(
 			IRuntimeManager runtimeManager,
+			IPluginManager pluginManager,
 			INotificationManager notificationManager,
 			IUserManager userManager,
 			IAuthenticationManager authenticationManager,
+			IPublicKeyManager publicKeyManager,
 			IRepositoryManager repositoryManager,
 			IProjectManager projectManager,
 			IFederationManager federationManager,
@@ -111,9 +126,11 @@
 		super();
 		this.settings = runtimeManager.getSettings();
 		this.runtimeManager = runtimeManager;
+		this.pluginManager = pluginManager;
 		this.notificationManager = notificationManager;
 		this.userManager = userManager;
 		this.authenticationManager = authenticationManager;
+		this.publicKeyManager = publicKeyManager;
 		this.repositoryManager = repositoryManager;
 		this.projectManager = projectManager;
 		this.federationManager = federationManager;
@@ -168,6 +185,15 @@
 		mount("/users", UsersPage.class);
 		mount("/logout", LogoutPage.class);
 
+		// setup ticket urls
+		mount("/tickets", TicketsPage.class, "r", "h");
+		mount("/tickets/new", NewTicketPage.class, "r");
+		mount("/tickets/edit", EditTicketPage.class, "r", "h");
+		mount("/tickets/export", ExportTicketPage.class, "r", "h");
+		mount("/milestones/new", NewMilestonePage.class, "r");
+		mount("/milestones/edit", EditMilestonePage.class, "r", "h");
+		mount("/mytickets", MyTicketsPage.class, "r", "h");
+
 		// setup the markup document urls
 		mount("/docs", DocsPage.class, "r");
 		mount("/doc", DocPage.class, "r", "h", "f");
@@ -221,9 +247,9 @@
 	public final Session newSession(Request request, Response response) {
 		GitBlitWebSession gitBlitWebSession = new GitBlitWebSession(request);
 
-		String forcedLocale = settings.getString(Keys.web.forceDefaultLocale, null);
-		if (!StringUtils.isEmpty(forcedLocale)) {
-			gitBlitWebSession.setLocale(new Locale(forcedLocale));
+		Locale forcedLocale = runtime().getLocale();
+		if (forcedLocale != null) {
+			gitBlitWebSession.setLocale(forcedLocale);
 		}
 		return gitBlitWebSession;
 	}
@@ -257,6 +283,10 @@
 		return runtimeManager;
 	}
 
+	public IPluginManager plugins() {
+		return pluginManager;
+	}
+
 	public INotificationManager notifier() {
 		return notificationManager;
 	}
@@ -267,6 +297,10 @@
 
 	public IAuthenticationManager authentication() {
 		return authenticationManager;
+	}
+
+	public IPublicKeyManager keys() {
+		return publicKeyManager;
 	}
 
 	public IRepositoryManager repositories() {
@@ -285,6 +319,10 @@
 		return gitblit;
 	}
 
+	public ITicketService tickets() {
+		return gitblit.getTicketService();
+	}
+
 	public TimeZone getTimezone() {
 		return runtimeManager.getTimezone();
 	}

--
Gitblit v1.9.1