Skip to content

Commit

Permalink
Improve handling of anon user on reservation queue detail view (#632)
Browse files Browse the repository at this point in the history
  • Loading branch information
mathiazom committed May 4, 2022
1 parent 965d209 commit c623e27
Showing 1 changed file with 46 additions and 33 deletions.
79 changes: 46 additions & 33 deletions reservations/templates/reservations/queue_detail.html
Original file line number Diff line number Diff line change
Expand Up @@ -35,41 +35,53 @@ <h4>{{ object.name }}</h4>
</div>
</div>
</div>

<div class="section">
<div class="container">
{% if not perms.reservations.view_user_details and disable_reservations %}
<div class="row">
<div class="col s12">
<p>Hackerspace er i en tidsramme hvor reservasjonssystemet er stengt. Dette er som regel eksamenstid, ferie, etc.</p>
<p>Dersom du er medlem i Hackerspace, logg på din konto for å kunne reservere print utenom vanlige åpningstider.</p>
</div>
</div>
{% else %}
<div class="row">
<div class="col s12 m6">
<div class="card-panel small hs-green white-text z-depth-0">
<p>Grønne blokker er dine egne reservasjoner.</p>
<p>Trykk på en av dine reservasjoner for å oppdatere kommentaren eller slette den.</p>
</div>
</div>
<div class="col s12 m6">
<div class="card-panel small hs-gray white-text z-depth-0">
<p>Grå blokker er andre sine reservasjoner.</p>
</div>
</div>
</div>
<div class="row">
<div class="col s12">
<div id='calendar'></div>
</div>
</div>
{% endif %}
</div>
<div class="container">

{% if not request.user.is_authenticated %}
<div class="row">
<div class="col s12">
<div class="card-panel small hs-green white-text z-depth-0">
<p>Du må være logget inn for å se og opprette egne reservasjoner</p>
<a class="white black-text btn btn-flat" href="{% url 'social:begin' 'dataporten_feide' %}?next={{ request.path }}">Logg inn</a>
</div>
</div>
</div>
{% elif not perms.reservations.view_user_details and disable_reservations %}
<div class="row">
<div class="col s12">
<p>Hackerspace er i en tidsramme hvor reservasjonssystemet er stengt. Dette er som regel eksamenstid, ferie, etc.</p>
<p>Dersom du er medlem i Hackerspace, logg på din konto for å kunne reservere print utenom vanlige åpningstider.</p>
</div>
</div>
{% else %}
<div class="row">
<div class="col s12 m6">
<div class="card-panel small hs-green white-text z-depth-0">
<p>Grønne blokker er dine egne reservasjoner.</p>
<p>Trykk på en av dine reservasjoner for å oppdatere kommentaren eller slette den.</p>
</div>
</div>
<div class="col s12 m6">
<div class="card-panel small hs-gray white-text z-depth-0">
<p>Grå blokker er andre sine reservasjoner.</p>
</div>
</div>
</div>
{% endif %}

<div class="row">
<div class="col s12">
<div id='calendar'></div>
</div>
</div>
</div>
</div>

{% include 'reservations/reservation_modal.html' %}
<script>
const requestUser = {{ request.user.id }};
const requestUser = {% if request.user.is_authenticated %}{{ request.user.id }}{% else %}null{% endif %};
const pk = '{{ object.id }}';
const isSuperuser = {{ request.user.is_superuser|yesno:"true,false" }};
const isMember = {{ perms.reservations.view_user_details|yesno:"true,false" }};
Expand Down Expand Up @@ -109,7 +121,8 @@ <h4>{{ object.name }}</h4>
selectable: true,
selectMirror: true,
selectAllow: function(info) {
return moment.utc().diff(info.startStr) <= 0
return requestUser != null
&& moment.utc().diff(info.startStr) <= 0
&& (isMember || info.start.getDate() === info.end.getDate())
},
height:"auto",
Expand All @@ -127,7 +140,7 @@ <h4>{{ object.name }}</h4>
maxTime: isMember ? "23:59:59" : "18:00:00",
weekends: isMember,
eventClick: function(eventClickInfo) {
if (requestUser === eventClickInfo.event.extendedProps.user || isSuperuser) {
if (requestUser != null && requestUser === eventClickInfo.event.extendedProps.user || isSuperuser) {
let modal = document.getElementById("updateModal");
exStartField.value = DateTimeFormat(eventClickInfo.event.start);
exEndField.value = DateTimeFormat(eventClickInfo.event.end);
Expand Down Expand Up @@ -175,7 +188,7 @@ <h4>{{ object.name }}</h4>
const elem = info.el
let elemStyle = "white-space: pre-line; overflow-wrap: break-word;";
// Add event owner and comment as tooltip for members
if (requestUser === info.event.extendedProps.user) {
if (requestUser != null && requestUser === info.event.extendedProps.user) {
elemStyle += "background-color: #5BBA47;";
M.Tooltip.init(info.el, {html: "Trykk for å redigere" });
} else {
Expand Down

0 comments on commit c623e27

Please sign in to comment.