diff --git a/AKSubmission/templates/AKSubmission/ak_table.html b/AKSubmission/templates/AKSubmission/ak_table.html index ccba2bf8fe21e74bfa1e1552b6a3a18b2b505c14..4104709687b464f4b7c7ed37ca58a225cc029233 100644 --- a/AKSubmission/templates/AKSubmission/ak_table.html +++ b/AKSubmission/templates/AKSubmission/ak_table.html @@ -52,6 +52,9 @@ <a href="{% url 'submit:ak_edit' event_slug=event.slug pk=ak.pk %}" data-toggle="tooltip" title="{% trans 'Edit' %}" class="btn btn-success">{% fa5_icon 'pencil-alt' 'fas' %}</a> + <a href="{% url 'submit:overview_inc_interest' event_slug=event.slug pk=ak.pk %}" data-toggle="tooltip" + title="{% trans 'Show Interest' %}" + class="btn btn-primary">{% fa5_icon 'thumbs-up' 'fas' %}</a> {% endif %} </td> </tr> diff --git a/AKSubmission/urls.py b/AKSubmission/urls.py index 0e08c5b00e7d5c9dbec6930e4941891ff1b8d0bc..e22ffdfda26cc219511ba64b0688803c08dc1e5e 100644 --- a/AKSubmission/urls.py +++ b/AKSubmission/urls.py @@ -13,6 +13,7 @@ urlpatterns = [ path('ak/<int:pk>/history/', views.AKHistoryView.as_view(), name='ak_history'), path('ak/<int:pk>/edit/', views.AKEditView.as_view(), name='ak_edit'), path('ak/<int:pk>/interest/', views.AKInterestView.as_view(), name='inc_interest'), + path('ak/<int:pk>/overview_interest/', views.AKOverviewInterestView.as_view(), name='overview_inc_interest'), path('ak/<int:pk>/add_slot/', views.AKSlotAddView.as_view(), name='akslot_add'), path('ak/<int:pk>/add_message/', views.AKAddOrgaMessageView.as_view(), name='akmessage_add'), path('akslot/<int:pk>/edit/', views.AKSlotEditView.as_view(), name='akslot_edit'), diff --git a/AKSubmission/views.py b/AKSubmission/views.py index e1c632aa2f4a0b41f2bbcfb71716cdd3b9763dda..b0e79389bd34047ec8981bfe57e25c350034792c 100644 --- a/AKSubmission/views.py +++ b/AKSubmission/views.py @@ -281,11 +281,22 @@ class AKInterestView(RedirectView): permanent = False pattern_name = 'submit:ak_detail' - def get_redirect_url(self, *args, **kwargs): + def get(self, request, *args, **kwargs): + # Increase interest counter for given AK ak = get_object_or_404(AK, pk=kwargs['pk']) if ak.event.active: ak.increment_interest() messages.add_message(self.request, messages.SUCCESS, _("Interest saved")) + return super().get(request, *args, **kwargs) + + +# when the interest increase request comes from the AK overview page, redirect to that instead of the AK overview page +class AKOverviewInterestView(AKInterestView): + pattern_name = 'submit:submission_overview' + + def get_redirect_url(self, *args, **kwargs): + # No PK needed for overview page of all AKs + del kwargs['pk'] return super().get_redirect_url(*args, **kwargs)