From 077d23176a8f098766bf492081ae5ab9acb2d285 Mon Sep 17 00:00:00 2001
From: Carsten Lenz <clenz2@csc.com>
Date: Fri, 13 Jun 2014 08:26:23 -0400
Subject: [PATCH] Add german translation of welcome.mkd

---
 src/main/java/com/gitblit/wicket/pages/TicketPage.java |   51 +++++++++++++++++++++++++++++++++------------------
 1 files changed, 33 insertions(+), 18 deletions(-)

diff --git a/src/main/java/com/gitblit/wicket/pages/TicketPage.java b/src/main/java/com/gitblit/wicket/pages/TicketPage.java
index 659acad..f5f63d2 100644
--- a/src/main/java/com/gitblit/wicket/pages/TicketPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/TicketPage.java
@@ -57,6 +57,7 @@
 
 import com.gitblit.Constants;
 import com.gitblit.Constants.AccessPermission;
+import com.gitblit.Constants.AuthorizationControl;
 import com.gitblit.Keys;
 import com.gitblit.git.PatchsetCommand;
 import com.gitblit.git.PatchsetReceivePack;
@@ -86,6 +87,7 @@
 import com.gitblit.utils.StringUtils;
 import com.gitblit.utils.TimeUtils;
 import com.gitblit.wicket.GitBlitWebSession;
+import com.gitblit.wicket.TicketsUI;
 import com.gitblit.wicket.WicketUtils;
 import com.gitblit.wicket.panels.BasePanel.JavascriptTextPrompt;
 import com.gitblit.wicket.panels.CommentPanel;
@@ -102,7 +104,7 @@
  * @author James Moger
  *
  */
-public class TicketPage extends TicketBasePage {
+public class TicketPage extends RepositoryPage {
 
 	static final String NIL = "<nil>";
 
@@ -154,7 +156,7 @@
 		String href = urlFor(TicketsPage.class, params).toString();
 		add(new ExternalLink("ticketNumber", href, "#" + ticket.number));
 		Label headerStatus = new Label("headerStatus", ticket.status.toString());
-		WicketUtils.setCssClass(headerStatus, getLozengeClass(ticket.status, false));
+		WicketUtils.setCssClass(headerStatus, TicketsUI.getLozengeClass(ticket.status, false));
 		add(headerStatus);
 		add(new Label("ticketTitle", ticket.title));
 		if (currentPatchset == null) {
@@ -248,8 +250,12 @@
 		} else {
 			// link to milestone query
 			TicketMilestone milestone = app().tickets().getMilestone(repository, ticket.milestone);
-			PageParameters milestoneParameters = new PageParameters();
-			milestoneParameters.put("r", repositoryName);
+			PageParameters milestoneParameters;
+			if (milestone.isOpen()) {
+				milestoneParameters = WicketUtils.newOpenTicketsParameter(repositoryName);
+			} else {
+				milestoneParameters = WicketUtils.newRepositoryParameter(repositoryName);
+			}
 			milestoneParameters.put(Lucene.milestone.name(), ticket.milestone);
 			int progress = 0;
 			int open = 0;
@@ -277,7 +283,8 @@
 		if (StringUtils.isEmpty(ticket.body)) {
 			desc = getString("gb.noDescriptionGiven");
 		} else {
-			desc = MarkdownUtils.transformGFM(app().settings(), ticket.body, ticket.repository);
+			String bugtraq = bugtraqProcessor().processText(getRepository(), repositoryName, ticket.body);
+			desc = MarkdownUtils.transformGFM(app().settings(), bugtraq, ticket.repository);
 		}
 		add(new Label("ticketDescription", desc).setEscapeModelStrings(false));
 
@@ -317,10 +324,10 @@
 		 * LARGE STATUS INDICATOR WITH ICON (DISCUSSION TAB->SIDE BAR)
 		 */
 		Fragment ticketStatus = new Fragment("ticketStatus", "ticketStatusFragment", this);
-		Label ticketIcon = getStateIcon("ticketIcon", ticket);
+		Label ticketIcon = TicketsUI.getStateIcon("ticketIcon", ticket);
 		ticketStatus.add(ticketIcon);
 		ticketStatus.add(new Label("ticketStatus", ticket.status.toString()));
-		WicketUtils.setCssClass(ticketStatus, getLozengeClass(ticket.status, false));
+		WicketUtils.setCssClass(ticketStatus, TicketsUI.getLozengeClass(ticket.status, false));
 		add(ticketStatus);
 
 
@@ -370,7 +377,7 @@
 								setResponsePage(TicketsPage.class, getPageParameters());
 							}
 						};
-						String css = getStatusClass(item.getModel().getObject());
+						String css = TicketsUI.getStatusClass(item.getModel().getObject());
 						WicketUtils.setCssClass(link, css);
 						item.add(link);
 					}
@@ -381,9 +388,16 @@
 				 * RESPONSIBLE LIST
 				 */
 				Set<String> userlist = new TreeSet<String>(ticket.getParticipants());
-				for (RegistrantAccessPermission rp : app().repositories().getUserAccessPermissions(getRepositoryModel())) {
-					if (rp.permission.atLeast(AccessPermission.PUSH) && !rp.isTeam()) {
-						userlist.add(rp.registrant);
+				if (UserModel.ANONYMOUS.canPush(getRepositoryModel())
+						|| AuthorizationControl.AUTHENTICATED == getRepositoryModel().authorizationControl) {
+					// 	authorization is ANONYMOUS or AUTHENTICATED (i.e. all users can be set responsible)
+					userlist.addAll(app().users().getAllUsernames());
+				} else {
+					// authorization is by NAMED users (users with PUSH permission can be set responsible)
+					for (RegistrantAccessPermission rp : app().repositories().getUserAccessPermissions(getRepositoryModel())) {
+						if (rp.permission.atLeast(AccessPermission.PUSH)) {
+							userlist.add(rp.registrant);
+						}
 					}
 				}
 				List<TicketResponsible> responsibles = new ArrayList<TicketResponsible>();
@@ -505,7 +519,7 @@
 			add(new Label("ticketTopic").setVisible(false));
 		} else {
 			// process the topic using the bugtraq config to link things
-			String topic = bugtraqProcessor().processPlainCommitMessage(getRepository(), repositoryName, ticket.topic);
+			String topic = bugtraqProcessor().processText(getRepository(), repositoryName, ticket.topic);
 			add(new Label("ticketTopic", topic).setEscapeModelStrings(false));
 		}
 
@@ -665,7 +679,7 @@
 						 */
 						Fragment frag = new Fragment("entry", "statusFragment", this);
 						Label status = new Label("statusChange", entry.getStatus().toString());
-						String css = getLozengeClass(entry.getStatus(), false);
+						String css = TicketsUI.getLozengeClass(entry.getStatus(), false);
 						WicketUtils.setCssClass(status, css);
 						for (IBehavior b : status.getBehaviors()) {
 							if (b instanceof SimpleAttributeModifier) {
@@ -684,7 +698,8 @@
 						/*
 						 * COMMENT
 						 */
-						String comment = MarkdownUtils.transformGFM(app().settings(), entry.comment.text, repositoryName);
+						String bugtraq = bugtraqProcessor().processText(getRepository(), repositoryName, entry.comment.text);
+						String comment = MarkdownUtils.transformGFM(app().settings(), bugtraq, repositoryName);
 						Fragment frag = new Fragment("entry", "commentFragment", this);
 						Label commentIcon = new Label("commentIcon");
 						if (entry.comment.src == CommentSource.Email) {
@@ -936,7 +951,7 @@
 							case status:
 								// special handling for status
 								Status status = event.getStatus();
-								String css = getLozengeClass(status, true);
+								String css = TicketsUI.getLozengeClass(status, true);
 								value = String.format("<span class=\"%1$s\">%2$s</span>", css, status.toString());
 								break;
 							default:
@@ -1525,14 +1540,14 @@
 		switch (type) {
 			case Rebase:
 			case Rebase_Squash:
-				typeCss = getLozengeClass(Status.Declined, false);
+				typeCss = TicketsUI.getLozengeClass(Status.Declined, false);
 				break;
 			case Squash:
 			case Amend:
-				typeCss = getLozengeClass(Status.On_Hold, false);
+				typeCss = TicketsUI.getLozengeClass(Status.On_Hold, false);
 				break;
 			case Proposal:
-				typeCss = getLozengeClass(Status.New, false);
+				typeCss = TicketsUI.getLozengeClass(Status.New, false);
 				break;
 			case FastForward:
 			default:

--
Gitblit v1.9.1