Skip to content
Snippets Groups Projects
Commit 20d99e8d authored by smtw's avatar smtw
Browse files

Merge branch 'develop' into feature/fahrplan_assembly_sos

parents 9f18f80b 1f711e18
No related branches found
No related tags found
No related merge requests found
......@@ -177,12 +177,17 @@
</div>
<div class="card-body">
{% for tok in valid_multiuse_tokens %}
<p><code>{{ tok.token }}</code>
<form class="form-inline" action="{% url 'backoffice:assembly-badge-redeem-token-delete' assembly=assembly.id badge=badge.id pk=tok.pk %}" method="POST">
<p>
<code>{{ tok.token }}</code>
<b>{{ tok.badge_class }}</b>
{% if tok.badge_class == 'limited' %}
<i> (Amount left: <code>{{ tok.limited_amount_left }}</code>)</i>
{% endif%}
{% csrf_token %}
<button type="submit" class="btn btn-sm btn-secondary">{% trans 'delete' %}</button>
</p>
</form>
{% endfor %}
</div>
</form>
......
......@@ -55,6 +55,8 @@ urlpatterns = [
path('assembly/<uuid:assembly>/badge/<int:pk>/remove', assemblies.RemoveBadgeView.as_view(), name='assembly-badge-remove'),
path('assembly/<uuid:assembly>/badge/<int:pk>/award', assemblies.AwardBadgeView.as_view(), name='assembly-badge-award'),
path('assembly/<uuid:assembly>/badge/<int:pk>/redeem_token', assemblies.RedeemTokenBadgeView.as_view(), name='assembly-badge-redeem-token'),
path('assembly/<uuid:assembly>/badge/<int:badge>/redeem_token/<str:pk>/delete',
assemblies.RemoveBadgeTokenView.as_view(), name='assembly-badge-redeem-token-delete'),
path('assembly/<uuid:assembly>/badge/<int:pk>/redeem_token/<str:badge_class>',
assemblies.RedeemTokenBadgeView.as_view(), name='assembly-badge-redeem-token'),
......
......@@ -609,6 +609,21 @@ class RedeemTokenBadgeView(AssemblyMixin, View):
return render(self.request, 'backoffice/assembly_badge_redeem_token.html', ctx)
class RemoveBadgeTokenView(AssemblyMixin, DeleteView):
assembly_url_param = 'assembly'
assembly_management = True
model = BadgeToken
def delete(self, *args, **kwargs):
result = super().delete(*args, **kwargs)
messages.success(self.request, _('removed'))
logger.info(f'BadgeToken {self.object} removed by {self.request.user}')
return result
def get_success_url(self, *args, **kwargs):
return reverse('backoffice:assembly-badge', kwargs={'assembly': self.assembly.pk, 'pk': self.kwargs['badge']})
class RemoveBadgeView(AssemblyMixin, DeleteView):
assembly_url_param = 'assembly'
assembly_management = True
......
......@@ -17,4 +17,7 @@
{{ markdownMacro.markdown(markdown=page.rendered_body|safe) }}
</article>
<hr class="my-8">
{% endblock %}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment