diff --git a/ietf/doc/views_ballot.py b/ietf/doc/views_ballot.py
index 97a727c27..5d511b315 100644
--- a/ietf/doc/views_ballot.py
+++ b/ietf/doc/views_ballot.py
@@ -85,7 +85,6 @@ class EditPositionForm(forms.Form):
position = forms.ModelChoiceField(queryset=BallotPositionName.objects.all(), widget=forms.RadioSelect, initial="norecord", required=True)
discuss = forms.CharField(required=False, widget=forms.Textarea)
comment = forms.CharField(required=False, widget=forms.Textarea)
- return_to_url = forms.CharField(required=False, widget=forms.HiddenInput)
def __init__(self, *args, **kwargs):
ballot_type = kwargs.pop("ballot_type")
@@ -107,8 +106,8 @@ def edit_position(request, name, ballot_id):
ad = login = request.user.person
- if 'HTTP_REFERER' in request.META:
- return_to_url = request.META['HTTP_REFERER']
+ if 'ballot_edit_return_point' in request.session:
+ return_to_url = request.session['ballot_edit_return_point']
else:
return_to_url = urlreverse("doc_ballot", kwargs=dict(name=doc.name, ballot_id=ballot_id))
@@ -131,9 +130,6 @@ def edit_position(request, name, ballot_id):
# save the vote
clean = form.cleaned_data
- if clean['return_to_url']:
- return_to_url = clean['return_to_url']
-
pos = BallotPositionDocEvent(doc=doc, by=login)
pos.type = "changed_ballot_position"
pos.ballot = ballot
@@ -195,9 +191,9 @@ def edit_position(request, name, ballot_id):
e.save() # save them after the position is saved to get later id for sorting order
if request.POST.get("send_mail"):
- qstr = "?return_to_url=%s" % return_to_url
+ qstr=""
if request.GET.get('ad'):
- qstr += "&ad=%s" % request.GET.get('ad')
+ qstr += "?ad=%s" % request.GET.get('ad')
return HttpResponseRedirect(urlreverse("doc_send_ballot_comment", kwargs=dict(name=doc.name, ballot_id=ballot_id)) + qstr)
elif request.POST.get("Defer"):
return redirect("doc_defer_ballot", name=doc)
@@ -212,9 +208,6 @@ def edit_position(request, name, ballot_id):
initial['discuss'] = old_pos.discuss
initial['comment'] = old_pos.comment
- if return_to_url:
- initial['return_to_url'] = return_to_url
-
form = EditPositionForm(initial=initial, ballot_type=ballot.ballot_type)
blocking_positions = dict((p.pk, p.name) for p in form.fields["position"].queryset.all() if p.blocking)
@@ -243,8 +236,9 @@ def send_ballot_comment(request, name, ballot_id):
ad = request.user.person
- return_to_url = request.GET.get('return_to_url')
- if not return_to_url:
+ if 'ballot_edit_return_point' in request.session:
+ return_to_url = request.session['ballot_edit_return_point']
+ else:
return_to_url = urlreverse("doc_ballot", kwargs=dict(name=doc.name, ballot_id=ballot_id))
if 'HTTP_REFERER' in request.META:
diff --git a/ietf/doc/views_doc.py b/ietf/doc/views_doc.py
index ed0247352..fa1640ae7 100644
--- a/ietf/doc/views_doc.py
+++ b/ietf/doc/views_doc.py
@@ -757,6 +757,8 @@ def document_ballot(request, name, ballot_id=None):
c = document_ballot_content(request, doc, ballot_id, editable=True)
+ request.session['ballot_edit_return_point'] = request.path_info
+
return render_to_response("doc/document_ballot.html",
dict(doc=doc,
top=top,
diff --git a/ietf/iesg/views.py b/ietf/iesg/views.py
index fbc2bd57a..cd7b155d0 100644
--- a/ietf/iesg/views.py
+++ b/ietf/iesg/views.py
@@ -179,6 +179,7 @@ def agenda(request, date=None):
data["sections"]["1.1"]["title"] = data["sections"]["1.1"]["title"].replace("Roll Call", 'Roll Call')
data["sections"]["1.3"]["title"] = data["sections"]["1.3"]["title"].replace("Minutes", 'Minutes')
+ request.session['ballot_edit_return_point'] = request.path_info
return render_to_response("iesg/agenda.html", {
"date": data["date"],
"sections": sorted(data["sections"].iteritems()),
@@ -366,6 +367,7 @@ def agenda_documents(request):
"sections": sorted((num, section) for num, section in sections.iteritems()
if "2" <= num < "5")
})
+ request.session['ballot_edit_return_point'] = request.path_info
return render(request, 'iesg/agenda_documents.html', { 'telechats': telechats })
def telechat_docs_tarfile(request, date):