diff --git a/ietf/api/__init__.py b/ietf/api/__init__.py
index fa33e02ab..8ddad4e9f 100644
--- a/ietf/api/__init__.py
+++ b/ietf/api/__init__.py
@@ -6,7 +6,7 @@ from urllib import urlencode
from django.conf import settings
from django.http import HttpResponse
from django.core.exceptions import ObjectDoesNotExist
-from django.core.urlresolvers import reverse
+from django.urls import reverse
from django.utils.encoding import force_text
import debug # pyflakes:ignore
diff --git a/ietf/community/models.py b/ietf/community/models.py
index b2df5c663..928e1b2e4 100644
--- a/ietf/community/models.py
+++ b/ietf/community/models.py
@@ -1,7 +1,7 @@
from django.contrib.auth.models import User
from django.db import models
from django.db.models import signals
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from ietf.doc.models import Document, DocEvent, State
from ietf.group.models import Group
diff --git a/ietf/community/tests.py b/ietf/community/tests.py
index af53055a0..fe8541c46 100644
--- a/ietf/community/tests.py
+++ b/ietf/community/tests.py
@@ -2,7 +2,7 @@ import json
from pyquery import PyQuery
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django.contrib.auth.models import User
from ietf.community.models import CommunityList, SearchRule, EmailSubscription
diff --git a/ietf/community/utils.py b/ietf/community/utils.py
index 7cdc7f09b..ddd62d9c4 100644
--- a/ietf/community/utils.py
+++ b/ietf/community/utils.py
@@ -36,7 +36,7 @@ def lookup_community_list(username=None, acronym=None):
return clist
def can_manage_community_list(user, clist):
- if not user or not user.is_authenticated():
+ if not user or not user.is_authenticated:
return False
if clist.user:
@@ -60,7 +60,7 @@ def augment_docs_with_tracking_info(docs, user):
tracked = set()
- if user and user.is_authenticated():
+ if user and user.is_authenticated:
clist = CommunityList.objects.filter(user=user).first()
if clist:
tracked.update(docs_tracked_by_community_list(clist).filter(pk__in=docs).values_list("pk", flat=True))
diff --git a/ietf/community/views.py b/ietf/community/views.py
index c841d29bc..472665e4e 100644
--- a/ietf/community/views.py
+++ b/ietf/community/views.py
@@ -22,7 +22,7 @@ def view_list(request, username=None):
docs = docs_tracked_by_community_list(clist)
docs, meta = prepare_document_table(request, docs, request.GET)
- subscribed = request.user.is_authenticated() and EmailSubscription.objects.filter(community_list=clist, email__person__user=request.user)
+ subscribed = request.user.is_authenticated and EmailSubscription.objects.filter(community_list=clist, email__person__user=request.user)
return render(request, 'community/view_list.html', {
'clist': clist,
diff --git a/ietf/cookies/tests.py b/ietf/cookies/tests.py
index feb632744..bcd84ca83 100644
--- a/ietf/cookies/tests.py
+++ b/ietf/cookies/tests.py
@@ -1,7 +1,7 @@
from pyquery import PyQuery
from Cookie import SimpleCookie
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
import debug # pyflakes:ignore
diff --git a/ietf/doc/feeds.py b/ietf/doc/feeds.py
index 2998e1e4b..b0c34fae6 100644
--- a/ietf/doc/feeds.py
+++ b/ietf/doc/feeds.py
@@ -4,7 +4,7 @@ import datetime
from django.contrib.syndication.views import Feed, FeedDoesNotExist
from django.utils.feedgenerator import Atom1Feed, Rss201rev2Feed
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django.template.defaultfilters import truncatewords, truncatewords_html, date as datefilter, linebreaks
from django.utils.html import strip_tags
diff --git a/ietf/doc/fields.py b/ietf/doc/fields.py
index ee69404a5..1d19a128e 100644
--- a/ietf/doc/fields.py
+++ b/ietf/doc/fields.py
@@ -2,7 +2,7 @@ import json
from django.utils.html import escape
from django import forms
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
import debug # pyflakes:ignore
diff --git a/ietf/doc/mails.py b/ietf/doc/mails.py
index d0a903447..7d83a67fd 100644
--- a/ietf/doc/mails.py
+++ b/ietf/doc/mails.py
@@ -6,7 +6,7 @@ import textwrap, datetime
from django.template.loader import render_to_string
from django.utils.html import strip_tags
from django.conf import settings
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from ietf.utils.mail import send_mail, send_mail_text
from ietf.ipr.utils import iprs_from_docs, related_docs
diff --git a/ietf/doc/models.py b/ietf/doc/models.py
index c8f2e0295..d23cc8b90 100644
--- a/ietf/doc/models.py
+++ b/ietf/doc/models.py
@@ -7,7 +7,7 @@ import os
from django.db import models
from django.core import checks
from django.core.exceptions import ValidationError
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django.core.validators import URLValidator
from django.contrib.contenttypes.models import ContentType
from django.conf import settings
diff --git a/ietf/doc/templatetags/ballot_icon.py b/ietf/doc/templatetags/ballot_icon.py
index cf24cd0e1..e413590b7 100644
--- a/ietf/doc/templatetags/ballot_icon.py
+++ b/ietf/doc/templatetags/ballot_icon.py
@@ -35,7 +35,7 @@ import datetime
import debug # pyflakes:ignore
from django import template
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django.db.models import Q
from django.utils.safestring import mark_safe
diff --git a/ietf/doc/templatetags/ietf_filters.py b/ietf/doc/templatetags/ietf_filters.py
index 1deca4466..070133cde 100644
--- a/ietf/doc/templatetags/ietf_filters.py
+++ b/ietf/doc/templatetags/ietf_filters.py
@@ -397,7 +397,7 @@ def has_role(user, role_names):
@register.filter
def ad_area(user):
- if user and user.is_authenticated():
+ if user and user.is_authenticated:
from ietf.group.models import Group
g = Group.objects.filter(role__name__in=("pre-ad", "ad"), role__person__user=user)
if g:
@@ -428,7 +428,7 @@ def format_snippet(text, trunc_words=25):
@register.simple_tag
def doc_edit_button(url_name, *args, **kwargs):
"""Given URL name/args/kwargs, looks up the URL just like "url" tag and returns a properly formatted button for the document material tables."""
- from django.core.urlresolvers import reverse as urlreverse
+ from django.urls import reverse as urlreverse
return mark_safe(u'Edit' % (urlreverse(url_name, args=args, kwargs=kwargs)))
@register.filter
@@ -447,7 +447,7 @@ def state(doc, slug):
@register.filter
def statehelp(state):
"Output help icon with tooltip for state."
- from django.core.urlresolvers import reverse as urlreverse
+ from django.urls import reverse as urlreverse
tooltip = escape(strip_tags(state.desc))
url = urlreverse('ietf.doc.views_help.state_help', kwargs=dict(type=state.type_id)) + "#" + state.slug
return mark_safe('?' % (url, tooltip))
diff --git a/ietf/doc/templatetags/managed_groups.py b/ietf/doc/templatetags/managed_groups.py
index 100a1e031..a7b893149 100644
--- a/ietf/doc/templatetags/managed_groups.py
+++ b/ietf/doc/templatetags/managed_groups.py
@@ -6,7 +6,7 @@ register = template.Library()
@register.filter
def managed_groups(user):
- if not (user and hasattr(user, "is_authenticated") and user.is_authenticated()):
+ if not (user and hasattr(user, "is_authenticated") and user.is_authenticated):
return []
groups = []
@@ -26,7 +26,7 @@ def managed_groups(user):
@register.filter
def managed_review_groups(user):
- if not (user and hasattr(user, "is_authenticated") and user.is_authenticated()):
+ if not (user and hasattr(user, "is_authenticated") and user.is_authenticated):
return []
groups = []
diff --git a/ietf/doc/templatetags/streams_menu.py b/ietf/doc/templatetags/streams_menu.py
index 7aba27b05..1dd80ca1f 100644
--- a/ietf/doc/templatetags/streams_menu.py
+++ b/ietf/doc/templatetags/streams_menu.py
@@ -13,7 +13,7 @@ def streams_menu(context):
user = context["request"].user if "request" in context else AnonymousUser()
- if user.is_authenticated():
+ if user.is_authenticated:
streams = StreamName.objects.exclude(slug="legacy")
if has_role(user, "Secretariat"):
diff --git a/ietf/doc/tests.py b/ietf/doc/tests.py
index a4b629620..09bdaa26a 100644
--- a/ietf/doc/tests.py
+++ b/ietf/doc/tests.py
@@ -13,7 +13,7 @@ from pyquery import PyQuery
from tempfile import NamedTemporaryFile
from Cookie import SimpleCookie
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django.conf import settings
from tastypie.test import ResourceTestCaseMixin
diff --git a/ietf/doc/tests_ballot.py b/ietf/doc/tests_ballot.py
index 108ebe378..cd0618f7a 100644
--- a/ietf/doc/tests_ballot.py
+++ b/ietf/doc/tests_ballot.py
@@ -4,7 +4,7 @@ from pyquery import PyQuery
import debug # pyflakes:ignore
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from ietf.doc.models import ( Document, State, DocEvent, BallotDocEvent,
BallotPositionDocEvent, LastCallDocEvent, WriteupDocEvent, TelechatDocEvent )
diff --git a/ietf/doc/tests_charter.py b/ietf/doc/tests_charter.py
index 5af95e2ce..e78b5fd15 100644
--- a/ietf/doc/tests_charter.py
+++ b/ietf/doc/tests_charter.py
@@ -6,7 +6,7 @@ from StringIO import StringIO
from pyquery import PyQuery
from django.conf import settings
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
import debug # pyflakes:ignore
diff --git a/ietf/doc/tests_conflict_review.py b/ietf/doc/tests_conflict_review.py
index f102d1e0e..b3c1dea79 100644
--- a/ietf/doc/tests_conflict_review.py
+++ b/ietf/doc/tests_conflict_review.py
@@ -7,7 +7,7 @@ from StringIO import StringIO
from textwrap import wrap
from django.conf import settings
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from ietf.doc.models import Document, DocEvent, NewRevisionDocEvent, BallotPositionDocEvent, TelechatDocEvent, State
from ietf.doc.utils import create_ballot_if_not_open
diff --git a/ietf/doc/tests_draft.py b/ietf/doc/tests_draft.py
index 229679eeb..a21b4d881 100644
--- a/ietf/doc/tests_draft.py
+++ b/ietf/doc/tests_draft.py
@@ -5,7 +5,7 @@ import datetime
import StringIO
from pyquery import PyQuery
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django.conf import settings
import debug # pyflakes:ignore
diff --git a/ietf/doc/tests_material.py b/ietf/doc/tests_material.py
index 06069fc45..d22f70838 100644
--- a/ietf/doc/tests_material.py
+++ b/ietf/doc/tests_material.py
@@ -9,7 +9,7 @@ from pyquery import PyQuery
import debug # pyflakes:ignore
from django.conf import settings
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from ietf.doc.models import Document, State, DocAlias, NewRevisionDocEvent
from ietf.group.models import Group
diff --git a/ietf/doc/tests_review.py b/ietf/doc/tests_review.py
index 4d3270cf4..4c0562fc9 100644
--- a/ietf/doc/tests_review.py
+++ b/ietf/doc/tests_review.py
@@ -5,7 +5,7 @@ import tarfile, tempfile, mailbox
import email.mime.multipart, email.mime.text, email.utils
from StringIO import StringIO
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django.conf import settings
from pyquery import PyQuery
diff --git a/ietf/doc/tests_status_change.py b/ietf/doc/tests_status_change.py
index fac869e68..a84a6ae73 100644
--- a/ietf/doc/tests_status_change.py
+++ b/ietf/doc/tests_status_change.py
@@ -7,7 +7,7 @@ from StringIO import StringIO
from textwrap import wrap
from django.conf import settings
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from ietf.doc.models import ( Document, DocAlias, State, DocEvent,
BallotPositionDocEvent, NewRevisionDocEvent, TelechatDocEvent, WriteupDocEvent )
diff --git a/ietf/doc/utils.py b/ietf/doc/utils.py
index d3d069592..a91372c8a 100644
--- a/ietf/doc/utils.py
+++ b/ietf/doc/utils.py
@@ -10,7 +10,7 @@ from collections import defaultdict
from django.conf import settings
from django.forms import ValidationError
from django.utils.html import escape
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
import debug # pyflakes:ignore
@@ -95,7 +95,7 @@ def get_tags_for_stream_id(stream_id):
return []
def can_adopt_draft(user, doc):
- if not user.is_authenticated():
+ if not user.is_authenticated:
return False
if has_role(user, "Secretariat"):
diff --git a/ietf/doc/utils_charter.py b/ietf/doc/utils_charter.py
index fca6adcf3..f4d4fc975 100644
--- a/ietf/doc/utils_charter.py
+++ b/ietf/doc/utils_charter.py
@@ -1,7 +1,7 @@
import re, datetime, os, shutil
from django.conf import settings
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django.template.loader import render_to_string
from django.utils.encoding import smart_text
diff --git a/ietf/doc/views_ballot.py b/ietf/doc/views_ballot.py
index bc8878f51..9d46df1ee 100644
--- a/ietf/doc/views_ballot.py
+++ b/ietf/doc/views_ballot.py
@@ -5,7 +5,7 @@ import datetime, json
from django.http import HttpResponseForbidden, HttpResponseRedirect, Http404
from django.shortcuts import render, get_object_or_404, redirect
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django.template.loader import render_to_string
from django import forms
from django.conf import settings
diff --git a/ietf/doc/views_charter.py b/ietf/doc/views_charter.py
index f74a126fe..37d70c845 100644
--- a/ietf/doc/views_charter.py
+++ b/ietf/doc/views_charter.py
@@ -2,7 +2,7 @@ import os, datetime, textwrap, json
from django.http import HttpResponseRedirect, HttpResponseNotFound, HttpResponseForbidden, Http404
from django.shortcuts import get_object_or_404, redirect, render
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django import forms
from django.utils.safestring import mark_safe
from django.conf import settings
diff --git a/ietf/doc/views_conflict_review.py b/ietf/doc/views_conflict_review.py
index 37f75eb52..e56891cca 100644
--- a/ietf/doc/views_conflict_review.py
+++ b/ietf/doc/views_conflict_review.py
@@ -3,7 +3,7 @@ import datetime, os
from django import forms
from django.shortcuts import render, get_object_or_404, redirect
from django.http import HttpResponseRedirect, Http404
-from django.core.urlresolvers import reverse
+from django.urls import reverse
from django.template.loader import render_to_string
from django.conf import settings
diff --git a/ietf/doc/views_doc.py b/ietf/doc/views_doc.py
index 3da42be0e..6cf0c7903 100644
--- a/ietf/doc/views_doc.py
+++ b/ietf/doc/views_doc.py
@@ -37,7 +37,7 @@ import os, datetime, urllib, json, glob, re
from django.http import HttpResponse, Http404 , HttpResponseForbidden
from django.shortcuts import render, get_object_or_404, redirect
from django.template.loader import render_to_string
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django.conf import settings
from django import forms
@@ -162,7 +162,7 @@ def document_main(request, name, rev=None):
can_edit = has_role(request.user, ("Area Director", "Secretariat"))
stream_slugs = StreamName.objects.values_list("slug", flat=True)
can_change_stream = bool(can_edit or (
- request.user.is_authenticated() and
+ request.user.is_authenticated and
Role.objects.filter(name__in=("chair", "secr", "auth", "delegate"),
group__acronym__in=stream_slugs,
person__user=request.user)))
@@ -735,7 +735,7 @@ def document_history(request, name):
# figure out if the current user can add a comment to the history
if doc.type_id == "draft" and doc.group != None:
can_add_comment = bool(has_role(request.user, ("Area Director", "Secretariat", "IRTF Chair", "IANA", "RFC Editor")) or (
- request.user.is_authenticated() and
+ request.user.is_authenticated and
Role.objects.filter(name__in=("chair", "secr"),
group__acronym=doc.group.acronym,
person__user=request.user)))
@@ -1023,7 +1023,7 @@ def add_comment(request, name):
if doc.type_id == "draft" and doc.group != None:
can_add_comment = bool(has_role(request.user, ("Area Director", "Secretariat", "IRTF Chair", "IANA", "RFC Editor")) or (
- request.user.is_authenticated() and
+ request.user.is_authenticated and
Role.objects.filter(name__in=("chair", "secr"),
group__acronym=doc.group.acronym,
person__user=request.user)))
@@ -1150,7 +1150,7 @@ def email_aliases(request,name=''):
if not name:
# require login for the overview page, but not for the
# document-specific pages
- if not request.user.is_authenticated():
+ if not request.user.is_authenticated:
return redirect('%s?next=%s' % (settings.LOGIN_URL, request.path))
aliases = get_doc_email_aliases(name)
diff --git a/ietf/doc/views_draft.py b/ietf/doc/views_draft.py
index 78a1129d4..39a745f2a 100644
--- a/ietf/doc/views_draft.py
+++ b/ietf/doc/views_draft.py
@@ -222,7 +222,7 @@ def change_stream(request, name):
raise Http404
if not (has_role(request.user, ("Area Director", "Secretariat")) or
- (request.user.is_authenticated() and
+ (request.user.is_authenticated and
Role.objects.filter(name="chair",
group__acronym__in=StreamName.objects.values_list("slug", flat=True),
person__user=request.user))):
diff --git a/ietf/doc/views_material.py b/ietf/doc/views_material.py
index b6ec953db..bfbdf0bc8 100644
--- a/ietf/doc/views_material.py
+++ b/ietf/doc/views_material.py
@@ -7,7 +7,7 @@ from django.shortcuts import render, get_object_or_404, redirect
from django.http import HttpResponseForbidden, Http404
from django.utils.html import mark_safe
from django.contrib.auth.decorators import login_required
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
import debug # pyflakes:ignore
diff --git a/ietf/doc/views_review.py b/ietf/doc/views_review.py
index 3a39aeb5f..a392bdf8a 100644
--- a/ietf/doc/views_review.py
+++ b/ietf/doc/views_review.py
@@ -9,7 +9,7 @@ from django.contrib.auth.decorators import login_required
from django.utils.html import mark_safe
from django.core.exceptions import ValidationError
from django.template.loader import render_to_string, TemplateDoesNotExist
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from ietf.doc.models import (Document, NewRevisionDocEvent, State, DocAlias,
LastCallDocEvent, ReviewRequestDocEvent, DocumentAuthor)
diff --git a/ietf/doc/views_search.py b/ietf/doc/views_search.py
index f6c8f8277..b46b7a373 100644
--- a/ietf/doc/views_search.py
+++ b/ietf/doc/views_search.py
@@ -36,7 +36,7 @@ import datetime
from django import forms
from django.conf import settings
from django.core.cache import cache
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django.db.models import Q
from django.http import Http404, HttpResponseBadRequest, HttpResponse, HttpResponseRedirect, QueryDict
from django.shortcuts import render
diff --git a/ietf/doc/views_stats.py b/ietf/doc/views_stats.py
index 5b7b33492..639a9bb93 100644
--- a/ietf/doc/views_stats.py
+++ b/ietf/doc/views_stats.py
@@ -5,7 +5,7 @@ import datetime
from django.conf import settings
from django.core.cache import cache
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django.db.models.aggregates import Count
from django.http import JsonResponse, HttpResponseBadRequest
from django.shortcuts import render
diff --git a/ietf/doc/views_status_change.py b/ietf/doc/views_status_change.py
index a2a80311b..371a255d0 100644
--- a/ietf/doc/views_status_change.py
+++ b/ietf/doc/views_status_change.py
@@ -3,7 +3,7 @@ import datetime, os, re
from django import forms
from django.shortcuts import render, get_object_or_404, redirect
from django.http import Http404, HttpResponseRedirect
-from django.core.urlresolvers import reverse
+from django.urls import reverse
from django.template.loader import render_to_string
from django.conf import settings
diff --git a/ietf/group/feeds.py b/ietf/group/feeds.py
index a3332cc1e..3b36b0608 100644
--- a/ietf/group/feeds.py
+++ b/ietf/group/feeds.py
@@ -2,7 +2,7 @@
from django.contrib.syndication.views import Feed, FeedDoesNotExist
from django.utils.feedgenerator import Atom1Feed
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django.utils.html import strip_tags
from django.template.defaultfilters import truncatewords
diff --git a/ietf/group/mails.py b/ietf/group/mails.py
index 3924a383b..1a619deb3 100644
--- a/ietf/group/mails.py
+++ b/ietf/group/mails.py
@@ -6,7 +6,7 @@ import re
from django.utils.html import strip_tags
from django.utils.text import wrap
from django.conf import settings
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from ietf.utils.mail import send_mail, send_mail_text
from ietf.mailtrigger.utils import gather_address_lists
diff --git a/ietf/group/models.py b/ietf/group/models.py
index b3fdd46ba..c49abc37a 100644
--- a/ietf/group/models.py
+++ b/ietf/group/models.py
@@ -52,7 +52,7 @@ class GroupInfo(models.Model):
def about_url(self):
# bridge gap between group-type prefixed URLs and /group/ ones
- from django.core.urlresolvers import reverse as urlreverse
+ from django.urls import reverse as urlreverse
kwargs = { 'acronym': self.acronym }
if self.type_id in ("wg", "rg"):
kwargs["group_type"] = self.type_id
@@ -89,7 +89,7 @@ class Group(GroupInfo):
def has_role(self, user, role_names):
if isinstance(role_names, str) or isinstance(role_names, unicode):
role_names = [role_names]
- return user.is_authenticated() and self.role_set.filter(name__in=role_names, person__user=user).exists()
+ return user.is_authenticated and self.role_set.filter(name__in=role_names, person__user=user).exists()
def is_decendant_of(self, sought_parent):
p = self.parent
diff --git a/ietf/group/tests.py b/ietf/group/tests.py
index 14c9b7ee0..334ee1c24 100644
--- a/ietf/group/tests.py
+++ b/ietf/group/tests.py
@@ -4,7 +4,7 @@ from unittest import skipIf
from pyquery import PyQuery
from django.conf import settings
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django.db.models import Q
from django.test import Client
diff --git a/ietf/group/tests_info.py b/ietf/group/tests_info.py
index d4e05c3a9..86c798fb3 100644
--- a/ietf/group/tests_info.py
+++ b/ietf/group/tests_info.py
@@ -11,8 +11,8 @@ from tempfile import NamedTemporaryFile
import debug # pyflakes:ignore
from django.conf import settings
-from django.core.urlresolvers import reverse as urlreverse
-from django.core.urlresolvers import NoReverseMatch
+from django.urls import reverse as urlreverse
+from django.urls import NoReverseMatch
from django.contrib.auth.models import User
from django.utils.html import escape
diff --git a/ietf/group/tests_review.py b/ietf/group/tests_review.py
index d65957eda..9c7814f18 100644
--- a/ietf/group/tests_review.py
+++ b/ietf/group/tests_review.py
@@ -2,7 +2,7 @@ import datetime
from pyquery import PyQuery
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from ietf.utils.test_data import make_test_data, make_review_data
from ietf.utils.test_utils import login_testing_unauthorized, TestCase, unicontent, reload_db_objects
diff --git a/ietf/group/utils.py b/ietf/group/utils.py
index 0380798bc..3a4f195ad 100644
--- a/ietf/group/utils.py
+++ b/ietf/group/utils.py
@@ -2,7 +2,7 @@ import os
from django.shortcuts import get_object_or_404
from django.utils.safestring import mark_safe
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
import debug # pyflakes:ignore
diff --git a/ietf/group/views.py b/ietf/group/views.py
index bf46e7136..064b40e4f 100644
--- a/ietf/group/views.py
+++ b/ietf/group/views.py
@@ -46,7 +46,7 @@ from django.shortcuts import render, redirect, get_object_or_404
from django.template.loader import render_to_string
from django.http import HttpResponse, Http404, HttpResponseRedirect
from django.conf import settings
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django.views.decorators.cache import cache_page
from django.db.models import Q
@@ -376,7 +376,7 @@ def group_documents(request, acronym, group_type=None):
docs, meta, docs_related, meta_related = prepare_group_documents(request, group, clist)
- subscribed = request.user.is_authenticated() and EmailSubscription.objects.filter(community_list=clist, email__person__user=request.user)
+ subscribed = request.user.is_authenticated and EmailSubscription.objects.filter(community_list=clist, email__person__user=request.user)
context = construct_group_menu_context(request, group, "documents", group_type, {
'docs': docs,
@@ -772,7 +772,7 @@ def email_aliases(request, acronym=None, group_type=None):
if not acronym:
# require login for the overview page, but not for the group-specific
# pages
- if not request.user.is_authenticated():
+ if not request.user.is_authenticated:
return redirect('%s?next=%s' % (settings.LOGIN_URL, request.path))
aliases = get_group_email_aliases(acronym, group_type)
diff --git a/ietf/group/views_ajax.py b/ietf/group/views_ajax.py
index fd16eb92e..fd30f5cb5 100644
--- a/ietf/group/views_ajax.py
+++ b/ietf/group/views_ajax.py
@@ -3,7 +3,7 @@ from collections import defaultdict
from django.http import HttpResponse, JsonResponse
from django.shortcuts import get_object_or_404
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django.utils.html import escape
from django.views.decorators.cache import cache_page, cache_control
diff --git a/ietf/group/views_review.py b/ietf/group/views_review.py
index 6b52a4c14..c5dff6d4a 100644
--- a/ietf/group/views_review.py
+++ b/ietf/group/views_review.py
@@ -6,7 +6,7 @@ import debug # pyflakes:ignore
from django.shortcuts import render, redirect, get_object_or_404
from django.http import Http404, HttpResponseForbidden, HttpResponseRedirect
from django.contrib.auth.decorators import login_required
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django.db.models import Max
from django import forms
from django.template.loader import render_to_string
diff --git a/ietf/help/tests_views.py b/ietf/help/tests_views.py
index 6f03e433e..2d6207ea2 100644
--- a/ietf/help/tests_views.py
+++ b/ietf/help/tests_views.py
@@ -1,6 +1,6 @@
from pyquery import PyQuery
-from django.core.urlresolvers import reverse
+from django.urls import reverse
import debug # pyflakes:ignore
diff --git a/ietf/iesg/tests.py b/ietf/iesg/tests.py
index 920201280..aa7d976f9 100644
--- a/ietf/iesg/tests.py
+++ b/ietf/iesg/tests.py
@@ -5,7 +5,7 @@ import json
import datetime
from django.conf import settings
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from pyquery import PyQuery
diff --git a/ietf/ietfauth/forms.py b/ietf/ietfauth/forms.py
index 8bf9cd63f..d6ef9ff97 100644
--- a/ietf/ietfauth/forms.py
+++ b/ietf/ietfauth/forms.py
@@ -7,7 +7,7 @@ from django.core.exceptions import ValidationError
from django.db import models
from django.contrib.auth.models import User
from django.utils.html import mark_safe
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django_password_strength.widgets import PasswordStrengthInput, PasswordConfirmationInput
diff --git a/ietf/ietfauth/tests.py b/ietf/ietfauth/tests.py
index 363d140a2..642603163 100644
--- a/ietf/ietfauth/tests.py
+++ b/ietf/ietfauth/tests.py
@@ -7,7 +7,7 @@ from pyquery import PyQuery
from unittest import skipIf
import django.contrib.auth.views
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django.contrib.auth.models import User
from django.conf import settings
diff --git a/ietf/ietfauth/utils.py b/ietf/ietfauth/utils.py
index 560cf376e..3be74cd08 100644
--- a/ietf/ietfauth/utils.py
+++ b/ietf/ietfauth/utils.py
@@ -14,7 +14,7 @@ from ietf.person.models import Person
def user_is_person(user, person):
"""Test whether user is associated with person."""
- if not user.is_authenticated() or not person:
+ if not user.is_authenticated or not person:
return False
if person.user_id == None:
@@ -29,7 +29,7 @@ def has_role(user, role_names, *args, **kwargs):
if isinstance(role_names, str) or isinstance(role_names, unicode):
role_names = [ role_names ]
- if not user or not user.is_authenticated():
+ if not user or not user.is_authenticated:
return False
# use cache to avoid checking the same permissions again and again
@@ -93,7 +93,7 @@ def passes_test_decorator(test_func, message):
def decorate(view_func):
@wraps(view_func, assigned=available_attrs(view_func))
def inner(request, *args, **kwargs):
- if not request.user.is_authenticated():
+ if not request.user.is_authenticated:
return HttpResponseRedirect('%s?%s=%s' % (settings.LOGIN_URL, REDIRECT_FIELD_NAME, urlquote(request.get_full_path())))
elif test_func(request.user, *args, **kwargs):
return view_func(request, *args, **kwargs)
@@ -117,7 +117,7 @@ def is_authorized_in_doc_stream(user, doc):
if has_role(user, ["Secretariat"]):
return True
- if not user.is_authenticated():
+ if not user.is_authenticated:
return False
# must be authorized in the stream or group
diff --git a/ietf/ietfauth/views.py b/ietf/ietfauth/views.py
index 35b184fb0..0835e9179 100644
--- a/ietf/ietfauth/views.py
+++ b/ietf/ietfauth/views.py
@@ -48,7 +48,7 @@ from django.contrib.auth.hashers import identify_hasher
from django.contrib.auth.models import User
from django.contrib.auth.views import login as django_login
from django.contrib.sites.models import Site
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django.http import Http404, HttpResponseRedirect #, HttpResponse,
from django.shortcuts import render, redirect, get_object_or_404
@@ -81,7 +81,7 @@ def index(request):
# @login_required
# def ietf_login(request):
-# if not request.user.is_authenticated():
+# if not request.user.is_authenticated:
# return HttpResponse("Not authenticated?", status=500)
#
# redirect_to = request.REQUEST.get(REDIRECT_FIELD_NAME, '')
diff --git a/ietf/ipr/feeds.py b/ietf/ipr/feeds.py
index 2e9a6f01f..0da26c542 100644
--- a/ietf/ipr/feeds.py
+++ b/ietf/ipr/feeds.py
@@ -2,7 +2,7 @@
from django.contrib.syndication.views import Feed
from django.utils.feedgenerator import Atom1Feed
-from django.core.urlresolvers import reverse_lazy
+from django.urls import reverse_lazy
from django.utils.safestring import mark_safe
from ietf.ipr.models import IprDisclosureBase
diff --git a/ietf/ipr/fields.py b/ietf/ipr/fields.py
index a93965ea0..271b1a5eb 100644
--- a/ietf/ipr/fields.py
+++ b/ietf/ipr/fields.py
@@ -2,7 +2,7 @@ import json
from django.utils.html import escape
from django import forms
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from ietf.ipr.models import IprDisclosureBase
diff --git a/ietf/ipr/models.py b/ietf/ipr/models.py
index 9822cb2a0..7bde39974 100644
--- a/ietf/ipr/models.py
+++ b/ietf/ipr/models.py
@@ -3,7 +3,7 @@
import datetime
from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
from django.db import models
from ietf.doc.models import DocAlias
diff --git a/ietf/ipr/tests.py b/ietf/ipr/tests.py
index 3acbee4af..03596953a 100644
--- a/ietf/ipr/tests.py
+++ b/ietf/ipr/tests.py
@@ -3,7 +3,7 @@ import urllib
from pyquery import PyQuery
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
import debug # pyflakes:ignore
diff --git a/ietf/ipr/urls.py b/ietf/ipr/urls.py
index fd981a731..476a9f6a7 100644
--- a/ietf/ipr/urls.py
+++ b/ietf/ipr/urls.py
@@ -1,7 +1,7 @@
# Copyright The IETF Trust 2007, All Rights Reserved
from django.views.generic import RedirectView
-from django.core.urlresolvers import reverse_lazy
+from django.urls import reverse_lazy
from ietf.ipr import views
from ietf.utils.urls import url
diff --git a/ietf/ipr/views.py b/ietf/ipr/views.py
index 9cead7506..f1709c4c3 100644
--- a/ietf/ipr/views.py
+++ b/ietf/ipr/views.py
@@ -5,7 +5,7 @@ import itertools
from django.conf import settings
from django.contrib import messages
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django.db.models import Q
from django.forms.models import inlineformset_factory
from django.forms.formsets import formset_factory
diff --git a/ietf/liaisons/admin.py b/ietf/liaisons/admin.py
index acb09ebaf..bcbd64fee 100644
--- a/ietf/liaisons/admin.py
+++ b/ietf/liaisons/admin.py
@@ -1,5 +1,5 @@
from django.contrib import admin
-from django.core.urlresolvers import reverse
+from django.urls import reverse
from ietf.liaisons.models import ( LiaisonStatement, LiaisonStatementEvent,
LiaisonStatementGroupContacts, RelatedLiaisonStatement, LiaisonStatementAttachment )
diff --git a/ietf/liaisons/feeds.py b/ietf/liaisons/feeds.py
index a5e85ced4..adbde6c40 100644
--- a/ietf/liaisons/feeds.py
+++ b/ietf/liaisons/feeds.py
@@ -6,7 +6,7 @@ from django.contrib.syndication.views import Feed, FeedDoesNotExist
from django.utils.feedgenerator import Atom1Feed
from django.template.loader import render_to_string
from django.db.models import Q
-from django.core.urlresolvers import reverse as urlreverse, reverse_lazy
+from django.urls import reverse as urlreverse, reverse_lazy
from ietf.group.models import Group
from ietf.liaisons.models import LiaisonStatement
diff --git a/ietf/liaisons/fields.py b/ietf/liaisons/fields.py
index e83b1063b..8a5c74828 100644
--- a/ietf/liaisons/fields.py
+++ b/ietf/liaisons/fields.py
@@ -2,7 +2,7 @@ import json
from django.utils.html import escape
from django import forms
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from ietf.liaisons.models import LiaisonStatement
diff --git a/ietf/liaisons/models.py b/ietf/liaisons/models.py
index e501a9fea..4633bc419 100644
--- a/ietf/liaisons/models.py
+++ b/ietf/liaisons/models.py
@@ -1,7 +1,7 @@
# Copyright The IETF Trust 2007, All Rights Reserved
from django.conf import settings
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django.db import models
from django.utils.text import slugify
diff --git a/ietf/liaisons/tests.py b/ietf/liaisons/tests.py
index 75f491e2d..93272fc51 100644
--- a/ietf/liaisons/tests.py
+++ b/ietf/liaisons/tests.py
@@ -3,7 +3,7 @@ import json
from django.conf import settings
from django.contrib.auth.models import User
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django.db.models import Q
from StringIO import StringIO
from pyquery import PyQuery
diff --git a/ietf/liaisons/utils.py b/ietf/liaisons/utils.py
index f797c22b8..df4883191 100644
--- a/ietf/liaisons/utils.py
+++ b/ietf/liaisons/utils.py
@@ -34,7 +34,7 @@ def can_edit_liaison(user, liaison):
- liaison is outgoing and user has approval authority
- user is liaison manager of all SDOs involved
'''
- if not user.is_authenticated():
+ if not user.is_authenticated:
return False
if has_role(user, "Secretariat"):
return True
diff --git a/ietf/liaisons/views.py b/ietf/liaisons/views.py
index 9d84cbdf5..6817627e8 100644
--- a/ietf/liaisons/views.py
+++ b/ietf/liaisons/views.py
@@ -3,7 +3,7 @@ import json
from email.utils import parseaddr
from django.contrib import messages
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django.core.validators import validate_email, ValidationError
from django.db.models import Q, Prefetch
from django.http import HttpResponse, HttpResponseForbidden
@@ -36,7 +36,7 @@ EMAIL_ALIASES = {
# -------------------------------------------------
def _can_reply(liaison, user):
'''Returns true if the user can send a reply to this liaison'''
- if user.is_authenticated():
+ if user.is_authenticated:
person = get_person_for_user(user)
if has_role(user, "Secretariat"):
return True
@@ -51,7 +51,7 @@ def _can_take_care(liaison, user):
if not liaison.deadline or liaison.action_taken:
return False
- if user.is_authenticated():
+ if user.is_authenticated:
if has_role(user, "Secretariat"):
return True
else:
diff --git a/ietf/liaisons/widgets.py b/ietf/liaisons/widgets.py
index 05772aff1..ea281cc40 100644
--- a/ietf/liaisons/widgets.py
+++ b/ietf/liaisons/widgets.py
@@ -1,4 +1,4 @@
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django.db.models.query import QuerySet
from django.forms.widgets import Widget
from django.utils.safestring import mark_safe
diff --git a/ietf/mailinglists/tests.py b/ietf/mailinglists/tests.py
index 8e32972a5..0796c106f 100644
--- a/ietf/mailinglists/tests.py
+++ b/ietf/mailinglists/tests.py
@@ -1,6 +1,6 @@
# Copyright The IETF Trust 2016, All Rights Reserved
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from pyquery import PyQuery
diff --git a/ietf/mailtrigger/tests.py b/ietf/mailtrigger/tests.py
index 6a319021f..0a68ff807 100644
--- a/ietf/mailtrigger/tests.py
+++ b/ietf/mailtrigger/tests.py
@@ -1,4 +1,4 @@
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from ietf.utils.test_utils import TestCase, unicontent
from ietf.utils.test_data import make_test_data
diff --git a/ietf/mailtrigger/urls.py b/ietf/mailtrigger/urls.py
index 918c90f34..bb5509c98 100644
--- a/ietf/mailtrigger/urls.py
+++ b/ietf/mailtrigger/urls.py
@@ -1,5 +1,5 @@
from django.views.generic import RedirectView
-from django.core.urlresolvers import reverse_lazy
+from django.urls import reverse_lazy
from ietf.mailtrigger import views
from ietf.utils.urls import url
diff --git a/ietf/meeting/ajax.py b/ietf/meeting/ajax.py
index d4fa59115..32e97dbd1 100644
--- a/ietf/meeting/ajax.py
+++ b/ietf/meeting/ajax.py
@@ -281,7 +281,7 @@ def agenda_update(request, meeting, schedule):
user = request.user
- if not user.is_authenticated():
+ if not user.is_authenticated:
return HttpResponse({'error':'no permission'}, status=403)
cansee,canedit,secretariat = agenda_permissions(meeting, schedule, request.user)
diff --git a/ietf/meeting/helpers.py b/ietf/meeting/helpers.py
index 143a65351..89d9eaadd 100644
--- a/ietf/meeting/helpers.py
+++ b/ietf/meeting/helpers.py
@@ -9,7 +9,7 @@ from django.http import HttpRequest, Http404
from django.db.models import Max, Q, Prefetch, F
from django.conf import settings
from django.core.cache import cache
-from django.core.urlresolvers import reverse
+from django.urls import reverse
from django.utils.cache import get_cache_key
from django.shortcuts import get_object_or_404
from django.template.loader import render_to_string
diff --git a/ietf/meeting/tests_api.py b/ietf/meeting/tests_api.py
index c59ef8a01..39e55e439 100644
--- a/ietf/meeting/tests_api.py
+++ b/ietf/meeting/tests_api.py
@@ -2,7 +2,7 @@ import datetime
import json
from urlparse import urlsplit
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
import debug # pyflakes:ignore
diff --git a/ietf/meeting/tests_js.py b/ietf/meeting/tests_js.py
index c0f411061..230c960f9 100644
--- a/ietf/meeting/tests_js.py
+++ b/ietf/meeting/tests_js.py
@@ -6,7 +6,7 @@ from pyquery import PyQuery
from unittest import skipIf
from django.contrib.staticfiles.testing import StaticLiveServerTestCase
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
#from django.test.utils import override_settings
import debug # pyflakes:ignore
diff --git a/ietf/meeting/tests_views.py b/ietf/meeting/tests_views.py
index 6511eb238..f1d3825c0 100644
--- a/ietf/meeting/tests_views.py
+++ b/ietf/meeting/tests_views.py
@@ -7,7 +7,7 @@ import random
import debug # pyflakes:ignore
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django.conf import settings
from django.contrib.auth.models import User
diff --git a/ietf/meeting/views.py b/ietf/meeting/views.py
index 46b23d63e..ba3c52457 100644
--- a/ietf/meeting/views.py
+++ b/ietf/meeting/views.py
@@ -21,7 +21,7 @@ from django.shortcuts import render, redirect, get_object_or_404
from django.http import HttpResponse, HttpResponseRedirect, HttpResponseForbidden, Http404
from django.contrib import messages
from django.contrib.auth.decorators import login_required
-from django.core.urlresolvers import reverse,reverse_lazy
+from django.urls import reverse,reverse_lazy
from django.db.models import Min, Max, Q
from django.conf import settings
from django.forms.models import modelform_factory, inlineformset_factory
diff --git a/ietf/message/tests.py b/ietf/message/tests.py
index 28616b2f2..7bf3c9d8c 100644
--- a/ietf/message/tests.py
+++ b/ietf/message/tests.py
@@ -1,6 +1,6 @@
import datetime
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from ietf.utils.test_utils import TestCase, unicontent
from ietf.utils.test_data import make_test_data
diff --git a/ietf/nomcom/decorators.py b/ietf/nomcom/decorators.py
index 09484815d..231661799 100644
--- a/ietf/nomcom/decorators.py
+++ b/ietf/nomcom/decorators.py
@@ -1,6 +1,6 @@
import functools
-from django.core.urlresolvers import reverse
+from django.urls import reverse
from django.http import HttpResponseRedirect
from django.utils.http import urlquote
diff --git a/ietf/nomcom/forms.py b/ietf/nomcom/forms.py
index b86b7bdd6..3bdf768ca 100644
--- a/ietf/nomcom/forms.py
+++ b/ietf/nomcom/forms.py
@@ -4,7 +4,7 @@ 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
-from django.core.urlresolvers import reverse
+from django.urls import reverse
from django.utils.html import mark_safe
from ietf.dbtemplate.forms import DBTemplateForm
diff --git a/ietf/nomcom/tests.py b/ietf/nomcom/tests.py
index ac6e9f301..6922e8da9 100644
--- a/ietf/nomcom/tests.py
+++ b/ietf/nomcom/tests.py
@@ -10,7 +10,7 @@ import StringIO
from django.db import IntegrityError
from django.db.models import Max
from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
from django.core.files import File
from django.contrib.auth.models import User
diff --git a/ietf/nomcom/utils.py b/ietf/nomcom/utils.py
index 7955f3dfc..28172df7f 100644
--- a/ietf/nomcom/utils.py
+++ b/ietf/nomcom/utils.py
@@ -11,7 +11,7 @@ from email import message_from_string
from django.conf import settings
from django.contrib.sites.models import Site
from django.core.exceptions import ObjectDoesNotExist
-from django.core.urlresolvers import reverse
+from django.urls import reverse
from django.template.loader import render_to_string
from django.shortcuts import get_object_or_404
from django.utils.encoding import smart_str
diff --git a/ietf/nomcom/views.py b/ietf/nomcom/views.py
index 7d404de2f..e7a156ce5 100644
--- a/ietf/nomcom/views.py
+++ b/ietf/nomcom/views.py
@@ -6,7 +6,7 @@ from django.conf import settings
from django.contrib.auth.decorators import login_required
from django.contrib.auth.models import AnonymousUser
from django.contrib import messages
-from django.core.urlresolvers import reverse
+from django.urls import reverse
from django.http import Http404, HttpResponseRedirect, HttpResponseForbidden
from django.shortcuts import render, get_object_or_404, redirect
from django.template.loader import render_to_string
diff --git a/ietf/person/fields.py b/ietf/person/fields.py
index c813973d3..3400e6cdb 100644
--- a/ietf/person/fields.py
+++ b/ietf/person/fields.py
@@ -6,7 +6,7 @@ from urllib import urlencode
from django.utils.html import escape
from django import forms
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
import debug # pyflakes:ignore
diff --git a/ietf/person/tests.py b/ietf/person/tests.py
index 2091a2600..ab292f5e3 100644
--- a/ietf/person/tests.py
+++ b/ietf/person/tests.py
@@ -4,7 +4,7 @@ from __future__ import unicode_literals
import json
from pyquery import PyQuery
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
import debug # pyflakes:ignore
diff --git a/ietf/release/tests.py b/ietf/release/tests.py
index 3b9b41087..e4981ecee 100644
--- a/ietf/release/tests.py
+++ b/ietf/release/tests.py
@@ -1,6 +1,6 @@
from pyquery import PyQuery
-from django.core.urlresolvers import reverse
+from django.urls import reverse
import debug # pyflakes:ignore
diff --git a/ietf/review/utils.py b/ietf/review/utils.py
index 8f05bf142..cb1a36d0e 100644
--- a/ietf/review/utils.py
+++ b/ietf/review/utils.py
@@ -2,7 +2,7 @@ import datetime, re, itertools
from collections import defaultdict, namedtuple
from django.db.models import Q, Max, F
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django.contrib.sites.models import Site
import debug # pyflakes:ignore
@@ -27,7 +27,7 @@ def close_review_request_states():
return ReviewRequestStateName.objects.filter(used=True).exclude(slug__in=["requested", "accepted", "rejected", "part-completed", "completed"])
def can_request_review_of_doc(user, doc):
- if not user.is_authenticated():
+ if not user.is_authenticated:
return False
if doc.type_id == 'draft' and doc.get_state_slug() != 'active':
@@ -37,14 +37,14 @@ def can_request_review_of_doc(user, doc):
or Role.objects.filter(person__user=user, name="secr", group__in=active_review_teams()).exists())
def can_manage_review_requests_for_team(user, team, allow_personnel_outside_team=True):
- if not user.is_authenticated():
+ if not user.is_authenticated:
return False
return (Role.objects.filter(name="secr", person__user=user, group=team).exists()
or (allow_personnel_outside_team and has_role(user, "Secretariat")))
def can_access_review_stats_for_team(user, team):
- if not user.is_authenticated():
+ if not user.is_authenticated:
return False
return (Role.objects.filter(name__in=("secr", "reviewer"), person__user=user, group=team).exists()
diff --git a/ietf/secr/announcement/tests.py b/ietf/secr/announcement/tests.py
index f3a8cb73b..d9a5948f2 100644
--- a/ietf/secr/announcement/tests.py
+++ b/ietf/secr/announcement/tests.py
@@ -1,5 +1,5 @@
from django.db import connection
-from django.core.urlresolvers import reverse
+from django.urls import reverse
from pyquery import PyQuery
diff --git a/ietf/secr/areas/tests.py b/ietf/secr/areas/tests.py
index 5854fbc14..dcc909132 100644
--- a/ietf/secr/areas/tests.py
+++ b/ietf/secr/areas/tests.py
@@ -1,4 +1,4 @@
-from django.core.urlresolvers import reverse
+from django.urls import reverse
from ietf.group.models import Group, GroupEvent
from ietf.person.models import Person
diff --git a/ietf/secr/drafts/tests_views.py b/ietf/secr/drafts/tests_views.py
index 103832884..54a965462 100644
--- a/ietf/secr/drafts/tests_views.py
+++ b/ietf/secr/drafts/tests_views.py
@@ -3,7 +3,7 @@ import shutil
from StringIO import StringIO
from django.conf import settings
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
import debug # pyflakes:ignore
diff --git a/ietf/secr/groups/tests.py b/ietf/secr/groups/tests.py
index d611f1e86..fbc2ea2e3 100644
--- a/ietf/secr/groups/tests.py
+++ b/ietf/secr/groups/tests.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-from django.core.urlresolvers import reverse
+from django.urls import reverse
from ietf.utils.test_utils import TestCase
from ietf.group.models import Group
from ietf.person.models import Person
diff --git a/ietf/secr/meetings/tests.py b/ietf/secr/meetings/tests.py
index b0b190719..fbcc499d7 100644
--- a/ietf/secr/meetings/tests.py
+++ b/ietf/secr/meetings/tests.py
@@ -7,7 +7,7 @@ from StringIO import StringIO
import debug # pyflakes:ignore
from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
from ietf.group.models import Group, GroupEvent
from ietf.meeting.models import Meeting, Room, TimeSlot, SchedTimeSessAssignment
diff --git a/ietf/secr/meetings/views.py b/ietf/secr/meetings/views.py
index 9eeb0bb7b..c75ad3700 100644
--- a/ietf/secr/meetings/views.py
+++ b/ietf/secr/meetings/views.py
@@ -5,7 +5,7 @@ import time
from django.conf import settings
from django.contrib import messages
-from django.core.urlresolvers import reverse
+from django.urls import reverse
from django.db.models import Max
from django.forms.formsets import formset_factory
from django.forms.models import inlineformset_factory
diff --git a/ietf/secr/proceedings/tests.py b/ietf/secr/proceedings/tests.py
index 3b64ddc87..b41d6bea7 100644
--- a/ietf/secr/proceedings/tests.py
+++ b/ietf/secr/proceedings/tests.py
@@ -3,7 +3,7 @@ import os
import shutil
from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
from ietf.doc.models import Document
from ietf.group.models import Group
diff --git a/ietf/secr/proceedings/views.py b/ietf/secr/proceedings/views.py
index 2c72bf467..999051eb9 100644
--- a/ietf/secr/proceedings/views.py
+++ b/ietf/secr/proceedings/views.py
@@ -7,7 +7,7 @@ import debug # pyflakes:ignore
from django.conf import settings
from django.contrib import messages
-from django.core.urlresolvers import reverse
+from django.urls import reverse
from django.db.models import Max
from django.http import HttpResponseRedirect
from django.shortcuts import render, get_object_or_404, redirect
diff --git a/ietf/secr/roles/tests.py b/ietf/secr/roles/tests.py
index 7131680ce..7bd041966 100644
--- a/ietf/secr/roles/tests.py
+++ b/ietf/secr/roles/tests.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-from django.core.urlresolvers import reverse
+from django.urls import reverse
from ietf.utils.test_utils import TestCase
from ietf.group.models import Group
diff --git a/ietf/secr/roles/views.py b/ietf/secr/roles/views.py
index 2ddffd0df..5c4842f2b 100644
--- a/ietf/secr/roles/views.py
+++ b/ietf/secr/roles/views.py
@@ -1,5 +1,5 @@
from django.contrib import messages
-from django.core.urlresolvers import reverse
+from django.urls import reverse
from django.http import HttpResponseRedirect
from django.shortcuts import render, get_object_or_404
diff --git a/ietf/secr/rolodex/tests.py b/ietf/secr/rolodex/tests.py
index 975f3aac2..fbcb3a3f9 100644
--- a/ietf/secr/rolodex/tests.py
+++ b/ietf/secr/rolodex/tests.py
@@ -1,4 +1,4 @@
-from django.core.urlresolvers import reverse
+from django.urls import reverse
from ietf.utils.test_utils import TestCase
from ietf.person.models import Person
diff --git a/ietf/secr/sreq/tests.py b/ietf/secr/sreq/tests.py
index 3eef527c1..982ac9c2f 100644
--- a/ietf/secr/sreq/tests.py
+++ b/ietf/secr/sreq/tests.py
@@ -1,4 +1,4 @@
-from django.core.urlresolvers import reverse
+from django.urls import reverse
import debug # pyflakes:ignore
diff --git a/ietf/secr/telechat/tests.py b/ietf/secr/telechat/tests.py
index 11a4aee74..97126d7e9 100644
--- a/ietf/secr/telechat/tests.py
+++ b/ietf/secr/telechat/tests.py
@@ -1,6 +1,6 @@
import datetime
-from django.core.urlresolvers import reverse
+from django.urls import reverse
from ietf.utils.test_utils import TestCase
from ietf.iesg.models import TelechatDate
diff --git a/ietf/secr/utils/decorators.py b/ietf/secr/utils/decorators.py
index 722cd630b..4833630d2 100644
--- a/ietf/secr/utils/decorators.py
+++ b/ietf/secr/utils/decorators.py
@@ -47,7 +47,7 @@ def check_permissions(func):
meeting_id, slide_id
"""
def wrapper(request, *args, **kwargs):
- if not request.user.is_authenticated():
+ if not request.user.is_authenticated:
return HttpResponseRedirect('%s?%s=%s' % (settings.LOGIN_URL, REDIRECT_FIELD_NAME, urlquote(request.get_full_path())))
session = None
diff --git a/ietf/stats/tests.py b/ietf/stats/tests.py
index 5852f3577..57d0faa28 100644
--- a/ietf/stats/tests.py
+++ b/ietf/stats/tests.py
@@ -1,6 +1,6 @@
from pyquery import PyQuery
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from ietf.utils.test_data import make_test_data, make_review_data
from ietf.utils.test_utils import login_testing_unauthorized, TestCase
diff --git a/ietf/stats/views.py b/ietf/stats/views.py
index 57c9cf5bf..e161a408c 100644
--- a/ietf/stats/views.py
+++ b/ietf/stats/views.py
@@ -2,7 +2,7 @@ import datetime, itertools, json, calendar
from django.shortcuts import render
from django.contrib.auth.decorators import login_required
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django.http import HttpResponseRedirect, HttpResponseForbidden
import dateutil.relativedelta
diff --git a/ietf/submit/admin.py b/ietf/submit/admin.py
index cd6e51e57..194c0d1e0 100644
--- a/ietf/submit/admin.py
+++ b/ietf/submit/admin.py
@@ -1,4 +1,4 @@
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django.contrib import admin
diff --git a/ietf/submit/forms.py b/ietf/submit/forms.py
index ce1dbf3df..0491f0442 100644
--- a/ietf/submit/forms.py
+++ b/ietf/submit/forms.py
@@ -10,7 +10,7 @@ from unidecode import unidecode
from django import forms
from django.conf import settings
from django.utils.html import mark_safe
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
import debug # pyflakes:ignore
diff --git a/ietf/submit/mail.py b/ietf/submit/mail.py
index 76bece2df..505459566 100644
--- a/ietf/submit/mail.py
+++ b/ietf/submit/mail.py
@@ -6,7 +6,7 @@ import os
import pyzmail
from django.conf import settings
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django.core.validators import ValidationError
from django.contrib.sites.models import Site
from django.template.loader import render_to_string
@@ -97,7 +97,7 @@ def send_manual_post_request(request, submission, errors):
def announce_to_lists(request, submission):
m = Message()
m.by = Person.objects.get(name="(System)")
- if request.user.is_authenticated():
+ if request.user.is_authenticated:
try:
m.by = request.user.person
except Person.DoesNotExist:
diff --git a/ietf/submit/tests.py b/ietf/submit/tests.py
index e714d5774..78a781656 100644
--- a/ietf/submit/tests.py
+++ b/ietf/submit/tests.py
@@ -8,7 +8,7 @@ from StringIO import StringIO
from pyquery import PyQuery
from django.conf import settings
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
import debug # pyflakes:ignore
diff --git a/ietf/submit/utils.py b/ietf/submit/utils.py
index 84878359d..62758c20a 100644
--- a/ietf/submit/utils.py
+++ b/ietf/submit/utils.py
@@ -108,7 +108,7 @@ def validate_submission_document_date(submission_date, document_date):
def create_submission_event(request, submission, desc):
by = None
- if request and request.user.is_authenticated():
+ if request and request.user.is_authenticated:
try:
by = request.user.person
except Person.DoesNotExist:
@@ -324,7 +324,7 @@ def update_replaces_from_submission(request, submission, draft):
is_secretariat = has_role(request.user, "Secretariat")
is_chair_of = []
- if request.user.is_authenticated():
+ if request.user.is_authenticated:
is_chair_of = list(Group.objects.filter(role__person__user=request.user, role__name="chair"))
replaces = DocAlias.objects.filter(name__in=submission.replaces.split(",")).select_related("document", "document__group")
@@ -355,7 +355,7 @@ def update_replaces_from_submission(request, submission, draft):
try:
- by = request.user.person if request.user.is_authenticated() else Person.objects.get(name="(System)")
+ by = request.user.person if request.user.is_authenticated else Person.objects.get(name="(System)")
except Person.DoesNotExist:
by = Person.objects.get(name="(System)")
set_replaces_for_document(request, draft, existing_replaces + approved, by,
@@ -487,7 +487,7 @@ def remove_submission_files(submission):
os.unlink(source)
def approvable_submissions_for_user(user):
- if not user.is_authenticated():
+ if not user.is_authenticated:
return []
res = Submission.objects.filter(state="grp-appr").order_by('-submission_date')
@@ -498,7 +498,7 @@ def approvable_submissions_for_user(user):
return res.filter(group__role__name="chair", group__role__person__user=user)
def preapprovals_for_user(user):
- if not user.is_authenticated():
+ if not user.is_authenticated:
return []
posted = Submission.objects.distinct().filter(state="posted").values_list('name', flat=True)
@@ -513,7 +513,7 @@ def preapprovals_for_user(user):
return res
def recently_approved_by_user(user, since):
- if not user.is_authenticated():
+ if not user.is_authenticated:
return []
res = Submission.objects.distinct().filter(state="posted", submission_date__gte=since, rev="00").order_by('-submission_date')
diff --git a/ietf/submit/views.py b/ietf/submit/views.py
index 5969ddb6a..99f043260 100644
--- a/ietf/submit/views.py
+++ b/ietf/submit/views.py
@@ -6,7 +6,7 @@ import xml2rfc
from django.conf import settings
from django.contrib import messages
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django.core.validators import validate_email, ValidationError
from django.http import HttpResponseRedirect, Http404, HttpResponseForbidden, HttpResponse
from django.shortcuts import get_object_or_404, redirect, render
diff --git a/ietf/sync/mails.py b/ietf/sync/mails.py
index 480fd1b40..a58894e3d 100644
--- a/ietf/sync/mails.py
+++ b/ietf/sync/mails.py
@@ -1,4 +1,4 @@
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from django.conf import settings
from ietf.utils.mail import send_mail
diff --git a/ietf/sync/tests.py b/ietf/sync/tests.py
index 7a220b3d1..534afb25a 100644
--- a/ietf/sync/tests.py
+++ b/ietf/sync/tests.py
@@ -6,7 +6,7 @@ import StringIO
import shutil
from django.conf import settings
-from django.core.urlresolvers import reverse as urlreverse
+from django.urls import reverse as urlreverse
from ietf.doc.models import Document, DocAlias, DocEvent, DeletedEvent, DocTagName, RelatedDocument, State, StateDocEvent
from ietf.doc.utils import add_state_change_event
diff --git a/ietf/sync/views.py b/ietf/sync/views.py
index 733f76c4d..0439f2a7a 100644
--- a/ietf/sync/views.py
+++ b/ietf/sync/views.py
@@ -49,7 +49,7 @@ def notify(request, org, notification):
if settings.SERVER_MODE == "production" and not request.is_secure():
return HttpResponseForbidden("You must use HTTPS when sending username/password")
- if not user.is_authenticated():
+ if not user.is_authenticated:
try:
user = User.objects.get(username=username)
except User.DoesNotExist:
diff --git a/ietf/utils/test_runner.py b/ietf/utils/test_runner.py
index ed7e70e94..96d366e5f 100644
--- a/ietf/utils/test_runner.py
+++ b/ietf/utils/test_runner.py
@@ -56,7 +56,7 @@ from django.template import TemplateDoesNotExist
from django.template.loaders.base import Loader as BaseLoader
from django.test.runner import DiscoverRunner
from django.core.management import call_command
-from django.core.urlresolvers import RegexURLResolver
+from django.urls import RegexURLResolver
import debug # pyflakes:ignore
debug.debug = True
diff --git a/ietf/utils/tests_restapi.py b/ietf/utils/tests_restapi.py
index bc27ac68a..c3b683e91 100644
--- a/ietf/utils/tests_restapi.py
+++ b/ietf/utils/tests_restapi.py
@@ -3,7 +3,7 @@ from __future__ import print_function
import debug
debug.debug = True
-from django.core.urlresolvers import reverse
+from django.urls import reverse
from tastypie.test import ResourceTestCaseMixin