Skip to content
Snippets Groups Projects
Commit ef7ea3b6 authored by Roang's avatar Roang
Browse files

Add a new url to redeem a badge by token

Now possible without request parameter and can be resolved with the url
and hub_absolute functions.
parent 6139c5ca
Branches
Tags
No related merge requests found
......@@ -29,6 +29,7 @@ urlpatterns = [
path('logout', views.LogoutView.as_view(), name='logout'),
path('me', views.ProfileView.as_view(), name='userprofile'),
path('me/manage_badges', views.ManageBadgesView.as_view(), name='manage_badges'),
path('me/manage_badges/redeem/<str:redeem_token>', views.ManageBadgesView.as_view(), name='manage_badges'),
path('me/manage_badges/settings', views.BadgeSettingsView.as_view(), name='manage_badges__settings'),
path('me/manage_badges/<uuid:pk>/accept', views.ManageBadgeView.as_view(mode='accept'), name='manage_badges__accept'),
path('me/manage_badges/<uuid:pk>/update', views.ManageBadgeView.as_view(mode='update'), name='manage_badges__update'),
......
......@@ -167,7 +167,7 @@ class RedeemBadgeView(ConferenceRequiredMixin, FormView):
return context
def get(self, request: HttpRequest, *args: str, **kwargs: Any) -> HttpResponse:
token = request.GET.get('redeem_token')
token = request.GET.get('redeem_token', kwargs.get('redeem_token'))
try:
self.form = RedeemBadgeForm({'token': token, 'purpose': 'redeem_token'}, conference=self.conf)
if self.form.is_valid():
......@@ -238,7 +238,11 @@ class ManageBadgesView(ConferenceRequiredMixin, TemplateView):
return context
def dispatch(self, request, *args, **kwargs):
if (hasattr(request, 'GET') and request.GET.get('redeem_token')) or (hasattr(request, 'GET') and request.POST.get('purpose', None) == 'redeem_token'):
if (
(hasattr(request, 'GET') and request.GET.get('redeem_token'))
or (hasattr(request, 'GET') and request.POST.get('purpose', None) == 'redeem_token')
or kwargs.get('redeem_token')
):
return RedeemBadgeView.as_view(external_context=self.get_context_data())(request, *args, **kwargs)
return super().dispatch(request, *args, **kwargs)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment