From: <udi...@us...> - 2021-11-09 15:31:02
|
Revision: 1411 http://sourceforge.net/p/j-trac/code/1411 Author: udittmer Date: 2021-11-09 15:31:00 +0000 (Tue, 09 Nov 2021) Log Message: ----------- auto-link ticket numbers like ROUTE-66 Modified Paths: -------------- trunk/jtrac/src/main/java/info/jtrac/util/ItemUtils.java trunk/jtrac/src/main/java/info/jtrac/wicket/ItemViewPanel.java Modified: trunk/jtrac/src/main/java/info/jtrac/util/ItemUtils.java =================================================================== --- trunk/jtrac/src/main/java/info/jtrac/util/ItemUtils.java 2021-11-09 14:17:14 UTC (rev 1410) +++ trunk/jtrac/src/main/java/info/jtrac/util/ItemUtils.java 2021-11-09 15:31:00 UTC (rev 1411) @@ -153,6 +153,19 @@ } } + // don't link if there's a slash immediately before the item; ignore case, so item-44 is the same as ITEM-44 + public static String autolinkTickets (String baseUrl, String text, Set<Space> spaces) { + if (text == null) { + return null; + } else { + for (Space space : spaces) { + text = text.replaceAll("(?i)(?<!/)"+space.getPrefixCode()+"-[0-9]+", + "<a href='"+(baseUrl==null ? "/" : baseUrl)+"app/item/$0' target='_blank'>$0</a>"); + } + return text; + } + } + private static String fmt(String key, MessageSource messageSource, Locale locale) { try { return messageSource.getMessage("item_view." + key, null, locale); Modified: trunk/jtrac/src/main/java/info/jtrac/wicket/ItemViewPanel.java =================================================================== --- trunk/jtrac/src/main/java/info/jtrac/wicket/ItemViewPanel.java 2021-11-09 14:17:14 UTC (rev 1410) +++ trunk/jtrac/src/main/java/info/jtrac/wicket/ItemViewPanel.java 2021-11-09 15:31:00 UTC (rev 1411) @@ -79,6 +79,8 @@ * @param item The {@link Item} to add. */ private void addComponents(final Item item) { + Map<String, String> configMap = getJtrac().loadAllConfig(); + String baseUrl = configMap.get("jtrac.url.base"); add(new Label("refId", new PropertyModel(item, "refId"))); @@ -191,6 +193,7 @@ add(new Label("summary", new PropertyModel(item, "summary"))); String text = item.getDetail(); text = ItemUtils.renderMarkdown(text); + text = ItemUtils.autolinkTickets(baseUrl, text, getPrincipal().getSpaces()); add(new Label("detail", text).setEscapeModelStrings(false)); final SimpleAttributeModifier sam = new SimpleAttributeModifier("class", "alt"); @@ -243,6 +246,7 @@ comment.add(new AttachmentLinkPanel("attachment", h.getAttachment())); String text = h.getComment(); text = ItemUtils.renderMarkdown(text); + text = ItemUtils.autolinkTickets(baseUrl, text, getPrincipal().getSpaces()); comment.add(new Label("comment", text).setEscapeModelStrings(false)); listItem.add(comment); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |