staging #244

Merged
philipp merged 2 commits from staging into main 2024-03-05 09:19:56 +01:00
2 changed files with 39 additions and 2 deletions
Showing only changes of commit 8b0cbe23d1 - Show all commits

View File

@ -753,7 +753,7 @@ impl<'r> FromRequest<'r> for AdminUser {
if user.has_role(db, "admin").await {
Outcome::Success(AdminUser { user })
} else {
Outcome::Error((Status::Forbidden, LoginError::NotACox))
Outcome::Forward(Status::Forbidden)
}
}
Outcome::Error(f) => Outcome::Error(f),

View File

@ -3,7 +3,16 @@
{% extends "base" %}
{% block content %}
<div class="max-w-screen-lg w-full">
<h1 class="h1">Logbuch</h1>
<h1 class="h1">
Logbuch
{% if "admin" in loggedin_user.roles %}
<select id="yearSelect"
onchange="changeYear()"
style="background: transparent;
background-image: none;
text-decoration: underline"></select>
{% endif %}
</h1>
<div class="mt-3">
<div class="search-wrapper">
<label for="name" class="sr-only">Suche</label>
@ -17,4 +26,32 @@
{% for log in logs %}{{ log::show_old(log=log, state="completed", only_ones=false, index=loop.index) }}{% endfor %}
</div>
</div>
<script>
function getYearFromURL() {
var queryParams = new URLSearchParams(window.location.search);
return queryParams.get('year');
}
function populateYears() {
var select = document.getElementById('yearSelect');
var currentYear = new Date().getFullYear();
var selectedYear = getYearFromURL() || currentYear;
for (var year = 2019; year <= currentYear; year++) {
var option = document.createElement('option');
option.value = option.textContent = year;
if (year == selectedYear) {
option.selected = true;
}
select.appendChild(option);
}
}
function changeYear() {
var selectedYear = document.getElementById('yearSelect').value;
window.location.href = '?year=' + selectedYear;
}
// Call this function when the page loads
populateYears();
</script>
{% endblock content %}