debian-koji/www/kojiweb/reporequests.chtml
Mike McLean 357587a57c repo requests web ui
* new page for request details
* new page for querying requests
* add links in taginfo and taskinfo pages
* show more data in repoinfo page
2025-06-12 13:24:12 +02:00

129 lines
4.7 KiB
Text

#encoding UTF-8
#from kojiweb import util
#from kojiweb.util import passthrough as P
#include "includes/header.chtml"
#set $Pvars = ('active', 'tag', 'order')
<h4>$desc</h4>
<table class="data-list">
<td colspan="6">
<form action="">
<table class="nested">
<tr><td>
<strong>Active</strong>:
</td><td>
<select name="active" class="filterlist" onchange="javascript: window.location = 'reporequests?active=' + this.value + '$P($self, 'tag', 'order')';">
<option value="true" #if $active == 'true' then 'selected' else ''#>true</option>
<option value="false" #if $active == 'false' then 'selected' else ''#>false</option>
<option value="all" #if $active == 'all' then 'selected' else ''#>all</option>
</select>
</td>
<td>
<strong>Tag</strong>:
</td><td>
<input type="text" name="tag" value="$tag"/>
</td>
</tr>
</table>
</form>
</td>
</tr>
<tr>
<td class="paginate" colspan="6">
#if $len($reqPages) > 1
<form class="pageJump" action="">
Page:
<select onchange="javascript: window.location = 'reporequests?start=' + this.value * $reqRange + '$P($self, *Pvars)';">
#for $pageNum in $reqPages
<option value="$pageNum"#if $pageNum == $reqCurrentPage then ' selected' else ''#>#echo $pageNum + 1#</option>
#end for
</select>
</form>
#end if
#if $reqStart > 0
<a href="reporequests?start=#echo $reqStart - $reqRange #$P($self, *Pvars)">&lt;&lt;&lt;</a>
#end if
#if $totalReqs != 0
<strong>Requests #echo $reqStart + 1 # through #echo $reqStart + $reqCount # of $totalReqs</strong>
#end if
#if $reqStart + $reqCount < $totalReqs
<a href="reporequests?start=#echo $reqStart + $reqRange#$P($self, *Pvars)">&gt;&gt;&gt;</a>
#end if
</td>
</tr>
<tr class="list-header">
<th><a href="reporequests?$P($self, *Pvars, toggleOrder='id', prefix='')">ID</a> $util.sortImage($self, 'id')</th>
<th><a href="reporequests?$P($self, *Pvars, toggleOrder='priority', prefix='')">Priority</a> $util.sortImage($self, 'priority')</th>
<th><a href="reporequests?$P($self, *Pvars, toggleOrder='tag_name', prefix='')">Tag</a> $util.sortImage($self, 'tag_name')</th>
<th>Task</th>
<th>Repo</th>
<th>Status</th>
</tr>
#if $len($reqs) > 0
#for $req in $reqs
<tr class="$util.rowToggle($self)">
<td><a href="reporequest?reqID=$req.id">$req.id</a></td>
<td>$req.priority</td>
<td>
<a href="taginfo?tagID=$req.tag_id">$req.tag_name</a>
#if not $tag
<a href="reporequests?tag=$req.tag_id$P($self, 'active', 'order')" title="Filter by tag"><img src="$util.themePath('images/funnel.svg')"></a>
#end if
</td>
#if $req.task_id
<td><a href="taskinfo?taskID=$req.task_id">$req.task_id</a></td>
#else
<td>...</td>
#end if
#if $req.repo_id
<td><a href="repoinfo?repoID=$req.repo_id">$req.repo_id</a></td>
#else
<td>...</td>
#end if
<td>
## simulate a more helpful status
#if $req.active
$util.imageTag('waiting')
#elif $req.repo_id
$util.imageTag('yes')
#else
$util.imageTag('no')
#end if
</td>
</tr>
#end for
#else
<tr class="row-odd">
<td colspan="2">No repo requests</td>
</tr>
#end if
<tr>
<td class="paginate" colspan="2">
#if $len($reqPages) > 1
<form class="pageJump" action="">
Page:
<select onchange="javascript: window.location = 'reporequests?start=' + this.value * $reqRange + '$P($self, *Pvars)';">
#for $pageNum in $reqPages
<option value="$pageNum"#if $pageNum == $reqCurrentPage then ' selected' else ''#>#echo $pageNum + 1#</option>
#end for
</select>
</form>
#end if
#if $reqStart > 0
<a href="reporequests?start=#echo $reqStart - $reqRange #$P($self, *Pvars)">&lt;&lt;&lt;</a>
#end if
#if $totalReqs != 0
<strong>Reqs #echo $reqStart + 1 # through #echo $reqStart + $reqCount # of $totalReqs</strong>
#end if
#if $reqStart + $reqCount < $totalReqs
<a href="reporequests?start=#echo $reqStart + $reqRange#$P($self, *Pvars)">&gt;&gt;&gt;</a>
#end if
</td>
</tr>
</table>
#include "includes/footer.chtml"