From fdd82f02dddd2d4211e9df4239f3be6c8595b2dd Mon Sep 17 00:00:00 2001 From: James Moger Date: Thu, 1 May 2014 19:53:53 -0400 Subject: Refactored common code out of My Tickets and Tickets --- .../java/com/gitblit/wicket/pages/TicketPage.java | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'src/main/java/com/gitblit/wicket/pages/TicketPage.java') diff --git a/src/main/java/com/gitblit/wicket/pages/TicketPage.java b/src/main/java/com/gitblit/wicket/pages/TicketPage.java index 659acad0..c066f24d 100644 --- a/src/main/java/com/gitblit/wicket/pages/TicketPage.java +++ b/src/main/java/com/gitblit/wicket/pages/TicketPage.java @@ -86,6 +86,7 @@ import com.gitblit.utils.MarkdownUtils; 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 +103,7 @@ import com.gitblit.wicket.panels.SimpleAjaxLink; * @author James Moger * */ -public class TicketPage extends TicketBasePage { +public class TicketPage extends RepositoryPage { static final String NIL = ""; @@ -154,7 +155,7 @@ public class TicketPage extends TicketBasePage { 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) { @@ -317,10 +318,10 @@ public class TicketPage extends TicketBasePage { * 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 +371,7 @@ public class TicketPage extends TicketBasePage { setResponsePage(TicketsPage.class, getPageParameters()); } }; - String css = getStatusClass(item.getModel().getObject()); + String css = TicketsUI.getStatusClass(item.getModel().getObject()); WicketUtils.setCssClass(link, css); item.add(link); } @@ -665,7 +666,7 @@ public class TicketPage extends TicketBasePage { */ 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) { @@ -936,7 +937,7 @@ public class TicketPage extends TicketBasePage { case status: // special handling for status Status status = event.getStatus(); - String css = getLozengeClass(status, true); + String css = TicketsUI.getLozengeClass(status, true); value = String.format("%2$s", css, status.toString()); break; default: @@ -1525,14 +1526,14 @@ public class TicketPage extends TicketBasePage { 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: -- cgit v1.2.3 From 88730095c09fc5b9822a25aff919ca32f2a54508 Mon Sep 17 00:00:00 2001 From: James Moger Date: Thu, 15 May 2014 13:28:49 -0400 Subject: Process bugtraq links in the ticket description and comments --- releases.moxie | 1 + src/main/java/com/gitblit/wicket/pages/TicketPage.java | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'src/main/java/com/gitblit/wicket/pages/TicketPage.java') diff --git a/releases.moxie b/releases.moxie index 7c12f30b..049a2826 100644 --- a/releases.moxie +++ b/releases.moxie @@ -22,6 +22,7 @@ r24: { - Move repository deletion functions to the edit repository page AND allow deletion to be disabled (pr-180, ticket-67) - Update the Korean translation (pr-184, ticket-69) - Overhaul the EmptyRepositoryPage (ticket-73) + - Process bugtraq links in the ticket description and comments (ticket-78) additions: - Add My Tickets page (issue-215, ticket-15) - Added CRUD functionality for Ticket Milestones (ticket-17) diff --git a/src/main/java/com/gitblit/wicket/pages/TicketPage.java b/src/main/java/com/gitblit/wicket/pages/TicketPage.java index c066f24d..c8ec2f8c 100644 --- a/src/main/java/com/gitblit/wicket/pages/TicketPage.java +++ b/src/main/java/com/gitblit/wicket/pages/TicketPage.java @@ -278,7 +278,8 @@ public class TicketPage extends RepositoryPage { if (StringUtils.isEmpty(ticket.body)) { desc = getString("gb.noDescriptionGiven"); } else { - desc = MarkdownUtils.transformGFM(app().settings(), ticket.body, ticket.repository); + String bugtraq = bugtraqProcessor().processPlainCommitMessage(getRepository(), repositoryName, ticket.body); + desc = MarkdownUtils.transformGFM(app().settings(), bugtraq, ticket.repository); } add(new Label("ticketDescription", desc).setEscapeModelStrings(false)); @@ -685,7 +686,8 @@ public class TicketPage extends RepositoryPage { /* * COMMENT */ - String comment = MarkdownUtils.transformGFM(app().settings(), entry.comment.text, repositoryName); + String bugtraq = bugtraqProcessor().processPlainCommitMessage(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) { -- cgit v1.2.3 From d07b16755045eeb28f3802e610c67325481ad5bf Mon Sep 17 00:00:00 2001 From: James Moger Date: Thu, 22 May 2014 17:26:21 -0400 Subject: Correct usage of bugtraq processor --- src/main/java/com/gitblit/wicket/pages/TicketPage.java | 6 +++--- src/main/java/com/gitblit/wicket/panels/TicketListPanel.java | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'src/main/java/com/gitblit/wicket/pages/TicketPage.java') diff --git a/src/main/java/com/gitblit/wicket/pages/TicketPage.java b/src/main/java/com/gitblit/wicket/pages/TicketPage.java index c8ec2f8c..c282695b 100644 --- a/src/main/java/com/gitblit/wicket/pages/TicketPage.java +++ b/src/main/java/com/gitblit/wicket/pages/TicketPage.java @@ -278,7 +278,7 @@ public class TicketPage extends RepositoryPage { if (StringUtils.isEmpty(ticket.body)) { desc = getString("gb.noDescriptionGiven"); } else { - String bugtraq = bugtraqProcessor().processPlainCommitMessage(getRepository(), repositoryName, ticket.body); + String bugtraq = bugtraqProcessor().processText(getRepository(), repositoryName, ticket.body); desc = MarkdownUtils.transformGFM(app().settings(), bugtraq, ticket.repository); } add(new Label("ticketDescription", desc).setEscapeModelStrings(false)); @@ -507,7 +507,7 @@ public class TicketPage extends RepositoryPage { 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)); } @@ -686,7 +686,7 @@ public class TicketPage extends RepositoryPage { /* * COMMENT */ - String bugtraq = bugtraqProcessor().processPlainCommitMessage(getRepository(), repositoryName, entry.comment.text); + 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"); diff --git a/src/main/java/com/gitblit/wicket/panels/TicketListPanel.java b/src/main/java/com/gitblit/wicket/panels/TicketListPanel.java index ab763b8f..1ca483ce 100644 --- a/src/main/java/com/gitblit/wicket/panels/TicketListPanel.java +++ b/src/main/java/com/gitblit/wicket/panels/TicketListPanel.java @@ -123,7 +123,7 @@ public class TicketListPanel extends BasePanel { public void populateItem(final Item labelItem) { BugtraqProcessor btp = new BugtraqProcessor(app().settings()); Repository db = app().repositories().getRepository(repository.name); - String content = btp.processPlainCommitMessage(db, repository.name, labelItem.getModelObject()); + String content = btp.processText(db, repository.name, labelItem.getModelObject()); db.close(); Label label = new Label("label", content); label.setEscapeModelStrings(false); -- cgit v1.2.3 From e0331746c1aee48a18ae2954770ca481d49eaf36 Mon Sep 17 00:00:00 2001 From: James Moger Date: Mon, 9 Jun 2014 11:33:42 -0400 Subject: Link to open tickets view for open milestones from ticket page --- src/main/java/com/gitblit/wicket/pages/TicketPage.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/main/java/com/gitblit/wicket/pages/TicketPage.java') diff --git a/src/main/java/com/gitblit/wicket/pages/TicketPage.java b/src/main/java/com/gitblit/wicket/pages/TicketPage.java index f7e4ada5..f5f63d23 100644 --- a/src/main/java/com/gitblit/wicket/pages/TicketPage.java +++ b/src/main/java/com/gitblit/wicket/pages/TicketPage.java @@ -250,8 +250,12 @@ public class TicketPage extends RepositoryPage { } 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; -- cgit v1.2.3