Skip to content

Commit

Permalink
jelly consolidation (#311)
Browse files Browse the repository at this point in the history
  • Loading branch information
mawinter69 authored Jul 7, 2023
2 parents 5263778 + 0a4c28b commit 4390a15
Show file tree
Hide file tree
Showing 9 changed files with 186 additions and 381 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -35,64 +35,28 @@
<table id="${tableid}" class="center-align global-matrix-authorization-strategy-table" name="data">

<!-- The first row will show grouping -->
<thead>
<tr class="group-row highlight-row">
<td class="start" />
<td class="pane-header blank">
${%User/Group}
</td>
<j:forEach var="role" items="${agentGrantedRoles}">
<j:set var="permissionList" value="&lt;b&gt;Permissions&lt;/b&gt;:"/>
<j:forEach var="p" items="${role.key.permissions}">
<j:set var="permissionList" value="${permissionList}&lt;br/&gt;${p.group.title}/${p.name}"/>
</j:forEach>
<j:set var="permissionList" value="${permissionList} &lt;br/&gt; &lt;b&gt;Pattern&lt;/b&gt;: ${h.escape(role.key.pattern.toString())}"/>
<td class="pane-header">
<span tooltip="${permissionList}">${role.key.name}</span>
</td>
</j:forEach>
<l:isAdmin><td class="stop" /></l:isAdmin>
<local:thead roles="${agentGrantedRoles}" showPattern="true"/>
<tr name="[USER:anonymous]" class="highlight-row">
<local:userRow sid="anonymous" title="${%Anonymous}" type="${it.strategy.SLAVE}" permissionType="USER" typedescription="User" noremove="true"/>
</tr>
<tr name="[GROUP:authenticated]" class="highlight-row">
<local:userRow sid="authenticated" title="authenticated" type="${it.strategy.SLAVE}" permissionType="GROUP" typedescription="Group" noremove="true"/>
</tr>
<j:forEach var="entry" items="${agentSIDs}">
<j:if test="${entry.sid != 'authenticated' or entry.type.toString() != 'GROUP'}">
<tr name="[${entry.type}:${entry.sid}]" class="permission-row highlight-row" data-descriptor-url="${descriptorPath}">
<local:userRow sid="${entry.sid}" title="${entry.sid}" permissionType="${entry.type.toString()}" typedescription="${entry.type.getDescription()}" type="${it.strategy.SLAVE}"/>
</tr>
</thead>
<tr name="[USER:anonymous]" class="highlight-row">
<local:userRow sid="anonymous" title="${%Anonymous}" type="${it.strategy.SLAVE}" permissionType="USER" typedescription="User" noremove="true"/>
</tr>
<tr name="[GROUP:authenticated]" class="highlight-row">
<local:userRow sid="authenticated" title="authenticated" type="${it.strategy.SLAVE}" permissionType="GROUP" typedescription="Group" noremove="true"/>
</tr>
<j:forEach var="entry" items="${agentSIDs}">
<j:if test="${entry.sid != 'authenticated' or entry.type.toString() != 'GROUP'}">
<tr name="[${entry.type}:${entry.sid}]" class="permission-row highlight-row" data-descriptor-url="${descriptorPath}">
<local:userRow sid="${entry.sid}" title="${entry.sid}" permissionType="${entry.type.toString()}" typedescription="${entry.type.getDescription()}" type="${it.strategy.SLAVE}"/>
</tr>
</j:if>
</j:forEach>
<tr name="__unused__" id="newAgentRowTemplate" style="display:none" class="permission-row highlight-row" data-descriptor-url="${descriptorPath}">
<local:userRow title="{{USER}}" type="${it.strategy.SLAVE}" typedescription="{{USERGROUP}}"/>
</tr>
<!-- Show the footer if 20 lines or more-->
<j:set var="hidefooter" value=""/>
<j:if test="${agentSIDs.size() lt 20}">
<j:set var="hidefooter" value="default-hidden"/>
</j:if>
<tfoot class="${hidefooter}">
<tr class="group-row highlight-row">
<td class="start" />
<td class="pane-header blank">
${%User/group}
</td>
<j:forEach var="role" items="${agentGrantedRoles}">
<td class="pane-header">
${role.key.name}
</td>
</j:forEach>
<td class="stop" />
</tr>
</tfoot>
</table>
</j:forEach>
<tr name="__unused__" id="newAgentRowTemplate" style="display:none" class="permission-row highlight-row" data-descriptor-url="${descriptorPath}">
<local:userRow title="{{USER}}" type="${it.strategy.SLAVE}" typedescription="{{USERGROUP}}"/>
</tr>
<local:tfoot roles="${agentGrantedRoles}" sids="${agentSIDs}"/>
</table>

<l:isAdmin>
<br/>
<local:addButtons sids="${agentSIDs}" tableid="${tableid}" id="newAgentRowTemplate" roles="${agentGrantedRoles}" highlighter="agentTableHighlighter"/>
</l:isAdmin>
<l:isAdmin>
<br/>
<local:addButtons sids="${agentSIDs}" tableid="${tableid}" id="newAgentRowTemplate" roles="${agentGrantedRoles}" highlighter="agentTableHighlighter"/>
</l:isAdmin>
</j:jelly>
Original file line number Diff line number Diff line change
Expand Up @@ -43,25 +43,7 @@
<table id="${tableid}" class="center-align global-matrix-authorization-strategy-table" name="data">

<!-- The first row will show grouping -->
<thead>
<tr class="group-row highlight-row">
<td class="start" />
<td class="pane-header blank">
${%User/Group}
</td>
<j:forEach var="role" items="${globalGrantedRoles}">
<j:set var="permissionList" value="&lt;b&gt;Permissions&lt;/b&gt;:"/>
<j:forEach var="p" items="${role.key.permissions}">
<j:set var="permissionList" value="${permissionList}&lt;br/&gt;${p.group.title}/${p.name}"/>
</j:forEach>
<j:set var="permissionList" value="${permissionList} &lt;br/&gt;"/>
<td class="pane-header">
<span tooltip="${permissionList}">${role.key.name}</span>
</td>
</j:forEach>
<l:isAdmin><td class="stop" /></l:isAdmin>
</tr>
</thead>
<local:thead roles="${globalGrantedRoles}" showPattern="false"/>
<tr name="[USER:anonymous]" class="highlight-row">
<local:userRow sid="anonymous" title="${%Anonymous}" type="${it.strategy.GLOBAL}" permissionType="USER" typedescription="User" noremove="true"/>
</tr>
Expand All @@ -78,25 +60,7 @@
<tr name="__unused__" id="newGlobalRowTemplate" style="display:none" class="permission-row highlight-row" data-descriptor-url="${descriptorPath}">
<local:userRow title="{{USER}}" type="${it.strategy.GLOBAL}" typedescription="{{USERGROUP}}"/>
</tr>
<!-- The last row is used to repeat the header (if more than 19 lines) -->
<j:set var="hidefooter" value="0"/>
<j:if test="${globalSIDs.size() lt 18}">
<j:set var="hidefooter" value="default-hidden"/>
</j:if>
<tfoot class="${hidefooter}">
<tr class="group-row highlight-row">
<td class="start" />
<td class="pane-header blank">
${%User/group}
</td>
<j:forEach var="role" items="${globalGrantedRoles}">
<td class="pane-header">
<span>${role.key.name}</span>
</td>
</j:forEach>
<td class="stop" />
</tr>
</tfoot>
<local:tfoot roles="${globalGrantedRoles}" sids="${globalSIDs}"/>
</table>

<l:isAdmin>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,65 +42,29 @@

<table id="${tableid}" class="center-align global-matrix-authorization-strategy-table" name="data">

<!-- The first row will show grouping -->
<thead>
<tr class="group-row highlight-row">
<td class="start" />
<td class="pane-header blank">
${%User/Group}
</td>
<j:forEach var="role" items="${itemGrantedRoles}">
<j:set var="permissionList" value="&lt;b&gt;Permissions&lt;/b&gt;:"/>
<j:forEach var="p" items="${role.key.permissions}">
<j:set var="permissionList" value="${permissionList}&lt;br/&gt;${p.group.title}/${p.name}"/>
</j:forEach>
<j:set var="permissionList" value="${permissionList} &lt;br/&gt; &lt;b&gt;Pattern&lt;/b&gt;: ${h.escape(role.key.pattern.toString())}"/>
<td class="pane-header">
<span tooltip="${permissionList}">${role.key.name}</span>
</td>
</j:forEach>
<l:isAdmin><td class="stop"/></l:isAdmin>
<!-- The first row will show grouping -->
<local:thead roles="${itemGrantedRoles}" showPattern="true"/>
<tr name="[USER:anonymous]" class="highlight-row">
<local:userRow sid="anonymous" title="${%Anonymous}" type="${it.strategy.PROJECT}" permissionType="USER" typedescription="User" noremove="true"/>
</tr>
<tr name="[GROUP:authenticated]" class="highlight-row">
<local:userRow sid="authenticated" title="authenticated" type="${it.strategy.PROJECT}" permissionType="GROUP" typedescription="Group" noremove="true"/>
</tr>
<j:forEach var="entry" items="${projectSIDs}">
<j:if test="${entry.sid != 'authenticated' or entry.type.toString() != 'GROUP'}">
<tr name="[${entry.type}:${entry.sid}]" class="permission-row highlight-row" data-descriptor-url="${descriptorPath}">
<local:userRow sid="${entry.sid}" title="${entry.sid}" permissionType="${entry.type.toString()}" typedescription="${entry.type.getDescription()}" type="${it.strategy.PROJECT}"/>
</tr>
</thead>
<tr name="[USER:anonymous]" class="highlight-row">
<local:userRow sid="anonymous" title="${%Anonymous}" type="${it.strategy.PROJECT}" permissionType="USER" typedescription="User" noremove="true"/>
</tr>
<tr name="[GROUP:authenticated]" class="highlight-row">
<local:userRow sid="authenticated" title="authenticated" type="${it.strategy.PROJECT}" permissionType="GROUP" typedescription="Group" noremove="true"/>
</tr>
<j:forEach var="entry" items="${projectSIDs}">
<j:if test="${entry.sid != 'authenticated' or entry.type.toString() != 'GROUP'}">
<tr name="[${entry.type}:${entry.sid}]" class="permission-row highlight-row" data-descriptor-url="${descriptorPath}">
<local:userRow sid="${entry.sid}" title="${entry.sid}" permissionType="${entry.type.toString()}" typedescription="${entry.type.getDescription()}" type="${it.strategy.PROJECT}"/>
</tr>
</j:if>
</j:forEach>
<tr name="__unused__" id="newItemRowTemplate" style="display:none" class="permission-row highlight-row" data-descriptor-url="${descriptorPath}">
<local:userRow title="{{USER}}" type="${it.strategy.PROJECT}" typedescription="{{USERGROUP}}"/>
</tr>
<!-- The last row is used to repeat the header (if more than 19+1 lines) -->
<j:set var="hidefooter" value=""/>
<j:if test="${projectSIDs.size() lt 18}">
<j:set var="hidefooter" value="default-hidden"/>
</j:if>
<tfoot class="${hidefooter}">
<tr class="group-row highlight-row">
<td class="start" />
<td class="pane-header blank">
${%User/group}
</td>
<j:forEach var="role" items="${itemGrantedRoles}">
<td class="pane-header">
<span>${role.key.name}</span>
</td>
</j:forEach>
<td class="stop" />
</tr>
</tfoot>
</table>
</j:forEach>
<tr name="__unused__" id="newItemRowTemplate" style="display:none" class="permission-row highlight-row" data-descriptor-url="${descriptorPath}">
<local:userRow title="{{USER}}" type="${it.strategy.PROJECT}" typedescription="{{USERGROUP}}"/>
</tr>
<local:tfoot roles="${itemGrantedRoles}" sids="${projectSIDs}"/>
</table>

<l:isAdmin>
<br/>
<local:addButtons sids="${projectSIDs}" tableid="${tableid}" id="newItemRowTemplate" roles="${itemGrantedRoles}" highlighter="itemTableHighlighter"/>
</l:isAdmin>
<l:isAdmin>
<br/>
<local:addButtons sids="${projectSIDs}" tableid="${tableid}" id="newItemRowTemplate" roles="${itemGrantedRoles}" highlighter="itemTableHighlighter"/>
</l:isAdmin>
</j:jelly>
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
<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:local="local">
<l:layout permission="${app.SYSTEM_READ}" title="${%Assign Roles}" norefresh="true">
<l:breadcrumb title="Assign Roles"/>
<j:choose>
<j:when test="${app.hasPermission(app.ADMINISTER)}">
<j:set var="readOnlyMode" value="false" />
Expand All @@ -48,6 +49,51 @@
</j:if>

<d:taglib uri="local">
<d:tag name="thead">
<thead>
<tr class="group-row highlight-row">
<td class="start" />
<td class="pane-header blank">
${%User/Group}
</td>
<j:forEach var="role" items="${attrs.roles}">
<j:set var="permissionList" value="&lt;b&gt;Permissions&lt;/b&gt;:"/>
<j:forEach var="p" items="${role.key.permissions}">
<j:set var="permissionList" value="${permissionList}&lt;br/&gt;${p.group.title}/${p.name}"/>
</j:forEach>
<j:set var="patternTooltip" value=""/>
<j:if test="${attrs.showPattern == 'true'}">
<j:set var="patternTooltip" value=" &lt;br/&gt; &lt;b&gt;Pattern&lt;/b&gt;: ${h.escape(role.key.pattern.toString())}"/>
</j:if>
<j:set var="permissionList" value="${permissionList} ${patternTooltip}"/>
<td class="pane-header">
<span data-html-tooltip="${permissionList}">${role.key.name}</span>
</td>
</j:forEach>
<l:isAdmin><td class="stop" /></l:isAdmin>
</tr>
</thead>
</d:tag>
<d:tag name="tfoot">
<j:set var="hidefooter" value="0"/>
<j:if test="${attrs.sids.size() lt 18}">
<j:set var="hidefooter" value="default-hidden"/>
</j:if>
<tfoot class="${hidefooter}">
<tr class="group-row highlight-row">
<td class="start" />
<td class="pane-header blank">
${%User/group}
</td>
<j:forEach var="role" items="${attrs.roles}">
<td class="pane-header">
<span>${role.key.name}</span>
</td>
</j:forEach>
<td class="stop" />
</tr>
</tfoot>
</d:tag>
<d:tag name="addButtons">
<div class="jenkins-buttons-row jenkins-buttons-row--equal-width">
<button type="button" class="jenkins-button role-strategy-add-button" data-template-id="${id}" data-table-id="${attrs.tableid}" data-highlighter="${attrs.highlighter}"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
<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:local="local">
<l:layout permission="${app.SYSTEM_READ}" norefresh="true" title="${%Manage Roles}">
<l:breadcrumb title="Manage Roles"/>
<j:choose>
<j:when test="${app.hasPermission(app.ADMINISTER)}">
<j:set var="readOnlyMode" value="false" />
Expand All @@ -48,6 +49,88 @@
</j:if>

<d:taglib uri="local">
<d:tag name="thead">
<thead>
<tr class="group-row">
<td rowspan="2" class="start" />
<td rowspan="2" class="pane-header blank">
${%Role}
</td>
<j:if test="${attrs.showPattern == 'true'}">
<td rowspan="2" class="pane-header blank">
${%Pattern}
</td>
</j:if>
<j:forEach var="g" items="${attrs.permissionGroups}">
<j:set var="cnt" value="${0}" />
<j:forEach var="p" items="${g.permissions}">
<j:if test="${it.strategy.descriptor.showPermission(attrs.strategy, p)}">
<j:set var="cnt" value="${cnt+1}"/>
</j:if>
</j:forEach>

<td class="pane-header" colspan="${cnt}">
${g.title}
</td>
</j:forEach>
<l:isAdmin><td rowspan="2" class="stop" /></l:isAdmin>
</tr>
<!-- The second row for individual permission -->
<tr class="caption-row highlight-row">
<j:forEach var="g" items="${attrs.permissionGroups}">
<j:forEach var="p" items="${g.permissions}">
<j:if test="${it.strategy.descriptor.showPermission(attrs.strategy, p)}">
<th class="pane" tooltip="${p.description}">
<span>${p.name}</span>
</th>
</j:if>
</j:forEach>
</j:forEach>
</tr>
</thead>
</d:tag>
<d:tag name="tfoot">
<j:set var="hidefooter" value=""/>
<j:if test="${attrs.roles.size() lt 20}">
<j:set var="hidefooter" value="default-hidden"/>
</j:if>
<tfoot class="${hidefooter}">
<tr class="caption-row highlight-row">
<td rowspan="2" class="start" />
<td rowspan="2" class="pane-header blank">
${%Role}
</td>
<j:if test="${attrs.showPattern == 'true'}">
<td rowspan="2" class="pane-header blank">
${%Pattern}
</td>
</j:if>
<j:forEach var="g" items="${attrs.permissionGroups}">
<j:forEach var="p" items="${g.permissions}">
<j:if test="${it.strategy.descriptor.showPermission(attrs.strategy, p)}">
<th class="pane" tooltip="${p.description}">
<span>${p.name}</span>
</th>
</j:if>
</j:forEach>
</j:forEach>
</tr>
<tr class="group-row">
<j:forEach var="g" items="${attrs.permissionGroups}">
<j:set var="cnt" value="${0}" />
<j:forEach var="p" items="${g.permissions}">
<j:if test="${it.strategy.descriptor.showPermission(attrs.strategy, p)}">
<j:set var="cnt" value="${cnt+1}"/>
</j:if>
</j:forEach>

<td class="pane-header" colspan="${cnt}">
${g.title}
</td>
</j:forEach>
</tr>
</tfoot>
</d:tag>
<d:tag name="addButton">
<button type="button" class="jenkins-button role-strategy-add-button" data-template-id="${id}" data-table-id="${attrs.tableid}" data-highlighter="${attrs.highlighter}">${%Add}</button>
</d:tag>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@
</d:taglib>

<l:layout title="${%Role-Strategy Macros Info}" permission="${app.SYSTEM_READ}" norefresh="true">
<l:breadcrumb title="Macros"/>
<st:include page="sidepanel.jelly"/>

<l:main-panel>
Expand Down
Loading

0 comments on commit 4390a15

Please sign in to comment.