port new templates to jinja

This commit is contained in:
Mike McLean 2025-05-07 12:40:40 -04:00 committed by Tomas Kopecek
parent a2f9fbfd06
commit 140aeacda0
5 changed files with 166 additions and 172 deletions

View file

@ -2728,7 +2728,7 @@ def reporequest(environ, reqID):
# invalid, but technically not blocked in db
values['min_event'] = None
values['req'] = req
return _genHTML(environ, 'reporequest.chtml')
return _genHTML(environ, 'reporequest.html.j2')
def reporequests(environ, active="true", tag=None, start=None, order=None):
@ -2764,7 +2764,7 @@ def reporequests(environ, active="true", tag=None, start=None, order=None):
args=(clauses, '**'),
start=start, dataName='reqs', prefix='req', order=order,
optsarg='opts')
return _genHTML(environ, 'reporequests.chtml')
return _genHTML(environ, 'reporequests.html.j2')
def activesession(environ, start=None, order=None):

View file

@ -1,41 +0,0 @@
#import json
#import koji
#from kojiweb import util
#include "includes/header.chtml"
<h4>Information for repo request $req_id</h4>
#if not $req
Repo request $req_id not found.
#else
<table>
<tr><th>ID</th><td>$req.id</td><th></tr>
<tr><th>Active</th><td>$req.active</td><th></tr>
<tr><th>Priority</th><td>$req.priority</td><th></tr>
<tr><th>Tag</th><td><a href="taginfo?tagID=$req.tag_id">$req.tag_name</a></td></tr>
#if $req.at_event
<tr><th>At specific event</th><td>$at_event.id ($util.formatTimeLong($at_event.ts))</td><th></tr>
#elif $req.min_event
<tr><th>Minimum event</th><td>$min_event.id ($util.formatTimeLong($min_event.ts))</td><th></tr>
#else
<tr><th>Invalid event</th><td>Unable to determine event for request</td><th></tr>
#end if
#if $req.opts
<th>Options</th><td class="usertext">$json.dumps($req.opts, indent=4)</td>
#end if
#if $req.repo_id
<tr><th>Fulfilled by repo</th><td><a href="repoinfo?repoID=$req.repo_id">$req.repo_id</a</td></tr>
#end if
#if $req.task_id
<tr><th>Task ID</th><td><a href="taskinfo?taskID=$req.task_id">$req.task_id</a> ($util.taskState($req.task_state))</td></tr>
<tr><th>Tries</th><td>$req.tries</td></tr>
#end if
<tr><th>Owner</th><td><a href="userinfo?userID=$req.owner">$req.owner_name</a></td></tr>
<tr><th>Created</th><td>$util.formatTimeLong($req.create_ts)</td></tr>
<tr><th>Updated</th><td>$util.formatTimeLong($req.update_ts)</td></tr>
</table>
#end if
#include "includes/footer.chtml"

View file

@ -1,129 +0,0 @@
#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"

View file

@ -0,0 +1,38 @@
#include "header.html.j2"
<h4>Information for repo request {{ req_id }}</h4>
#if not req
Repo request {{ req_id }} not found.
#else
<table>
<tr><th>ID</th><td>{{ req.id }}</td><th></tr>
<tr><th>Active</th><td>{{ req.active }}</td><th></tr>
<tr><th>Priority</th><td>{{ req.priority }}</td><th></tr>
<tr><th>Tag</th><td><a href="taginfo?tagID={{ req.tag_id }}">{{ req.tag_name }}</a></td></tr>
#if req.at_event
<tr><th>At specific event</th><td>{{ at_event.id }} ({{ util.formatTimeLong(at_event.ts) }})</td><th></tr>
#elif req.min_event
<tr><th>Minimum event</th><td>{{ min_event.id }} ({{ util.formatTimeLong(min_event.ts) }})</td><th></tr>
#else
<tr><th>Invalid event</th><td>Unable to determine event for request</td><th></tr>
#endif
#if req.opts
<th>Options</th><td class="usertext">{{ json.dumps(req.opts, indent=4) }}</td>
#endif
#if req.repo_id
<tr><th>Fulfilled by repo</th><td><a href="repoinfo?repoID={{ req.repo_id }}">{{ req.repo_id }}</a</td></tr>
#endif
#if req.task_id
<tr><th>Task ID</th><td><a href="taskinfo?taskID={{ req.task_id }}">{{ req.task_id }}</a> ({{ util.taskState(req.task_state) }})</td></tr>
<tr><th>Tries</th><td>{{ req.tries }}</td></tr>
#endif
<tr><th>Owner</th><td><a href="userinfo?userID={{ req.owner }}">{{ req.owner_name }}</a></td></tr>
<tr><th>Created</th><td>{{ util.formatTimeLong(req.create_ts) }}</td></tr>
<tr><th>Updated</th><td>{{ util.formatTimeLong(req.update_ts) }}</td></tr>
</table>
#endif
#include "footer.html.j2"

View file

@ -0,0 +1,126 @@
#include "header.html.j2"
# from "macros.html.j2" import rowToggle
#set Pvars = ('active', 'tag', 'order')
#set P = util.passthrough
<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('tag', 'order') }}';">
<option value="true" {{ 'selected' if active == 'true' else '' }}>true</option>
<option value="false" {{ 'selected' if active == 'false' else '' }}>false</option>
<option value="all" {{ 'selected' if active == 'all' 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 (reqPages |length) > 1
<form class="pageJump" action="">
Page:
<select onchange="javascript: window.location = 'reporequests?start=' + this.value * {{ reqRange }} + '{{ P(*Pvars) }}';">
#for pageNum in reqPages
<option value="{{ pageNum }}"{{ ' selected' if pageNum == reqCurrentPage else '' }}>{{ pageNum + 1 }}</option>
#endfor
</select>
</form>
#endif
#if reqStart > 0
<a href="reporequests?start={{ reqStart - reqRange }}{{ P(*Pvars) }}">&lt;&lt;&lt;</a>
#endif
#if totalReqs != 0
<strong>Requests {{ reqStart + 1 }} through {{ reqStart + reqCount }} of {{ totalReqs }}</strong>
#endif
#if reqStart + reqCount < totalReqs
<a href="reporequests?start={{ reqStart + reqRange }}{{ P(*Pvars) }}">&gt;&gt;&gt;</a>
#endif
</td>
</tr>
<tr class="list-header">
<th><a href="reporequests?{{ P(*Pvars, toggleOrder='id', prefix='') }}">ID</a> {{ util.sortImage('id') }}</th>
<th><a href="reporequests?{{ P(*Pvars, toggleOrder='priority', prefix='') }}">Priority</a> {{ util.sortImage('priority') }}</th>
<th><a href="reporequests?{{ P(*Pvars, toggleOrder='tag_name', prefix='') }}">Tag</a> {{ util.sortImage('tag_name') }}</th>
<th>Task</th>
<th>Repo</th>
<th>Status</th>
</tr>
#if (reqs |length) > 0
#for req in reqs
<tr class="{{ rowToggle(loop) }}">
<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('active', 'order') }}" title="Filter by tag"><img src="{{ util.themePath('images/funnel.svg') }}"></a>
#endif
</td>
#if req.task_id
<td><a href="taskinfo?taskID={{ req.task_id }}">{{ req.task_id }}</a></td>
#else
<td>...</td>
#endif
#if req.repo_id
<td><a href="repoinfo?repoID={{ req.repo_id }}">{{ req.repo_id }}</a></td>
#else
<td>...</td>
#endif
<td>
## simulate a more helpful status
#if req.active
{{ util.imageTag('waiting') }}
#elif req.repo_id
{{ util.imageTag('yes') }}
#else
{{ util.imageTag('no') }}
#endif
</td>
</tr>
#endfor
#else
<tr class="row-odd">
<td colspan="2">No repo requests</td>
</tr>
#endif
<tr>
<td class="paginate" colspan="2">
#if (reqPages |length) > 1
<form class="pageJump" action="">
Page:
<select onchange="javascript: window.location = 'reporequests?start=' + this.value * {{ reqRange }} + '{{ P(*Pvars) }}';">
#for pageNum in reqPages
<option value="{{ pageNum }}"{{ ' selected' if pageNum == reqCurrentPage else '' }}>{{ pageNum + 1 }}</option>
#endfor
</select>
</form>
#endif
#if reqStart > 0
<a href="reporequests?start={{ reqStart - reqRange }}{{ P(*Pvars) }}">&lt;&lt;&lt;</a>
#endif
#if totalReqs != 0
<strong>Reqs {{ reqStart + 1 }} through {{ reqStart + reqCount }} of {{ totalReqs }}</strong>
#endif
#if reqStart + reqCount < totalReqs
<a href="reporequests?start={{ reqStart + reqRange }}{{ P(*Pvars) }}">&gt;&gt;&gt;</a>
#endif
</td>
</tr>
</table>
#include "footer.html.j2"