Add "transfer registration" button to dashboard view
authorMagnus Hagander <magnus@hagander.net>
Mon, 18 Aug 2025 10:24:58 +0000 (12:24 +0200)
committerMagnus Hagander <magnus@hagander.net>
Mon, 18 Aug 2025 10:24:58 +0000 (12:24 +0200)
Previously one had to go to the specific transfer page to initiate the
transfer, but adding this as an option directly from an existnig
registration makes it easier since that's usually where the user starts
the flow.

postgresqleu/confreg/views.py
template/confreg/admin_registration_single.html

index ff47bd78e0cbba11f6686fe9db971448aba29d80..4c7b7a9f1f27c8acc174605be3d8424ddb9b9b87 100644 (file)
@@ -4536,8 +4536,16 @@ def transfer_reg(request, urlname):
 
     steps = None
     stephash = None
+
+    if request.method == 'GET' and 'fromid' in request.GET:
+        initial = {
+            'transfer_from': get_int_or_error(request.GET, 'fromid'),
+        }
+    else:
+        initial = {}
+
     if request.method == 'POST':
-        form = TransferRegForm(conference, data=request.POST)
+        form = TransferRegForm(conference, data=request.POST, initial=initial)
         if form.is_valid():
             savepoint = transaction.savepoint()
 
@@ -4631,7 +4639,7 @@ def transfer_reg(request, urlname):
 
             # Fall through!
     else:
-        form = TransferRegForm(conference)
+        form = TransferRegForm(conference, initial=initial)
 
     return render(request, 'confreg/admin_transfer.html', {
         'conference': conference,
index 2ebf916185ec14e92b23530eefe5d88dd204eb3d..87e11fc02527f1e4c2106a9a4817ea76360a3a00 100644 (file)
 {%if reg.regtype and reg.can_edit and not reg.payconfirmedat %}
 <a class="btn btn-default btn-block" href="/events/admin/{{conference.urlname}}/regdashboard/list/{{reg.id}}/confirm/">Confirm registration</a>
 {%endif%}
+{%if reg.payconfirmedat and not reg.canceledat %}
+<a class="btn btn-default btn-block" href="/events/admin/{{conference.urlname}}/transfer?fromid={{reg.id}}">Transfer registration</a>
+{%endif%}
 {%if conference.tickets%}
 <a class="btn btn-default btn-block" href="/events/admin/{{conference.urlname}}/regdashboard/list/{{reg.id}}/ticket/">Preview ticket</a>
 {%endif%}