From b55030a765f040a15609c60d3f69b6cb7f00bdae Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Sat, 16 Apr 2011 09:27:57 -0400 Subject: [PATCH] More flexible authentication. Anonymous view, authenticated admin. --- src/com/gitblit/wicket/pages/TicGitTicketPage.java | 54 +++++++++++++++--------------------------------------- 1 files changed, 15 insertions(+), 39 deletions(-) diff --git a/src/com/gitblit/wicket/pages/TicGitTicketPage.java b/src/com/gitblit/wicket/pages/TicGitTicketPage.java index 76d9c1a..b4c9cf5 100644 --- a/src/com/gitblit/wicket/pages/TicGitTicketPage.java +++ b/src/com/gitblit/wicket/pages/TicGitTicketPage.java @@ -1,7 +1,5 @@ package com.gitblit.wicket.pages; -import java.util.List; - import org.apache.wicket.PageParameters; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.repeater.Item; @@ -10,43 +8,31 @@ import org.eclipse.jgit.lib.Repository; import com.gitblit.utils.JGitUtils; -import com.gitblit.utils.TicGitTicket; -import com.gitblit.utils.TicGitTicket.Comment; +import com.gitblit.utils.StringUtils; import com.gitblit.wicket.GitBlitWebSession; import com.gitblit.wicket.RepositoryPage; import com.gitblit.wicket.WicketUtils; +import com.gitblit.wicket.models.TicGitTicket; +import com.gitblit.wicket.models.TicGitTicket.Comment; public class TicGitTicketPage extends RepositoryPage { public TicGitTicketPage(PageParameters params) { super(params); - final String ticketFolder = params.getString("f", ""); + final String ticketFolder = WicketUtils.getPath(params); Repository r = getRepository(); TicGitTicket t = JGitUtils.getTicGitTicket(r, ticketFolder); add(new Label("ticketTitle", t.title)); add(new Label("ticketId", t.id)); - add(new Label("ticketHandler", t.handler)); - String openDate = GitBlitWebSession.get().formatDateTimeLong(t.date); - add(new Label("ticketOpenDate", openDate)); + add(new Label("ticketHandler", t.handler.toLowerCase())); + add(WicketUtils.createTimestampLabel("ticketOpenDate", t.date, getTimeZone())); Label stateLabel = new Label("ticketState", t.state); - String css = null; - if (t.state.equals("open")) { - css = "bug_open"; - } else if (t.state.equals("hold")) { - css = "bug_hold"; - } else if (t.state.equals("resolved")) { - css = "bug_resolved"; - } else if (t.state.equals("invalid")) { - css = "bug_invalid"; - } - if (css != null) { - WicketUtils.setCssClass(stateLabel, css); - } + WicketUtils.setTicketCssClass(stateLabel, t.state); add(stateLabel); - add(new Label("ticketTags", flattenStrings(t.tags))); + add(new Label("ticketTags", StringUtils.flattenStrings(t.tags))); ListDataProvider<Comment> commentsDp = new ListDataProvider<Comment>(t.comments); DataView<Comment> commentsView = new DataView<Comment>("comment", commentsDp) { @@ -55,34 +41,24 @@ public void populateItem(final Item<Comment> item) { final Comment entry = item.getModelObject(); - item.add(createDateLabel("commentDate", entry.date)); - item.add(new Label("commentAuthor", entry.author)); + item.add(WicketUtils.createDateLabel("commentDate", entry.date, GitBlitWebSession.get().getTimezone())); + item.add(new Label("commentAuthor", entry.author.toLowerCase())); item.add(new Label("commentText", prepareComment(entry.text)).setEscapeModelStrings(false)); - setAlternatingBackground(item, counter); + WicketUtils.setAlternatingBackground(item, counter); counter++; } }; add(commentsView); - - // footer - addFooter(); } - + @Override protected String getPageName() { - return "ticket"; + return getString("gb.ticket"); } private String prepareComment(String comment) { - String html = WicketUtils.breakLines(comment).trim(); + String html = StringUtils.escapeForHtml(comment, false); + html = StringUtils.breakLinesForHtml(comment).trim(); return html.replaceAll("\\bcommit\\s*([A-Za-z0-9]*)\\b", "<a href=\"/commit/" + repositoryName + "/$1\">commit $1</a>"); - } - - private String flattenStrings(List<String> values) { - StringBuilder sb = new StringBuilder(); - for (String value : values) { - sb.append(value).append(" "); - } - return sb.toString().trim(); } } -- Gitblit v1.9.1