提交 dddcc763 编写于 作者: K Kohsuke Kawaguchi

went through all <A>s and converted them to model links where applicable

上级 b6448290
......@@ -35,7 +35,7 @@ THE SOFTWARE.
<img src="${imagesURL}/24x24/grey.png" tooltip="${%Not run}" alt="${%Not run}" height="24" width="24"/>
</j:when>
<j:otherwise>
<a href="${p.shortUrl}/">
<a href="${p.shortUrl}/" class="model-link">
<img src="${imagesURL}/24x24/${b.buildStatusUrl}" tooltip="${p.tooltip} ${it.number!=b.number?(it.isBuilding()?'- pending' : '- skipped'):''}" alt="${p.tooltip}" style="${it.number!=b.number?'opacity:0.5':''}" height="24" width="24"/>
<j:if test="${empty(o.x) and empty(o.y)}">
${p.combination.toString(o.z)}
......
......@@ -34,7 +34,7 @@ THE SOFTWARE.
<img src="${imagesURL}/24x24/grey.png" tooltip="${%Not configured}" alt="${%Not configured}" height="24" width="24"/>
</j:when>
<j:otherwise>
<a href="${p.shortUrl}">
<a href="${p.shortUrl}" class="model-link">
<img src="${imagesURL}/24x24/${p.buildStatusUrl}" tooltip="${p.iconColor.description}" alt="${p.iconColor.description}" height="24" width="24"/>
<j:if test="${empty(o.x) and empty(o.y)}">
${p.combination.toString(o.z)}
......
......@@ -63,7 +63,7 @@ THE SOFTWARE.
<j:set var="atr" value="${it.lastCompletedBuild.aggregatedTestResultAction}"/>
<j:if test="${atr!=null}">
<t:summary icon="clipboard.png">
<a href="lastCompletedBuild/testReport/">${%Latest Test Result}</a>
<a href="lastCompletedBuild/testReport/" class="model-link">${%Latest Test Result}</a>
<st:nbsp/>
<t:test-result it="${atr}" />
</t:summary>
......
......@@ -76,11 +76,11 @@ THE SOFTWARE.
<ol>
<j:forEach var="dep" items="${depChanges.values()}">
<li>
<a href="${rootURL}/${dep.project.url}">${dep.project.displayName}</a>
<a href="${rootURL}/${dep.project.url}" class="model-link">${dep.project.displayName}</a>
<st:nbsp/>
<j:choose>
<j:when test="${dep.from!=null}">
<a href="${rootURL}/${dep.from.url}">
<a href="${rootURL}/${dep.from.url}" class="model-link">
<img src="${imagesURL}/16x16/${dep.from.buildStatusUrl}"
alt="${dep.from.iconColor.description}" height="16" width="16" />${dep.from.displayName}</a>
</j:when>
......@@ -91,7 +91,7 @@ THE SOFTWARE.
&#x2192; <!-- right arrow -->
<a href="${rootURL}/${dep.to.url}">
<a href="${rootURL}/${dep.to.url}" class="model-link">
<img src="${imagesURL}/16x16/${dep.to.buildStatusUrl}"
alt="${dep.to.iconColor.description}" height="16" width="16" />${dep.to.displayName}</a>
......@@ -125,7 +125,7 @@ THE SOFTWARE.
<ul style="list-style-type: none;">
<j:forEach var="item" items="${upstream}">
<li>
<a href="${rootURL}/${item.key.url}">${item.key.displayName}</a>
<a href="${rootURL}/${item.key.url}" class="model-link">${item.key.displayName}</a>
<t:buildLink job="${item.key}" number="${item.value}" />
</li>
</j:forEach>
......@@ -137,7 +137,7 @@ THE SOFTWARE.
<ul style="list-style-type: none;">
<j:forEach var="item" items="${downstream}">
<li>
<a href="${rootURL}/${item.key.url}">${item.key.displayName}</a>
<a href="${rootURL}/${item.key.url}" class="model-link">${item.key.displayName}</a>
<j:choose>
<j:when test="${item.value.isEmpty()}">
(${%none})
......
......@@ -50,7 +50,7 @@ THE SOFTWARE.
<j:if test="${tr!=null}">
<j:if test="${tr.class.name != 'hudson.tasks.test.AggregatedTestResultAction'}">
<t:summary icon="clipboard.png">
<a href="lastCompletedBuild/testReport/">${%Latest Test Result}</a>
<a href="lastCompletedBuild/testReport/" class="model-link">${%Latest Test Result}</a>
<st:nbsp/>
<t:test-result it="${tr}" />
</t:summary>
......@@ -60,7 +60,7 @@ THE SOFTWARE.
<j:set var="atr" value="${it.lastCompletedBuild.aggregatedTestResultAction}"/>
<j:if test="${atr!=null}">
<t:summary icon="clipboard.png">
<a href="lastCompletedBuild/aggregatedTestReport/">${%Latest Aggregated Test Result}</a>
<a href="lastCompletedBuild/aggregatedTestReport/" class="model-link">${%Latest Aggregated Test Result}</a>
<st:nbsp/>
<t:test-result it="${atr}" />
</t:summary>
......
......@@ -75,7 +75,7 @@ THE SOFTWARE.
<j:forEach var="entry" items="${it.node.labelCloud}">
<!-- Skip the label for this node -->
<j:if test="${entry.item!=it.node.selfLabel}">
<a class="${entry.className}" href="${rootURL}/label/${entry.item.name}">${entry.item.name}</a>
<a class="${entry.className} model-link" href="${rootURL}/label/${entry.item.name}">${entry.item.name}</a>
<st:nbsp/>
</j:if>
</j:forEach>
......
......@@ -56,7 +56,7 @@ THE SOFTWARE.
<td width="32" data="${c.icon}">
<img src="${imagesURL}/32x32/${c.icon}" width="32" height="32" alt="${c.iconAltText}"/>
</td>
<td><a href="${rootURL}/${c.url}">${c.displayName}</a></td>
<td><a href="${rootURL}/${c.url}" class="model-link">${c.displayName}</a></td>
<j:forEach var="m" items="${monitors}">
<j:if test="${m.columnCaption!=null}">
<j:set var="data" value="${m.data(c)}"/>
......
......@@ -73,7 +73,7 @@ THE SOFTWARE.
<td class="fingerprint-summary-header">
<j:choose>
<j:when test="${job!=null}">
<a href="${rootURL}/${job.url}">${j}</a>
<a href="${rootURL}/${job.url}" class="model-link">${j}</a>
</j:when>
<j:otherwise>
${j}
......
......@@ -57,7 +57,7 @@ THE SOFTWARE.
<img width="16" height="16" src="${imagesURL}/16x16/${r.buildStatusUrl}" alt="${r.iconColor.description}" />
</td>
<td data="${r.number}">
<a href="${r.number}">
<a href="${r.number}/" class="model-link">
${r.displayName}
</a>
</td>
......
......@@ -36,7 +36,7 @@ THE SOFTWARE.
${%Nodes:}
<j:forEach var="n" items="${it.nodes}">
<j:set var="c" value="${app.getComputer(n.nodeName)}"/>
<a href="${rootURL}/computer/${n.nodeName}">
<a href="${rootURL}/computer/${n.nodeName}" class="model-link">
<img src="${imagesURL}/16x16/${c.icon}" width="16" height="16" alt=""/>
${c.displayName}
</a>
......
......@@ -27,6 +27,6 @@ THE SOFTWARE.
xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form"
xmlns:i="jelly:fmt" xmlns:p="/lib/hudson/project">
<f:entry title="${it.name}" description="${it.description}">
<a href="${rootURL}/${it.run.url}">${it.run}</a>
<a href="${rootURL}/${it.run.url}" class="model-link">${it.run}</a>
</f:entry>
</j:jelly>
......@@ -45,12 +45,12 @@ THE SOFTWARE.
</tr>
<j:forEach var="p" items="${it.users}">
<tr>
<td><a href="${rootURL}/${p.user.url}/"><img src="${h.getUserAvatar(p.user,iconSize)}"
<td><a href="${rootURL}/${p.user.url}/" class="model-link"><img src="${h.getUserAvatar(p.user,iconSize)}"
alt="" class="icon${iconSize}"/></a></td>
<td><a href="${rootURL}/${p.user.url}/">${p.user.id}</a></td>
<td><a href="${rootURL}/${p.user.url}/">${p.user}</a></td>
<td data="${p.timeSortKey}">${p.lastChangeTimeString}</td>
<td><a href="${rootURL}/${p.project.url}">${p.project.fullDisplayName}</a></td>
<td><a href="${rootURL}/${p.project.url}" class="model-link">${p.project.fullDisplayName}</a></td>
</tr>
</j:forEach>
</table>
......
......@@ -26,7 +26,7 @@ THE SOFTWARE.
<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define" xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form" xmlns:i="jelly:fmt">
<st:structuredMessageFormat key="description">
<st:structuredMessageArgument>
<a href="${rootURL}/label/${it.label.name}">${it.label.name}</a>
<a href="${rootURL}/label/${it.label.name}" class="model-link">${it.label.name}</a>
</st:structuredMessageArgument>
</st:structuredMessageFormat>
</j:jelly>
\ No newline at end of file
......@@ -53,7 +53,7 @@ THE SOFTWARE.
&#8212;
<a href="${rootURL}/${c.author.url}/">${c.author}</a> /
<a href="${rootURL}/${c.author.url}/" class="model-link">${c.author}</a> /
<j:set var="cslink" value="${browser.getChangeSetLink(c)}"/>
<j:choose>
......
......@@ -39,7 +39,7 @@ THE SOFTWARE.
</tr>
<j:forEach var="user" items="${it.allUsers}">
<tr>
<td><a href="${user.url}/"><img src="${h.getUserAvatar(user,'32x32')}" alt="" height="32" width="32"/></a></td>
<td><a href="${user.url}/" class="model-link"><img src="${h.getUserAvatar(user,'32x32')}" alt="" height="32" width="32"/></a></td>
<td><a href="${user.url}/">${user.id}</a></td>
<td><a href="${user.url}/">${user}</a></td>
<td>
......
......@@ -41,7 +41,7 @@ THE SOFTWARE.
<j:if test="${test != null}">
<tr>
<td class="pane">
<a href="${app.rootUrl}${b.url}testReport${p.url}">${b.fullDisplayName}</a>
<a href="${app.rootUrl}${b.url}testReport${p.url}" class="model-link">${b.fullDisplayName}</a>
<st:nbsp/>
<j:forEach var="badge" items="${test.testActions}">
<st:include it="${badge}" page="badge.jelly" optional="true"/>
......
......@@ -36,7 +36,7 @@ THE SOFTWARE.
<j:forEach var="p" items="${it.children}" varStatus="status">
<tr>
<td class="pane">
<a href="${p.safeName}"><span style="${p.previousResult==null?'font-weight:bold':''}"><st:out value="${p.name}" /></span></a>
<a href="${p.safeName}" class="model-link"><span style="${p.previousResult==null?'font-weight:bold':''}"><st:out value="${p.name}" /></span></a>
<st:nbsp/>
<j:forEach var="badge" items="${p.testActions}">
<st:include it="${badge}" page="badge.jelly" optional="true"/>
......
......@@ -40,7 +40,7 @@ THE SOFTWARE.
<j:if test="${p != null}">
<tr>
<td class="pane">
<a href="${app.rootUrl}${b.url}testReport${p.url}">${b.fullDisplayName}</a>
<a href="${app.rootUrl}${b.url}testReport${p.url}" class="model-link">${b.fullDisplayName}</a>
<st:nbsp/>
<j:forEach var="badge" items="${p.testActions}">
<st:include it="${badge}" page="badge.jelly" optional="true"/>
......
......@@ -61,7 +61,7 @@ THE SOFTWARE.
<j:forEach var="i" items="${it.didntRun}">
<tr>
<td class="pane">
<a href="${rootURL}/${i.url}">${i.fullDisplayName}</a>
<a href="${rootURL}/${i.url}" class="model-link">${i.fullDisplayName}</a>
(${%test result not available})
</td>
<td class="pane">
......@@ -75,7 +75,7 @@ THE SOFTWARE.
<j:forEach var="i" items="${it.noFingerprints}">
<tr>
<td class="pane">
<a href="${rootURL}/${i.url}">${i.fullDisplayName}</a>
<a href="${rootURL}/${i.url}" class="model-link">${i.fullDisplayName}</a>
(${%last successful job is not fingerprinted})
</td>
<td class="pane">
......
......@@ -42,7 +42,7 @@ THE SOFTWARE.
<j:forEach var="report" items="${it.childReports}">
<tr>
<td class="pane">
<a href="../${report.child.project.shortUrl}testReport">${report.child.project.name}</a>
<a href="../${report.child.project.shortUrl}testReport" class="model-link">${report.child.project.name}</a>
</td>
<td data="${report.result.duration}" class="pane" style="text-align:right">
${report.result.durationString}
......@@ -74,7 +74,7 @@ THE SOFTWARE.
<h3>
<a name="${report.child.project.name}"/>
<a href="../${report.child.project.shortUrl}testReport">${report.child.project.name}</a>
<a href="../${report.child.project.shortUrl}testReport" class="model-link">${report.child.project.name}</a>
</h3>
<table class="pane sortable">
......@@ -86,7 +86,7 @@ THE SOFTWARE.
<j:forEach var="f" items="${report.result.failedTests}" varStatus="i">
<tr>
<td class="pane">
<a href="../${report.child.project.shortUrl}testReport/${f.getRelativePathFrom(report.result)}">
<a href="../${report.child.project.shortUrl}testReport/${f.getRelativePathFrom(report.result)}" class="model-link">
<st:out value="${f.fullName}"/>
<st:nbsp/>
<j:forEach var="badge" items="${f.testActions}">
......
......@@ -63,7 +63,7 @@ THE SOFTWARE.
<a id="test-${f.fullName}-hidelink" style="display:none"
href="javascript:hideStackTrace('test-${h.jsStringEscape(f.fullName)}')">&lt;&lt;&lt;</a>
<st:nbsp/>
<a href="${f.getRelativePathFrom(it)}"><st:out value="${f.fullName}"/></a>
<a href="${f.getRelativePathFrom(it)}" class="model-link"><st:out value="${f.fullName}"/></a>
<st:nbsp/>
<j:forEach var="badge" items="${f.testActions}">
<st:include it="${badge}" page="badge.jelly" optional="true"/>
......@@ -77,7 +77,7 @@ THE SOFTWARE.
${f.durationString}
</td>
<td class="pane" style="text-align:right;">
<a href="${rootURL}/${f.failedSinceRun.url}">${f.age}</a>
<a href="${rootURL}/${f.failedSinceRun.url}" class="model-link">${f.age}</a>
</td>
</tr>
</j:forEach>
......@@ -102,7 +102,7 @@ THE SOFTWARE.
<j:set var="prev" value="${p.previousResult}" />
<tr>
<td class="pane">
<a href="${p.safeName}/"><span style="${prev==null?'font-weight:bold':''}"><st:out value="${p.name}" /></span></a>
<a href="${p.safeName}/" class="model-link"><span style="${prev==null?'font-weight:bold':''}"><st:out value="${p.name}" /></span></a>
<st:nbsp/>
<j:forEach var="badge" items="${p.testActions}">
<st:include it="${badge}" page="badge.jelly" optional="true"/>
......
......@@ -40,7 +40,7 @@ THE SOFTWARE.
<j:if test="${p != null}">
<tr>
<td class="pane">
<a href="${app.rootUrl}${b.url}testReport${p.url}">${b.fullDisplayName}</a>
<a href="${app.rootUrl}${b.url}testReport${p.url}" class="model-link">${b.fullDisplayName}</a>
<st:nbsp/>
<j:forEach var="badge" items="${p.testActions}">
<st:include it="${badge}" page="badge.jelly" optional="true"/>
......
......@@ -29,5 +29,5 @@ THE SOFTWARE.
Displays a link when given an AbstractItem. It is assumed that that Abstract
Item is passed in ${it}
</st:documentation>
<a href="${it.absoluteUrl}" tooltip="${it.name}">${it.displayName}</a>
<a href="${it.absoluteUrl}" class="model-link">${it.displayName}</a>
</j:jelly>
\ No newline at end of file
......@@ -42,11 +42,11 @@ THE SOFTWARE.
<j:set var="r" value="${job.getBuildByNumber(number)}" />
<j:choose>
<j:when test="${r==null}">
<a href="${rootURL}/${job.url}">${jobName}</a>
<a href="${rootURL}/${job.url}" class="model-link">${jobName}</a>
#<!-- -->${number}
</j:when>
<j:otherwise>
<a href="${attrs.href ?: rootURL+'/'+r.url}">
<a href="${attrs.href ?: rootURL+'/'+r.url}" class="model-link">
<img src="${imagesURL}/16x16/${r.buildStatusUrl}"
alt="${r.iconColor.description}" height="16" width="16"/>${jobName_}#<!-- -->${number}</a>
</j:otherwise>
......
......@@ -47,15 +47,15 @@ THE SOFTWARE.
<j:forEach var="b" items="${h.subList(attrs.builds,50)}">
<tr>
<td data="${b.iconColor.ordinal()}">
<a href="${jobBaseUrl}${b.url}">
<a href="${jobBaseUrl}${b.url}" class="model-link">
<img src="${imagesURL}/${iconSize}/${b.buildStatusUrl}"
alt="${b.iconColor.description}" class="icon${iconSize}"/>
</a>
</td>
<td>
<a href="${jobBaseUrl}${b.parent.url}">${b.parent.fullDisplayName}</a>
<a href="${jobBaseUrl}${b.parent.url}" class="model-link">${b.parent.fullDisplayName}</a>
<st:nbsp/>
<a href="${jobBaseUrl}${b.url}">${b.displayName}</a>
<a href="${jobBaseUrl}${b.url}" class="model-link">${b.displayName}</a>
</td>
<td data="${b.timestampString2}" tooltip="${%Click to center timeline on event}" onclick="javascript:tl.getBand(0).scrollToCenter(Timeline.DateTime.parseGregorianDateTime('${b.timestampString2}'))">
${b.timestampString}
......
......@@ -33,7 +33,7 @@ THE SOFTWARE.
</st:documentation>
<d:taglib uri="local">
<d:tag name="computerCaption">
<a href="${rootURL}/${c.url}">${title}</a>
<a href="${rootURL}/${c.url}" class="model-link">${title}</a>
<j:if test="${c.offline}"> <st:nbsp/> (${%offline})</j:if>
<j:if test="${!c.acceptingTasks}"> <st:nbsp/> (${%suspended})</j:if>
</d:tag>
......@@ -57,7 +57,7 @@ THE SOFTWARE.
<td class="pane">
<j:choose>
<j:when test="${c.offline}">
<a href="${rootURL}/${c.url}">${%Offline}</a>
<a href="${rootURL}/${c.url}" class="model-link">${%Offline}</a>
</j:when>
<j:otherwise>
${%Idle}
......@@ -79,7 +79,7 @@ THE SOFTWARE.
</j:invokeStatic>
<j:choose>
<j:when test="${h.hasPermission(exeparent,exeparent.READ)}">
<a href="${rootURL}/${exeparent.url}">${exeparent.fullDisplayName}</a>&#160;<a href="${rootURL}/${exe.url}">#${exe.number}</a>
<a href="${rootURL}/${exeparent.url}" class="model-link">${exeparent.fullDisplayName}</a>&#160;<a href="${rootURL}/${exe.url}" class="model-link">#${exe.number}</a>
<t:buildProgressBar build="${exe}" executor="${executor}"/>
</j:when>
<j:otherwise>
......
......@@ -32,5 +32,5 @@ THE SOFTWARE.
</st:documentation>
<img src="${imagesURL}/16x16/${job.buildStatusUrl}" alt="${job.iconColor.description}" height="16" width="16"/>
<a href="${h.getRelativeLinkTo(job)}" tooltip="${job.name}">${job.displayName}</a>
<a href="${h.getRelativeLinkTo(job)}" class="model-link">${job.displayName}</a>
</j:jelly>
......@@ -30,7 +30,7 @@ THE SOFTWARE.
</st:documentation>
<j:choose>
<j:when test="${value!=null and value!=app}">
<a href="${rootURL}/computer/${value.nodeName}">${value.nodeName}</a>
<a href="${rootURL}/computer/${value.nodeName}" class="model-link">${value.nodeName}</a>
</j:when>
<j:otherwise>
${%master}
......
......@@ -36,7 +36,7 @@ THE SOFTWARE.
<j:set var="b" value="${it[property]}"/>
<j:if test="${b!=null}">
<li>
<a href="${property}/">${%format(title,b.number,b.timestampString)}</a>
<a href="${property}/" class="model-link">${%format(title,b.number,b.timestampString)}</a>
</li>
</j:if>
</j:jelly>
\ No newline at end of file
......@@ -48,7 +48,7 @@ THE SOFTWARE.
</div>
</td>
<td colspan="5" style="${indenter.getCss(job)}">
<a href="${rootURL}/${v.url}">
<a href="${rootURL}/${v.url}" class="model-link">
${v.viewName}
</a>
</td>
......
......@@ -62,7 +62,7 @@ THE SOFTWARE.
<j:set var="stuck" value="${item.isStuck()}"/>
<j:choose>
<j:when test="${h.hasPermission(item.task,item.task.READ)}">
<a href="${rootURL}/${item.task.url}">
<a href="${rootURL}/${item.task.url}" class="model-link">
${item.task.fullDisplayName}
</a>
<j:if test="${stuck}">
......
......@@ -182,7 +182,7 @@ THE SOFTWARE.
<j:choose>
<j:when test="${!h.isAnonymous()}">
<span style="white-space:nowrap">
<a href="${rootURL}/user/${app.authentication.name}"><b>${app.authentication.name}</b></a>
<a href="${rootURL}/user/${app.authentication.name}" class="model-link"><b>${app.authentication.name}</b></a>
<j:if test="${app.securityRealm.canLogOut()}">
|
<a href="${rootURL}/logout"><b>${%logout}</b></a>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册