From 9effe1630d97039b3e01cd9b58ed07e75be1d63c Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Mon, 25 Feb 2013 08:40:30 -0500
Subject: [PATCH] Merge pull request #75 from thefake/master

---
 src/com/gitblit/wicket/panels/BasePanel.java |   45 ++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 40 insertions(+), 5 deletions(-)

diff --git a/src/com/gitblit/wicket/panels/BasePanel.java b/src/com/gitblit/wicket/panels/BasePanel.java
index 02789fb..ec87917 100644
--- a/src/com/gitblit/wicket/panels/BasePanel.java
+++ b/src/com/gitblit/wicket/panels/BasePanel.java
@@ -15,6 +15,7 @@
  */
 package com.gitblit.wicket.panels;
 
+import java.util.ResourceBundle;
 import java.util.TimeZone;
 
 import org.apache.wicket.AttributeModifier;
@@ -22,15 +23,18 @@
 import org.apache.wicket.markup.html.panel.Panel;
 import org.apache.wicket.model.Model;
 
+import com.gitblit.Constants;
 import com.gitblit.GitBlit;
 import com.gitblit.Keys;
-import com.gitblit.utils.JGitUtils.SearchType;
+import com.gitblit.utils.TimeUtils;
 import com.gitblit.wicket.GitBlitWebSession;
 import com.gitblit.wicket.WicketUtils;
 
 public abstract class BasePanel extends Panel {
 
 	private static final long serialVersionUID = 1L;
+	
+	private transient TimeUtils timeUtils;
 
 	public BasePanel(String wicketId) {
 		super(wicketId);
@@ -38,13 +42,26 @@
 
 	protected TimeZone getTimeZone() {
 		return GitBlit.getBoolean(Keys.web.useClientTimezone, false) ? GitBlitWebSession.get()
-				.getTimezone() : TimeZone.getDefault();
+				.getTimezone() : GitBlit.getTimezone();
+	}
+	
+	protected TimeUtils getTimeUtils() {
+		if (timeUtils == null) {
+			ResourceBundle bundle;		
+			try {
+				bundle = ResourceBundle.getBundle("com.gitblit.wicket.GitBlitWebApp", GitBlitWebSession.get().getLocale());
+			} catch (Throwable t) {
+				bundle = ResourceBundle.getBundle("com.gitblit.wicket.GitBlitWebApp");
+			}
+			timeUtils = new TimeUtils(bundle);
+		}
+		return timeUtils;
 	}
 
-	protected void setPersonSearchTooltip(Component component, String value, SearchType searchType) {
-		if (searchType.equals(SearchType.AUTHOR)) {
+	protected void setPersonSearchTooltip(Component component, String value, Constants.SearchType searchType) {
+		if (searchType.equals(Constants.SearchType.AUTHOR)) {
 			WicketUtils.setHtmlTooltip(component, getString("gb.searchForAuthor") + " " + value);
-		} else if (searchType.equals(SearchType.COMMITTER)) {
+		} else if (searchType.equals(Constants.SearchType.COMMITTER)) {
 			WicketUtils.setHtmlTooltip(component, getString("gb.searchForCommitter") + " " + value);
 		}
 	}
@@ -67,4 +84,22 @@
 			return result;
 		}
 	}
+
+	public static class JavascriptTextPrompt extends AttributeModifier {
+
+		private static final long serialVersionUID = 1L;
+
+		private String initialValue = "";
+		
+		public JavascriptTextPrompt(String event, String msg, String value) {
+			super(event, true, new Model<String>(msg));
+			initialValue = value;
+		}
+
+		protected String newValue(final String currentValue, final String message) {
+			String result = "var userText = prompt('" + message + "','"
+					+ (initialValue == null ? "" : initialValue) + "'); " + "return userText; ";
+			return result;
+		}
+	}
 }

--
Gitblit v1.9.1