Skip to content

Commit feb57a0

Browse files
committed
Replaces the return_to_url notion with logic that uses the session object. Related to bug ietf-tools#1430.
- Legacy-Id: 8305
1 parent a816098 commit feb57a0

3 files changed

Lines changed: 11 additions & 13 deletions

File tree

ietf/doc/views_ballot.py

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,6 @@ class EditPositionForm(forms.Form):
8484
position = forms.ModelChoiceField(queryset=BallotPositionName.objects.all(), widget=forms.RadioSelect, initial="norecord", required=True)
8585
discuss = forms.CharField(required=False, widget=forms.Textarea)
8686
comment = forms.CharField(required=False, widget=forms.Textarea)
87-
return_to_url = forms.CharField(required=False, widget=forms.HiddenInput)
8887

8988
def __init__(self, *args, **kwargs):
9089
ballot_type = kwargs.pop("ballot_type")
@@ -106,8 +105,8 @@ def edit_position(request, name, ballot_id):
106105

107106
ad = login = request.user.person
108107

109-
if 'HTTP_REFERER' in request.META:
110-
return_to_url = request.META['HTTP_REFERER']
108+
if 'ballot_edit_return_point' in request.session:
109+
return_to_url = request.session['ballot_edit_return_point']
111110
else:
112111
return_to_url = urlreverse("doc_ballot", kwargs=dict(name=doc.name, ballot_id=ballot_id))
113112

@@ -130,9 +129,6 @@ def edit_position(request, name, ballot_id):
130129
# save the vote
131130
clean = form.cleaned_data
132131

133-
if clean['return_to_url']:
134-
return_to_url = clean['return_to_url']
135-
136132
pos = BallotPositionDocEvent(doc=doc, by=login)
137133
pos.type = "changed_ballot_position"
138134
pos.ballot = ballot
@@ -194,9 +190,9 @@ def edit_position(request, name, ballot_id):
194190
e.save() # save them after the position is saved to get later id for sorting order
195191

196192
if request.POST.get("send_mail"):
197-
qstr = "?return_to_url=%s" % return_to_url
193+
qstr=""
198194
if request.GET.get('ad'):
199-
qstr += "&ad=%s" % request.GET.get('ad')
195+
qstr += "?ad=%s" % request.GET.get('ad')
200196
return HttpResponseRedirect(urlreverse("doc_send_ballot_comment", kwargs=dict(name=doc.name, ballot_id=ballot_id)) + qstr)
201197
elif request.POST.get("Defer"):
202198
return redirect("doc_defer_ballot", name=doc)
@@ -211,9 +207,6 @@ def edit_position(request, name, ballot_id):
211207
initial['discuss'] = old_pos.discuss
212208
initial['comment'] = old_pos.comment
213209

214-
if return_to_url:
215-
initial['return_to_url'] = return_to_url
216-
217210
form = EditPositionForm(initial=initial, ballot_type=ballot.ballot_type)
218211

219212
blocking_positions = dict((p.pk, p.name) for p in form.fields["position"].queryset.all() if p.blocking)
@@ -242,8 +235,9 @@ def send_ballot_comment(request, name, ballot_id):
242235

243236
ad = request.user.person
244237

245-
return_to_url = request.GET.get('return_to_url')
246-
if not return_to_url:
238+
if 'ballot_edit_return_point' in request.session:
239+
return_to_url = request.session['ballot_edit_return_point']
240+
else:
247241
return_to_url = urlreverse("doc_ballot", kwargs=dict(name=doc.name, ballot_id=ballot_id))
248242

249243
if 'HTTP_REFERER' in request.META:

ietf/doc/views_doc.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -755,6 +755,8 @@ def document_ballot(request, name, ballot_id=None):
755755

756756
c = document_ballot_content(request, doc, ballot_id, editable=True)
757757

758+
request.session['ballot_edit_return_point'] = request.path_info
759+
758760
return render_to_response("doc/document_ballot.html",
759761
dict(doc=doc,
760762
top=top,

ietf/iesg/views.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,7 @@ def agenda(request, date=None):
179179
data["sections"]["1.1"]["title"] = data["sections"]["1.1"]["title"].replace("Roll Call", '<a href="https://www.ietf.org/iesg/internal/rollcall.txt">Roll Call</a>')
180180
data["sections"]["1.3"]["title"] = data["sections"]["1.3"]["title"].replace("Minutes", '<a href="https://www.ietf.org/iesg/internal/minutes.txt">Minutes</a>')
181181

182+
request.session['ballot_edit_return_point'] = request.path_info
182183
return render_to_response("iesg/agenda.html", {
183184
"date": data["date"],
184185
"sections": sorted(data["sections"].iteritems()),
@@ -366,6 +367,7 @@ def agenda_documents(request):
366367
"sections": sorted((num, section) for num, section in sections.iteritems()
367368
if "2" <= num < "5")
368369
})
370+
request.session['ballot_edit_return_point'] = request.path_info
369371
return render(request, 'iesg/agenda_documents.html', { 'telechats': telechats })
370372

371373
def telechat_docs_tarfile(request, date):

0 commit comments

Comments
 (0)