Skip to content

Commit

Permalink
Display number of available reward points on staff page (e-valuation#…
Browse files Browse the repository at this point in the history
…1941)

* Display number of available reward points on staff page

* Update evap/rewards/templates/rewards_reward_point_redemption_events.html

---------

Co-authored-by: Niklas Mohrin <dev@niklasmohrin.de>
  • Loading branch information
2 people authored and florian-str committed Jun 19, 2023
1 parent 4c3ec94 commit 87d76b7
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,14 @@

{% block content %}
{{ block.super }}

<p>
<a href="{% url 'rewards:reward_point_redemption_event_create' %}" class="btn btn-dark btn-sm">{% trans 'Create new event' %}</a>
</p>
<div class="row mb-2">
<div class="col">
<a href="{% url 'rewards:reward_point_redemption_event_create' %}" class="btn btn-dark btn-sm">{% trans 'Create new event' %}</a>
</div>
<div class="col text-end">
{% trans 'Available reward points' %}: {{ total_points_available }}
</div>
</div>

<div class="card card-outline-primary mb-3">
{% trans 'Upcoming events' as title %}
Expand Down
10 changes: 9 additions & 1 deletion evap/rewards/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

from django.contrib import messages
from django.core.exceptions import BadRequest, SuspiciousOperation
from django.db.models import Sum
from django.http import HttpResponse
from django.shortcuts import get_object_or_404, redirect, render
from django.utils.translation import get_language
Expand Down Expand Up @@ -91,7 +92,14 @@ def index(request):
def reward_point_redemption_events(request):
upcoming_events = RewardPointRedemptionEvent.objects.filter(redeem_end_date__gte=datetime.now()).order_by("date")
past_events = RewardPointRedemptionEvent.objects.filter(redeem_end_date__lt=datetime.now()).order_by("-date")
template_data = {"upcoming_events": upcoming_events, "past_events": past_events}
total_points_granted = RewardPointGranting.objects.aggregate(Sum("value"))["value__sum"] or 0
total_points_redeemed = RewardPointRedemption.objects.aggregate(Sum("value"))["value__sum"] or 0
total_points_available = total_points_granted - total_points_redeemed
template_data = {
"upcoming_events": upcoming_events,
"past_events": past_events,
"total_points_available": total_points_available,
}
return render(request, "rewards_reward_point_redemption_events.html", template_data)


Expand Down

0 comments on commit 87d76b7

Please sign in to comment.