You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

164 lines
9.6 KiB

{% extends "base.html" %}
{% block content %}
<h1>{{PAGE_TITLE}}</h1>
<p class="lead">Below is the list of repositories we can build &amp; pull.</p>
<div class="btn-group mb-3" role="group">
<button class="btn btn-lg btn-success" onclick="doPullAll(this)">Pull All</button>
<button class="btn btn-lg btn-secondary" onclick="doBuildAll(this)">Build All</button>
<button class="btn btn-lg btn-dark" onclick="doPullAndBuildAll(this)">Pull &amp; Build All</button>
</div>
<hr/>
<div class="d-flex justify-content-between align-items-center mb-3">
<div class="fw-bold">Page {{page}} of {{total_pages}}</div>
<nav>
<ul class="pagination pagination-sm mb-0">
{% if page>1 %}<li class="page-item"><a class="page-link" href="?page={{page|add:-1}}&sort_by={{sort_by}}&sort_order={{sort_order}}" aria-label="Previous"><span aria-hidden="true">&laquo;</span></a></li>{% endif %}
{% for p in pages %}<li class="page-item{% if p==page %}active{% endif %}"><a class="page-link" href="?page={{p}}&sort_by={{sort_by}}&sort_order={{sort_order}}">{{p}}</a></li>{% endfor %}
{% if page<total_pages %}<li class="page-item"><a class="page-link" href="?page={{page|add:1}}&sort_by={{sort_by}}&sort_order={{sort_order}}" aria-label="Next"><span aria-hidden="true">&raquo;</span></a></li>{% endif %}
</ul>
</nav>
</div>
<table class="table table-striped">
<thead>
<tr>
<th><input style="width: 1.5em; height: 1.5em;" type="checkbox" id="selectAll"></th>
<th class="align-middle">
<a class="text-decoration-none text-body" href="?page={{page}}&sort_by=branch_name&sort_order={% if sort_order=='asc' %}desc{% else %}asc{% endif %}">Branch{% if sort_by=='branch' and sort_order=='asc' %}<i class="fa-solid fa-arrow-up"></i>{% elif sort_by=='branch' and sort_order=='desc' %}<i class="fa-solid fa-arrow-down"></i>{% endif %}</a>
</th>
<th class="align-middle">
<a class="text-decoration-none text-body" href="?page={{page}}&sort_by=codename&sort_order={% if sort_order=='asc' %}desc{% else %}asc{% endif %}">Branch{% if sort_by=='codename' and sort_order=='asc' %}<i class="fa-solid fa-arrow-up"></i>{% elif sort_by=='codename' and sort_order=='desc' %}<i class="fa-solid fa-arrow-down"></i>{% endif %}</a>
</th>
<th class="align-middle">
<a class="text-decoration-none text-body" href="?page={{page}}&sort_by=name&sort_order={% if sort_order=='asc' %}desc{% else %}asc{% endif %}">Repository{% if sort_by=='name' and sort_order=='asc' %}<i class="fa-solid fa-arrow-up"></i>{% elif sort_by=='name' and sort_order=='desc' %}<i class="fa-solid fa-arrow-down"></i>{% endif %}</a>
</th>
<th class="align-middle">
<a class="text-decoration-none text-body" href="?page={{page}}&sort_by=packaging_commit&sort_order={% if sort_order=='asc' %}desc{% else %}asc{% endif %}"><i class="fa-brands fa-git-alt"></i> Latest Packaging Commit{% if sort_by=='packaging_commit' and sort_order=='asc' %}<i class="fa-solid fa-arrow-up"></i>{% elif sort_by=='packaging_commit' and sort_order=='desc' %}<i class="fa-solid fa-arrow-down"></i>{% endif %}</a>
</th>
<th class="align-middle">
<a class="text-decoration-none text-body" href="?page={{page}}&sort_by=upstream_commit&sort_order={% if sort_order=='asc' %}desc{% else %}asc{% endif %}"><i class="fa-brands fa-git-alt"></i> Latest Upstream Commit{% if sort_by=='upstream_commit' and sort_order=='asc' %}<i class="fa-solid fa-arrow-up"></i>{% elif sort_by=='upstream_commit' and sort_order=='desc' %}<i class="fa-solid fa-arrow-down"></i>{% endif %}</a>
</th>
<th class="align-middle">
<a class="text-decoration-none text-body" href="?page={{page}}&sort_by=build_status&sort_order={% if sort_order=='asc' %}desc{% else %}asc{% endif %}"><i class="fa-brands fa-git-alt"></i> Build Status{% if sort_by=='build_status' and sort_order=='asc' %}<i class="fa-solid fa-arrow-up"></i>{% elif sort_by=='build_status' and sort_order=='desc' %}<i class="fa-solid fa-arrow-down"></i>{% endif %}</a>
</th>
<th class="align-middle">Actions</th>
</tr>
</thead>
<tbody>
{% for repo in repos %}<tr>
<td class="align-middle"><input style="width: 1.25em; height: 1.25em;" type="checkbox" name="repoSelect" value="{{repo.id}}"></td>
<td class="align-middle">{{repo.branch_name}}</td>
<td class="align-middle">{{repo.codename}}</td>
<td class="align-middle">{{repo.name}}</td>
<td class="align-middle">
{% if repo.packaging_commit != "" %}
<a href="{{repo.packaging_commit_url}}">
<i class="fa-solid fa-code-commit"></i> {{repo.packaging_commit}}
</a>
{% else %}
No commit found.
{% endif %}
</td>
<td class="align-middle">
{% if repo.upstream_commit != "" %}
<a href="{{repo.upstream_commit_url}}">
<i class="fa-solid fa-code-commit"></i> {{repo.upstream_commit}}
</a>
{% else %}
No commit found.
{% endif %}
</td>
<td>
<table class="table text-center">
<tbody>
<tr>
{% if repo.pull_class != "" %}
<td class="w-25">
<div class="justify-content-center align-items-center align-middle {{repo.pull_class}} text-white">
Pull
<a href="/log/{{ repo.pull_id }}" target="_blank"><i class="fa-solid fa-file-lines"></i></a>
</div>
</td>
{% endif %}
{% if repo.tarball_class != "" %}
<td><i class="fa-solid fa-right-long" style="font-size: 1.5rem;"></i></td>
<td class="w-25">
<div class="justify-content-center align-items-center align-middle {{repo.tarball_class}} text-white">
Tarball
<a href="/log/{{ repo.tarball_id }}" target="_blank"><i class="fa-solid fa-file-lines"></i></a>
</div>
</td>
{% endif %}
{% if repo.source_build_class != "" %}
<td><i class="fa-solid fa-right-long" style="font-size: 1.5rem;"></i></td>
<td class="w-25">
<div class="justify-content-center align-items-center align-middle {{repo.source_build_class}} text-white">
Source Build
<a href="/log/{{ repo.source_build_id }}" target="_blank"><i class="fa-solid fa-file-lines"></i></a>
</div>
</td>
{% endif %}
{% if repo.upload_class != "" %}
<td><i class="fa-solid fa-right-long" style="font-size: 1.5rem;"></i></td>
<td class="w-25">
<div class="justify-content-center align-items-center align-middle {{repo.upload_class}} text-white">
Upload
<a href="/log/{{ repo.upload_id }}" target="_blank"><i class="fa-solid fa-file-lines"></i></a>
</div>
</td>
{% endif %}
</tr>
<tr>
{% if repo.source_check_class != "" %}
<td class="w-25">
<div class="justify-content-center align-items-center align-middle {{repo.source_check_class}} text-white">
Source Check
<a href="/log/{{ repo.source_check_id }}" target="_blank"><i class="fa-solid fa-file-lines"></i></a>
</div>
</td>
{% endif %}
{% if repo.build_check_class != "" %}
<td><i class="fa-solid fa-right-long" style="font-size: 1.5rem;"></i></td>
<td class="w-25">
<div class="justify-content-center align-items-center align-middle {{repo.build_check_class}} text-white">
Build Check
<a href="/log/{{ repo.build_check_id }}" target="_blank"><i class="fa-solid fa-file-lines"></i></a>
</div>
</td>
{% endif %}
{% if repo.lintian_class != "" %}
<td><i class="fa-solid fa-right-long" style="font-size: 1.5rem;"></i></td>
<td class="w-25">
<div class="justify-content-center align-items-center align-middle {{repo.lintian_class}} text-white">
Lintian
<a href="/log/{{ repo.lintian_id }}" target="_blank"><i class="fa-solid fa-file-lines"></i></a>
</div>
</td>
{% endif %}
{% if repo.britney_class != "" %}
<td><i class="fa-solid fa-right-long" style="font-size: 1.5rem;"></i></td>
<td class="w-25">
<div class="justify-content-center align-items-center align-middle {{repo.britney_class}} text-white">
Britney
<a href="/log/{{ repo.britney_id }}" target="_blank"><i class="fa-solid fa-file-lines"></i></a>
</div>
</td>
{% endif %}
</tr>
</tbody>
</table>
</td>
<td class="align-middle">
<button class="btn btn-outline-secondary" onclick="doPull('{{repo.id}}', this)">Pull</button>
<button class="btn btn-primary" onclick="doBuild('{{repo.id}}', this)">Build</button>
<button class="btn btn-secondary" onclick="doViewLog('{{repo.id}}', this)">View Log</button>
</td>
</tr>{% endfor %}
</tbody>
</table>
<div class="btn-group" role="group">
<button class="btn btn-lg btn-primary" onclick="doPullSelected(this)">Pull Selected</button>
<button class="btn btn-lg btn-success" onclick="doBuildSelected(this)">Build Selected</button>
<button class="btn btn-lg btn-info" onclick="doPullAndBuildSelected(this)">Pull &amp; Build Selected</button>
</div>
{% endblock %}