diff --git a/mGAP/src/org/labkey/mgap/query/OMIMDisplayColumnFactory.java b/mGAP/src/org/labkey/mgap/query/OMIMDisplayColumnFactory.java index b1735af50..0befb04bb 100644 --- a/mGAP/src/org/labkey/mgap/query/OMIMDisplayColumnFactory.java +++ b/mGAP/src/org/labkey/mgap/query/OMIMDisplayColumnFactory.java @@ -7,9 +7,10 @@ import org.labkey.api.data.DisplayColumnFactory; import org.labkey.api.data.RenderContext; import org.labkey.api.query.FieldKey; +import org.labkey.api.util.HtmlString; +import org.labkey.api.util.PageFlowUtil; +import org.labkey.api.writer.HtmlWriter; -import java.io.IOException; -import java.io.Writer; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -34,7 +35,7 @@ private FieldKey getBoundKey(String colName) } @Override - public void renderGridCellContents(RenderContext ctx, Writer out) throws IOException + public void renderGridCellContents(RenderContext ctx, HtmlWriter out) { String rawValue = StringUtils.trimToNull(ctx.get(getBoundKey("omim"), String.class)); if (rawValue == null) @@ -45,7 +46,7 @@ public void renderGridCellContents(RenderContext ctx, Writer out) throws IOExcep List tokens = Arrays.asList(rawValue.split(";")); Collections.sort(tokens); - String delim = ""; + HtmlString delim = HtmlString.EMPTY_STRING; for (String entry : tokens) { String id = entry; @@ -57,8 +58,9 @@ public void renderGridCellContents(RenderContext ctx, Writer out) throws IOExcep text = parts[0]; } - out.write(delim + "" + text + ""); - delim = "
"; + out.write(delim); + out.write(PageFlowUtil.link(text).href("https://www.omim.org/entry/" + id).target("_blank").clearClasses()); + delim = HtmlString.BR; } } }; diff --git a/mGAP/src/org/labkey/mgap/query/OMIMPhenotypeDisplayColumnFactory.java b/mGAP/src/org/labkey/mgap/query/OMIMPhenotypeDisplayColumnFactory.java index 9c68112a4..ed07c8ec2 100644 --- a/mGAP/src/org/labkey/mgap/query/OMIMPhenotypeDisplayColumnFactory.java +++ b/mGAP/src/org/labkey/mgap/query/OMIMPhenotypeDisplayColumnFactory.java @@ -7,9 +7,10 @@ import org.labkey.api.data.DisplayColumnFactory; import org.labkey.api.data.RenderContext; import org.labkey.api.query.FieldKey; +import org.labkey.api.util.HtmlString; +import org.labkey.api.util.PageFlowUtil; +import org.labkey.api.writer.HtmlWriter; -import java.io.IOException; -import java.io.Writer; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -49,7 +50,7 @@ public Object getExcelCompatibleValue(RenderContext ctx) } @Override - public void renderGridCellContents(RenderContext ctx, Writer out) throws IOException + public void renderGridCellContents(RenderContext ctx, HtmlWriter out) { String rawValue = StringUtils.trimToNull(ctx.get(getBoundKey("omim_phenotype"), String.class)); if (rawValue == null) @@ -60,20 +61,21 @@ public void renderGridCellContents(RenderContext ctx, Writer out) throws IOExcep List tokens = Arrays.asList(rawValue.split(";")); Collections.sort(tokens); - String delim = ""; + HtmlString delim = HtmlString.EMPTY_STRING; for (String entry : tokens) { String[] elements = entry.split("<>"); + out.write(delim); if (elements.length > 1) { - out.write(delim + "" + elements[0] + ""); + out.write(PageFlowUtil.link(elements[0]).target("_blank").href("https://www.omim.org/entry/" + elements[1]).clearClasses()); } else { - out.write(delim + "" + elements[0] + ""); + out.write(PageFlowUtil.link(elements[0]).clearClasses()); } - delim = "
"; + delim = HtmlString.BR; } } }; diff --git a/mGAP/src/org/labkey/mgap/query/OverlappingGenesDisplayColumnFactory.java b/mGAP/src/org/labkey/mgap/query/OverlappingGenesDisplayColumnFactory.java index 18a786c40..f6664ea76 100644 --- a/mGAP/src/org/labkey/mgap/query/OverlappingGenesDisplayColumnFactory.java +++ b/mGAP/src/org/labkey/mgap/query/OverlappingGenesDisplayColumnFactory.java @@ -7,9 +7,10 @@ import org.labkey.api.data.DisplayColumnFactory; import org.labkey.api.data.RenderContext; import org.labkey.api.query.FieldKey; +import org.labkey.api.util.HtmlString; +import org.labkey.api.util.PageFlowUtil; +import org.labkey.api.writer.HtmlWriter; -import java.io.IOException; -import java.io.Writer; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -34,7 +35,7 @@ private FieldKey getBoundKey(String colName) } @Override - public void renderGridCellContents(RenderContext ctx, Writer out) throws IOException + public void renderGridCellContents(RenderContext ctx, HtmlWriter out) { String rawValue = StringUtils.trimToNull(ctx.get(getBoundKey("overlappingGenes"), String.class)); if (rawValue == null) @@ -45,7 +46,7 @@ public void renderGridCellContents(RenderContext ctx, Writer out) throws IOExcep List tokens = Arrays.asList(rawValue.split(";")); Collections.sort(tokens); - String delim = ""; + HtmlString delim = HtmlString.EMPTY_STRING; for (String geneName : tokens) { String url = null; @@ -64,8 +65,9 @@ else if (geneName.startsWith("ENSMMUE")) url = "http://ensembl.org/Macaca_mulatta/Gene/Summary?db=core;g=" + geneName; } - out.write(delim + "" + geneName + ""); - delim = "
"; + out.write(delim); + out.write(PageFlowUtil.link(geneName).href(url).target("_blank").clearClasses()); + delim = HtmlString.BR; } } }; diff --git a/mGAP/src/org/labkey/mgap/query/PhenotypeVariantLinkDisplayColumnFactory.java b/mGAP/src/org/labkey/mgap/query/PhenotypeVariantLinkDisplayColumnFactory.java index ca8fc6dba..929f99337 100644 --- a/mGAP/src/org/labkey/mgap/query/PhenotypeVariantLinkDisplayColumnFactory.java +++ b/mGAP/src/org/labkey/mgap/query/PhenotypeVariantLinkDisplayColumnFactory.java @@ -8,9 +8,9 @@ import org.labkey.api.data.RenderContext; import org.labkey.api.query.DetailsURL; import org.labkey.api.query.FieldKey; +import org.labkey.api.util.PageFlowUtil; +import org.labkey.api.writer.HtmlWriter; -import java.io.IOException; -import java.io.Writer; import java.util.List; import java.util.Set; @@ -44,7 +44,7 @@ private FieldKey getBoundKey(String colName) } @Override - public void renderGridCellContents(RenderContext ctx, Writer out) throws IOException + public void renderGridCellContents(RenderContext ctx, HtmlWriter out) { String containerId = ctx.get(getBoundKey("container"), String.class); String omim = ctx.get(getBoundKey("omim_entry"), String.class); @@ -52,7 +52,7 @@ public void renderGridCellContents(RenderContext ctx, Writer out) throws IOExcep if (releaseId != null && omim != null) { DetailsURL url = DetailsURL.fromString("/mgap/variantList.view?release=" + releaseId + "&query.omim_phenotype~contains=" + omim, ContainerManager.getForId(containerId)); - out.write("View Variants"); + out.write(PageFlowUtil.link("View Variants").href(url.getActionURL()).addClass("labkey-text-link")); } } }; diff --git a/mGAP/src/org/labkey/mgap/query/SourceDisplayColumnFactory.java b/mGAP/src/org/labkey/mgap/query/SourceDisplayColumnFactory.java index a6271b51f..1d7b57210 100644 --- a/mGAP/src/org/labkey/mgap/query/SourceDisplayColumnFactory.java +++ b/mGAP/src/org/labkey/mgap/query/SourceDisplayColumnFactory.java @@ -9,9 +9,9 @@ import org.labkey.api.data.DisplayColumnFactory; import org.labkey.api.data.RenderContext; import org.labkey.api.query.FieldKey; +import org.labkey.api.util.PageFlowUtil; +import org.labkey.api.writer.HtmlWriter; -import java.io.IOException; -import java.io.Writer; import java.util.Set; public class SourceDisplayColumnFactory implements DisplayColumnFactory @@ -31,7 +31,7 @@ public void addQueryFieldKeys(Set keys) } @Override - public void renderGridCellContents(RenderContext ctx, Writer out) throws IOException + public void renderGridCellContents(RenderContext ctx, HtmlWriter out) { String val = ctx.get(getBoundKey("source"), String.class); if (val == null) @@ -60,7 +60,14 @@ public void renderGridCellContents(RenderContext ctx, Writer out) throws IOExcep } } - out.write(url == null ? val : "" + val + ""); + if (url == null) + { + out.write(val); + } + else + { + out.write(PageFlowUtil.link(val).href(url).clearClasses()); + } } private FieldKey getBoundKey(String colName) diff --git a/mGAP/src/org/labkey/mgap/query/TracksPerReleaseGenomeBrowserDisplayColumnFactory.java b/mGAP/src/org/labkey/mgap/query/TracksPerReleaseGenomeBrowserDisplayColumnFactory.java index 9ec975448..57aec2e5d 100644 --- a/mGAP/src/org/labkey/mgap/query/TracksPerReleaseGenomeBrowserDisplayColumnFactory.java +++ b/mGAP/src/org/labkey/mgap/query/TracksPerReleaseGenomeBrowserDisplayColumnFactory.java @@ -6,9 +6,7 @@ import org.labkey.api.data.RenderContext; import org.labkey.api.query.DetailsURL; import org.labkey.api.util.PageFlowUtil; - -import java.io.IOException; -import java.io.Writer; +import org.labkey.api.writer.HtmlWriter; /** * Created by bimber on 5/17/2017. @@ -21,7 +19,7 @@ public DisplayColumn createRenderer(ColumnInfo colInfo) return new VariantReleaseGenomeBrowserDisplayColumnFactory.BrowserDataColumn(colInfo, PageFlowUtil.set("releaseId/jbrowseId", "releaseId/container", "trackName")) { @Override - public void renderGridCellContents(RenderContext ctx, Writer out) throws IOException + public void renderGridCellContents(RenderContext ctx, HtmlWriter out) { String jbrowseId = ctx.get(getBoundKey("releaseId", "jbrowseId"), String.class); String containerId = ctx.get(getBoundKey("releaseId", "container"), String.class); @@ -30,7 +28,7 @@ public void renderGridCellContents(RenderContext ctx, Writer out) throws IOExcep if (jbrowseId != null && trackName != null) { DetailsURL url = DetailsURL.fromString("/mgap/genomeBrowser.view?database=" + jbrowseId + "&activeTracks=" + trackName, ContainerManager.getForId(containerId)); - out.write("View In Genome Browser"); + out.write(PageFlowUtil.link("View In Genome Browser").addClass("labkey-text-link").href(url.getActionURL())); } } }; diff --git a/mGAP/src/org/labkey/mgap/query/VariantListJBrowseDisplayColumnFactory.java b/mGAP/src/org/labkey/mgap/query/VariantListJBrowseDisplayColumnFactory.java index 66cf14834..82f2f0015 100644 --- a/mGAP/src/org/labkey/mgap/query/VariantListJBrowseDisplayColumnFactory.java +++ b/mGAP/src/org/labkey/mgap/query/VariantListJBrowseDisplayColumnFactory.java @@ -11,9 +11,10 @@ import org.labkey.api.data.RenderContext; import org.labkey.api.query.DetailsURL; import org.labkey.api.query.FieldKey; +import org.labkey.api.util.HtmlString; +import org.labkey.api.util.PageFlowUtil; +import org.labkey.api.writer.HtmlWriter; -import java.io.IOException; -import java.io.Writer; import java.util.List; import java.util.Set; @@ -52,7 +53,7 @@ private FieldKey getBoundKey(String colName) } @Override - public void renderGridCellContents(RenderContext ctx, Writer out) throws IOException + public void renderGridCellContents(RenderContext ctx, HtmlWriter out) { String jbrowseId = StringUtils.trimToNull(ctx.get(getBoundKey("releaseId/jbrowseId"), String.class)); String primaryTrack = ctx.get(getBoundKey("releaseId/primaryTrack"), String.class); @@ -60,26 +61,26 @@ public void renderGridCellContents(RenderContext ctx, Writer out) throws IOExcep String contig = StringUtils.trimToNull(ctx.get(getBoundKey("contig"), String.class)); String ref = ctx.get(getBoundKey("reference"), String.class); Integer position = ctx.get(getBoundKey("position"), Integer.class); - String delim = ""; + HtmlString delim = HtmlString.EMPTY_STRING; int start = position - 200; int stop = position + 200; int length = ref.length(); if (jbrowseId != null) { DetailsURL url = DetailsURL.fromString("/jbrowse/browser.view?database=" + jbrowseId + "&location=" + contig + ":" + start + ".." + stop + "&highlight=" + contig + ":" + position + ".." + (position + length - 1), ContainerManager.getForId(containerId)); - out.write("View In Genome Browser"); - delim = "
"; + out.write(PageFlowUtil.link("View In Genome Browser").href(url.getActionURL()).addClass("labkey-text-link")); + delim = HtmlString.BR; } if (primaryTrack != null) { out.write(delim); DetailsURL url = DetailsURL.fromString("/jbrowse/genotypeTable.view?trackId=" + primaryTrack + "&chr=" + contig + "&start=" + position + "&stop=" + position, ContainerManager.getForId(containerId)); - out.write("View Genotypes At Position"); - delim = "
"; + out.write(PageFlowUtil.link("View Genotypes At Position").href(url.getActionURL()).addClass("labkey-text-link")); + delim = HtmlString.BR; } - if (ctx.get(FieldKey.fromString("identifier")) != null) + if (ctx.get(FieldKey.fromString("identifier"), String.class) != null) { String identifier = StringUtils.trimToNull(ctx.get(getBoundKey("identifier"), String.class)); if (identifier != null && identifier.contains(":")) @@ -97,8 +98,8 @@ public void renderGridCellContents(RenderContext ctx, Writer out) throws IOExcep { String url = "https://www.ncbi.nlm.nih.gov/clinvar/variation/" + parts[1] + "/"; out.write(delim); - out.write("View in ClinVar"); - delim = "
"; + out.write(PageFlowUtil.link("View in ClinVar").href(url)); + delim = HtmlString.BR; } } } @@ -110,7 +111,7 @@ public void renderGridCellContents(RenderContext ctx, Writer out) throws IOExcep contigE = contigE.replaceAll("^0", ""); String url = "https://ensembl.org/Macaca_mulatta/Location/View?db=core;r=" + contigE + ":" + start +"-" + stop; out.write(delim); - out.write("View Region in Ensembl"); + out.write(PageFlowUtil.link("View Region in Ensembl").href(url)); } }; } diff --git a/mGAP/src/org/labkey/mgap/query/VariantReleaseDisplayColumnFactory.java b/mGAP/src/org/labkey/mgap/query/VariantReleaseDisplayColumnFactory.java index 8b7b61c7c..8b05a0cab 100644 --- a/mGAP/src/org/labkey/mgap/query/VariantReleaseDisplayColumnFactory.java +++ b/mGAP/src/org/labkey/mgap/query/VariantReleaseDisplayColumnFactory.java @@ -9,12 +9,12 @@ import org.labkey.api.data.RenderContext; import org.labkey.api.query.DetailsURL; import org.labkey.api.query.FieldKey; +import org.labkey.api.util.HtmlString; import org.labkey.api.util.PageFlowUtil; import org.labkey.api.view.HttpView; import org.labkey.api.view.template.ClientDependency; +import org.labkey.api.writer.HtmlWriter; -import java.io.IOException; -import java.io.Writer; import java.util.Set; /** @@ -48,12 +48,15 @@ private FieldKey getBoundKey(String colName) private boolean _clickHandlerRegistered = false; @Override - public void renderGridCellContents(RenderContext ctx, Writer out) throws IOException + public void renderGridCellContents(RenderContext ctx, HtmlWriter out) { Integer rowId = ctx.get(getBoundKey("rowid"), Integer.class); if (rowId != null) { - out.write("Download"); + out.write(PageFlowUtil.link("Download"). + addClass("vrdc-row"). + attributes(PageFlowUtil.map("data-rowid", rowId.toString())) + ); if (!_clickHandlerRegistered) { @@ -69,20 +72,20 @@ public void renderGridCellContents(RenderContext ctx, Writer out) throws IOExcep { if (rowId != null) { - out.write("
"); + out.write(HtmlString.BR); } DetailsURL url = DetailsURL.fromString("/jbrowse/browser.view?database=" + jbrowseId, ContainerManager.getForId(containerId)); - out.write("View In Genome Browser"); + out.write(PageFlowUtil.link("View In Genome Browser", url.getActionURL())); } Boolean showVariantList = ctx.get(getBoundKey("hasSignificantVariants"), Boolean.class); if (showVariantList) { - out.write("
"); + out.write(HtmlString.BR); DetailsURL url = DetailsURL.fromString("/mgap/variantList.view?release=" + rowId, ContainerManager.getForId(containerId)); - out.write("Significant Variant List"); + out.write(PageFlowUtil.link("Significant Variant List", url.getActionURL())); } } diff --git a/mGAP/src/org/labkey/mgap/query/VariantReleaseGenomeBrowserDisplayColumnFactory.java b/mGAP/src/org/labkey/mgap/query/VariantReleaseGenomeBrowserDisplayColumnFactory.java index 50ae991d9..e3803216b 100644 --- a/mGAP/src/org/labkey/mgap/query/VariantReleaseGenomeBrowserDisplayColumnFactory.java +++ b/mGAP/src/org/labkey/mgap/query/VariantReleaseGenomeBrowserDisplayColumnFactory.java @@ -9,9 +9,8 @@ import org.labkey.api.query.DetailsURL; import org.labkey.api.query.FieldKey; import org.labkey.api.util.PageFlowUtil; +import org.labkey.api.writer.HtmlWriter; -import java.io.IOException; -import java.io.Writer; import java.util.Set; /** @@ -67,14 +66,14 @@ protected FieldKey getBoundKey(String... colNames) } @Override - public void renderGridCellContents(RenderContext ctx, Writer out) throws IOException + public void renderGridCellContents(RenderContext ctx, HtmlWriter out) { String jbrowseId = ctx.get(getBoundKey("jbrowseId"), String.class); String containerId = ctx.get(getBoundKey("container"), String.class); if (jbrowseId != null) { DetailsURL url = DetailsURL.fromString("/jbrowse/browser.view?database=" + jbrowseId, ContainerManager.getForId(containerId)); - out.write("View In Genome Browser"); + out.write(PageFlowUtil.link("View In Genome Browser", url.getActionURL())); } } diff --git a/mcc/src/org/labkey/mcc/query/AnimalRequestActionsDisplayColumnFactory.java b/mcc/src/org/labkey/mcc/query/AnimalRequestActionsDisplayColumnFactory.java index 7b85c29ca..696920b46 100644 --- a/mcc/src/org/labkey/mcc/query/AnimalRequestActionsDisplayColumnFactory.java +++ b/mcc/src/org/labkey/mcc/query/AnimalRequestActionsDisplayColumnFactory.java @@ -5,14 +5,12 @@ import org.labkey.api.data.ColumnInfo; import org.labkey.api.data.DisplayColumn; import org.labkey.api.data.DisplayColumnFactory; +import org.labkey.api.util.PageFlowUtil; +import org.labkey.api.writer.HtmlWriter; import org.labkey.api.data.RenderContext; import org.labkey.api.query.FieldKey; -import org.labkey.api.security.User; -import org.labkey.api.security.UserManager; import org.labkey.mcc.MccManager; -import java.io.IOException; -import java.io.Writer; import java.util.Set; public class AnimalRequestActionsDisplayColumnFactory implements DisplayColumnFactory @@ -25,10 +23,10 @@ public DisplayColumn createRenderer(ColumnInfo colInfo) return new AbstractMccDisplayColumn(colInfo) { @Override - public void renderGridCellContents(RenderContext ctx, Writer out) throws IOException + public void renderGridCellContents(RenderContext ctx, HtmlWriter out) { int rowId = ctx.get(getBoundKey("rowid"), Integer.class); - out.write("Contact MCC"); + out.write(PageFlowUtil.link("Contact MCC").href("mailto:" + MccManager.get().getMccAdminEmail() + "?subject=MCC Request #" + rowId)); } @Override diff --git a/mcc/src/org/labkey/mcc/query/RequestReviewActionsDisplayColumnFactory.java b/mcc/src/org/labkey/mcc/query/RequestReviewActionsDisplayColumnFactory.java index f2b21031d..e12876132 100644 --- a/mcc/src/org/labkey/mcc/query/RequestReviewActionsDisplayColumnFactory.java +++ b/mcc/src/org/labkey/mcc/query/RequestReviewActionsDisplayColumnFactory.java @@ -11,10 +11,10 @@ import org.labkey.api.query.FieldKey; import org.labkey.api.security.User; import org.labkey.api.security.UserManager; +import org.labkey.api.util.PageFlowUtil; +import org.labkey.api.writer.HtmlWriter; import org.labkey.mcc.MccManager; -import java.io.IOException; -import java.io.Writer; import java.util.Set; public class RequestReviewActionsDisplayColumnFactory implements DisplayColumnFactory @@ -27,7 +27,7 @@ public DisplayColumn createRenderer(ColumnInfo colInfo) return new AbstractMccDisplayColumn(colInfo) { @Override - public void renderGridCellContents(RenderContext ctx, Writer out) throws IOException + public void renderGridCellContents(RenderContext ctx, HtmlWriter out) { int userId = ctx.get(getBoundKey("reviewerId"), Integer.class); User u = UserManager.getUser(userId); @@ -44,7 +44,7 @@ public void renderGridCellContents(RenderContext ctx, Writer out) throws IOExcep String requestId = ctx.get(getBoundKey("requestId"), String.class); Container requestContainer = MccManager.get().getMCCRequestContainer(ctx.getContainer()); DetailsURL url = DetailsURL.fromString("/mcc/requestReview.view?requestId=" + requestId + "&mode=rabReview", requestContainer); - out.write("Enter Review"); + out.write(PageFlowUtil.link("Enter Review").href(url.getActionURL().addReturnUrl(ctx.getViewContext().getActionURL())).addClass("labkey-text-link")); } @Override diff --git a/mcc/src/org/labkey/mcc/query/RequestScoreActionsDisplayColumnFactory.java b/mcc/src/org/labkey/mcc/query/RequestScoreActionsDisplayColumnFactory.java index 70a4cdab4..b95d4312a 100644 --- a/mcc/src/org/labkey/mcc/query/RequestScoreActionsDisplayColumnFactory.java +++ b/mcc/src/org/labkey/mcc/query/RequestScoreActionsDisplayColumnFactory.java @@ -12,15 +12,15 @@ import org.labkey.api.query.FieldKey; import org.labkey.api.security.User; import org.labkey.api.security.UserManager; +import org.labkey.api.util.HtmlString; import org.labkey.api.util.PageFlowUtil; import org.labkey.api.view.HttpView; import org.labkey.api.view.template.ClientDependency; +import org.labkey.api.writer.HtmlWriter; import org.labkey.mcc.MccManager; import org.labkey.mcc.security.MccFinalReviewPermission; import org.labkey.mcc.security.MccRequestAdminPermission; -import java.io.IOException; -import java.io.Writer; import java.util.LinkedHashSet; import java.util.Set; @@ -36,7 +36,7 @@ public DisplayColumn createRenderer(ColumnInfo colInfo) private boolean _hasRegisteredApprovedHandler = false; @Override - public void renderGridCellContents(RenderContext ctx, Writer out) throws IOException + public void renderGridCellContents(RenderContext ctx, HtmlWriter out) { int requestRowId = ctx.get(getBoundKey("requestId", "rowid"), Integer.class); if (MccManager.get().isRequestAdmin(ctx.getViewContext().getUser(), ctx.getContainer())) @@ -49,7 +49,7 @@ public void renderGridCellContents(RenderContext ctx, Writer out) throws IOExcep return; } - out.write("Contact Investigator"); + out.write(PageFlowUtil.link("Contact Investigator").addClass("labkey-text-link").href("mailto:" + u.getEmail() + "?subject=MCC Request #" + requestRowId)); } String status = ctx.get(getBoundKey("requestId", "status"), String.class); @@ -76,7 +76,8 @@ public void renderGridCellContents(RenderContext ctx, Writer out) throws IOExcep if (requestContainer.hasPermission(ctx.getViewContext().getUser(), MccRequestAdminPermission.class)) { DetailsURL url = DetailsURL.fromString("/mcc/requestReview.view?requestId=" + requestId + "&mode=primaryReview", requestContainer); - out.write("
Enter MCC Internal Review"); + out.write(HtmlString.BR); + out.write(PageFlowUtil.link("Enter MCC Internal Review").addClass("labkey-text-link").href(url.getActionURL().addReturnUrl(ctx.getViewContext().getActionURL()))); } } else if (st == MccManager.RequestStatus.RabReview && ctx.get(FieldKey.fromString("pendingRabReviews"), Integer.class) == 0) @@ -84,7 +85,8 @@ else if (st == MccManager.RequestStatus.RabReview && ctx.get(FieldKey.fromString if (requestContainer.hasPermission(ctx.getViewContext().getUser(), MccFinalReviewPermission.class)) { DetailsURL url = DetailsURL.fromString("/mcc/requestReview.view?requestId=" + requestId + "&mode=resourceAvailability", requestContainer); - out.write("
Enter Resource Availability Assessment"); + out.write(HtmlString.BR); + out.write(PageFlowUtil.link("Enter Resource Availability Assessment").addClass("labkey-text-link").href(url.getActionURL().addReturnUrl(ctx.getViewContext().getActionURL()))); } } else if (st == MccManager.RequestStatus.PendingDecision) @@ -92,12 +94,17 @@ else if (st == MccManager.RequestStatus.PendingDecision) if (requestContainer.hasPermission(ctx.getViewContext().getUser(), MccFinalReviewPermission.class)) { DetailsURL url = DetailsURL.fromString("/mcc/requestReview.view?requestId=" + requestId + "&mode=finalReview", requestContainer); - out.write("
Enter Final Review"); + out.write(HtmlString.BR); + out.write(PageFlowUtil.link("Enter Final Review").addClass("labkey-text-link").href(url.getActionURL().addReturnUrl(ctx.getViewContext().getActionURL()))); } } else if (st == MccManager.RequestStatus.Approved) { - out.write("
Mark Fulfilled"); + out.write(HtmlString.BR); + out.write(PageFlowUtil.link("Mark Fulfilled"). + addClass("labkey-text-link"). + addClass("rsadc-approved"). + attributes(PageFlowUtil.map("data-requestrowid", String.valueOf(requestRowId)))); if (!_hasRegisteredApprovedHandler) { diff --git a/mcc/test/src/org/labkey/test/tests/mcc/MccTest.java b/mcc/test/src/org/labkey/test/tests/mcc/MccTest.java index c4a2f2739..300e78234 100644 --- a/mcc/test/src/org/labkey/test/tests/mcc/MccTest.java +++ b/mcc/test/src/org/labkey/test/tests/mcc/MccTest.java @@ -40,7 +40,6 @@ import org.labkey.test.util.DataRegionTable; import org.labkey.test.util.Ext4Helper; import org.labkey.test.util.PermissionsHelper; -import org.labkey.test.util.ext4cmp.Ext4CmpRef; import org.labkey.test.util.ext4cmp.Ext4ComboRef; import org.labkey.test.util.ext4cmp.Ext4FieldRef; @@ -689,7 +688,7 @@ private String getDataRegionName(String divName) l = l.append(Locator.tag("form")); waitForElement(l); - return getAttribute(l, "lk-region-form"); + return getAttribute(l, "data-region-form"); } private FormElement[] getCoinvestigatorFields(int idx)