diff --git a/ietf/api/__init__.py b/ietf/api/__init__.py index 9a6cdf868..fa33e02ab 100644 --- a/ietf/api/__init__.py +++ b/ietf/api/__init__.py @@ -47,29 +47,29 @@ class Serializer(BaseSerializer): available to a browser. This is on the TODO list but not currently implemented. """ - from django.template.loader import render_to_string as render + from django.template.loader import render_to_string options = options or {} serialized = self.to_simple_html(data, options) - return render("api/base.html", {"data": serialized}) + return render_to_string("api/base.html", {"data": serialized}) def to_simple_html(self, data, options): """ """ - from django.template.loader import render_to_string as render + from django.template.loader import render_to_string # if isinstance(data, (list, tuple)): - return render("api/listitem.html", {"data": [self.to_simple_html(item, options) for item in data]}) + return render_to_string("api/listitem.html", {"data": [self.to_simple_html(item, options) for item in data]}) if isinstance(data, dict): - return render("api/dictitem.html", {"data": dict((key, self.to_simple_html(val, options)) for (key, val) in data.items())}) + return render_to_string("api/dictitem.html", {"data": dict((key, self.to_simple_html(val, options)) for (key, val) in data.items())}) elif isinstance(data, Bundle): - return render("api/dictitem.html", {"data":dict((key, self.to_simple_html(val, options)) for (key, val) in data.data.items())}) + return render_to_string("api/dictitem.html", {"data":dict((key, self.to_simple_html(val, options)) for (key, val) in data.data.items())}) elif hasattr(data, 'dehydrated_type'): if getattr(data, 'dehydrated_type', None) == 'related' and data.is_m2m == False: - return render("api/relitem.html", {"fk": data.fk_resource, "val": self.to_simple_html(data.value, options)}) + return render_to_string("api/relitem.html", {"fk": data.fk_resource, "val": self.to_simple_html(data.value, options)}) elif getattr(data, 'dehydrated_type', None) == 'related' and data.is_m2m == True: - render("api/listitem.html", {"data": [self.to_simple_html(bundle, options) for bundle in data.m2m_bundles]}) + render_to_string("api/listitem.html", {"data": [self.to_simple_html(bundle, options) for bundle in data.m2m_bundles]}) else: return self.to_simple_html(data.value, options) elif isinstance(data, datetime.datetime): @@ -85,7 +85,7 @@ class Serializer(BaseSerializer): elif data is None: return None elif isinstance(data, basestring) and data.startswith("/api/v1/"): # XXX Will not work for Python 3 - return render("api/relitem.html", {"fk": data, "val": data.split('/')[-2]}) + return render_to_string("api/relitem.html", {"fk": data, "val": data.split('/')[-2]}) else: return force_text(data) diff --git a/ietf/cookies/views.py b/ietf/cookies/views.py index 7941eceed..5b3c79298 100644 --- a/ietf/cookies/views.py +++ b/ietf/cookies/views.py @@ -1,7 +1,6 @@ # Copyright The IETF Trust 2010, All Rights Reserved -from django.shortcuts import render_to_response as render -from django.template import RequestContext +from django.shortcuts import render from django.conf import settings import debug # pyflakes:ignore @@ -32,7 +31,7 @@ def preferences(request, **kwargs): preferences[key] = settings.USER_PREFERENCE_DEFAULTS[key] del_cookies += [key] request.COOKIES.update(preferences) - response = render("cookies/settings.html", preferences, context_instance=RequestContext(request)) + response = render(request, "cookies/settings.html", preferences ) for key in new_cookies: response.set_cookie(key, new_cookies[key], settings.PREFERENCES_COOKIE_AGE) for key in del_cookies: diff --git a/ietf/doc/views_ballot.py b/ietf/doc/views_ballot.py index b39cc02cd..1b4a3edca 100644 --- a/ietf/doc/views_ballot.py +++ b/ietf/doc/views_ballot.py @@ -4,10 +4,9 @@ import datetime, json from django.http import HttpResponseForbidden, HttpResponseRedirect, Http404 -from django.shortcuts import render, render_to_response, get_object_or_404, redirect +from django.shortcuts import render, get_object_or_404, redirect from django.core.urlresolvers import reverse as urlreverse from django.template.loader import render_to_string -from django.template import RequestContext from django import forms from django.conf import settings @@ -222,7 +221,7 @@ def edit_position(request, name, ballot_id): ballot_deferred = doc.active_defer_event() - return render_to_response('doc/ballot/edit_position.html', + return render(request, 'doc/ballot/edit_position.html', dict(doc=doc, form=form, ad=ad, @@ -232,8 +231,7 @@ def edit_position(request, name, ballot_id): ballot = ballot, show_discuss_text=old_pos and old_pos.pos.blocking, blocking_positions=json.dumps(blocking_positions), - ), - context_instance=RequestContext(request)) + )) @role_required('Area Director','Secretariat') @@ -311,18 +309,17 @@ def send_ballot_comment(request, name, ballot_id): cc_select_form = CcSelectForm(mailtrigger_slug='ballot_saved',mailtrigger_context={'doc':doc}) - return render_to_response('doc/ballot/send_ballot_comment.html', - dict(doc=doc, - subject=subject, - body=body, - frm=frm, - to=addrs.as_strings().to, - ad=ad, - can_send=d or c, - back_url=back_url, - cc_select_form = cc_select_form, - ), - context_instance=RequestContext(request)) + return render(request, 'doc/ballot/send_ballot_comment.html', + dict(doc=doc, + subject=subject, + body=body, + frm=frm, + to=addrs.as_strings().to, + ad=ad, + can_send=d or c, + back_url=back_url, + cc_select_form = cc_select_form, + )) @role_required('Secretariat') def clear_ballot(request, name): @@ -337,10 +334,9 @@ def clear_ballot(request, name): do_undefer_ballot(request,doc) return redirect("doc_view", name=doc.name) - return render_to_response('doc/ballot/clear_ballot.html', + return render(request, 'doc/ballot/clear_ballot.html', dict(doc=doc, - back_url=doc.get_absolute_url()), - context_instance=RequestContext(request)) + back_url=doc.get_absolute_url())) @role_required('Area Director','Secretariat') def defer_ballot(request, name): @@ -388,11 +384,10 @@ def defer_ballot(request, name): return HttpResponseRedirect(doc.get_absolute_url()) - return render_to_response('doc/ballot/defer_ballot.html', + return render(request, 'doc/ballot/defer_ballot.html', dict(doc=doc, telechat_date=telechat_date, - back_url=doc.get_absolute_url()), - context_instance=RequestContext(request)) + back_url=doc.get_absolute_url())) @role_required('Area Director','Secretariat') def undefer_ballot(request, name): @@ -413,11 +408,10 @@ def undefer_ballot(request, name): do_undefer_ballot(request,doc) return HttpResponseRedirect(doc.get_absolute_url()) - return render_to_response('doc/ballot/undefer_ballot.html', + return render(request, 'doc/ballot/undefer_ballot.html', dict(doc=doc, telechat_date=telechat_date, - back_url=doc.get_absolute_url()), - context_instance=RequestContext(request)) + back_url=doc.get_absolute_url())) class LastCallTextForm(forms.Form): last_call_text = forms.CharField(widget=forms.Textarea, required=True) @@ -477,9 +471,8 @@ def lastcalltext(request, name): request_last_call(request, doc) - return render_to_response('doc/draft/last_call_requested.html', - dict(doc=doc), - context_instance=RequestContext(request)) + return render(request, 'doc/draft/last_call_requested.html', + dict(doc=doc)) if "regenerate_last_call_text" in request.POST: e = generate_last_call_announcement(request, doc) @@ -497,15 +490,14 @@ def lastcalltext(request, name): if not doc.intended_std_level: need_intended_status = doc.file_tag() - return render_to_response('doc/ballot/lastcalltext.html', + return render(request, 'doc/ballot/lastcalltext.html', dict(doc=doc, back_url=doc.get_absolute_url(), last_call_form=form, can_request_last_call=can_request_last_call, can_make_last_call=can_make_last_call, need_intended_status=need_intended_status, - ), - context_instance=RequestContext(request)) + )) class BallotWriteupForm(forms.Form): ballot_writeup = forms.CharField(widget=forms.Textarea, required=True) @@ -582,24 +574,22 @@ def ballot_writeupnotes(request, name): e.desc = "Ballot has been issued" e.save() - return render_to_response('doc/ballot/ballot_issued.html', + return render(request, 'doc/ballot/ballot_issued.html', dict(doc=doc, - back_url=doc.get_absolute_url()), - context_instance=RequestContext(request)) + back_url=doc.get_absolute_url())) need_intended_status = "" if not doc.intended_std_level: need_intended_status = doc.file_tag() - return render_to_response('doc/ballot/writeupnotes.html', + return render(request, 'doc/ballot/writeupnotes.html', dict(doc=doc, back_url=doc.get_absolute_url(), ballot_issued=bool(doc.latest_event(type="sent_ballot_announcement")), ballot_writeup_form=form, need_intended_status=need_intended_status, - ), - context_instance=RequestContext(request)) + )) class BallotRfcEditorNoteForm(forms.Form): rfc_editor_note = forms.CharField(widget=forms.Textarea, label="RFC Editor Note", required=True) @@ -646,12 +636,11 @@ def ballot_rfceditornote(request, name): # make sure form shows a blank RFC Editor Note form = BallotRfcEditorNoteForm(initial=dict(rfc_editor_note=" ")) - return render_to_response('doc/ballot/rfceditornote.html', + return render(request, 'doc/ballot/rfceditornote.html', dict(doc=doc, back_url=doc.get_absolute_url(), ballot_rfceditornote_form=form, - ), - context_instance=RequestContext(request)) + )) class ApprovalTextForm(forms.Form): approval_text = forms.CharField(widget=forms.Textarea, required=True) @@ -701,14 +690,13 @@ def ballot_approvaltext(request, name): if not doc.intended_std_level: need_intended_status = doc.file_tag() - return render_to_response('doc/ballot/approvaltext.html', + return render(request, 'doc/ballot/approvaltext.html', dict(doc=doc, back_url=doc.get_absolute_url(), approval_text_form=form, can_announce=can_announce, need_intended_status=need_intended_status, - ), - context_instance=RequestContext(request)) + )) @role_required('Secretariat') def approve_ballot(request, name): @@ -737,9 +725,7 @@ def approve_ballot(request, name): ballot_writeup += "\n\n" + e.text if error_duplicate_rfc_editor_note: - return render_to_response('doc/draft/rfceditor_note_duplicate_error.html', - dict(doc=doc), - context_instance=RequestContext(request)) + return render(request, 'doc/draft/rfceditor_note_duplicate_error.html', {'doc': doc}) if "NOT be published" in approval_text: action = "do_not_publish" @@ -817,11 +803,10 @@ def approve_ballot(request, name): return HttpResponseRedirect(doc.get_absolute_url()) - return render_to_response('doc/ballot/approve_ballot.html', + return render(request, 'doc/ballot/approve_ballot.html', dict(doc=doc, action=action, - announcement=announcement), - context_instance=RequestContext(request)) + announcement=announcement)) class MakeLastCallForm(forms.Form): @@ -921,9 +906,8 @@ def make_last_call(request, name): form = MakeLastCallForm(initial=initial) - return render_to_response(templ, + return render(request, templ, dict(doc=doc, form=form, announcement=announcement, - ), - context_instance=RequestContext(request)) + )) diff --git a/ietf/doc/views_conflict_review.py b/ietf/doc/views_conflict_review.py index 123db5381..ed4bdbbcd 100644 --- a/ietf/doc/views_conflict_review.py +++ b/ietf/doc/views_conflict_review.py @@ -1,7 +1,7 @@ import datetime, os from django import forms -from django.shortcuts import render_to_response, get_object_or_404, redirect +from django.shortcuts import render, get_object_or_404, redirect from django.http import HttpResponseRedirect, Http404 from django.core.urlresolvers import reverse from django.template import RequestContext @@ -78,13 +78,12 @@ def change_state(request, name, option=None): init = dict(review_state=s.pk if s else None) form = ChangeStateForm(initial=init) - return render_to_response('doc/change_state.html', + return render(request, 'doc/change_state.html', dict(form=form, doc=review, login=login, help_url=reverse('state_help', kwargs=dict(type="conflict-review")), - ), - context_instance=RequestContext(request)) + )) def send_conflict_review_started_email(request, review): addrs = gather_address_lists('conflrev_requested',doc=review).as_strings(compact=False) @@ -209,13 +208,12 @@ def submit(request, name): form = UploadForm(initial=init) - return render_to_response('doc/conflict_review/submit.html', + return render(request, 'doc/conflict_review/submit.html', {'form': form, 'next_rev': next_rev, 'review' : review, 'conflictdoc' : review.relateddocument_set.get(relationship__slug='conflrev').target.document, - }, - context_instance=RequestContext(request)) + }) @role_required("Area Director", "Secretariat") def edit_ad(request, name): @@ -243,7 +241,7 @@ def edit_ad(request, name): conflictdoc = review.relateddocument_set.get(relationship__slug='conflrev').target.document titletext = 'the conflict review of %s-%s' % (conflictdoc.canonical_name(),conflictdoc.rev) - return render_to_response('doc/change_ad.html', + return render(request, 'doc/change_ad.html', {'form': form, 'doc': review, 'titletext': titletext @@ -330,13 +328,12 @@ def approve(request, name): init = { "announcement_text" : default_approval_text(review) } form = AnnouncementForm(initial=init) - return render_to_response('doc/conflict_review/approve.html', + return render(request, 'doc/conflict_review/approve.html', dict( review = review, conflictdoc = review.relateddocument_set.get(relationship__slug='conflrev').target.document, form = form, - ), - context_instance=RequestContext(request)) + )) class SimpleStartReviewForm(forms.Form): notify = forms.CharField(max_length=255, label="Notice emails", help_text="Separate email addresses with commas.", required=False) @@ -453,7 +450,7 @@ def start_review_as_secretariat(request, name): } form = StartReviewForm(initial=init) - return render_to_response('doc/conflict_review/start.html', + return render(request, 'doc/conflict_review/start.html', {'form': form, 'doc_to_review': doc_to_review, }, @@ -487,7 +484,7 @@ def start_review_as_stream_owner(request, name): } form = SimpleStartReviewForm(initial=init) - return render_to_response('doc/conflict_review/start.html', + return render(request, 'doc/conflict_review/start.html', {'form': form, 'doc_to_review': doc_to_review, }, diff --git a/ietf/doc/views_doc.py b/ietf/doc/views_doc.py index ab950d406..110cbf50a 100644 --- a/ietf/doc/views_doc.py +++ b/ietf/doc/views_doc.py @@ -35,7 +35,7 @@ import os, datetime, urllib, json, glob, re from django.http import HttpResponse, Http404 , HttpResponseForbidden -from django.shortcuts import render, render_to_response, get_object_or_404, redirect +from django.shortcuts import render, get_object_or_404, redirect from django.template import RequestContext from django.template.loader import render_to_string from django.core.urlresolvers import reverse as urlreverse @@ -365,7 +365,7 @@ def document_main(request, name, rev=None): review_requests = review_requests_to_list_for_docs([doc]).get(doc.pk, []) no_review_from_teams = no_review_from_teams_on_doc(doc, rev or doc.rev) - return render_to_response("doc/document_draft.html", + return render(request, "doc/document_draft.html", dict(doc=doc, group=group, top=top, @@ -427,8 +427,7 @@ def document_main(request, name, rev=None): presentations=presentations, review_requests=review_requests, no_review_from_teams=no_review_from_teams, - ), - context_instance=RequestContext(request)) + )) if doc.type_id == "charter": filename = "%s-%s.txt" % (doc.canonical_name(), doc.rev) @@ -452,7 +451,7 @@ def document_main(request, name, rev=None): can_manage = can_manage_group(request.user, doc.group) - return render_to_response("doc/document_charter.html", + return render(request, "doc/document_charter.html", dict(doc=doc, top=top, chartering=chartering, @@ -466,8 +465,7 @@ def document_main(request, name, rev=None): group=group, milestones=milestones, can_manage=can_manage, - ), - context_instance=RequestContext(request)) + )) if doc.type_id == "conflrev": filename = "%s-%s.txt" % (doc.canonical_name(), doc.rev) @@ -483,7 +481,7 @@ def document_main(request, name, rev=None): if doc.get_state_slug() in ("iesgeval") and doc.active_ballot(): ballot_summary = needed_ballot_positions(doc, doc.active_ballot().active_ad_positions().values()) - return render_to_response("doc/document_conflict_review.html", + return render(request, "doc/document_conflict_review.html", dict(doc=doc, top=top, content=content, @@ -494,8 +492,7 @@ def document_main(request, name, rev=None): conflictdoc=conflictdoc, ballot_summary=ballot_summary, approved_states=('appr-reqnopub-pend','appr-reqnopub-sent','appr-noprob-pend','appr-noprob-sent'), - ), - context_instance=RequestContext(request)) + )) if doc.type_id == "statchg": filename = "%s-%s.txt" % (doc.canonical_name(), doc.rev) @@ -518,7 +515,7 @@ def document_main(request, name, rev=None): else: sorted_relations=None - return render_to_response("doc/document_status_change.html", + return render(request, "doc/document_status_change.html", dict(doc=doc, top=top, content=content, @@ -529,8 +526,7 @@ def document_main(request, name, rev=None): ballot_summary=ballot_summary, approved_states=('appr-pend','appr-sent'), sorted_relations=sorted_relations, - ), - context_instance=RequestContext(request)) + )) # TODO : Add "recording", and "bluesheets" here when those documents are appropriately # created and content is made available on disk @@ -564,7 +560,7 @@ def document_main(request, name, rev=None): other_types.append((t, url)) - return render_to_response("doc/document_material.html", + return render(request, "doc/document_material.html", dict(doc=doc, top=top, content=content, @@ -575,8 +571,7 @@ def document_main(request, name, rev=None): in_group_materials_types = doc.group and doc.group.features.has_materials and doc.type_id in doc.group.features.material_types, other_types=other_types, presentations=presentations, - ), - context_instance=RequestContext(request)) + )) if doc.type_id == "review": @@ -707,14 +702,13 @@ def document_history(request, name): else: can_add_comment = has_role(request.user, ("Area Director", "Secretariat", "IRTF Chair")) - return render_to_response("doc/document_history.html", + return render(request, "doc/document_history.html", dict(doc=doc, top=top, diff_revisions=diff_revisions, events=events, can_add_comment=can_add_comment, - ), - context_instance=RequestContext(request)) + )) def document_bibtex(request, name, rev=None): @@ -732,14 +726,14 @@ def document_bibtex(request, name, rev=None): doc = h break - return render_to_response("doc/document_bibtex.bib", + return render(request, "doc/document_bibtex.bib", dict(doc=doc, replaced_by=replaced_by, published=published, rfc=rfc, latest_revision=latest_revision), content_type="text/plain; charset=utf-8", - context_instance=RequestContext(request)) + request=request) def document_writeup(request, name): @@ -799,13 +793,12 @@ def document_writeup(request, name): if not sections: raise Http404 - return render_to_response("doc/document_writeup.html", + return render(request, "doc/document_writeup.html", dict(doc=doc, top=top, sections=sections, can_edit=has_role(request.user, ("Area Director", "Secretariat")), - ), - context_instance=RequestContext(request)) + )) def document_shepherd_writeup(request, name): doc = get_object_or_404(Document, docalias__name=name) @@ -818,17 +811,17 @@ def document_shepherd_writeup(request, name): can_edit_stream_info = is_authorized_in_doc_stream(request.user, doc) can_edit_shepherd_writeup = can_edit_stream_info or user_is_person(request.user, doc.shepherd and doc.shepherd.person) or has_role(request.user, ["Area Director"]) - return render_to_response("doc/shepherd_writeup.html", + return render(request, "doc/shepherd_writeup.html", dict(doc=doc, writeup=writeup_text, can_edit=can_edit_shepherd_writeup ), - context_instance=RequestContext(request)) + request=request) def document_references(request, name): doc = get_object_or_404(Document,docalias__name=name) refs = doc.relations_that_doc(['refnorm','refinfo','refunk','refold']) - return render_to_response("doc/document_references.html",dict(doc=doc,refs=sorted(refs,key=lambda x:x.target.name),),context_instance=RequestContext(request)) + return render(request, "doc/document_references.html",dict(doc=doc,refs=sorted(refs,key=lambda x:x.target.name),)) def document_referenced_by(request, name): doc = get_object_or_404(Document,docalias__name=name) @@ -840,13 +833,12 @@ def document_referenced_by(request, name): else: numdocs=None refs=sorted(refs,key=lambda x:(['refnorm','refinfo','refunk','refold'].index(x.relationship.slug),x.source.canonical_name())) - return render_to_response("doc/document_referenced_by.html", + return render(request, "doc/document_referenced_by.html", dict(alias_name=name, doc=doc, numdocs=numdocs, refs=refs, - ), - context_instance=RequestContext(request)) + )) def document_ballot_content(request, doc, ballot_id, editable=True): """Render HTML string with content of ballot page.""" @@ -903,7 +895,7 @@ def document_ballot_content(request, doc, ballot_id, editable=True): summary=summary, all_ballots=all_ballots, ), - context_instance=RequestContext(request)) + request=request) def document_ballot(request, name, ballot_id=None): doc = get_object_or_404(Document, docalias__name=name) @@ -913,22 +905,20 @@ def document_ballot(request, name, ballot_id=None): request.session['ballot_edit_return_point'] = request.path_info - return render_to_response("doc/document_ballot.html", + return render(request, "doc/document_ballot.html", dict(doc=doc, top=top, ballot_content=c, - ), - context_instance=RequestContext(request)) + )) def ballot_popup(request, name, ballot_id): doc = get_object_or_404(Document, docalias__name=name) c = document_ballot_content(request, doc, ballot_id=ballot_id, editable=False) - return render_to_response("doc/ballot_popup.html", + return render(request, "doc/ballot_popup.html", dict(doc=doc, ballot_content=c, ballot_id=ballot_id, - ), - context_instance=RequestContext(request)) + )) def document_json(request, name, rev=None): @@ -1019,10 +1009,9 @@ def add_comment(request, name): else: form = AddCommentForm() - return render_to_response('doc/add_comment.html', + return render(request, 'doc/add_comment.html', dict(doc=doc, - form=form), - context_instance=RequestContext(request)) + form=form)) @role_required("Area Director", "Secretariat") def telechat_date(request, name): @@ -1109,7 +1098,7 @@ def edit_notify(request, name): titletext = 'the conflict review of %s' % conflictdoc.canonical_name() else: titletext = '%s' % doc.canonical_name() - return render_to_response('doc/edit_notify.html', + return render(request, 'doc/edit_notify.html', {'form': form, 'doc': doc, 'titletext': titletext, diff --git a/ietf/doc/views_draft.py b/ietf/doc/views_draft.py index 9a066e8fc..84495b490 100644 --- a/ietf/doc/views_draft.py +++ b/ietf/doc/views_draft.py @@ -4,7 +4,7 @@ import datetime from django import forms from django.http import HttpResponseRedirect, HttpResponseForbidden, Http404 -from django.shortcuts import render_to_response, get_object_or_404, redirect, render +from django.shortcuts import render, get_object_or_404, redirect from django.template.loader import render_to_string from django.template import RequestContext from django.conf import settings @@ -131,10 +131,9 @@ def change_state(request, name): if new_state.slug == "lc-req": request_last_call(request, doc) - return render_to_response('doc/draft/last_call_requested.html', + return render(request, 'doc/draft/last_call_requested.html', dict(doc=doc, - url=doc.get_absolute_url()), - context_instance=RequestContext(request)) + url=doc.get_absolute_url())) return HttpResponseRedirect(doc.get_absolute_url()) @@ -159,14 +158,13 @@ def change_state(request, name): to_iesg_eval = State.objects.get(used=True, type="draft-iesg", slug="iesg-eva") next_states = next_states.exclude(slug="iesg-eva") - return render_to_response('doc/draft/change_state.html', + return render(request, 'doc/draft/change_state.html', dict(form=form, doc=doc, state=state, prev_state=prev_state, next_states=next_states, - to_iesg_eval=to_iesg_eval), - context_instance=RequestContext(request)) + to_iesg_eval=to_iesg_eval)) class ChangeIanaStateForm(forms.Form): state = forms.ModelChoiceField(State.objects.all(), required=False) @@ -204,10 +202,9 @@ def change_iana_state(request, name, state_type): else: form = ChangeIanaStateForm(state_type, initial=dict(state=prev_state.pk if prev_state else None)) - return render_to_response('doc/draft/change_iana_state.html', + return render(request, 'doc/draft/change_iana_state.html', dict(form=form, - doc=doc), - context_instance=RequestContext(request)) + doc=doc)) @@ -275,11 +272,10 @@ def change_stream(request, name): stream = doc.stream form = ChangeStreamForm(initial=dict(stream=stream)) - return render_to_response('doc/draft/change_stream.html', + return render(request, 'doc/draft/change_stream.html', dict(form=form, doc=doc, - ), - context_instance=RequestContext(request)) + )) @jsonapi def doc_ajax_internet_draft(request): @@ -467,11 +463,10 @@ def change_intention(request, name): intended_std_level = doc.intended_std_level form = ChangeIntentionForm(initial=dict(intended_std_level=intended_std_level)) - return render_to_response('doc/draft/change_intended_status.html', + return render(request, 'doc/draft/change_intended_status.html', dict(form=form, doc=doc, - ), - context_instance=RequestContext(request)) + )) class EditInfoForm(forms.Form): intended_std_level = forms.ModelChoiceField(IntendedStdLevelName.objects.filter(used=True), empty_label="(None)", required=True, label="Intended RFC status") @@ -603,7 +598,7 @@ def to_iesg(request,name): return HttpResponseRedirect(doc.get_absolute_url()) - return render_to_response('doc/submit_to_iesg.html', + return render(request, 'doc/submit_to_iesg.html', dict(doc=doc, warn=warn, target_state=target_state, @@ -611,8 +606,7 @@ def to_iesg(request,name): shepherd_writeup=shepherd_writeup, tags=tags, notify=notify, - ), - context_instance=RequestContext(request)) + )) @role_required('Area Director','Secretariat') def edit_info(request, name): @@ -754,12 +748,11 @@ def edit_info(request, name): if doc.group.type_id not in ("individ", "area"): form.standard_fields = [x for x in form.standard_fields if x.name != "area"] - return render_to_response('doc/draft/edit_info.html', + return render(request, 'doc/draft/edit_info.html', dict(doc=doc, form=form, user=request.user, - ballot_issued=doc.latest_event(type="sent_ballot_announcement")), - context_instance=RequestContext(request)) + ballot_issued=doc.latest_event(type="sent_ballot_announcement"))) @role_required('Area Director','Secretariat') def request_resurrect(request, name): @@ -780,10 +773,9 @@ def request_resurrect(request, name): return HttpResponseRedirect(doc.get_absolute_url()) - return render_to_response('doc/draft/request_resurrect.html', + return render(request, 'doc/draft/request_resurrect.html', dict(doc=doc, - back_url=doc.get_absolute_url()), - context_instance=RequestContext(request)) + back_url=doc.get_absolute_url())) @role_required('Secretariat') def resurrect(request, name): @@ -814,11 +806,10 @@ def resurrect(request, name): return HttpResponseRedirect(doc.get_absolute_url()) - return render_to_response('doc/draft/resurrect.html', + return render(request, 'doc/draft/resurrect.html', dict(doc=doc, resurrect_requested_by=resurrect_requested_by, - back_url=doc.get_absolute_url()), - context_instance=RequestContext(request)) + back_url=doc.get_absolute_url())) class IESGNoteForm(forms.Form): note = forms.CharField(widget=forms.Textarea, label="IESG note", required=False) @@ -861,11 +852,10 @@ def edit_iesg_note(request, name): else: form = IESGNoteForm(initial=initial) - return render_to_response('doc/draft/edit_iesg_note.html', + return render(request, 'doc/draft/edit_iesg_note.html', dict(doc=doc, form=form, - ), - context_instance=RequestContext(request)) + )) class ShepherdWriteupUploadForm(forms.Form): content = forms.CharField(widget=forms.Textarea, label="Shepherd writeup", help_text="Edit the shepherd writeup.", required=False) @@ -941,11 +931,10 @@ def edit_shepherd_writeup(request, name): ) form = ShepherdWriteupUploadForm(initial=init) - return render_to_response('doc/draft/change_shepherd_writeup.html', + return render(request, 'doc/draft/change_shepherd_writeup.html', {'form': form, 'doc' : doc, - }, - context_instance=RequestContext(request)) + }) class ShepherdForm(forms.Form): shepherd = SearchableEmailField(required=False, only_users=True) @@ -1078,7 +1067,7 @@ def edit_ad(request, name): init = { "ad" : doc.ad_id } form = AdForm(initial=init) - return render_to_response('doc/draft/change_ad.html', + return render(request, 'doc/draft/change_ad.html', {'form': form, 'doc': doc, }, @@ -1119,7 +1108,7 @@ def edit_consensus(request, name): else: form = ConsensusForm(initial=dict(consensus=nice_consensus(prev_consensus))) - return render_to_response('doc/draft/change_consensus.html', + return render(request, 'doc/draft/change_consensus.html', {'form': form, 'doc': doc, }, @@ -1157,11 +1146,10 @@ def request_publication(request, name): import ietf.sync.rfceditor response, error = ietf.sync.rfceditor.post_approved_draft(settings.RFC_EDITOR_SYNC_NOTIFICATION_URL, doc.name) if error: - return render_to_response('doc/draft/rfceditor_post_approved_draft_failed.html', + return render(request, 'doc/draft/rfceditor_post_approved_draft_failed.html', dict(name=doc.name, response=response, - error=error), - context_instance=RequestContext(request)) + error=error)) m.subject = form.cleaned_data["subject"] m.body = form.cleaned_data["body"] @@ -1208,7 +1196,7 @@ def request_publication(request, name): form = PublicationForm(initial=dict(subject=subject, body=body)) - return render_to_response('doc/draft/request_publication.html', + return render(request, 'doc/draft/request_publication.html', dict(form=form, doc=doc, message=m, @@ -1338,11 +1326,10 @@ def adopt_draft(request, name): else: form = AdoptDraftForm(user=request.user) - return render_to_response('doc/draft/adopt_draft.html', + return render(request, 'doc/draft/adopt_draft.html', {'doc': doc, 'form': form, - }, - context_instance=RequestContext(request)) + }) class ChangeStreamStateForm(forms.Form): new_state = forms.ModelChoiceField(queryset=State.objects.filter(used=True), label='State' ) @@ -1483,11 +1470,10 @@ def change_stream_state(request, name, state_type): milestones = doc.groupmilestone_set.all() - return render_to_response("doc/draft/change_stream_state.html", + return render(request, "doc/draft/change_stream_state.html", {"doc": doc, "form": form, "milestones": milestones, "state_type": state_type, "next_states": next_states, - }, - context_instance=RequestContext(request)) + }) diff --git a/ietf/doc/views_help.py b/ietf/doc/views_help.py index bdaa0061c..55f326dfe 100644 --- a/ietf/doc/views_help.py +++ b/ietf/doc/views_help.py @@ -1,5 +1,4 @@ -from django.shortcuts import render_to_response, get_object_or_404 -from django.template import RequestContext +from django.shortcuts import render, get_object_or_404 from django.http import Http404 from ietf.doc.models import State, StateType, IESG_SUBSTATE_TAGS @@ -45,14 +44,14 @@ def state_help(request, type): possible = get_tags_for_stream_id(state_type.slug.replace("draft-stream-", "")) tags = DocTagName.objects.filter(slug__in=possible) - return render_to_response("doc/state_help.html", { - "title": title, - "state_type": state_type, - "states": states, - "has_next_states": has_next_states, - "tags": tags, - }, - context_instance=RequestContext(request)) + return render(request, "doc/state_help.html", + { + "title": title, + "state_type": state_type, + "states": states, + "has_next_states": has_next_states, + "tags": tags, + } ) def relationship_help(request,subset=None): subsets = { "reference": ['refnorm','refinfo','refunk','refold'], @@ -63,7 +62,4 @@ def relationship_help(request,subset=None): rels = DocRelationshipName.objects.filter(used=True) if subset: rels = rels.filter(slug__in=subsets[subset]) - return render_to_response("doc/relationship_help.html", { - "relations": rels - }, - context_instance=RequestContext(request)) + return render(request, "doc/relationship_help.html", { "relations": rels } ) diff --git a/ietf/doc/views_stats.py b/ietf/doc/views_stats.py index 6fa1a094b..3ab919a58 100644 --- a/ietf/doc/views_stats.py +++ b/ietf/doc/views_stats.py @@ -8,8 +8,7 @@ from django.core.cache import cache from django.core.urlresolvers import reverse as urlreverse from django.db.models.aggregates import Count from django.http import JsonResponse, HttpResponseBadRequest -from django.shortcuts import render_to_response -from django.template import RequestContext +from django.shortcuts import render from django.views.decorators.cache import cache_page import debug # pyflakes:ignore @@ -111,13 +110,13 @@ def make_title(queryargs): return title def chart_newrevisiondocevent(request): - return render_to_response("doc/stats/highstock.html", { + return render(request, "doc/stats/highstock.html", { "title": "Document Statistics", "confurl": urlreverse("ietf.doc.views_stats.chart_conf_newrevisiondocevent"), "dataurl": urlreverse("ietf.doc.views_stats.chart_data_newrevisiondocevent"), "queryargs": request.GET.urlencode(), - }, - context_instance=RequestContext(request)) + } + ) #@cache_page(60*15) def chart_data_newrevisiondocevent(request): diff --git a/ietf/doc/views_status_change.py b/ietf/doc/views_status_change.py index 4e9944260..2045261ff 100644 --- a/ietf/doc/views_status_change.py +++ b/ietf/doc/views_status_change.py @@ -1,7 +1,7 @@ import datetime, os, re from django import forms -from django.shortcuts import render_to_response, get_object_or_404, redirect +from django.shortcuts import render, get_object_or_404, redirect from django.http import Http404, HttpResponseRedirect from django.core.urlresolvers import reverse from django.template import RequestContext @@ -74,11 +74,10 @@ def change_state(request, name, option=None): if new_state.slug == "lc-req": request_last_call(request, status_change) - return render_to_response('doc/draft/last_call_requested.html', + return render(request, 'doc/draft/last_call_requested.html', dict(doc=status_change, url = status_change.get_absolute_url(), - ), - context_instance=RequestContext(request)) + )) return redirect('doc_view', name=status_change.name) else: @@ -89,13 +88,12 @@ def change_state(request, name, option=None): ) form = ChangeStateForm(initial=init) - return render_to_response('doc/change_state.html', + return render(request, 'doc/change_state.html', dict(form=form, doc=status_change, login=login, help_url=reverse('state_help', kwargs=dict(type="status-change")), - ), - context_instance=RequestContext(request)) + )) def send_status_change_eval_email(request,doc): msg = render_to_string("doc/eval_email.txt", @@ -192,12 +190,11 @@ def submit(request, name): form = UploadForm(initial=init) - return render_to_response('doc/status_change/submit.html', + return render(request, 'doc/status_change/submit.html', {'form': form, 'next_rev': next_rev, 'doc' : doc, - }, - context_instance=RequestContext(request)) + }) class ChangeTitleForm(forms.Form): title = forms.CharField(max_length=255, label="Title", required=True) @@ -227,7 +224,7 @@ def edit_title(request, name): form = ChangeTitleForm(initial=init) titletext = '%s-%s.txt' % (status_change.canonical_name(),status_change.rev) - return render_to_response('doc/change_title.html', + return render(request, 'doc/change_title.html', {'form': form, 'doc': status_change, 'titletext' : titletext, @@ -258,7 +255,7 @@ def edit_ad(request, name): form = AdForm(initial=init) titletext = '%s-%s.txt' % (status_change.canonical_name(),status_change.rev) - return render_to_response('doc/change_ad.html', + return render(request, 'doc/change_ad.html', {'form': form, 'doc': status_change, 'titletext' : titletext, @@ -379,12 +376,11 @@ def approve(request, name): for form in formset.forms: form.fields['announcement_text'].label=form.label - return render_to_response('doc/status_change/approve.html', + return render(request, 'doc/status_change/approve.html', dict( doc = status_change, formset = formset, - ), - context_instance=RequestContext(request)) + )) def clean_helper(form, formtype): cleaned_data = super(formtype, form).clean() @@ -494,7 +490,7 @@ def rfc_status_changes(request): docs=Document.objects.filter(type__slug='statchg') doclist=[x for x in docs] doclist.sort(key=lambda obj: obj.get_state().order) - return render_to_response('doc/status_change/status_changes.html', + return render(request, 'doc/status_change/status_changes.html', {'docs' : doclist, }, context_instance = RequestContext(request)) @@ -552,7 +548,7 @@ def start_rfc_status_change(request,name): init['relations'] = relations form = StartStatusChangeForm(initial=init) - return render_to_response('doc/status_change/start.html', + return render(request, 'doc/status_change/start.html', {'form': form, 'relation_slugs': relation_slugs, }, @@ -600,7 +596,7 @@ def edit_relations(request, name): } form = EditStatusChangeForm(initial=init) - return render_to_response('doc/status_change/edit_relations.html', + return render(request, 'doc/status_change/edit_relations.html', { 'doc': status_change, 'form': form, @@ -683,17 +679,17 @@ def last_call(request, name): request_last_call(request, status_change) - return render_to_response('doc/draft/last_call_requested.html', - dict(doc=status_change, - url = status_change.get_absolute_url(), - ), - context_instance=RequestContext(request)) + return render(request, 'doc/draft/last_call_requested.html', + dict(doc=status_change, + url = status_change.get_absolute_url(), + ) + ) if "regenerate_last_call_text" in request.POST: e = generate_last_call_text(request,status_change) form = LastCallTextForm(initial=dict(last_call_text=e.text)) - return render_to_response('doc/status_change/last_call.html', + return render(request, 'doc/status_change/last_call.html', dict(doc=status_change, back_url = status_change.get_absolute_url(), last_call_event = last_call_event, diff --git a/ietf/group/admin.py b/ietf/group/admin.py index 2ef04667b..6ebe70143 100644 --- a/ietf/group/admin.py +++ b/ietf/group/admin.py @@ -1,12 +1,11 @@ from functools import update_wrapper -from django import template from django.contrib import admin from django.contrib.admin.utils import unquote from django.core.exceptions import PermissionDenied from django.core.management import load_command_class from django.http import Http404 -from django.shortcuts import render_to_response +from django.shortcuts import render from django.utils.encoding import force_unicode from django.utils.html import escape from django.utils.translation import ugettext as _ @@ -76,10 +75,8 @@ class GroupAdmin(admin.ModelAdmin): 'output': output, 'sdo': sdo, } - return render_to_response('admin/group/group/send_sdo_reminder.html', - context, - context_instance = template.RequestContext(request, current_app=self.admin_site.name), - ) + return render(request, 'admin/group/group/send_sdo_reminder.html', context ) + def send_one_reminder(self, request, object_id): model = self.model diff --git a/ietf/group/views_stream.py b/ietf/group/views_stream.py index 9a8d5887c..e8b9a0a38 100644 --- a/ietf/group/views_stream.py +++ b/ietf/group/views_stream.py @@ -1,7 +1,6 @@ # Copyright The IETF Trust 2008, All Rights Reserved -from django.shortcuts import render_to_response, get_object_or_404, redirect -from django.template import RequestContext +from django.shortcuts import render, get_object_or_404, redirect from django.http import Http404, HttpResponseForbidden from django import forms @@ -19,7 +18,7 @@ import debug # pyflakes:ignore def streams(request): streams = [ s.slug for s in StreamName.objects.all().exclude(slug__in=['ietf', 'legacy']) ] streams = Group.objects.filter(acronym__in=streams) - return render_to_response('group/index.html', {'streams':streams}, context_instance=RequestContext(request)) + return render(request, 'group/index.html', {'streams':streams}) def stream_documents(request, acronym): streams = [ s.slug for s in StreamName.objects.all().exclude(slug__in=['ietf', 'legacy']) ] @@ -31,7 +30,7 @@ def stream_documents(request, acronym): qs = Document.objects.filter(states__type="draft", states__slug__in=["active", "rfc"], stream=acronym) docs, meta = prepare_document_table(request, qs) - return render_to_response('group/stream_documents.html', {'stream':stream, 'docs':docs, 'meta':meta, 'editable':editable }, context_instance=RequestContext(request)) + return render(request, 'group/stream_documents.html', {'stream':stream, 'docs':docs, 'meta':meta, 'editable':editable } ) class StreamEditForm(forms.Form): delegates = SearchableEmailsField(required=False, only_users=True) @@ -69,10 +68,11 @@ def stream_edit(request, acronym): else: form = StreamEditForm(initial=dict(delegates=Email.objects.filter(role__group=group, role__name="delegate"))) - return render_to_response('group/stream_edit.html', - {'group': group, - 'chairs': chairs, - 'form': form, - }, - context_instance=RequestContext(request)) + return render(request, 'group/stream_edit.html', + { + 'group': group, + 'chairs': chairs, + 'form': form, + }, + ) diff --git a/ietf/help/views.py b/ietf/help/views.py index acb54f7dc..9c0060e99 100644 --- a/ietf/help/views.py +++ b/ietf/help/views.py @@ -2,8 +2,7 @@ import os -from django.template import RequestContext -from django.shortcuts import get_object_or_404, render_to_response +from django.shortcuts import get_object_or_404, render import debug # pyflakes:ignore @@ -20,8 +19,7 @@ def state_index(request): groups = StateType.objects.filter(slug__startswith=type.slug) type.stategroups = [ g.slug[len(type.slug)+1:] for g in groups if not g == type ] or "" - return render_to_response('help/state_index.html', {"types": types}, - context_instance=RequestContext(request)) + return render(request, 'help/state_index.html', {"types": types}) def state(request, doc, type=None): if type: @@ -31,8 +29,7 @@ def state(request, doc, type=None): slug = "%s-%s" % (doc,type) if type else doc statetype = get_object_or_404(StateType, slug=slug) states = State.objects.filter(used=True, type=statetype).order_by('order') - return render_to_response('help/states.html', {"doc": doc, "type": statetype, "states":states}, - context_instance=RequestContext(request)) + return render(request, 'help/states.html', {"doc": doc, "type": statetype, "states":states} ) def environment(request): if request.is_secure(): @@ -40,5 +37,4 @@ def environment(request): else: os.environ['SCHEME'] = "http" os.environ["URL"] = request.build_absolute_uri(".") - return render_to_response('help/environment.html', {"env": os.environ}, - context_instance=RequestContext(request)) + return render(request, 'help/environment.html', {"env": os.environ} ) diff --git a/ietf/iesg/views.py b/ietf/iesg/views.py index 03e605add..f2f6b48d5 100644 --- a/ietf/iesg/views.py +++ b/ietf/iesg/views.py @@ -47,8 +47,7 @@ from django import forms from django.conf import settings from django.db import models from django.http import HttpResponse -from django.shortcuts import render_to_response, render, redirect -from django.template import RequestContext +from django.shortcuts import render, redirect from django.contrib.sites.models import Site @@ -82,12 +81,12 @@ def review_decisions(request, year=None): timeframe = u"%s" % year if year else u"the past 6 months" - return render_to_response('iesg/review_decisions.html', + return render(request, 'iesg/review_decisions.html', dict(events=events, years=years, year=year, timeframe=timeframe), - context_instance=RequestContext(request)) + ) def agenda_json(request, date=None): data = agenda_data(date) @@ -188,19 +187,19 @@ def agenda(request, date=None): 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", { + return render(request, "iesg/agenda.html", { "date": data["date"], "sections": sorted(data["sections"].iteritems()), "settings": settings, - }, context_instance=RequestContext(request)) + } ) def agenda_txt(request, date=None): data = agenda_data(date) - return render_to_response("iesg/agenda.txt", { + return render(request, "iesg/agenda.txt", { "date": data["date"], "sections": sorted(data["sections"].iteritems()), "domain": Site.objects.get_current().domain, - }, context_instance=RequestContext(request), content_type="text/plain; charset=%s"%settings.DEFAULT_CHARSET) + }, content_type="text/plain; charset=%s"%settings.DEFAULT_CHARSET) def agenda_scribe_template(request, date=None): data = agenda_data(date) @@ -210,12 +209,12 @@ def agenda_scribe_template(request, date=None): if "docs" in section: # why are we here including documents that have no discuss/comment? appendix_docs.extend(section["docs"]) - return render_to_response("iesg/scribe_template.html", { + return render(request, "iesg/scribe_template.html", { "date": data["date"], "sections": sections, "appendix_docs": appendix_docs, "domain": Site.objects.get_current().domain, - }, context_instance=RequestContext(request) ) + } ) @role_required('Area Director', 'Secretariat') def agenda_moderator_package(request, date=None): @@ -261,21 +260,21 @@ def agenda_moderator_package(request, date=None): data["sections"]["7"]["ads"] = sorted(Person.objects.filter(role__name="ad", role__group__state="active", role__group__type="area"), key=lambda p: p.name_parts()[3]) - return render_to_response("iesg/moderator_package.html", { + return render(request, "iesg/moderator_package.html", { "date": data["date"], "sections": flattened_sections, - }, context_instance=RequestContext(request)) + } ) @role_required('Area Director', 'Secretariat') def agenda_package(request, date=None): data = agenda_data(date) - return render_to_response("iesg/agenda_package.txt", { + return render(request, "iesg/agenda_package.txt", { "date": data["date"], "sections": sorted(data["sections"].iteritems()), "roll_call": data["sections"]["1.1"]["text"], "minutes": data["sections"]["1.3"]["text"], "management_items": [(num, section) for num, section in data["sections"].iteritems() if "6" < num < "7"], - }, context_instance=RequestContext(request), content_type='text/plain') + }, content_type='text/plain') def agenda_documents_txt(request): @@ -469,10 +468,8 @@ def milestones_needing_review(request): for g, milestones in groups.iteritems(): g.milestones_needing_review = sorted(milestones, key=lambda m: m.due) - return render_to_response('iesg/milestones_needing_review.html', - dict(ads=sorted(ad_list, key=lambda ad: ad.plain_name()), - ), - context_instance=RequestContext(request)) + return render(request, 'iesg/milestones_needing_review.html', + dict(ads=sorted(ad_list, key=lambda ad: ad.plain_name()),)) def photos(request): roles = sorted(Role.objects.filter(group__type='area', group__state='active', name_id='ad'),key=lambda x: "" if x.group.acronym=="gen" else x.group.acronym) diff --git a/ietf/liaisons/views.py b/ietf/liaisons/views.py index 799ab5480..9d84cbdf5 100644 --- a/ietf/liaisons/views.py +++ b/ietf/liaisons/views.py @@ -314,7 +314,7 @@ def add_comment(request, object_id): else: form = AddCommentForm() - return render(request, 'liaisons/add_comment.html',dict(liaison=statement,form=form)) + return render(request, 'liaisons/add_comment.html', dict(liaison=statement,form=form) ) @can_submit_liaison_required def liaison_add(request, type=None, **kwargs): diff --git a/ietf/mailinglists/views.py b/ietf/mailinglists/views.py index 75cb7335e..391e56fc7 100644 --- a/ietf/mailinglists/views.py +++ b/ietf/mailinglists/views.py @@ -1,12 +1,10 @@ # Copyright The IETF Trust 2007, All Rights Reserved from ietf.group.models import Group -from django.shortcuts import render_to_response -from django.template import RequestContext +from django.shortcuts import render def groups(request): groups = Group.objects.filter(type__in=("wg", "rg"), list_archive__startswith='http').order_by("acronym") - return render_to_response("mailinglists/group_archives.html", { "groups": groups }, - context_instance=RequestContext(request)) + return render(request, "mailinglists/group_archives.html", { "groups": groups } ) diff --git a/ietf/message/views.py b/ietf/message/views.py index 268b3e161..e4cca6301 100644 --- a/ietf/message/views.py +++ b/ietf/message/views.py @@ -1,5 +1,4 @@ -from django.shortcuts import render_to_response, get_object_or_404 -from django.template import RequestContext +from django.shortcuts import render, get_object_or_404 from ietf.message.models import Message @@ -9,6 +8,4 @@ def message(request, message_id, group_type): message = get_object_or_404(possible_messages, id=message_id) - return render_to_response("message/message.html", - dict(message=message), - context_instance=RequestContext(request)) + return render(request, "message/message.html", {"message":message } ) diff --git a/ietf/middleware.py b/ietf/middleware.py index 4048315d7..5865958aa 100644 --- a/ietf/middleware.py +++ b/ietf/middleware.py @@ -1,8 +1,7 @@ # Copyright The IETF Trust 2007, All Rights Reserved from django.db import connection -from django.shortcuts import render_to_response -from django.template import RequestContext +from django.shortcuts import render from django.http import HttpResponsePermanentRedirect from ietf.utils.log import log from ietf.utils.mail import log_smtp_exception @@ -21,8 +20,8 @@ class SMTPExceptionMiddleware(object): def process_exception(self, request, exception): if isinstance(exception, smtplib.SMTPException): (extype, value, tb) = log_smtp_exception(exception) - return render_to_response('email_failed.html', {'exception': extype, 'args': value, 'traceback': "".join(tb)}, - context_instance=RequestContext(request)) + return render(request, 'email_failed.html', + {'exception': extype, 'args': value, 'traceback': "".join(tb)} ) return None class RedirectTrailingPeriod(object): diff --git a/ietf/nomcom/forms.py b/ietf/nomcom/forms.py index 95a52e01f..e571af5cd 100644 --- a/ietf/nomcom/forms.py +++ b/ietf/nomcom/forms.py @@ -3,8 +3,7 @@ from django import forms from formtools.preview import FormPreview, AUTO_ID from django.shortcuts import get_object_or_404, redirect from django.utils.decorators import method_decorator -from django.shortcuts import render_to_response -from django.template.context import RequestContext +from django.shortcuts import render from django.core.urlresolvers import reverse from django.utils.html import mark_safe @@ -118,14 +117,16 @@ class EditMembersFormPreview(FormPreview): def preview_get(self, request): "Displays the form" f = self.form(auto_id=self.get_auto_id(), initial=self.get_initial(request)) - return render_to_response(self.form_template, - {'form': f, - 'stage_field': self.unused_name('stage'), - 'state': self.state, - 'year': self.year, - 'nomcom': self.nomcom, - 'selected': 'edit_members'}, - context_instance=RequestContext(request)) + return render(request, self.form_template, + { + 'form': f, + 'stage_field': self.unused_name('stage'), + 'state': self.state, + 'year': self.year, + 'nomcom': self.nomcom, + 'selected': 'edit_members', + } + ) def get_initial(self, request): members = self.group.role_set.filter(name__slug='member') @@ -163,9 +164,9 @@ class EditMembersFormPreview(FormPreview): self.process_preview(request, f, context) context['hash_field'] = self.unused_name('hash') context['hash_value'] = self.security_hash(request, f) - return render_to_response(self.preview_template, context, context_instance=RequestContext(request)) + return render(request, self.preview_template, context ) else: - return render_to_response(self.form_template, context, context_instance=RequestContext(request)) + return render(request, self.form_template, context ) def post_post(self, request): "Validates the POST data. If valid, calls done(). Else, redisplays form." @@ -178,7 +179,7 @@ class EditMembersFormPreview(FormPreview): self.process_preview(request, f, context) return self.done(request, f.cleaned_data) else: - return render_to_response(self.form_template, context, context_instance=RequestContext(request)) + return render(request, self.form_template, context ) def done(self, request, cleaned_data): members_info = self.state['members_info'] diff --git a/ietf/nomcom/views.py b/ietf/nomcom/views.py index a43444bed..2bca2b4ec 100644 --- a/ietf/nomcom/views.py +++ b/ietf/nomcom/views.py @@ -8,7 +8,7 @@ from django.contrib.auth.models import AnonymousUser from django.contrib import messages from django.core.urlresolvers import reverse from django.http import Http404, HttpResponseRedirect, HttpResponseForbidden -from django.shortcuts import render_to_response, get_object_or_404, render, redirect +from django.shortcuts import render, get_object_or_404, redirect from django.template import RequestContext from django.template.loader import render_to_string from django.db.models import Count @@ -53,7 +53,7 @@ def index(request): nomcom.ann_url = "/nomcom/ann/#%4d" % year else: nomcom.ann_url = None - return render_to_response('nomcom/index.html', + return render(request, 'nomcom/index.html', {'nomcom_list': nomcom_list,}, RequestContext(request)) @@ -61,7 +61,7 @@ def year_index(request, year): nomcom = get_nomcom_by_year(year) home_template = '/nomcom/%s/%s' % (nomcom.group.acronym, HOME_TEMPLATE) template = render_to_string(home_template, {}) - return render_to_response('nomcom/year_index.html', + return render(request, 'nomcom/year_index.html', {'nomcom': nomcom, 'year': year, 'selected': 'index', @@ -98,10 +98,12 @@ def announcements(request): regimes.sort(key=lambda x: x["group"].start_year, reverse=True) - return render_to_response("nomcom/announcements.html", - { 'curr_chair' : regimes[0]["chair"] if regimes else None, - 'regimes' : regimes }, - context_instance=RequestContext(request)) + return render(request, "nomcom/announcements.html", + { + 'curr_chair' : regimes[0]["chair"] if regimes else None, + 'regimes' : regimes, + }, + ) @role_required("Nomcom") def private_key(request, year): @@ -120,7 +122,7 @@ def private_key(request, year): return HttpResponseRedirect(back_url) else: form = PrivateKeyForm() - return render_to_response('nomcom/private_key.html', + return render(request, 'nomcom/private_key.html', {'nomcom': nomcom, 'year': year, 'back_url': back_url, @@ -182,7 +184,7 @@ def private_index(request, year): s[state['slug']] = all_nominee_positions.filter(position__name=s['position__name'], state=state['slug']).count() - return render_to_response('nomcom/private_index.html', + return render(request, 'nomcom/private_index.html', {'nomcom': nomcom, 'year': year, 'nominee_positions': nominee_positions, @@ -251,7 +253,7 @@ def send_reminder_mail(request, year, type): else: messages.warning(request, "Please, select at least one nominee") - return render_to_response('nomcom/send_reminder_mail.html', + return render(request, 'nomcom/send_reminder_mail.html', {'nomcom': nomcom, 'year': year, 'nominees': annotated_nominees, @@ -279,7 +281,7 @@ def private_merge_person(request, year): else: form = MergePersonForm(nomcom=nomcom) - return render_to_response('nomcom/private_merge_person.html', + return render(request, 'nomcom/private_merge_person.html', {'nomcom': nomcom, 'year': year, 'form': form, @@ -304,7 +306,7 @@ def private_merge_nominee(request, year): else: form = MergeNomineeForm(nomcom=nomcom) - return render_to_response('nomcom/private_merge_nominee.html', + return render(request, 'nomcom/private_merge_nominee.html', {'nomcom': nomcom, 'year': year, 'form': form, @@ -315,7 +317,7 @@ def private_merge_nominee(request, year): def requirements(request, year): nomcom = get_nomcom_by_year(year) positions = nomcom.position_set.all() - return render_to_response('nomcom/requirements.html', + return render(request, 'nomcom/requirements.html', {'nomcom': nomcom, 'positions': positions, 'year': year, @@ -325,7 +327,7 @@ def requirements(request, year): def questionnaires(request, year): nomcom = get_nomcom_by_year(year) positions = nomcom.position_set.all() - return render_to_response('nomcom/questionnaires.html', + return render(request, 'nomcom/questionnaires.html', {'nomcom': nomcom, 'positions': positions, 'year': year, @@ -361,14 +363,14 @@ def nominate(request, year, public, newperson): if not has_publickey: messages.warning(request, "This Nomcom is not yet accepting nominations") - return render_to_response(template, + return render(request, template, {'nomcom': nomcom, 'year': year, 'selected': 'nominate'}, RequestContext(request)) if nomcom.group.state_id == 'conclude': messages.warning(request, "Nominations to this Nomcom are closed.") - return render_to_response(template, + return render(request, template, {'nomcom': nomcom, 'year': year, 'selected': 'nominate'}, RequestContext(request)) @@ -391,7 +393,7 @@ def nominate(request, year, public, newperson): else: form = NominateForm(nomcom=nomcom, user=request.user, public=public) - return render_to_response(template, + return render(request, template, {'form': form, 'nomcom': nomcom, 'year': year, @@ -485,7 +487,7 @@ def private_feedback_email(request, year): nomcom_ready = True if not nomcom_ready: - return render_to_response(template, + return render(request, template, {'nomcom': nomcom, 'year': year, 'selected': 'feedback_email', @@ -502,7 +504,7 @@ def private_feedback_email(request, year): form = FeedbackEmailForm(nomcom=nomcom) messages.success(request, 'The feedback email has been registered.') - return render_to_response(template, + return render(request, template, {'form': form, 'nomcom': nomcom, 'year': year, @@ -525,7 +527,7 @@ def private_questionnaire(request, year): nomcom_ready = True if not nomcom_ready: - return render_to_response(template, + return render(request, template, {'nomcom': nomcom, 'year': year, 'selected': 'questionnaire', @@ -543,7 +545,7 @@ def private_questionnaire(request, year): else: form = QuestionnaireForm(nomcom=nomcom, user=request.user) - return render_to_response(template, + return render(request, template, {'form': form, 'questionnaire_response': questionnaire_response, 'nomcom': nomcom, @@ -596,7 +598,7 @@ def process_nomination_status(request, year, nominee_position_id, state, date, h messages.success(request, 'Your nomination on %s has been set as %s' % (nominee_position.position.name, state.name)) else: form = NominationResponseCommentForm() - return render_to_response('nomcom/process_nomination_status.html', + return render(request, 'nomcom/process_nomination_status.html', {'nomcom': nomcom, 'year': year, 'nominee_position': nominee_position, @@ -650,7 +652,7 @@ def view_feedback(request, year): nominees_feedback.append( {'nominee':nominee, 'feedback':nominee_feedback} ) independent_feedback = [ft.feedback_set.get_by_nomcom(nomcom).count() for ft in independent_feedback_types] - return render_to_response('nomcom/view_feedback.html', + return render(request, 'nomcom/view_feedback.html', {'year': year, 'selected': 'view_feedback', 'nominees': nominees, @@ -747,7 +749,7 @@ def view_feedback_pending(request, year): slug = rest[0] rest = rest[1] type_dict[slug] = t - return render_to_response('nomcom/view_feedback_pending.html', + return render(request, 'nomcom/view_feedback_pending.html', {'year': year, 'selected': 'feedback_pending', 'formset': formset, @@ -769,7 +771,7 @@ def view_feedback_unrelated(request, year): feedback_types.append({'ft': ft, 'feedback': ft.feedback_set.get_by_nomcom(nomcom)}) - return render_to_response('nomcom/view_feedback_unrelated.html', + return render(request, 'nomcom/view_feedback_unrelated.html', {'year': year, 'selected': 'view_feedback', 'feedback_types': feedback_types, @@ -790,7 +792,7 @@ def view_feedback_nominee(request, year, nominee_id): else: FeedbackLastSeen.objects.create(reviewer=request.user.person,nominee=nominee) - return render_to_response('nomcom/view_feedback_nominee.html', + return render(request, 'nomcom/view_feedback_nominee.html', {'year': year, 'selected': 'view_feedback', 'nominee': nominee, @@ -814,7 +816,7 @@ def edit_nominee(request, year, nominee_id): else: form = EditNomineeForm(instance=nominee) - return render_to_response('nomcom/edit_nominee.html', + return render(request, 'nomcom/edit_nominee.html', {'year': year, 'selected': 'index', 'nominee': nominee, @@ -854,7 +856,7 @@ def edit_nomcom(request, year): formset = ReminderDateInlineFormSet(instance=nomcom) form = EditNomcomForm(instance=nomcom) - return render_to_response('nomcom/edit_nomcom.html', + return render(request, 'nomcom/edit_nomcom.html', {'form': form, 'formset': formset, 'nomcom': nomcom, @@ -871,7 +873,7 @@ def list_templates(request, year): positions = nomcom.position_set.all() template_list = DBTemplate.objects.filter(group=nomcom.group).exclude(path__contains='/position/') - return render_to_response('nomcom/list_templates.html', + return render(request, 'nomcom/list_templates.html', {'template_list': template_list, 'positions': positions, 'year': year, @@ -910,7 +912,7 @@ def list_positions(request, year): nomcom = get_nomcom_by_year(year) positions = nomcom.position_set.order_by('-is_open') - return render_to_response('nomcom/list_positions.html', + return render(request, 'nomcom/list_positions.html', {'positions': positions, 'year': year, 'selected': 'edit_positions', @@ -932,7 +934,7 @@ def remove_position(request, year, position_id): if request.POST.get('remove', None): position.delete() return redirect('nomcom_list_positions', year=year) - return render_to_response('nomcom/remove_position.html', + return render(request, 'nomcom/remove_position.html', {'year': year, 'position': position, 'nomcom': nomcom, @@ -963,7 +965,7 @@ def edit_position(request, year, position_id=None): else: form = PositionForm(instance=position, nomcom=nomcom) - return render_to_response('nomcom/edit_position.html', + return render(request, 'nomcom/edit_position.html', {'form': form, 'position': position, 'year': year, diff --git a/ietf/release/views.py b/ietf/release/views.py index 3bc7a0432..6aaf21ab4 100644 --- a/ietf/release/views.py +++ b/ietf/release/views.py @@ -4,8 +4,7 @@ import json import datetime import gzip -from django.template import RequestContext -from django.shortcuts import render_to_response +from django.shortcuts import render from django.conf import settings from django.http import HttpResponse @@ -60,7 +59,7 @@ def release(request, version=None): if "coverage" in coverage[key]: coverage[key]["percentage"] = coverage[key]["coverage"] * 100 - return render_to_response('release/release.html', + return render(request, 'release/release.html', { 'releases': log_entries, 'version': version, @@ -68,7 +67,7 @@ def release(request, version=None): 'coverage': coverage, 'code_coverage_url': code_coverage_url, 'code_coverage_time': code_coverage_time, - }, - context_instance=RequestContext(request)) + } ) + diff --git a/ietf/secr/announcement/views.py b/ietf/secr/announcement/views.py index 1dff98ce8..566eec25c 100644 --- a/ietf/secr/announcement/views.py +++ b/ietf/secr/announcement/views.py @@ -1,8 +1,7 @@ from django.contrib import messages from django.contrib.auth.decorators import login_required from django.http import HttpResponseForbidden -from django.shortcuts import render_to_response, redirect -from django.template import RequestContext +from django.shortcuts import render, redirect from ietf.group.models import Role from ietf.ietfauth.utils import has_role @@ -68,10 +67,7 @@ def main(request): return redirect('announcement_confirm') - return render_to_response('announcement/main.html', { - 'form': form}, - RequestContext(request, {}), - ) + return render(request, 'announcement/main.html', { 'form': form} ) @login_required @check_for_cancel('../') @@ -107,8 +103,7 @@ def confirm(request): else: to = data['to'] - return render_to_response('announcement/confirm.html', { + return render(request, 'announcement/confirm.html', { 'message': data, 'to': to}, - RequestContext(request, {}), ) diff --git a/ietf/secr/areas/views.py b/ietf/secr/areas/views.py index 9d4d90afb..f67bf62eb 100644 --- a/ietf/secr/areas/views.py +++ b/ietf/secr/areas/views.py @@ -5,8 +5,7 @@ from django.contrib import messages from django.forms.formsets import formset_factory from django.forms.models import inlineformset_factory from django.http import HttpResponse -from django.shortcuts import render_to_response, get_object_or_404, redirect -from django.template import RequestContext +from django.shortcuts import render, get_object_or_404, redirect from ietf.group.models import Group, GroupEvent, GroupURL, Role, ChangeStateGroupEvent from ietf.group.utils import save_group_in_history @@ -90,10 +89,9 @@ def add(request): area_form = AddAreaModelForm() awp_formset = AWPFormSet(prefix='awp') - return render_to_response('areas/add.html', { + return render(request, 'areas/add.html', { 'area_form': area_form, 'awp_formset': awp_formset}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -153,12 +151,11 @@ def edit(request, name): form = AreaForm(instance=area) awp_formset = AWPFormSet(instance=area) - return render_to_response('areas/edit.html', { + return render(request, 'areas/edit.html', { 'area': area, 'form': form, 'awp_formset': awp_formset, }, - RequestContext(request,{}), ) @role_required('Secretariat') @@ -178,10 +175,7 @@ def list_areas(request): results = Group.objects.filter(type="area").order_by('name') - return render_to_response('areas/list.html', { - 'results': results}, - RequestContext(request, {}), - ) + return render(request, 'areas/list.html', { 'results': results} ) @role_required('Secretariat') def people(request, name): @@ -226,11 +220,10 @@ def people(request, name): form = AreaDirectorForm() directors = area.role_set.filter(name__slug__in=('ad','pre-ad')) - return render_to_response('areas/people.html', { + return render(request, 'areas/people.html', { 'area': area, 'form': form, 'directors': directors}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -310,8 +303,7 @@ def view(request, name): pass directors = area.role_set.filter(name__slug__in=('ad','pre-ad')) - return render_to_response('areas/view.html', { + return render(request, 'areas/view.html', { 'area': area, 'directors': directors}, - RequestContext(request, {}), ) diff --git a/ietf/secr/console/views.py b/ietf/secr/console/views.py index 90172ec04..9e582fd08 100644 --- a/ietf/secr/console/views.py +++ b/ietf/secr/console/views.py @@ -1,6 +1,5 @@ -from django.shortcuts import render_to_response -from django.template import RequestContext +from django.shortcuts import render from ietf.doc.models import DocEvent from ietf.ietfauth.utils import role_required @@ -13,7 +12,6 @@ def main(request): latest_docevent = DocEvent.objects.all().order_by('-time')[0] - return render_to_response('console/main.html', { + return render(request, 'console/main.html', { 'latest_docevent': latest_docevent}, - RequestContext(request, {}), ) diff --git a/ietf/secr/drafts/views.py b/ietf/secr/drafts/views.py index e14c408a4..152b8e0b3 100644 --- a/ietf/secr/drafts/views.py +++ b/ietf/secr/drafts/views.py @@ -7,8 +7,7 @@ from django.conf import settings from django.contrib import messages from django.db.models import Max from django.forms.formsets import formset_factory -from django.shortcuts import render_to_response, get_object_or_404, redirect, render -from django.template import RequestContext +from django.shortcuts import render, get_object_or_404, redirect from ietf.doc.models import Document, DocumentAuthor, DocAlias, DocRelationshipName, RelatedDocument, State from ietf.doc.models import DocEvent, NewRevisionDocEvent @@ -402,9 +401,8 @@ def abstract(request, id): ''' draft = get_object_or_404(Document, name=id) - return render_to_response('drafts/abstract.html', { + return render(request, 'drafts/abstract.html', { 'draft': draft}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -492,10 +490,9 @@ def add(request): form = AddModelForm() upload_form = UploadForm() - return render_to_response('drafts/add.html', { + return render(request, 'drafts/add.html', { 'form': form, 'upload_form': upload_form}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -532,10 +529,9 @@ def approvals(request): approved = Preapproval.objects.all().order_by('name') form = None - return render_to_response('drafts/approvals.html', { + return render(request, 'drafts/approvals.html', { 'form': form, 'approved': approved}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -589,10 +585,9 @@ def authors(request, id): else: form = AuthorForm() - return render_to_response('drafts/authors.html', { + return render(request, 'drafts/authors.html', { 'draft': draft, 'form': form}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -638,12 +633,11 @@ def confirm(request, id): email = request.session.get('email','') action = request.session.get('action','') - return render_to_response('drafts/confirm.html', { + return render(request, 'drafts/confirm.html', { 'details': details, 'email': email, 'action': action, 'draft': draft}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -661,9 +655,8 @@ def dates(request): ''' meeting = get_meeting() - return render_to_response('drafts/dates.html', { + return render(request, 'drafts/dates.html', { 'meeting':meeting}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -748,17 +741,16 @@ def email(request, id): type=request.session['action'], input=request.session.get('data', None))) except Exception, e: - return render_to_response('drafts/error.html', { 'error': e},) + return render(request, 'drafts/error.html', { 'error': e},) # for "revision" action skip email page and go directly to confirm if request.session['action'] == 'revision': request.session['email'] = form.initial return redirect('drafts_confirm', id=id) - return render_to_response('drafts/email.html', { + return render(request, 'drafts/email.html', { 'form': form, 'draft': draft}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -787,10 +779,9 @@ def extend(request, id): else: form = ExtendForm(initial={'revision_date':datetime.date.today().isoformat()}) - return render_to_response('drafts/extend.html', { + return render(request, 'drafts/extend.html', { 'form': form, 'draft': draft}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -863,11 +854,10 @@ def makerfc(request, id): form = RfcModelForm(instance=draft) obs_formset = ObsFormset(prefix='obs') - return render_to_response('drafts/makerfc.html', { + return render(request, 'drafts/makerfc.html', { 'form': form, 'obs_formset': obs_formset, 'draft': draft}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -879,9 +869,8 @@ def nudge_report(request): docs = Document.objects.filter(type='draft',states__slug='active') docs = docs.filter(states=12,tags='need-rev') - return render_to_response('drafts/report_nudge.html', { + return render(request, 'drafts/report_nudge.html', { 'docs': docs}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -910,10 +899,9 @@ def replace(request, id): else: form = ReplaceForm(draft=draft) - return render_to_response('drafts/replace.html', { + return render(request, 'drafts/replace.html', { 'form': form, 'draft': draft}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -960,11 +948,10 @@ def revision(request, id): form = RevisionModelForm(instance=draft,initial={'revision_date':datetime.date.today().isoformat()}) upload_form = UploadForm(draft=draft) - return render_to_response('drafts/revision.html', { + return render(request, 'drafts/revision.html', { 'form': form, 'upload_form': upload_form, 'draft': draft}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -1033,10 +1020,9 @@ def search(request): active_state = State.objects.get(type='draft',slug='active') form = SearchForm(initial={'state':active_state.pk}) - return render_to_response('drafts/search.html', { + return render(request, 'drafts/search.html', { 'results': results, 'form': form}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -1074,11 +1060,10 @@ def update(request, id): form = RevisionModelForm(instance=draft,initial={'revision_date':datetime.date.today().isoformat()}) upload_form = UploadForm(draft=draft) - return render_to_response('drafts/revision.html', { + return render(request, 'drafts/revision.html', { 'form': form, 'upload_form':upload_form, 'draft': draft}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -1133,13 +1118,12 @@ def view(request, id): except AttributeError: pass - return render_to_response('drafts/view.html', { + return render(request, 'drafts/view.html', { 'is_active': is_active, 'is_expired': is_expired, 'is_withdrawn': is_withdrawn, 'is_development': is_development, 'draft': draft}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -1168,9 +1152,8 @@ def withdraw(request, id): else: form = WithdrawForm() - return render_to_response('drafts/withdraw.html', { + return render(request, 'drafts/withdraw.html', { 'draft': draft, 'form': form}, - RequestContext(request, {}), ) diff --git a/ietf/secr/groups/views.py b/ietf/secr/groups/views.py index be14d3fb2..25e106590 100644 --- a/ietf/secr/groups/views.py +++ b/ietf/secr/groups/views.py @@ -1,8 +1,7 @@ from django.contrib import messages from django.conf import settings from django.forms.models import inlineformset_factory -from django.shortcuts import render_to_response, get_object_or_404, redirect -from django.template import RequestContext +from django.shortcuts import render, get_object_or_404, redirect from ietf.group.models import Group, GroupMilestone, ChangeStateGroupEvent, GroupEvent, GroupURL, Role from ietf.group.utils import save_group_in_history, get_charter_text, setup_default_community_list_for_group @@ -120,10 +119,9 @@ def add(request): form = GroupModelForm(initial={'state':'active','type':'wg'}) awp_formset = AWPFormSet(prefix='awp') - return render_to_response('groups/add.html', { + return render(request, 'groups/add.html', { 'form': form, 'awp_formset': awp_formset}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -147,9 +145,8 @@ def blue_dot(request): # sort the list sorted_chairs = sorted(chairs, key = lambda a: a['name']) - return render_to_response('groups/blue_dot_report.txt', { - 'chairs':sorted_chairs}, - RequestContext(request, {}), content_type="text/plain; charset=%s"%settings.DEFAULT_CHARSET, + return render(request, 'groups/blue_dot_report.txt', { 'chairs':sorted_chairs }, + content_type="text/plain; charset=%s"%settings.DEFAULT_CHARSET, ) @role_required('Secretariat') @@ -174,10 +171,9 @@ def charter(request, acronym): else: charter_text = '' - return render_to_response('groups/charter.html', { + return render(request, 'groups/charter.html', { 'group': group, 'charter_text': charter_text}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -273,11 +269,10 @@ def edit(request, acronym): messages.warning(request, "WARNING: don't use this tool to change group names. Use Datatracker when possible.") - return render_to_response('groups/edit.html', { + return render(request, 'groups/edit.html', { 'group': group, 'awp_formset': awp_formset, 'form': form}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -311,10 +306,9 @@ def edit_gm(request, acronym): else: formset = GMFormset(instance=group, prefix='goalmilestone') - return render_to_response('groups/edit_gm.html', { + return render(request, 'groups/edit_gm.html', { 'group': group, 'formset': formset}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -355,10 +349,9 @@ def people(request, acronym): else: form = RoleForm(initial={'name':'chair'},group=group) - return render_to_response('groups/people.html', { + return render(request, 'groups/people.html', { 'form':form, 'group':group}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -434,10 +427,9 @@ def search(request): for result in results: add_legacy_fields(result) - return render_to_response('groups/search.html', { + return render(request, 'groups/search.html', { 'results': results, 'form': form}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -459,10 +451,7 @@ def view(request, acronym): add_legacy_fields(group) - return render_to_response('groups/view.html', { - 'group': group}, - RequestContext(request, {}), - ) + return render(request, 'groups/view.html', { 'group': group } ) @role_required('Secretariat') def view_gm(request, acronym): @@ -481,7 +470,4 @@ def view_gm(request, acronym): group = get_object_or_404(Group, acronym=acronym) - return render_to_response('groups/view_gm.html', { - 'group': group}, - RequestContext(request, {}), - ) + return render(request, 'groups/view_gm.html', { 'group': group } ) diff --git a/ietf/secr/lib/template.py b/ietf/secr/lib/template.py index 7aee6114b..416dcac2d 100644 --- a/ietf/secr/lib/template.py +++ b/ietf/secr/lib/template.py @@ -1,8 +1,6 @@ import json from django.http import HttpResponse -from django.template import RequestContext -from django.shortcuts import render_to_response def template(template): def decorator(fn): @@ -13,10 +11,7 @@ def template(template): return context_data else: # For any other type of data try to populate a template - return render_to_response(template, - context_data, - context_instance=RequestContext(request) - ) + return render(request, template, context_data) return render return decorator @@ -27,7 +22,3 @@ def jsonapi(fn): content_type='application/json') return to_json -def render(template, data, request): - return render_to_response(template, - data, - context_instance=RequestContext(request)) diff --git a/ietf/secr/meetings/views.py b/ietf/secr/meetings/views.py index 882fb2410..89ed57efd 100644 --- a/ietf/secr/meetings/views.py +++ b/ietf/secr/meetings/views.py @@ -10,8 +10,7 @@ from django.db.models import Max from django.forms.formsets import formset_factory from django.forms.models import inlineformset_factory from django.http import HttpResponseRedirect, HttpResponse -from django.shortcuts import render_to_response, get_object_or_404, redirect -from django.template import RequestContext +from django.shortcuts import render, get_object_or_404, redirect from django.utils.functional import curry from ietf.ietfauth.utils import role_required @@ -324,9 +323,8 @@ def add(request): max_number = Meeting.objects.filter(type='ietf').aggregate(Max('number'))['number__max'] form = MeetingModelForm(initial={'number':int(max_number) + 1}) - return render_to_response('meetings/add.html', { + return render(request, 'meetings/add.html', { 'form': form}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -354,13 +352,12 @@ def blue_sheet(request, meeting_id): else: form = UploadBlueSheetForm() - return render_to_response('meetings/blue_sheet.html', { + return render(request, 'meetings/blue_sheet.html', { 'meeting': meeting, 'url': url, 'form': form, 'last_run': last_run, 'uploaded_files': uploaded_files}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -423,10 +420,9 @@ def edit_meeting(request, meeting_id): else: form = MeetingModelForm(instance=meeting) - return render_to_response('meetings/edit_meeting.html', { + return render(request, 'meetings/edit_meeting.html', { 'meeting': meeting, 'form' : form, }, - RequestContext(request,{}), ) @role_required('Secretariat') @@ -442,10 +438,9 @@ def main(request): choices = [ (str(x.number),str(x.number)) for x in meetings ] form = GroupSelectForm(choices=choices) - return render_to_response('meetings/main.html', { + return render(request, 'meetings/main.html', { 'form': form, 'meetings': meetings}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -511,12 +506,11 @@ def non_session(request, meeting_id, schedule_name): if TimeSlot.objects.filter(meeting=meeting,type='other',location__isnull=True): messages.warning(request, 'There are non-session items which do not have a room assigned') - return render_to_response('meetings/non_session.html', { + return render(request, 'meetings/non_session.html', { 'slots': slots, 'form': form, 'meeting': meeting, 'schedule': schedule}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -585,12 +579,11 @@ def non_session_edit(request, meeting_id, schedule_name, slot_id): 'short':session.short} form = NonSessionEditForm(meeting=meeting,session=session,initial=initial) - return render_to_response('meetings/non_session_edit.html', { + return render(request, 'meetings/non_session_edit.html', { 'meeting': meeting, 'form': form, 'schedule': schedule, 'slot': slot}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -622,11 +615,10 @@ def notifications(request, meeting_id): messages.success(request, "Notifications Sent") return redirect('meetings_view', meeting_id=meeting.number) - return render_to_response('meetings/notifications.html', { + return render(request, 'meetings/notifications.html', { 'meeting': meeting, 'groups': sorted(groups, key=lambda a: a.acronym), 'last_notice': last_notice }, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -691,11 +683,10 @@ def rooms(request, meeting_id, schedule_name): else: formset = RoomFormset(instance=meeting, prefix='room') - return render_to_response('meetings/rooms.html', { + return render(request, 'meetings/rooms.html', { 'meeting': meeting, 'schedule': schedule, 'formset': formset}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -802,14 +793,13 @@ def schedule(request, meeting_id, schedule_name, acronym): else: formset = NewSessionFormset(initial=initial) - return render_to_response('meetings/schedule.html', { + return render(request, 'meetings/schedule.html', { 'group': group, 'meeting': meeting, 'schedule': schedule, 'show_request': True, 'session': legacy_session, 'formset': formset}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -820,10 +810,9 @@ def select(request, meeting_id, schedule_name): meeting = get_object_or_404(Meeting, number=meeting_id) schedule = get_object_or_404(Schedule, meeting=meeting, name=schedule_name) - return render_to_response('meetings/select.html', { + return render(request, 'meetings/select.html', { 'meeting': meeting, 'schedule': schedule}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -862,14 +851,13 @@ def select_group(request, meeting_id, schedule_name): irtfs = filter(lambda a: a.type_id=='rg' and a.state_id in ('active','proposed'), unscheduled_groups) irtf_form = GroupSelectForm(choices=build_choices(irtfs)) - return render_to_response('meetings/select_group.html', { + return render(request, 'meetings/select_group.html', { 'group_form': group_form, 'bof_form': bof_form, 'irtf_form': irtf_form, 'scheduled_groups': scheduled_groups, 'meeting': meeting, 'schedule': schedule}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -929,12 +917,11 @@ def times(request, meeting_id, schedule_name): else: form = TimeSlotForm() - return render_to_response('meetings/times.html', { + return render(request, 'meetings/times.html', { 'form': form, 'meeting': meeting, 'schedule': schedule, 'times': times}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -985,11 +972,10 @@ def times_edit(request, meeting_id, schedule_name, time): 'name':timeslots.first().name} form = TimeSlotForm(initial=initial) - return render_to_response('meetings/times_edit.html', { + return render(request, 'meetings/times_edit.html', { 'meeting': meeting, 'schedule': schedule, 'form': form}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -1039,7 +1025,6 @@ def view(request, meeting_id): ''' meeting = get_object_or_404(Meeting, number=meeting_id) - return render_to_response('meetings/view.html', { + return render(request, 'meetings/view.html', { 'meeting': meeting}, - RequestContext(request, {}), ) diff --git a/ietf/secr/proceedings/views.py b/ietf/secr/proceedings/views.py index 1054dd0ec..20e03cb58 100644 --- a/ietf/secr/proceedings/views.py +++ b/ietf/secr/proceedings/views.py @@ -10,8 +10,7 @@ from django.contrib import messages from django.core.urlresolvers import reverse from django.db.models import Max from django.http import HttpResponseRedirect -from django.shortcuts import render_to_response, get_object_or_404, redirect -from django.template import RequestContext +from django.shortcuts import render, get_object_or_404, redirect from ietf.secr.utils.decorators import sec_only from ietf.secr.utils.group import get_my_groups @@ -180,11 +179,10 @@ def ajax_generate_proceedings(request, meeting_num): path = os.path.join(settings.SECR_PROCEEDINGS_DIR,meeting.number,'index.html') last_run = datetime.datetime.fromtimestamp(os.path.getmtime(path)) - return render_to_response('includes/proceedings_functions.html',{ + return render(request, 'includes/proceedings_functions.html',{ 'meeting':meeting, 'last_run':last_run, 'proceedings_url':proceedings_url}, - RequestContext(request,{}), ) # -------------------------------------------------- @@ -223,11 +221,10 @@ def main(request): # we today's date to see if we're past the submissio cutoff today = datetime.date.today() - return render_to_response('proceedings/main.html',{ + return render(request, 'proceedings/main.html',{ 'meetings': meetings, 'interim_meetings': interim_meetings, 'today': today}, - RequestContext(request,{}), ) @sec_only @@ -311,12 +308,11 @@ def recording(request, meeting_num): else: form = RecordingForm(meeting=meeting) - return render_to_response('proceedings/recording.html',{ + return render(request, 'proceedings/recording.html',{ 'meeting':meeting, 'form':form, 'sessions':sessions, 'unmatched_recordings': get_unmatched_recordings(meeting)}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -350,11 +346,10 @@ def recording_edit(request, meeting_num, name): else: form = RecordingEditForm(instance=recording) - return render_to_response('proceedings/recording_edit.html',{ + return render(request, 'proceedings/recording_edit.html',{ 'meeting':meeting, 'form':form, 'recording':recording}, - RequestContext(request, {}), ) # TODO - should probably rename this since it's not selecting groups anymore @@ -382,11 +377,10 @@ def select(request, meeting_num): pptx = Document.objects.filter(session__meeting=meeting,type='slides',external_url__endswith='.pptx').exclude(states__slug='deleted') ppt_count = ppt.count() + pptx.count() - return render_to_response('proceedings/select.html', { + return render(request, 'proceedings/select.html', { 'meeting': meeting, 'last_run': last_run, 'proceedings_url': proceedings_url, 'ppt_count': ppt_count}, - RequestContext(request,{}), ) diff --git a/ietf/secr/roles/views.py b/ietf/secr/roles/views.py index 4b3630ab9..e6202e7ed 100644 --- a/ietf/secr/roles/views.py +++ b/ietf/secr/roles/views.py @@ -1,8 +1,7 @@ from django.contrib import messages from django.core.urlresolvers import reverse from django.http import HttpResponseRedirect -from django.shortcuts import render_to_response, get_object_or_404 -from django.template import RequestContext +from django.shortcuts import render, get_object_or_404 from ietf.group.models import Group, Role from ietf.group.utils import save_group_in_history @@ -34,10 +33,9 @@ def ajax_get_roles(request, acronym): ''' group = get_object_or_404(Group, acronym=acronym) - return render_to_response('roles/roles.html', { + return render(request, 'roles/roles.html', { 'group': group, 'roles': group.role_set.all()}, - RequestContext(request, {}), ) # -------------------------------------------------- # STANDARD VIEW FUNCTIONS @@ -105,8 +103,7 @@ def main(request): if 'group' in request.GET: group_form = GroupSelectForm(choices=choices,initial={'group':request.GET['group']}) - return render_to_response('roles/main.html', { + return render(request, 'roles/main.html', { 'group_form': group_form, 'role_form': role_form}, - RequestContext(request, {}), ) diff --git a/ietf/secr/rolodex/views.py b/ietf/secr/rolodex/views.py index b49b9aa5c..e119c729a 100644 --- a/ietf/secr/rolodex/views.py +++ b/ietf/secr/rolodex/views.py @@ -3,8 +3,7 @@ from django.contrib.auth.models import User from django.db import IntegrityError from django.forms.models import inlineformset_factory from django.http import HttpResponseRedirect -from django.shortcuts import render_to_response, get_object_or_404, redirect -from django.template import RequestContext +from django.shortcuts import render, get_object_or_404, redirect from ietf.ietfauth.utils import role_required from ietf.person.models import Person, Email, Alias @@ -47,11 +46,10 @@ def add(request): else: form = NameForm() - return render_to_response('rolodex/add.html', { + return render(request, 'rolodex/add.html', { 'form': form, 'results': results, 'name': name}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -103,10 +101,9 @@ def add_proceed(request): else: form = NewPersonForm(initial={'name':name,'ascii':name}) - return render_to_response('rolodex/add_proceed.html', { + return render(request, 'rolodex/add_proceed.html', { 'name': name, 'form': form}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -138,10 +135,7 @@ def delete(request, id): messages.warning(request, 'This feature is disabled') return redirect('rolodex') - return render_to_response('rolodex/delete.html', { - 'person': person}, - RequestContext(request, {}), - ) + return render(request, 'rolodex/delete.html', { 'person': person}, ) @role_required('Secretariat') def edit(request, id): @@ -194,11 +188,10 @@ def edit(request, id): # initialize formsets email_formset = EmailFormset(instance=person, prefix='email') - return render_to_response('rolodex/edit.html', { + return render(request, 'rolodex/edit.html', { 'person': person, 'person_form': person_form, 'email_formset': email_formset}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -249,11 +242,10 @@ def search(request): else: form = SearchForm() - return render_to_response('rolodex/search.html', { + return render(request, 'rolodex/search.html', { 'results' : results, 'form': form, 'not_found': not_found}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -276,9 +268,8 @@ def view(request, id): person.emails = person.email_set.filter(active=True) roles = person.role_set.all().order_by('name__name','group__acronym') - return render_to_response('rolodex/view.html', { + return render(request, 'rolodex/view.html', { 'person': person, 'roles': roles}, - RequestContext(request, {}), ) diff --git a/ietf/secr/sreq/views.py b/ietf/secr/sreq/views.py index 884388178..cdc455bfa 100644 --- a/ietf/secr/sreq/views.py +++ b/ietf/secr/sreq/views.py @@ -3,8 +3,7 @@ import datetime from django.contrib import messages from django.db.models import Q from django.http import Http404 -from django.shortcuts import render_to_response, get_object_or_404, redirect -from django.template import RequestContext +from django.shortcuts import render, get_object_or_404, redirect from ietf.group.models import Group from ietf.ietfauth.utils import has_role, role_required @@ -299,11 +298,10 @@ def confirm(request, acronym): # GET logic session_conflicts = session_conflicts_as_string(group, meeting) - return render_to_response('sreq/confirm.html', { + return render(request, 'sreq/confirm.html', { 'session': form, 'group': group, 'session_conflicts': session_conflicts}, - RequestContext(request, {}), ) #Move this into make_initial @@ -460,13 +458,12 @@ def edit_mtg(request, num, acronym): return redirect('sessions_new', acronym=acronym) form = SessionForm(initial=initial) - return render_to_response('sreq/edit.html', { + return render(request, 'sreq/edit.html', { 'is_locked': is_locked, 'meeting': meeting, 'form': form, 'group': group, 'session_conflicts': session_conflicts}, - RequestContext(request, {}), ) @role_required(*AUTHORIZED_ROLES) @@ -484,9 +481,8 @@ def main(request): if is_locked and not has_role(request.user,'Secretariat'): message = get_lock_message() - return render_to_response('sreq/locked.html', { + return render(request, 'sreq/locked.html', { 'message': message}, - RequestContext(request, {}), ) # TODO this is not currently used in the main template @@ -522,13 +518,12 @@ def main(request): if group.session_set.filter(meeting=meeting,status='notmeet'): group.not_meeting = True - return render_to_response('sreq/main.html', { + return render(request, 'sreq/main.html', { 'is_locked': is_locked, 'form': form, 'meeting': meeting, 'scheduled_groups': scheduled_groups, 'unscheduled_groups': unscheduled_groups}, - RequestContext(request, {}), ) @check_permissions @@ -584,12 +579,11 @@ def new(request, acronym): add_essential_people(group,initial) form = SessionForm(initial=initial) - return render_to_response('sreq/new.html', { + return render(request, 'sreq/new.html', { 'meeting': meeting, 'form': form, 'group': group, 'session_conflicts': session_conflicts}, - RequestContext(request, {}), ) @check_permissions @@ -676,10 +670,9 @@ def tool_status(request): else: form = ToolStatusForm() - return render_to_response('sreq/tool_status.html', { + return render(request, 'sreq/tool_status.html', { 'is_locked': is_locked, 'form': form}, - RequestContext(request, {}), ) @role_required(*AUTHORIZED_ROLES) @@ -727,7 +720,7 @@ def view(request, acronym, num = None): # build session dictionary (like querydict from new session request form) for use in template session = get_initial_session(sessions) - return render_to_response('sreq/view.html', { + return render(request, 'sreq/view.html', { 'is_locked': is_locked, 'session': session, 'activities': activities, @@ -735,6 +728,5 @@ def view(request, acronym, num = None): 'group': group, 'session_conflicts': session_conflicts, 'show_approve_button': show_approve_button}, - RequestContext(request, {}), ) diff --git a/ietf/secr/telechat/views.py b/ietf/secr/telechat/views.py index 50fa710ec..6b9b2f607 100644 --- a/ietf/secr/telechat/views.py +++ b/ietf/secr/telechat/views.py @@ -3,8 +3,7 @@ import datetime from django.contrib import messages from django.forms.formsets import formset_factory -from django.shortcuts import render_to_response, get_object_or_404, redirect -from django.template import RequestContext +from django.shortcuts import render, get_object_or_404, redirect from ietf.doc.models import DocEvent, Document, BallotDocEvent, BallotPositionDocEvent, WriteupDocEvent from ietf.doc.utils import get_document_content, add_state_change_event @@ -132,10 +131,9 @@ def bash(request, date): agenda = agenda_data(date=date) - return render_to_response('telechat/bash.html', { + return render(request, 'telechat/bash.html', { 'agenda': agenda, 'date': date}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -150,11 +148,10 @@ def doc(request, date): if doc: return redirect('telechat_doc_detail', date=date, name=doc.name) else: - return render_to_response('telechat/doc.html', { + return render(request, 'telechat/doc.html', { 'agenda': agenda, 'date': date, 'document': None}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -283,7 +280,7 @@ def doc_detail(request, date, name): else: conflictdoc = None - return render_to_response('telechat/doc.html', { + return render(request, 'telechat/doc.html', { 'date': date, 'document': doc, 'conflictdoc': conflictdoc, @@ -295,7 +292,6 @@ def doc_detail(request, date, name): 'writeup': writeup, 'nav_start': nav_start, 'nav_end': nav_end}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -335,9 +331,8 @@ def main(request): next_telechat = get_next_telechat_date().strftime('%Y-%m-%d') form = DateSelectForm(choices=choices,initial={'date':next_telechat}) - return render_to_response('telechat/main.html', { + return render(request, 'telechat/main.html', { 'form': form}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -349,11 +344,10 @@ def management(request, date): agenda = agenda_data(date=date) issues = TelechatAgendaItem.objects.filter(type=3).order_by('id') - return render_to_response('telechat/management.html', { + return render(request, 'telechat/management.html', { 'agenda': agenda, 'date': date, 'issues': issues}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -375,13 +369,12 @@ def minutes(request, date): # FIXME: this doesn't show other documents - return render_to_response('telechat/minutes.html', { + return render(request, 'telechat/minutes.html', { 'agenda': agenda, 'date': date, 'last_date': previous, 'pa_docs': pa_docs, 'da_docs': da_docs}, - RequestContext(request, {}), ) @role_required('Secretariat') @@ -403,10 +396,9 @@ def roll_call(request, date): ads = Person.objects.filter(role__name='ad', role__group__state="active",role__group__type="area") sorted_ads = sorted(ads, key = lambda a: a.name_parts()[3]) - return render_to_response('telechat/roll_call.html', { + return render(request, 'telechat/roll_call.html', { 'agenda': agenda, 'date': date, 'people':sorted_ads}, - RequestContext(request, {}), ) diff --git a/ietf/secr/utils/decorators.py b/ietf/secr/utils/decorators.py index f2a8e5b40..722cd630b 100644 --- a/ietf/secr/utils/decorators.py +++ b/ietf/secr/utils/decorators.py @@ -4,7 +4,7 @@ from django.conf import settings from django.contrib.auth import REDIRECT_FIELD_NAME from django.core.exceptions import ObjectDoesNotExist from django.http import HttpResponseRedirect, HttpResponseForbidden -from django.shortcuts import render_to_response, get_object_or_404 +from django.shortcuts import render, get_object_or_404 from django.utils.http import urlquote from ietf.ietfauth.utils import has_role @@ -99,8 +99,6 @@ def sec_only(func): if has_role(request.user, "Secretariat"): return func(request, *args, **kwargs) - return render_to_response('unauthorized.html',{ - 'user_name':request.user.person} - ) + return render(request, 'unauthorized.html',{ 'user_name':request.user.person } ) return wraps(func)(wrapper) diff --git a/ietf/utils/mail.py b/ietf/utils/mail.py index 101faceb4..f508c8b18 100644 --- a/ietf/utils/mail.py +++ b/ietf/utils/mail.py @@ -164,7 +164,7 @@ def send_mail_subj(request, to, frm, stemplate, template, context, *args, **kwar Send an email message, exactly as send_mail(), but the subject field is a template. ''' - subject = render_to_string(stemplate, context, context_instance=mail_context(request)).replace("\n"," ").strip() + subject = render_to_string(stemplate, context ).replace("\n"," ").strip() return send_mail(request, to, frm, subject, template, context, *args, **kwargs) def send_mail(request, to, frm, subject, template, context, *args, **kwargs): @@ -174,7 +174,7 @@ def send_mail(request, to, frm, subject, template, context, *args, **kwargs): The body is a text/plain rendering of the template with the context. extra is a dict of extra headers to add. ''' - txt = render_to_string(template, context, context_instance=mail_context(request)) + txt = render_to_string(template, context, request=request) return send_mail_text(request, to, frm, subject, txt, *args, **kwargs) def encode_message(txt):