Django 1.9: Merged work forward to copy of latest release.

- Legacy-Id: 12621
This commit is contained in:
Henrik Levkowetz 2016-12-22 17:30:50 +00:00
commit d5460b8f7f
47 changed files with 554 additions and 544 deletions

View file

@ -1,7 +1,7 @@
from django.conf.urls import patterns, url from django.conf.urls import url
urlpatterns = patterns('', urlpatterns = [
url(r'^personal/(?P<username>[^/]+)/$', 'ietf.community.views.view_list'), url(r'^personal/(?P<username>[^/]+)/$', 'ietf.community.views.view_list'),
url(r'^personal/(?P<username>[^/]+)/manage/$', 'ietf.community.views.manage_list'), url(r'^personal/(?P<username>[^/]+)/manage/$', 'ietf.community.views.manage_list'),
url(r'^personal/(?P<username>[^/]+)/trackdocument/(?P<name>[^/]+)/$', 'ietf.community.views.track_document'), url(r'^personal/(?P<username>[^/]+)/trackdocument/(?P<name>[^/]+)/$', 'ietf.community.views.track_document'),
@ -9,5 +9,4 @@ urlpatterns = patterns('',
url(r'^personal/(?P<username>[^/]+)/csv/$', 'ietf.community.views.export_to_csv'), url(r'^personal/(?P<username>[^/]+)/csv/$', 'ietf.community.views.export_to_csv'),
url(r'^personal/(?P<username>[^/]+)/feed/$', 'ietf.community.views.feed'), url(r'^personal/(?P<username>[^/]+)/feed/$', 'ietf.community.views.feed'),
url(r'^personal/(?P<username>[^/]+)/subscription/$', 'ietf.community.views.subscription'), url(r'^personal/(?P<username>[^/]+)/subscription/$', 'ietf.community.views.subscription'),
]
)

View file

@ -1,16 +1,16 @@
# Copyright The IETF Trust 2010, All Rights Reserved # Copyright The IETF Trust 2010, All Rights Reserved
from django.conf.urls import patterns from django.conf.urls import url
from ietf.cookies import views from ietf.cookies import views
urlpatterns = patterns('', urlpatterns = [
(r'^$', views.preferences), url(r'^$', views.preferences),
(r'^new_enough/(?P<days>.+)$', views.new_enough), url(r'^new_enough/(?P<days>.+)$', views.new_enough),
(r'^new_enough/', views.new_enough), url(r'^new_enough/', views.new_enough),
(r'^expires_soon/(?P<days>.+)$', views.expires_soon), url(r'^expires_soon/(?P<days>.+)$', views.expires_soon),
(r'^expires_soon/', views.expires_soon), url(r'^expires_soon/', views.expires_soon),
(r'^full_draft/(?P<enabled>.+)$', views.full_draft), url(r'^full_draft/(?P<enabled>.+)$', views.full_draft),
(r'^full_draft/', views.full_draft), url(r'^full_draft/', views.full_draft),
(r'^left_menu/(?P<enabled>.+)$', views.left_menu), url(r'^left_menu/(?P<enabled>.+)$', views.left_menu),
(r'^left_menu/', views.left_menu), url(r'^left_menu/', views.left_menu),
) ]

View file

@ -4,8 +4,9 @@ from docutils.core import publish_string
from docutils.utils import SystemMessage from docutils.utils import SystemMessage
import debug # pyflakes:ignore import debug # pyflakes:ignore
from django.template.base import Template as DjangoTemplate, TemplateDoesNotExist, TemplateEncodingError from django.template import loaders
from django.template.loader import BaseLoader from django.template.base import Template as DjangoTemplate, TemplateEncodingError
from django.template.exceptions import TemplateDoesNotExist
from django.utils.encoding import smart_unicode from django.utils.encoding import smart_unicode
from ietf.dbtemplate.models import DBTemplate from ietf.dbtemplate.models import DBTemplate
@ -60,9 +61,9 @@ class RSTTemplate(PlainTemplate):
e.args = tuple(args) e.args = tuple(args)
raise e raise e
class Loader(BaseLoader): class Loader(loaders.base.Loader):
def __init__(self, *args, **kwargs): def __init__(self, engine):
super(Loader, self).__init__(self, *args, **kwargs) super(Loader, self).__init__(engine)
self.is_usable = True self.is_usable = True
def load_template(self, template_name, template_dirs=None): def load_template(self, template_name, template_dirs=None):
@ -77,7 +78,7 @@ class Loader(BaseLoader):
raise TemplateDoesNotExist(template_name) raise TemplateDoesNotExist(template_name)
_loader = Loader() _loader = Loader(engine='django')
def load_template_source(template_name, template_dirs=None): def load_template_source(template_name, template_dirs=None):

View file

@ -1,7 +1,7 @@
from django.conf.urls import patterns, url from django.conf.urls import url
urlpatterns = patterns('ietf.dbtemplate.views', urlpatterns = [
url(r'^(?P<acronym>[-a-z0-9]+)/$', 'template_list', name='template_list'), url(r'^(?P<acronym>[-a-z0-9]+)/$', 'ietf.dbtemplate.views.template_list', name='template_list'),
url(r'^(?P<acronym>[-a-z0-9]+)/(?P<template_id>[\d]+)/$', 'template_edit', name='template_edit'), url(r'^(?P<acronym>[-a-z0-9]+)/(?P<template_id>[\d]+)/$', 'ietf.dbtemplate.views.template_edit', name='template_edit'),
) ]

View file

@ -30,7 +30,7 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
from django.conf.urls import patterns, url, include from django.conf.urls import url, include
from django.views.generic import RedirectView from django.views.generic import RedirectView
from django.conf import settings from django.conf import settings
@ -42,13 +42,13 @@ session_patterns = [
url(r'^(?P<session_id>\d+)/remove$', views_doc.remove_sessionpresentation), url(r'^(?P<session_id>\d+)/remove$', views_doc.remove_sessionpresentation),
] ]
urlpatterns = patterns('', urlpatterns = [
(r'^/?$', views_search.search), url(r'^/?$', views_search.search),
url(r'^(?P<name>[A-Za-z0-9\._\+\-]+)$', views_search.search_for_name, name="doc_search_for_name"), url(r'^(?P<name>[A-Za-z0-9\._\+\-]+)$', views_search.search_for_name, name="doc_search_for_name"),
url(r'^search/$', views_search.search, name="doc_search"), url(r'^search/$', views_search.search, name="doc_search"),
url(r'^in-last-call/$', views_search.drafts_in_last_call, name="drafts_in_last_call"), url(r'^in-last-call/$', views_search.drafts_in_last_call, name="drafts_in_last_call"),
url(r'^ad/(?P<name>[\w.-]+)/$(?u)', views_search.docs_for_ad, name="docs_for_ad"), url(r'^ad/(?P<name>[\w.-]+)/$(?u)', views_search.docs_for_ad, name="docs_for_ad"),
(r'^ad2/(?P<name>[\w.-]+)/$(?u)', RedirectView.as_view(url='/doc/ad/%(name)s/', permanent=True)), url(r'^ad2/(?P<name>[\w.-]+)/$(?u)', RedirectView.as_view(url='/doc/ad/%(name)s/', permanent=True)),
url(r'^rfc-status-changes/$', views_status_change.rfc_status_changes, name='rfc_status_changes'), url(r'^rfc-status-changes/$', views_status_change.rfc_status_changes, name='rfc_status_changes'),
url(r'^start-rfc-status-change/(?:%(name)s/)?$' % settings.URL_REGEXPS, views_status_change.start_rfc_status_change, name='start_rfc_status_change'), url(r'^start-rfc-status-change/(?:%(name)s/)?$' % settings.URL_REGEXPS, views_status_change.start_rfc_status_change, name='start_rfc_status_change'),
url(r'^iesg/(?P<last_call_only>[A-Za-z0-9.-]+/)?$', views_search.drafts_in_iesg_process, name="drafts_in_iesg_process"), url(r'^iesg/(?P<last_call_only>[A-Za-z0-9.-]+/)?$', views_search.drafts_in_iesg_process, name="drafts_in_iesg_process"),
@ -75,8 +75,8 @@ urlpatterns = patterns('',
url(r'^%(name)s/ballot/(?P<ballot_id>[0-9]+)/$' % settings.URL_REGEXPS, views_doc.document_ballot, name="doc_ballot"), url(r'^%(name)s/ballot/(?P<ballot_id>[0-9]+)/$' % settings.URL_REGEXPS, views_doc.document_ballot, name="doc_ballot"),
url(r'^%(name)s/ballot/(?P<ballot_id>[0-9]+)/position/$' % settings.URL_REGEXPS, views_ballot.edit_position), url(r'^%(name)s/ballot/(?P<ballot_id>[0-9]+)/position/$' % settings.URL_REGEXPS, views_ballot.edit_position),
url(r'^%(name)s/ballot/(?P<ballot_id>[0-9]+)/emailposition/$' % settings.URL_REGEXPS, views_ballot.send_ballot_comment, name='doc_send_ballot_comment'), url(r'^%(name)s/ballot/(?P<ballot_id>[0-9]+)/emailposition/$' % settings.URL_REGEXPS, views_ballot.send_ballot_comment, name='doc_send_ballot_comment'),
(r'^%(name)s/(?:%(rev)s/)?doc.json$' % settings.URL_REGEXPS, views_doc.document_json), url(r'^%(name)s/(?:%(rev)s/)?doc.json$' % settings.URL_REGEXPS, views_doc.document_json),
(r'^%(name)s/ballotpopup/(?P<ballot_id>[0-9]+)/$' % settings.URL_REGEXPS, views_doc.ballot_popup), url(r'^%(name)s/ballotpopup/(?P<ballot_id>[0-9]+)/$' % settings.URL_REGEXPS, views_doc.ballot_popup),
url(r'^(?P<name>[A-Za-z0-9._+-]+)/reviewrequest/', include("ietf.doc.urls_review")), url(r'^(?P<name>[A-Za-z0-9._+-]+)/reviewrequest/', include("ietf.doc.urls_review")),
url(r'^%(name)s/email-aliases/$' % settings.URL_REGEXPS, RedirectView.as_view(pattern_name='doc_email', permanent=False),name='doc_specific_email_aliases'), url(r'^%(name)s/email-aliases/$' % settings.URL_REGEXPS, RedirectView.as_view(pattern_name='doc_email', permanent=False),name='doc_specific_email_aliases'),
@ -120,12 +120,12 @@ urlpatterns = patterns('',
url(r'^help/relationships/$', 'ietf.doc.views_help.relationship_help', name="relationship_help"), url(r'^help/relationships/$', 'ietf.doc.views_help.relationship_help', name="relationship_help"),
url(r'^help/relationships/(?P<subset>\w+)/$', 'ietf.doc.views_help.relationship_help', name="relationship_subset_help"), url(r'^help/relationships/(?P<subset>\w+)/$', 'ietf.doc.views_help.relationship_help', name="relationship_subset_help"),
(r'^%(name)s/meetings/?$' % settings.URL_REGEXPS, views_doc.all_presentations), url(r'^%(name)s/meetings/?$' % settings.URL_REGEXPS, views_doc.all_presentations),
(r'^%(charter)s/' % settings.URL_REGEXPS, include('ietf.doc.urls_charter')), url(r'^%(charter)s/' % settings.URL_REGEXPS, include('ietf.doc.urls_charter')),
(r'^%(name)s/conflict-review/' % settings.URL_REGEXPS, include('ietf.doc.urls_conflict_review')), url(r'^%(name)s/conflict-review/' % settings.URL_REGEXPS, include('ietf.doc.urls_conflict_review')),
(r'^%(name)s/status-change/' % settings.URL_REGEXPS, include('ietf.doc.urls_status_change')), url(r'^%(name)s/status-change/' % settings.URL_REGEXPS, include('ietf.doc.urls_status_change')),
(r'^%(name)s/material/' % settings.URL_REGEXPS, include('ietf.doc.urls_material')), url(r'^%(name)s/material/' % settings.URL_REGEXPS, include('ietf.doc.urls_material')),
(r'^%(name)s/session/' % settings.URL_REGEXPS, include('ietf.doc.urls_material')), url(r'^%(name)s/session/' % settings.URL_REGEXPS, include('ietf.doc.urls_material')),
(r'^(?P<name>[A-Za-z0-9._+-]+)/session/', include(session_patterns)), url(r'^(?P<name>[A-Za-z0-9._+-]+)/session/', include(session_patterns)),
) ]

View file

@ -1,9 +1,9 @@
# Copyright The IETF Trust 2011, All Rights Reserved # Copyright The IETF Trust 2011, All Rights Reserved
from django.conf.urls import patterns, url from django.conf.urls import url
from django.conf import settings from django.conf import settings
urlpatterns = patterns('', urlpatterns = [
url(r'^state/$', "ietf.doc.views_charter.change_state", name='charter_change_state'), url(r'^state/$', "ietf.doc.views_charter.change_state", name='charter_change_state'),
url(r'^title/$', "ietf.doc.views_charter.change_title", name='charter_change_title'), url(r'^title/$', "ietf.doc.views_charter.change_title", name='charter_change_title'),
url(r'^(?P<option>initcharter|recharter|abandon)/$', "ietf.doc.views_charter.change_state", name='charter_startstop_process'), url(r'^(?P<option>initcharter|recharter|abandon)/$', "ietf.doc.views_charter.change_state", name='charter_startstop_process'),
@ -16,4 +16,4 @@ urlpatterns = patterns('',
url(r'^approve/$', "ietf.doc.views_charter.approve", name='charter_approve'), url(r'^approve/$', "ietf.doc.views_charter.approve", name='charter_approve'),
url(r'^submit/(?:(?P<option>initcharter|recharter)/)?$', "ietf.doc.views_charter.submit", name='charter_submit'), url(r'^submit/(?:(?P<option>initcharter|recharter)/)?$', "ietf.doc.views_charter.submit", name='charter_submit'),
url(r'^withmilestones-%(rev)s.txt$' % settings.URL_REGEXPS, "ietf.doc.views_charter.charter_with_milestones_txt", name='charter_with_milestones_txt'), url(r'^withmilestones-%(rev)s.txt$' % settings.URL_REGEXPS, "ietf.doc.views_charter.charter_with_milestones_txt", name='charter_with_milestones_txt'),
) ]

View file

@ -1,16 +1,13 @@
from django.conf.urls import patterns, url from django.conf.urls import url
urlpatterns = patterns('ietf.doc.views_conflict_review', urlpatterns = [
url(r'^state/$', "change_state", name='conflict_review_change_state'), url(r'^state/$', "ietf.doc.views_conflict_review.change_state", name='conflict_review_change_state'),
url(r'^submit/$', "submit", name='conflict_review_submit'), url(r'^submit/$', "ietf.doc.views_conflict_review.submit", name='conflict_review_submit'),
url(r'^ad/$', "edit_ad", name='conflict_review_ad'), url(r'^ad/$', "ietf.doc.views_conflict_review.edit_ad", name='conflict_review_ad'),
url(r'^approve/$', "approve", name='conflict_review_approve'), url(r'^approve/$', "ietf.doc.views_conflict_review.approve", name='conflict_review_approve'),
url(r'^start_conflict_review/$', "start_review", name='conflict_review_start'), url(r'^start_conflict_review/$', "ietf.doc.views_conflict_review.start_review", name='conflict_review_start'),
) url(r'^telechat/$', "ietf.doc.views_doc.telechat_date", name='conflict_review_telechat_date'),
url(r'^notices/$', "ietf.doc.views_doc.edit_notify", name='conflict_review_notices'),
urlpatterns += patterns('ietf.doc.views_doc', ]
url(r'^telechat/$', "telechat_date", name='conflict_review_telechat_date'),
url(r'^notices/$', "edit_notify", name='conflict_review_notices'),
)

View file

@ -1,6 +1,6 @@
from django.conf.urls import patterns, url from django.conf.urls import url
urlpatterns = patterns('ietf.doc.views_material', urlpatterns = [
url(r'^(?P<action>state|title|abstract|revise)/$', "edit_material", name="material_edit"), url(r'^(?P<action>state|title|abstract|revise)/$', "ietf.doc.views_material.edit_material", name="material_edit"),
) ]

View file

@ -1,7 +1,7 @@
from django.conf.urls import patterns, url from django.conf.urls import url
from ietf.doc import views_review from ietf.doc import views_review
urlpatterns = patterns('', urlpatterns = [
url(r'^$', views_review.request_review), url(r'^$', views_review.request_review),
url(r'^(?P<request_id>[0-9]+)/$', views_review.review_request), url(r'^(?P<request_id>[0-9]+)/$', views_review.review_request),
url(r'^(?P<request_id>[0-9]+)/close/$', views_review.close_request), url(r'^(?P<request_id>[0-9]+)/close/$', views_review.close_request),
@ -10,5 +10,4 @@ urlpatterns = patterns('',
url(r'^(?P<request_id>[0-9]+)/complete/$', views_review.complete_review), url(r'^(?P<request_id>[0-9]+)/complete/$', views_review.complete_review),
url(r'^(?P<request_id>[0-9]+)/searchmailarchive/$', views_review.search_mail_archive), url(r'^(?P<request_id>[0-9]+)/searchmailarchive/$', views_review.search_mail_archive),
url(r'^(?P<request_id>[0-9]+)/editcomment/$', views_review.edit_comment), url(r'^(?P<request_id>[0-9]+)/editcomment/$', views_review.edit_comment),
) ]

View file

@ -1,18 +1,15 @@
from django.conf.urls import patterns, url from django.conf.urls import url
urlpatterns = patterns('ietf.doc.views_status_change', urlpatterns = [
url(r'^state/$', "change_state", name='status_change_change_state'), url(r'^state/$', "ietf.doc.views_status_change.change_state", name='status_change_change_state'),
url(r'^submit/$', "submit", name='status_change_submit'), url(r'^submit/$', "ietf.doc.views_status_change.submit", name='status_change_submit'),
url(r'^ad/$', "edit_ad", name='status_change_ad'), url(r'^ad/$', "ietf.doc.views_status_change.edit_ad", name='status_change_ad'),
url(r'^title/$', "edit_title", name='status_change_title'), url(r'^title/$', "ietf.doc.views_status_change.edit_title", name='status_change_title'),
url(r'^approve/$', "approve", name='status_change_approve'), url(r'^approve/$', "ietf.doc.views_status_change.approve", name='status_change_approve'),
url(r'^relations/$', "edit_relations", name='status_change_relations'), url(r'^relations/$', "ietf.doc.views_status_change.edit_relations", name='status_change_relations'),
url(r'^last-call/$', "last_call", name='status_change_last_call'), url(r'^last-call/$', "ietf.doc.views_status_change.last_call", name='status_change_last_call'),
) url(r'^telechat/$', "ietf.doc.views_doc.telechat_date", name='status_change_telechat_date'),
url(r'^notices/$', "ietf.doc.views_doc.edit_notify", name='status_change_notices'),
urlpatterns += patterns('ietf.doc.views_doc', ]
url(r'^telechat/$', "telechat_date", name='status_change_telechat_date'),
url(r'^notices/$', "edit_notify", name='status_change_notices'),
)

View file

@ -1,19 +1,18 @@
# Copyright The IETF Trust 2007, All Rights Reserved # Copyright The IETF Trust 2007, All Rights Reserved
from django.conf.urls import patterns, include from django.conf.urls import url, include
from django.conf import settings from django.conf import settings
urlpatterns = patterns('', urlpatterns = [
(r'^$', 'ietf.group.views.active_groups'), url(r'^$', 'ietf.group.views.active_groups'),
(r'^groupmenu.json', 'ietf.group.views_ajax.group_menu_data', None, "group_menu_data"), url(r'^groupmenu.json', 'ietf.group.views_ajax.group_menu_data', None, "group_menu_data"),
(r'^%(acronym)s.json$' % settings.URL_REGEXPS, 'ietf.group.views_ajax.group_json'), url(r'^%(acronym)s.json$' % settings.URL_REGEXPS, 'ietf.group.views_ajax.group_json'),
(r'^chartering/$', 'ietf.group.views.chartering_groups'), url(r'^chartering/$', 'ietf.group.views.chartering_groups'),
(r'^chartering/create/(?P<group_type>(wg|rg))/$', 'ietf.group.views_edit.edit', {'action': "charter"}, "group_create"), url(r'^chartering/create/(?P<group_type>(wg|rg))/$', 'ietf.group.views_edit.edit', {'action': "charter"}, "group_create"),
(r'^concluded/$', 'ietf.group.views.concluded_groups'), url(r'^concluded/$', 'ietf.group.views.concluded_groups'),
(r'^email-aliases/$', 'ietf.group.views.email_aliases'), url(r'^email-aliases/$', 'ietf.group.views.email_aliases'),
(r'^all-status/$', 'ietf.group.views.all_status'), url(r'^all-status/$', 'ietf.group.views.all_status'),
(r'^%(acronym)s/$' % settings.URL_REGEXPS, 'ietf.group.views.group_home', None, "group_home"),
(r'^%(acronym)s/' % settings.URL_REGEXPS, include('ietf.group.urls_info_details')),
)
url(r'^%(acronym)s/$' % settings.URL_REGEXPS, 'ietf.group.views.group_home', None, "group_home"),
url(r'^%(acronym)s/' % settings.URL_REGEXPS, include('ietf.group.urls_info_details')),
]

View file

@ -1,25 +1,25 @@
# Copyright The IETF Trust 2008, All Rights Reserved # Copyright The IETF Trust 2008, All Rights Reserved
from django.conf.urls import patterns, include from django.conf.urls import url, include
from django.views.generic import RedirectView from django.views.generic import RedirectView
from django.conf import settings from django.conf import settings
from ietf.group import views, views_edit from ietf.group import views, views_edit
urlpatterns = patterns('', urlpatterns = [
(r'^$', views.active_groups), url(r'^$', views.active_groups),
(r'^summary.txt', RedirectView.as_view(url='/wg/1wg-summary.txt', permanent=True)), url(r'^summary.txt', RedirectView.as_view(url='/wg/1wg-summary.txt', permanent=True)),
(r'^summary-by-area.txt', RedirectView.as_view(url='/wg/1wg-summary.txt', permanent=True)), url(r'^summary-by-area.txt', RedirectView.as_view(url='/wg/1wg-summary.txt', permanent=True)),
(r'^summary-by-acronym.txt', RedirectView.as_view(url='/wg/1wg-summary-by-acronym.txt', permanent=True)), url(r'^summary-by-acronym.txt', RedirectView.as_view(url='/wg/1wg-summary-by-acronym.txt', permanent=True)),
(r'^1wg-summary.txt', views.wg_summary_area), url(r'^1wg-summary.txt', views.wg_summary_area),
(r'^1wg-summary-by-acronym.txt', views.wg_summary_acronym), url(r'^1wg-summary-by-acronym.txt', views.wg_summary_acronym),
(r'^1wg-charters.txt', views.wg_charters), url(r'^1wg-charters.txt', views.wg_charters),
(r'^1wg-charters-by-acronym.txt', views.wg_charters_by_acronym), url(r'^1wg-charters-by-acronym.txt', views.wg_charters_by_acronym),
(r'^chartering/$', RedirectView.as_view(url='/group/chartering/', permanent=True)), url(r'^chartering/$', RedirectView.as_view(url='/group/chartering/', permanent=True)),
(r'^chartering/create/$', RedirectView.as_view(url='/group/chartering/create/%(group_type)s/', permanent=True)), url(r'^chartering/create/$', RedirectView.as_view(url='/group/chartering/create/%(group_type)s/', permanent=True)),
(r'^bofs/$', views.bofs), url(r'^bofs/$', views.bofs),
(r'^email-aliases/$', 'ietf.group.views.email_aliases'), url(r'^email-aliases/$', 'ietf.group.views.email_aliases'),
(r'^bofs/create/$', views_edit.edit, {'action': "create", }, "bof_create"), url(r'^bofs/create/$', views_edit.edit, {'action': "create", }, "bof_create"),
(r'^photos/$', views.chair_photos), url(r'^photos/$', views.chair_photos),
(r'^%(acronym)s/' % settings.URL_REGEXPS, include('ietf.group.urls_info_details')), url(r'^%(acronym)s/' % settings.URL_REGEXPS, include('ietf.group.urls_info_details')),
) ]

View file

@ -1,40 +1,40 @@
from django.conf.urls import patterns, url from django.conf.urls import url
from django.views.generic import RedirectView from django.views.generic import RedirectView
from ietf.group import views, views_review from ietf.group import views, views_review
urlpatterns = patterns('', urlpatterns = [
(r'^$', 'ietf.group.views.group_home', None, "group_home"), url(r'^$', 'ietf.group.views.group_home', None, "group_home"),
(r'^documents/txt/$', 'ietf.group.views.group_documents_txt'), url(r'^documents/txt/$', 'ietf.group.views.group_documents_txt'),
(r'^documents/$', 'ietf.group.views.group_documents', None, "group_docs"), url(r'^documents/$', 'ietf.group.views.group_documents', None, "group_docs"),
(r'^documents/manage/$', 'ietf.community.views.manage_list'), url(r'^documents/manage/$', 'ietf.community.views.manage_list'),
(r'^documents/csv/$', 'ietf.community.views.export_to_csv'), url(r'^documents/csv/$', 'ietf.community.views.export_to_csv'),
(r'^documents/feed/$', 'ietf.community.views.feed'), url(r'^documents/feed/$', 'ietf.community.views.feed'),
(r'^documents/subscription/$', 'ietf.community.views.subscription'), url(r'^documents/subscription/$', 'ietf.community.views.subscription'),
(r'^charter/$', 'ietf.group.views.group_about', None, 'group_charter'), url(r'^charter/$', 'ietf.group.views.group_about', None, 'group_charter'),
(r'^about/$', 'ietf.group.views.group_about', None, 'group_about'), url(r'^about/$', 'ietf.group.views.group_about', None, 'group_about'),
(r'^about/status/$', 'ietf.group.views.group_about_status'), url(r'^about/status/$', 'ietf.group.views.group_about_status'),
(r'^about/status/edit/$', 'ietf.group.views.group_about_status_edit'), url(r'^about/status/edit/$', 'ietf.group.views.group_about_status_edit'),
(r'^about/status/meeting/(?P<num>\d+)/$', 'ietf.group.views.group_about_status_meeting'), url(r'^about/status/meeting/(?P<num>\d+)/$', 'ietf.group.views.group_about_status_meeting'),
(r'^history/$','ietf.group.views.history'), url(r'^history/$','ietf.group.views.history'),
(r'^email/$', 'ietf.group.views.email'), url(r'^email/$', 'ietf.group.views.email'),
(r'^deps/(?P<output_type>[\w-]+)/$', 'ietf.group.views.dependencies'), url(r'^deps/(?P<output_type>[\w-]+)/$', 'ietf.group.views.dependencies'),
(r'^meetings/$', 'ietf.group.views.meetings'), url(r'^meetings/$', 'ietf.group.views.meetings'),
(r'^edit/$', 'ietf.group.views_edit.edit', {'action': "edit"}, "group_edit"), url(r'^edit/$', 'ietf.group.views_edit.edit', {'action': "edit"}, "group_edit"),
(r'^conclude/$', 'ietf.group.views_edit.conclude'), url(r'^conclude/$', 'ietf.group.views_edit.conclude'),
(r'^milestones/$', 'ietf.group.milestones.edit_milestones', {'milestone_set': "current"}, "group_edit_milestones"), url(r'^milestones/$', 'ietf.group.milestones.edit_milestones', {'milestone_set': "current"}, "group_edit_milestones"),
(r'^milestones/charter/$', 'ietf.group.milestones.edit_milestones', {'milestone_set': "charter"}, "group_edit_charter_milestones"), url(r'^milestones/charter/$', 'ietf.group.milestones.edit_milestones', {'milestone_set': "charter"}, "group_edit_charter_milestones"),
(r'^milestones/charter/reset/$', 'ietf.group.milestones.reset_charter_milestones', None, "group_reset_charter_milestones"), url(r'^milestones/charter/reset/$', 'ietf.group.milestones.reset_charter_milestones', None, "group_reset_charter_milestones"),
(r'^workflow/$', 'ietf.group.views_edit.customize_workflow'), url(r'^workflow/$', 'ietf.group.views_edit.customize_workflow'),
(r'^materials/$', 'ietf.group.views.materials', None, "group_materials"), url(r'^materials/$', 'ietf.group.views.materials', None, "group_materials"),
(r'^materials/new/$', 'ietf.doc.views_material.choose_material_type'), url(r'^materials/new/$', 'ietf.doc.views_material.choose_material_type'),
(r'^materials/new/(?P<doc_type>[\w-]+)/$', 'ietf.doc.views_material.edit_material', { 'action': "new" }, "group_new_material"), url(r'^materials/new/(?P<doc_type>[\w-]+)/$', 'ietf.doc.views_material.edit_material', { 'action': "new" }, "group_new_material"),
(r'^archives/$', 'ietf.group.views.derived_archives'), url(r'^archives/$', 'ietf.group.views.derived_archives'),
(r'^photos/$', views.group_photos), url(r'^photos/$', views.group_photos),
(r'^reviews/$', views_review.review_requests), url(r'^reviews/$', views_review.review_requests),
(r'^reviews/manage/(?P<assignment_status>assigned|unassigned)/$', views_review.manage_review_requests), url(r'^reviews/manage/(?P<assignment_status>assigned|unassigned)/$', views_review.manage_review_requests),
(r'^reviews/email-assignments/$', views_review.email_open_review_assignments), url(r'^reviews/email-assignments/$', views_review.email_open_review_assignments),
(r'^reviewers/$', views_review.reviewer_overview), url(r'^reviewers/$', views_review.reviewer_overview),
(r'^reviewers/(?P<reviewer_email>[\w%+-.@]+)/settings/$', views_review.change_reviewer_settings), url(r'^reviewers/(?P<reviewer_email>[\w%+-.@]+)/settings/$', views_review.change_reviewer_settings),
(r'^secretarysettings/$', views_review.change_review_secretary_settings), url(r'^secretarysettings/$', views_review.change_review_secretary_settings),
url(r'^email-aliases/$', RedirectView.as_view(pattern_name='ietf.group.views.email',permanent=False),name='old_group_email_aliases'), url(r'^email-aliases/$', RedirectView.as_view(pattern_name='ietf.group.views.email',permanent=False),name='old_group_email_aliases'),
) ]

View file

@ -1,12 +1,12 @@
# Copyright The IETF Trust 2008, All Rights Reserved # Copyright The IETF Trust 2008, All Rights Reserved
from django.conf.urls import patterns from django.conf.urls import url
from django.conf import settings from django.conf import settings
import views_stream import views_stream
urlpatterns = patterns('', urlpatterns = [
(r'^$', views_stream.streams), url(r'^$', views_stream.streams),
(r'^%(acronym)s/$' % settings.URL_REGEXPS, views_stream.stream_documents, None), url(r'^%(acronym)s/$' % settings.URL_REGEXPS, views_stream.stream_documents, None),
(r'^%(acronym)s/edit/$' % settings.URL_REGEXPS, views_stream.stream_edit), url(r'^%(acronym)s/edit/$' % settings.URL_REGEXPS, views_stream.stream_edit),
) ]

View file

@ -1,8 +1,8 @@
from django.conf.urls import patterns, url from django.conf.urls import url
urlpatterns = patterns('', urlpatterns = [
url(r'^state/(?P<doc>[-\w]+)/(?P<type>[-\w]+)/?$', 'ietf.help.views.state'), url(r'^state/(?P<doc>[-\w]+)/(?P<type>[-\w]+)/?$', 'ietf.help.views.state'),
url(r'^state/(?P<doc>[-\w]+)/?$', 'ietf.help.views.state'), url(r'^state/(?P<doc>[-\w]+)/?$', 'ietf.help.views.state'),
url(r'^state/?$', 'ietf.help.views.state_index'), url(r'^state/?$', 'ietf.help.views.state_index'),
) ]

View file

@ -32,27 +32,27 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
from django.conf.urls import patterns from django.conf.urls import url
from django.views.generic import RedirectView from django.views.generic import RedirectView
from django.conf import settings from django.conf import settings
urlpatterns = patterns('', urlpatterns = [
(r'^telechat/.*$', RedirectView.as_view(url='https://www.ietf.org/iesg/minutes.html', permanent=True)), url(r'^telechat/.*$', RedirectView.as_view(url='https://www.ietf.org/iesg/minutes.html', permanent=True)),
(r'^ann/(?:ind|new|prev)/$', RedirectView.as_view(url="/iesg/decisions/", permanent=True)), url(r'^ann/(?:ind|new|prev)/$', RedirectView.as_view(url="/iesg/decisions/", permanent=True)),
(r'^telechatdates/$', RedirectView.as_view(url='/admin/iesg/telechatdate/', permanent=True)), url(r'^telechatdates/$', RedirectView.as_view(url='/admin/iesg/telechatdate/', permanent=True)),
(r'^decisions/(?:(?P<year>[0-9]{4})/)?$', "ietf.iesg.views.review_decisions"), url(r'^decisions/(?:(?P<year>[0-9]{4})/)?$', "ietf.iesg.views.review_decisions"),
(r'^agenda/(?:%(date)s/)?$' % settings.URL_REGEXPS, "ietf.iesg.views.agenda"), url(r'^agenda/(?:%(date)s/)?$' % settings.URL_REGEXPS, "ietf.iesg.views.agenda"),
(r'^agenda/(?:%(date)s/)?agenda.txt$' % settings.URL_REGEXPS, "ietf.iesg.views.agenda_txt"), url(r'^agenda/(?:%(date)s/)?agenda.txt$' % settings.URL_REGEXPS, "ietf.iesg.views.agenda_txt"),
(r'^agenda/(?:%(date)s/)?agenda.json$' % settings.URL_REGEXPS, "ietf.iesg.views.agenda_json"), url(r'^agenda/(?:%(date)s/)?agenda.json$' % settings.URL_REGEXPS, "ietf.iesg.views.agenda_json"),
(r'^agenda/(?:%(date)s/)?scribe_template.html$' % settings.URL_REGEXPS, "ietf.iesg.views.agenda_scribe_template"), url(r'^agenda/(?:%(date)s/)?scribe_template.html$' % settings.URL_REGEXPS, "ietf.iesg.views.agenda_scribe_template"),
(r'^agenda/(?:%(date)s/)?moderator_package.html$' % settings.URL_REGEXPS, "ietf.iesg.views.agenda_moderator_package"), url(r'^agenda/(?:%(date)s/)?moderator_package.html$' % settings.URL_REGEXPS, "ietf.iesg.views.agenda_moderator_package"),
(r'^agenda/(?:%(date)s/)?agenda_package.txt$' % settings.URL_REGEXPS, "ietf.iesg.views.agenda_package"), url(r'^agenda/(?:%(date)s/)?agenda_package.txt$' % settings.URL_REGEXPS, "ietf.iesg.views.agenda_package"),
(r'^agenda/documents.txt$', "ietf.iesg.views.agenda_documents_txt"), url(r'^agenda/documents.txt$', "ietf.iesg.views.agenda_documents_txt"),
(r'^agenda/documents/$', "ietf.iesg.views.agenda_documents"), url(r'^agenda/documents/$', "ietf.iesg.views.agenda_documents"),
(r'^agenda/telechat-(?:%(date)s-)?docs.tgz' % settings.URL_REGEXPS, "ietf.iesg.views.telechat_docs_tarfile"), url(r'^agenda/telechat-(?:%(date)s-)?docs.tgz' % settings.URL_REGEXPS, "ietf.iesg.views.telechat_docs_tarfile"),
(r'^discusses/$', "ietf.iesg.views.discusses"), url(r'^discusses/$', "ietf.iesg.views.discusses"),
(r'^milestones/$', "ietf.iesg.views.milestones_needing_review"), url(r'^milestones/$', "ietf.iesg.views.milestones_needing_review"),
(r'^photos/$', "ietf.iesg.views.photos"), url(r'^photos/$', "ietf.iesg.views.photos"),
) ]

View file

@ -1,25 +1,25 @@
# Copyright The IETF Trust 2007, 2009, All Rights Reserved # Copyright The IETF Trust 2007, 2009, All Rights Reserved
from django.conf.urls import patterns, url from django.conf.urls import url
from django.contrib.auth.views import login, logout from django.contrib.auth.views import login, logout
from ietf.ietfauth.views import add_account_whitelist from ietf.ietfauth.views import add_account_whitelist
urlpatterns = patterns('ietf.ietfauth.views', urlpatterns = [
url(r'^$', 'index'), url(r'^$', 'ietf.ietfauth.views.index'),
# url(r'^login/$', 'ietf_login'), # url(r'^login/$', 'ietf.ietfauth.views.ietf_login'),
url(r'^login/$', login), url(r'^login/$', login),
url(r'^logout/$', logout), url(r'^logout/$', logout),
# url(r'^loggedin/$', 'ietf_loggedin'), # url(r'^loggedin/$', 'ietf.ietfauth.views.ietf_loggedin'),
# url(r'^loggedout/$', 'logged_out'), # url(r'^loggedout/$', 'ietf.ietfauth.views.logged_out'),
url(r'^profile/$', 'profile'), url(r'^profile/$', 'ietf.ietfauth.views.profile'),
# (r'^login/(?P<user>[a-z0-9.@]+)/(?P<passwd>.+)$', 'url_login'), # (r'^login/(?P<user>[a-z0-9.@]+)/(?P<passwd>.+)$', 'ietf.ietfauth.views.url_login'),
url(r'^testemail/$', 'test_email'), url(r'^testemail/$', 'ietf.ietfauth.views.test_email'),
url(r'^create/$', 'create_account'), url(r'^create/$', 'ietf.ietfauth.views.create_account'),
url(r'^create/confirm/(?P<auth>[^/]+)/$', 'confirm_account'), url(r'^create/confirm/(?P<auth>[^/]+)/$', 'ietf.ietfauth.views.confirm_account'),
url(r'^reset/$', 'password_reset'), url(r'^reset/$', 'ietf.ietfauth.views.password_reset'),
url(r'^reset/confirm/(?P<auth>[^/]+)/$', 'confirm_password_reset'), url(r'^reset/confirm/(?P<auth>[^/]+)/$', 'ietf.ietfauth.views.confirm_password_reset'),
url(r'^confirmnewemail/(?P<auth>[^/]+)/$', 'confirm_new_email'), url(r'^confirmnewemail/(?P<auth>[^/]+)/$', 'ietf.ietfauth.views.confirm_new_email'),
(r'whitelist/add/?$', add_account_whitelist), url(r'whitelist/add/?$', add_account_whitelist),
url(r'^review/$', 'review_overview'), url(r'^review/$', 'ietf.ietfauth.views.review_overview'),
) ]

View file

@ -1,28 +1,28 @@
# Copyright The IETF Trust 2007, All Rights Reserved # Copyright The IETF Trust 2007, All Rights Reserved
from django.conf.urls import patterns, url from django.conf.urls import url
from django.views.generic import RedirectView from django.views.generic import RedirectView
from django.core.urlresolvers import reverse_lazy from django.core.urlresolvers import reverse_lazy
urlpatterns = patterns('ietf.ipr.views', urlpatterns = [
url(r'^$', 'showlist', name='ipr_showlist'), url(r'^$', 'ietf.ipr.views.showlist', name='ipr_showlist'),
(r'^about/$', 'about'), url(r'^about/$', 'ietf.ipr.views.about'),
url(r'^admin/$', RedirectView.as_view(url=reverse_lazy('ipr_admin',kwargs={'state':'pending'}), permanent=True),name="ipr_admin_main"), url(r'^admin/$', RedirectView.as_view(url=reverse_lazy('ipr_admin',kwargs={'state':'pending'}), permanent=True),name="ipr_admin_main"),
url(r'^admin/(?P<state>pending|removed|parked)/$', 'admin', name='ipr_admin'), url(r'^admin/(?P<state>pending|removed|parked)/$', 'ietf.ipr.views.admin', name='ipr_admin'),
url(r'^ajax/search/$', 'ajax_search', name='ipr_ajax_search'), url(r'^ajax/search/$', 'ietf.ipr.views.ajax_search', name='ipr_ajax_search'),
url(r'^by-draft/$', 'by_draft_txt'), url(r'^by-draft/$', 'ietf.ipr.views.by_draft_txt'),
url(r'^by-draft-recursive/$', 'by_draft_recursive_txt'), url(r'^by-draft-recursive/$', 'ietf.ipr.views.by_draft_recursive_txt'),
url(r'^(?P<id>\d+)/$', 'show', name='ipr_show'), url(r'^(?P<id>\d+)/$', 'ietf.ipr.views.show', name='ipr_show'),
url(r'^(?P<id>\d+)/addcomment/$', 'add_comment', name='ipr_add_comment'), url(r'^(?P<id>\d+)/addcomment/$', 'ietf.ipr.views.add_comment', name='ipr_add_comment'),
url(r'^(?P<id>\d+)/addemail/$', 'add_email', name='ipr_add_email'), url(r'^(?P<id>\d+)/addemail/$', 'ietf.ipr.views.add_email', name='ipr_add_email'),
url(r'^(?P<id>\d+)/edit/$', 'edit', name='ipr_edit'), url(r'^(?P<id>\d+)/edit/$', 'ietf.ipr.views.edit', name='ipr_edit'),
url(r'^(?P<id>\d+)/email/$', 'email', name='ipr_email'), url(r'^(?P<id>\d+)/email/$', 'ietf.ipr.views.email', name='ipr_email'),
url(r'^(?P<id>\d+)/history/$', 'history', name='ipr_history'), url(r'^(?P<id>\d+)/history/$', 'ietf.ipr.views.history', name='ipr_history'),
url(r'^(?P<id>\d+)/notify/(?P<type>update|posted)/$', 'notify', name='ipr_notify'), url(r'^(?P<id>\d+)/notify/(?P<type>update|posted)/$', 'ietf.ipr.views.notify', name='ipr_notify'),
url(r'^(?P<id>\d+)/post/$', 'post', name='ipr_post'), url(r'^(?P<id>\d+)/post/$', 'ietf.ipr.views.post', name='ipr_post'),
url(r'^(?P<id>\d+)/state/$', 'state', name='ipr_state'), url(r'^(?P<id>\d+)/state/$', 'ietf.ipr.views.state', name='ipr_state'),
(r'^update/$', RedirectView.as_view(url=reverse_lazy('ipr_showlist'), permanent=True)), url(r'^update/$', RedirectView.as_view(url=reverse_lazy('ipr_showlist'), permanent=True)),
url(r'^update/(?P<id>\d+)/$', 'update', name='ipr_update'), url(r'^update/(?P<id>\d+)/$', 'ietf.ipr.views.update', name='ipr_update'),
url(r'^new-(?P<type>(specific|generic|third-party))/$', 'new', name='ipr_new'), url(r'^new-(?P<type>(specific|generic|third-party))/$', 'ietf.ipr.views.new', name='ipr_new'),
url(r'^search/$', 'search', name="ipr_search"), url(r'^search/$', 'ietf.ipr.views.search', name="ipr_search"),
) ]

View file

@ -1,38 +1,38 @@
# Copyright The IETF Trust 2007, All Rights Reserved # Copyright The IETF Trust 2007, All Rights Reserved
from django.conf.urls import patterns, url from django.conf.urls import url
from django.views.generic import RedirectView, TemplateView from django.views.generic import RedirectView, TemplateView
urlpatterns = patterns('', urlpatterns = [
(r'^help/$', TemplateView.as_view(template_name='liaisons/help.html')), url(r'^help/$', TemplateView.as_view(template_name='liaisons/help.html')),
url(r'^help/fields/$', TemplateView.as_view(template_name='liaisons/field_help.html'), name='liaisons_field_help'), url(r'^help/fields/$', TemplateView.as_view(template_name='liaisons/field_help.html'), name='liaisons_field_help'),
(r'^help/from_ietf/$', TemplateView.as_view(template_name='liaisons/guide_from_ietf.html')), url(r'^help/from_ietf/$', TemplateView.as_view(template_name='liaisons/guide_from_ietf.html')),
(r'^help/to_ietf/$', TemplateView.as_view(template_name='liaisons/guide_to_ietf.html')), url(r'^help/to_ietf/$', TemplateView.as_view(template_name='liaisons/guide_to_ietf.html')),
(r'^managers/$', RedirectView.as_view(url='https://www.ietf.org/liaison/managers.html', permanent=True)), url(r'^managers/$', RedirectView.as_view(url='https://www.ietf.org/liaison/managers.html', permanent=True)),
) ]
# AJAX views # AJAX views
urlpatterns += patterns('ietf.liaisons.views', urlpatterns += [
(r'^ajax/get_info/$', 'ajax_get_liaison_info'), url(r'^ajax/get_info/$', 'ietf.liaisons.views.ajax_get_liaison_info'),
(r'^ajax/select2search/$', 'ajax_select2_search_liaison_statements'), url(r'^ajax/select2search/$', 'ietf.liaisons.views.ajax_select2_search_liaison_statements'),
) ]
# Views # Views
urlpatterns += patterns('ietf.liaisons.views', urlpatterns += [
(r'^$', 'liaison_list'), url(r'^$', 'ietf.liaisons.views.liaison_list'),
(r'^(?P<state>(posted|pending|dead))/', 'liaison_list'), url(r'^(?P<state>(posted|pending|dead))/', 'ietf.liaisons.views.liaison_list'),
(r'^(?P<object_id>\d+)/$', 'liaison_detail'), url(r'^(?P<object_id>\d+)/$', 'ietf.liaisons.views.liaison_detail'),
(r'^(?P<object_id>\d+)/addcomment/$', 'add_comment'), url(r'^(?P<object_id>\d+)/addcomment/$', 'ietf.liaisons.views.add_comment'),
(r'^(?P<object_id>\d+)/edit/$', 'liaison_edit'), url(r'^(?P<object_id>\d+)/edit/$', 'ietf.liaisons.views.liaison_edit'),
(r'^(?P<object_id>\d+)/edit-attachment/(?P<doc_id>[A-Za-z0-9._+-]+)$', 'liaison_edit_attachment'), url(r'^(?P<object_id>\d+)/edit-attachment/(?P<doc_id>[A-Za-z0-9._+-]+)$', 'ietf.liaisons.views.liaison_edit_attachment'),
(r'^(?P<object_id>\d+)/delete-attachment/(?P<attach_id>[A-Za-z0-9._+-]+)$', 'liaison_delete_attachment'), url(r'^(?P<object_id>\d+)/delete-attachment/(?P<attach_id>[A-Za-z0-9._+-]+)$', 'ietf.liaisons.views.liaison_delete_attachment'),
(r'^(?P<object_id>\d+)/history/$', 'liaison_history'), url(r'^(?P<object_id>\d+)/history/$', 'ietf.liaisons.views.liaison_history'),
(r'^(?P<object_id>\d+)/reply/$', 'liaison_reply'), url(r'^(?P<object_id>\d+)/reply/$', 'ietf.liaisons.views.liaison_reply'),
(r'^(?P<object_id>\d+)/resend/$', 'liaison_resend'), url(r'^(?P<object_id>\d+)/resend/$', 'ietf.liaisons.views.liaison_resend'),
(r'^add/(?P<type>(incoming|outgoing))/$', 'liaison_add'), url(r'^add/(?P<type>(incoming|outgoing))/$', 'ietf.liaisons.views.liaison_add'),
# Redirects for backwards compatibility # Redirects for backwards compatibility
(r'^add/$', 'redirect_add'), url(r'^add/$', 'ietf.liaisons.views.redirect_add'),
(r'^for_approval/$', 'redirect_for_approval'), url(r'^for_approval/$', 'ietf.liaisons.views.redirect_for_approval'),
(r'^for_approval/(?P<object_id>\d+)/$', 'redirect_for_approval'), url(r'^for_approval/(?P<object_id>\d+)/$', 'ietf.liaisons.views.redirect_for_approval'),
) ]

View file

@ -1,11 +1,11 @@
# Copyright The IETF Trust 2007, All Rights Reserved # Copyright The IETF Trust 2007, All Rights Reserved
from django.conf.urls import patterns from django.conf.urls import url
from django.views.generic import RedirectView from django.views.generic import RedirectView
urlpatterns = patterns('', urlpatterns = [
(r'^wg/$', 'ietf.mailinglists.views.groups'), url(r'^wg/$', 'ietf.mailinglists.views.groups'),
(r'^nonwg/$', RedirectView.as_view(url='https://www.ietf.org/list/nonwg.html', permanent=True)), url(r'^nonwg/$', RedirectView.as_view(url='https://www.ietf.org/list/nonwg.html', permanent=True)),
(r'^nonwg/update/$', RedirectView.as_view(url='https://www.ietf.org/list/nonwg.html', permanent=True)), url(r'^nonwg/update/$', RedirectView.as_view(url='https://www.ietf.org/list/nonwg.html', permanent=True)),
(r'^request/$', RedirectView.as_view(url='https://www.ietf.org/list/request.html', permanent=True)), url(r'^request/$', RedirectView.as_view(url='https://www.ietf.org/list/request.html', permanent=True)),
) ]

View file

@ -1,11 +1,11 @@
from django.conf.urls import patterns, url from django.conf.urls import url
from django.views.generic import RedirectView from django.views.generic import RedirectView
from django.core.urlresolvers import reverse_lazy from django.core.urlresolvers import reverse_lazy
urlpatterns = patterns('ietf.mailtrigger.views', urlpatterns = [
url(r'^$', RedirectView.as_view(url=reverse_lazy('mailtrigger_show_triggers'), permanent=True)), url(r'^$', RedirectView.as_view(url=reverse_lazy('mailtrigger_show_triggers'), permanent=True)),
url(r'^name/$', 'show_triggers', name='mailtrigger_show_triggers' ), url(r'^name/$', 'ietf.mailtrigger.views.show_triggers', name='mailtrigger_show_triggers' ),
url(r'^name/(?P<mailtrigger_slug>[-\w]+)/$', 'show_triggers' ), url(r'^name/(?P<mailtrigger_slug>[-\w]+)/$', 'ietf.mailtrigger.views.show_triggers' ),
url(r'^recipient/$', 'show_recipients' ), url(r'^recipient/$', 'ietf.mailtrigger.views.show_recipients' ),
url(r'^recipient/(?P<recipient_slug>[-\w]+)/$', 'show_recipients' ), url(r'^recipient/(?P<recipient_slug>[-\w]+)/$', 'ietf.mailtrigger.views.show_recipients' ),
) ]

View file

@ -1,48 +1,45 @@
from django.conf.urls import patterns, url from django.conf.urls import url
from ietf.nomcom.forms import EditMembersForm, EditMembersFormPreview from ietf.nomcom.forms import EditMembersForm, EditMembersFormPreview
from ietf.nomcom import views from ietf.nomcom import views
urlpatterns = patterns('ietf.nomcom.views', urlpatterns = [
url(r'^$', 'index'), url(r'^$', 'ietf.nomcom.views.index'),
url(r'^ann/$', 'announcements'), url(r'^ann/$', 'ietf.nomcom.views.announcements'),
url(r'^(?P<year>\d{4})/private/$', 'private_index', name='nomcom_private_index'), url(r'^(?P<year>\d{4})/private/$', 'ietf.nomcom.views.private_index', name='nomcom_private_index'),
url(r'^(?P<year>\d{4})/private/key/$', 'private_key', name='nomcom_private_key'), url(r'^(?P<year>\d{4})/private/key/$', 'ietf.nomcom.views.private_key', name='nomcom_private_key'),
url(r'^(?P<year>\d{4})/private/help/$', 'configuration_help', name='nomcom_chair_help'), url(r'^(?P<year>\d{4})/private/help/$', 'ietf.nomcom.views.configuration_help', name='nomcom_chair_help'),
url(r'^(?P<year>\d{4})/private/nominate/$', 'private_nominate', name='nomcom_private_nominate'), url(r'^(?P<year>\d{4})/private/nominate/$', 'ietf.nomcom.views.private_nominate', name='nomcom_private_nominate'),
url(r'^(?P<year>\d{4})/private/nominate/newperson$', 'private_nominate_newperson', name='nomcom_private_nominate_newperson'), url(r'^(?P<year>\d{4})/private/nominate/newperson$', 'ietf.nomcom.views.private_nominate_newperson', name='nomcom_private_nominate_newperson'),
url(r'^(?P<year>\d{4})/private/feedback/$', 'private_feedback', name='nomcom_private_feedback'), url(r'^(?P<year>\d{4})/private/feedback/$', 'ietf.nomcom.views.private_feedback', name='nomcom_private_feedback'),
url(r'^(?P<year>\d{4})/private/feedback-email/$', 'private_feedback_email', name='nomcom_private_feedback_email'), url(r'^(?P<year>\d{4})/private/feedback-email/$', 'ietf.nomcom.views.private_feedback_email', name='nomcom_private_feedback_email'),
url(r'^(?P<year>\d{4})/private/questionnaire-response/$', 'private_questionnaire', name='nomcom_private_questionnaire'), url(r'^(?P<year>\d{4})/private/questionnaire-response/$', 'ietf.nomcom.views.private_questionnaire', name='nomcom_private_questionnaire'),
url(r'^(?P<year>\d{4})/private/view-feedback/$', 'view_feedback', name='nomcom_view_feedback'), url(r'^(?P<year>\d{4})/private/view-feedback/$', 'ietf.nomcom.views.view_feedback', name='nomcom_view_feedback'),
url(r'^(?P<year>\d{4})/private/view-feedback/unrelated/$', 'view_feedback_unrelated', name='nomcom_view_feedback_unrelated'), url(r'^(?P<year>\d{4})/private/view-feedback/unrelated/$', 'ietf.nomcom.views.view_feedback_unrelated', name='nomcom_view_feedback_unrelated'),
url(r'^(?P<year>\d{4})/private/view-feedback/pending/$', 'view_feedback_pending', name='nomcom_view_feedback_pending'), url(r'^(?P<year>\d{4})/private/view-feedback/pending/$', 'ietf.nomcom.views.view_feedback_pending', name='nomcom_view_feedback_pending'),
url(r'^(?P<year>\d{4})/private/view-feedback/nominee/(?P<nominee_id>\d+)$', 'view_feedback_nominee', name='nomcom_view_feedback_nominee'), url(r'^(?P<year>\d{4})/private/view-feedback/nominee/(?P<nominee_id>\d+)$', 'ietf.nomcom.views.view_feedback_nominee', name='nomcom_view_feedback_nominee'),
url(r'^(?P<year>\d{4})/private/edit/nominee/(?P<nominee_id>\d+)$', 'edit_nominee', name='nomcom_edit_nominee'), url(r'^(?P<year>\d{4})/private/edit/nominee/(?P<nominee_id>\d+)$', 'ietf.nomcom.views.edit_nominee', name='nomcom_edit_nominee'),
url(r'^(?P<year>\d{4})/private/merge-nominee/?$', views.private_merge_nominee), url(r'^(?P<year>\d{4})/private/merge-nominee/?$', views.private_merge_nominee),
url(r'^(?P<year>\d{4})/private/merge-person/?$', views.private_merge_person), url(r'^(?P<year>\d{4})/private/merge-person/?$', views.private_merge_person),
# url(r'^(?P<year>\d{4})/private/send-reminder-mail/$', RedirectView.as_view(url=reverse_lazy('nomcom_send_reminder_mail',kwargs={'year':year,'type':'accept'}))), # url(r'^(?P<year>\d{4})/private/send-reminder-mail/$', RedirectView.as_view(url=reverse_lazy('nomcom_send_reminder_mail',kwargs={'year':year,'type':'accept'}))),
url(r'^(?P<year>\d{4})/private/send-reminder-mail/(?P<type>\w+)/$', 'send_reminder_mail', name='nomcom_send_reminder_mail'), url(r'^(?P<year>\d{4})/private/send-reminder-mail/(?P<type>\w+)/$', 'ietf.nomcom.views.send_reminder_mail', name='nomcom_send_reminder_mail'),
url(r'^(?P<year>\d{4})/private/edit-members/$', EditMembersFormPreview(EditMembersForm), name='nomcom_edit_members'), url(r'^(?P<year>\d{4})/private/edit-members/$', EditMembersFormPreview(EditMembersForm), name='nomcom_edit_members'),
url(r'^(?P<year>\d{4})/private/edit-nomcom/$', 'edit_nomcom', name='nomcom_edit_nomcom'), url(r'^(?P<year>\d{4})/private/edit-nomcom/$', 'ietf.nomcom.views.edit_nomcom', name='nomcom_edit_nomcom'),
url(r'^(?P<year>\d{4})/private/chair/templates/$', 'list_templates', name='nomcom_list_templates'), url(r'^(?P<year>\d{4})/private/chair/templates/$', 'ietf.nomcom.views.list_templates', name='nomcom_list_templates'),
url(r'^(?P<year>\d{4})/private/chair/templates/(?P<template_id>\d+)/$', 'edit_template', name='nomcom_edit_template'), url(r'^(?P<year>\d{4})/private/chair/templates/(?P<template_id>\d+)/$', 'ietf.nomcom.views.edit_template', name='nomcom_edit_template'),
url(r'^(?P<year>\d{4})/private/chair/position/$', 'list_positions', name='nomcom_list_positions'), url(r'^(?P<year>\d{4})/private/chair/position/$', 'ietf.nomcom.views.list_positions', name='nomcom_list_positions'),
url(r'^(?P<year>\d{4})/private/chair/position/add/$', 'edit_position', name='nomcom_add_position'), url(r'^(?P<year>\d{4})/private/chair/position/add/$', 'ietf.nomcom.views.edit_position', name='nomcom_add_position'),
url(r'^(?P<year>\d{4})/private/chair/position/(?P<position_id>\d+)/$', 'edit_position', name='nomcom_edit_position'), url(r'^(?P<year>\d{4})/private/chair/position/(?P<position_id>\d+)/$', 'ietf.nomcom.views.edit_position', name='nomcom_edit_position'),
url(r'^(?P<year>\d{4})/private/chair/position/(?P<position_id>\d+)/remove/$', 'remove_position', name='nomcom_remove_position'), url(r'^(?P<year>\d{4})/private/chair/position/(?P<position_id>\d+)/remove/$', 'ietf.nomcom.views.remove_position', name='nomcom_remove_position'),
url(r'^(?P<year>\d{4})/$', 'year_index', name='nomcom_year_index'),
url(r'^(?P<year>\d{4})/requirements/$', 'requirements', name='nomcom_requirements'),
url(r'^(?P<year>\d{4})/expertise/$', 'requirements', name='nomcom_requirements'),
url(r'^(?P<year>\d{4})/questionnaires/$', 'questionnaires', name='nomcom_questionnaires'),
url(r'^(?P<year>\d{4})/feedback/$', 'public_feedback', name='nomcom_public_feedback'),
url(r'^(?P<year>\d{4})/nominate/$', 'public_nominate', name='nomcom_public_nominate'),
url(r'^(?P<year>\d{4})/nominate/newperson$', 'public_nominate_newperson', name='nomcom_public_nominate_newperson'),
url(r'^(?P<year>\d{4})/process-nomination-status/(?P<nominee_position_id>\d+)/(?P<state>[\w]+)/(?P<date>[\d]+)/(?P<hash>[a-f0-9]+)/$', 'process_nomination_status', name='nomcom_process_nomination_status'),
)
url(r'^(?P<year>\d{4})/$', 'ietf.nomcom.views.year_index', name='nomcom_year_index'),
url(r'^(?P<year>\d{4})/requirements/$', 'ietf.nomcom.views.requirements', name='nomcom_requirements'),
url(r'^(?P<year>\d{4})/expertise/$', 'ietf.nomcom.views.requirements', name='nomcom_requirements'),
url(r'^(?P<year>\d{4})/questionnaires/$', 'ietf.nomcom.views.questionnaires', name='nomcom_questionnaires'),
url(r'^(?P<year>\d{4})/feedback/$', 'ietf.nomcom.views.public_feedback', name='nomcom_public_feedback'),
url(r'^(?P<year>\d{4})/nominate/$', 'ietf.nomcom.views.public_nominate', name='nomcom_public_nominate'),
url(r'^(?P<year>\d{4})/nominate/newperson$', 'ietf.nomcom.views.public_nominate_newperson', name='nomcom_public_nominate_newperson'),
url(r'^(?P<year>\d{4})/process-nomination-status/(?P<nominee_position_id>\d+)/(?P<state>[\w]+)/(?P<date>[\d]+)/(?P<hash>[a-f0-9]+)/$', 'ietf.nomcom.views.process_nomination_status', name='nomcom_process_nomination_status'),
# use the generic view from message # use the generic view from message
urlpatterns += patterns('',
url(r'^ann/(?P<message_id>\d+)/$', 'ietf.message.views.message', {'group_type': "nomcom" }, "nomcom_announcement"), url(r'^ann/(?P<message_id>\d+)/$', 'ietf.message.views.message', {'group_type': "nomcom" }, "nomcom_announcement"),
) ]

View file

@ -1,8 +1,8 @@
from django.conf.urls import patterns from django.conf.urls import url
from ietf.person import views, ajax from ietf.person import views, ajax
urlpatterns = patterns('', urlpatterns = [
(r'^search/(?P<model_name>(person|email))/$', "ietf.person.views.ajax_select2_search", None, 'ajax_select2_search_person_email'), url(r'^search/(?P<model_name>(person|email))/$', "ietf.person.views.ajax_select2_search", None, 'ajax_select2_search_person_email'),
(r'^(?P<personid>[a-z0-9]+).json$', ajax.person_json), url(r'^(?P<personid>[a-z0-9]+).json$', ajax.person_json),
(ur'^(?P<email_or_name>[-\w\s\']+)', views.profile), url(ur'^(?P<email_or_name>[-\w\s\']+)', views.profile),
) ]

View file

@ -1,7 +1,7 @@
# Copyright The IETF Trust 2007, All Rights Reserved # Copyright The IETF Trust 2007, All Rights Reserved
from django.conf.urls import patterns from django.conf.urls import url
urlpatterns = patterns('', urlpatterns = [
(r'^(?P<script>.*?\.cgi)(/.*)?$', 'ietf.redirects.views.redirect'), url(r'^(?P<script>.*?\.cgi)(/.*)?$', 'ietf.redirects.views.redirect'),
) ]

View file

@ -1,11 +1,10 @@
from django.conf.urls import patterns from django.conf.urls import url
from django.views.generic import TemplateView from django.views.generic import TemplateView
urlpatterns = patterns('', urlpatterns = [
(r'^$', 'ietf.release.views.release'), url(r'^$', 'ietf.release.views.release'),
(r'^(?P<version>[0-9.]+.*)/$', 'ietf.release.views.release'), url(r'^(?P<version>[0-9.]+.*)/$', 'ietf.release.views.release'),
(r'^about/?$', TemplateView.as_view(template_name='release/about.html')), url(r'^about/?$', TemplateView.as_view(template_name='release/about.html')),
(r'^todo/?$', TemplateView.as_view(template_name='release/todo.html')), url(r'^todo/?$', TemplateView.as_view(template_name='release/todo.html')),
]
)

View file

@ -1,6 +1,6 @@
from django.conf.urls import patterns, url from django.conf.urls import url
urlpatterns = patterns('ietf.secr.announcement.views', urlpatterns = [
url(r'^$', 'main', name='announcement'), url(r'^$', 'ietf.secr.announcement.views.main', name='announcement'),
url(r'^confirm/$', 'confirm', name='announcement_confirm'), url(r'^confirm/$', 'ietf.secr.announcement.views.confirm', name='announcement_confirm'),
) ]

View file

@ -1,12 +1,12 @@
from django.conf.urls import patterns, url from django.conf.urls import url
urlpatterns = patterns('ietf.secr.areas.views', urlpatterns = [
url(r'^$', 'list_areas', name='areas'), url(r'^$', 'ietf.secr.areas.views.list_areas', name='areas'),
url(r'^add/$', 'add', name='areas_add'), url(r'^add/$', 'ietf.secr.areas.views.add', name='areas_add'),
url(r'^getemails', 'getemails', name='areas_emails'), url(r'^getemails', 'ietf.secr.areas.views.getemails', name='areas_emails'),
url(r'^getpeople', 'getpeople', name='areas_getpeople'), url(r'^getpeople', 'ietf.secr.areas.views.getpeople', name='areas_getpeople'),
url(r'^(?P<name>[A-Za-z0-9.-]+)/$', 'view', name='areas_view'), url(r'^(?P<name>[A-Za-z0-9.-]+)/$', 'ietf.secr.areas.views.view', name='areas_view'),
url(r'^(?P<name>[A-Za-z0-9.-]+)/edit/$', 'edit', name='areas_edit'), url(r'^(?P<name>[A-Za-z0-9.-]+)/edit/$', 'ietf.secr.areas.views.edit', name='areas_edit'),
url(r'^(?P<name>[A-Za-z0-9.-]+)/people/$', 'people', name='areas_people'), url(r'^(?P<name>[A-Za-z0-9.-]+)/people/$', 'ietf.secr.areas.views.people', name='areas_people'),
url(r'^(?P<name>[A-Za-z0-9.-]+)/people/modify/$', 'modify', name='areas_modify'), url(r'^(?P<name>[A-Za-z0-9.-]+)/people/modify/$', 'ietf.secr.areas.views.modify', name='areas_modify'),
) ]

View file

@ -1,5 +1,5 @@
from django.conf.urls import patterns, url from django.conf.urls import url
urlpatterns = patterns('ietf.secr.console.views', urlpatterns = [
url(r'^$', 'main', name='console'), url(r'^$', 'ietf.secr.console.views.main', name='console'),
) ]

View file

@ -1,25 +1,24 @@
from django.conf.urls import patterns, url from django.conf.urls import url
urlpatterns = patterns('ietf.secr.drafts.views', urlpatterns = [
url(r'^$', 'search', name='drafts'), url(r'^$', 'ietf.secr.drafts.views.search', name='drafts'),
url(r'^add/$', 'add', name='drafts_add'), url(r'^add/$', 'ietf.secr.drafts.views.add', name='drafts_add'),
url(r'^approvals/$', 'approvals', name='drafts_approvals'), url(r'^approvals/$', 'ietf.secr.drafts.views.approvals', name='drafts_approvals'),
url(r'^dates/$', 'dates', name='drafts_dates'), url(r'^dates/$', 'ietf.secr.drafts.views.dates', name='drafts_dates'),
url(r'^nudge-report/$', 'nudge_report', name='drafts_nudge_report'), url(r'^nudge-report/$', 'ietf.secr.drafts.views.nudge_report', name='drafts_nudge_report'),
url(r'^(?P<id>[A-Za-z0-9._\-\+]+)/$', 'view', name='drafts_view'), url(r'^(?P<id>[A-Za-z0-9._\-\+]+)/$', 'ietf.secr.drafts.views.view', name='drafts_view'),
url(r'^(?P<id>[A-Za-z0-9._\-\+]+)/abstract/$', 'abstract', name='drafts_abstract'), url(r'^(?P<id>[A-Za-z0-9._\-\+]+)/abstract/$', 'ietf.secr.drafts.views.abstract', name='drafts_abstract'),
url(r'^(?P<id>[A-Za-z0-9._\-\+]+)/announce/$', 'announce', name='drafts_announce'), url(r'^(?P<id>[A-Za-z0-9._\-\+]+)/announce/$', 'ietf.secr.drafts.views.announce', name='drafts_announce'),
url(r'^(?P<id>[A-Za-z0-9._\-\+]+)/authors/$', 'authors', name='drafts_authors'), url(r'^(?P<id>[A-Za-z0-9._\-\+]+)/authors/$', 'ietf.secr.drafts.views.authors', name='drafts_authors'),
url(r'^(?P<id>[A-Za-z0-9._\-\+]+)/author_delete/(?P<oid>\d{1,6})$', url(r'^(?P<id>[A-Za-z0-9._\-\+]+)/author_delete/(?P<oid>\d{1,6})$', 'ietf.secr.drafts.views.author_delete', name='drafts_author_delete'),
'author_delete', name='drafts_author_delete'), url(r'^(?P<id>[A-Za-z0-9._\-\+]+)/confirm/$', 'ietf.secr.drafts.views.confirm', name='drafts_confirm'),
url(r'^(?P<id>[A-Za-z0-9._\-\+]+)/confirm/$', 'confirm', name='drafts_confirm'), url(r'^(?P<id>[A-Za-z0-9._\-\+]+)/edit/$', 'ietf.secr.drafts.views.edit', name='drafts_edit'),
url(r'^(?P<id>[A-Za-z0-9._\-\+]+)/edit/$', 'edit', name='drafts_edit'), url(r'^(?P<id>[A-Za-z0-9._\-\+]+)/extend/$', 'ietf.secr.drafts.views.extend', name='drafts_extend'),
url(r'^(?P<id>[A-Za-z0-9._\-\+]+)/extend/$', 'extend', name='drafts_extend'), url(r'^(?P<id>[A-Za-z0-9._\-\+]+)/email/$', 'ietf.secr.drafts.views.email', name='drafts_email'),
url(r'^(?P<id>[A-Za-z0-9._\-\+]+)/email/$', 'email', name='drafts_email'), url(r'^(?P<id>[A-Za-z0-9._\-\+]+)/makerfc/$', 'ietf.secr.drafts.views.makerfc', name='drafts_makerfc'),
url(r'^(?P<id>[A-Za-z0-9._\-\+]+)/makerfc/$', 'makerfc', name='drafts_makerfc'), url(r'^(?P<id>[A-Za-z0-9._\-\+]+)/replace/$', 'ietf.secr.drafts.views.replace', name='drafts_replace'),
url(r'^(?P<id>[A-Za-z0-9._\-\+]+)/replace/$', 'replace', name='drafts_replace'), url(r'^(?P<id>[A-Za-z0-9._\-\+]+)/resurrect/$', 'ietf.secr.drafts.views.resurrect', name='drafts_resurrect'),
url(r'^(?P<id>[A-Za-z0-9._\-\+]+)/resurrect/$', 'resurrect', name='drafts_resurrect'), url(r'^(?P<id>[A-Za-z0-9._\-\+]+)/revision/$', 'ietf.secr.drafts.views.revision', name='drafts_revision'),
url(r'^(?P<id>[A-Za-z0-9._\-\+]+)/revision/$', 'revision', name='drafts_revision'), url(r'^(?P<id>[A-Za-z0-9._\-\+]+)/update/$', 'ietf.secr.drafts.views.update', name='drafts_update'),
url(r'^(?P<id>[A-Za-z0-9._\-\+]+)/update/$', 'update', name='drafts_update'), url(r'^(?P<id>[A-Za-z0-9._\-\+]+)/withdraw/$', 'ietf.secr.drafts.views.withdraw', name='drafts_withdraw'),
url(r'^(?P<id>[A-Za-z0-9._\-\+]+)/withdraw/$', 'withdraw', name='drafts_withdraw'), ]
)

View file

@ -1,17 +1,17 @@
from django.conf.urls import patterns, url from django.conf.urls import url
from django.conf import settings from django.conf import settings
urlpatterns = patterns('ietf.secr.groups.views', urlpatterns = [
url(r'^$', 'search', name='groups'), url(r'^$', 'ietf.secr.groups.views.search', name='groups'),
url(r'^add/$', 'add', name='groups_add'), url(r'^add/$', 'ietf.secr.groups.views.add', name='groups_add'),
url(r'^blue-dot-report/$', 'blue_dot', name='groups_blue_dot'), url(r'^blue-dot-report/$', 'ietf.secr.groups.views.blue_dot', name='groups_blue_dot'),
url(r'^search/$', 'search', name='groups_search'), url(r'^search/$', 'ietf.secr.groups.views.search', name='groups_search'),
#(r'^ajax/get_ads/$', 'get_ads'), #(r'^ajax/get_ads/$', 'ietf.secr.groups.views.get_ads'),
url(r'^%(acronym)s/$' % settings.URL_REGEXPS, 'view', name='groups_view'), url(r'^%(acronym)s/$' % settings.URL_REGEXPS, 'ietf.secr.groups.views.view', name='groups_view'),
url(r'^%(acronym)s/delete/(?P<id>\d{1,6})/$' % settings.URL_REGEXPS, 'delete_role', name='groups_delete_role'), url(r'^%(acronym)s/delete/(?P<id>\d{1,6})/$' % settings.URL_REGEXPS, 'ietf.secr.groups.views.delete_role', name='groups_delete_role'),
url(r'^%(acronym)s/charter/$' % settings.URL_REGEXPS, 'charter', name='groups_charter'), url(r'^%(acronym)s/charter/$' % settings.URL_REGEXPS, 'ietf.secr.groups.views.charter', name='groups_charter'),
url(r'^%(acronym)s/edit/$' % settings.URL_REGEXPS, 'edit', name='groups_edit'), url(r'^%(acronym)s/edit/$' % settings.URL_REGEXPS, 'ietf.secr.groups.views.edit', name='groups_edit'),
url(r'^%(acronym)s/gm/$' % settings.URL_REGEXPS, 'view_gm', name='groups_view_gm'), url(r'^%(acronym)s/gm/$' % settings.URL_REGEXPS, 'ietf.secr.groups.views.view_gm', name='groups_view_gm'),
url(r'^%(acronym)s/gm/edit/$' % settings.URL_REGEXPS, 'edit_gm', name='groups_edit_gm'), url(r'^%(acronym)s/gm/edit/$' % settings.URL_REGEXPS, 'ietf.secr.groups.views.edit_gm', name='groups_edit_gm'),
url(r'^%(acronym)s/people/$' % settings.URL_REGEXPS, 'people', name='groups_people'), url(r'^%(acronym)s/people/$' % settings.URL_REGEXPS, 'ietf.secr.groups.views.people', name='groups_people'),
) ]

View file

@ -1,25 +1,25 @@
from django.conf.urls import patterns, url from django.conf.urls import url
urlpatterns = patterns('ietf.secr.meetings.views', urlpatterns = [
url(r'^$', 'main', name='meetings'), url(r'^$', 'ietf.secr.meetings.views.main', name='meetings'),
url(r'^add/$', 'add', name='meetings_add'), url(r'^add/$', 'ietf.secr.meetings.views.add', name='meetings_add'),
url(r'^ajax/get-times/(?P<meeting_id>\d{1,6})/(?P<day>\d)/$', 'ajax_get_times', name='meetings_ajax_get_times'), url(r'^ajax/get-times/(?P<meeting_id>\d{1,6})/(?P<day>\d)/$', 'ietf.secr.meetings.views.ajax_get_times', name='meetings_ajax_get_times'),
url(r'^blue_sheet/$', 'blue_sheet_redirect', name='meetings_blue_sheet_redirect'), url(r'^blue_sheet/$', 'ietf.secr.meetings.views.blue_sheet_redirect', name='meetings_blue_sheet_redirect'),
url(r'^(?P<meeting_id>\d{1,6})/$', 'view', name='meetings_view'), url(r'^(?P<meeting_id>\d{1,6})/$', 'ietf.secr.meetings.views.view', name='meetings_view'),
url(r'^(?P<meeting_id>\d{1,6})/blue_sheet/$', 'blue_sheet', name='meetings_blue_sheet'), url(r'^(?P<meeting_id>\d{1,6})/blue_sheet/$', 'ietf.secr.meetings.views.blue_sheet', name='meetings_blue_sheet'),
url(r'^(?P<meeting_id>\d{1,6})/blue_sheet/generate/$', 'blue_sheet_generate', name='meetings_blue_sheet_generate'), url(r'^(?P<meeting_id>\d{1,6})/blue_sheet/generate/$', 'ietf.secr.meetings.views.blue_sheet_generate', name='meetings_blue_sheet_generate'),
url(r'^(?P<meeting_id>\d{1,6})/edit/$', 'edit_meeting', name='meetings_edit_meeting'), url(r'^(?P<meeting_id>\d{1,6})/edit/$', 'ietf.secr.meetings.views.edit_meeting', name='meetings_edit_meeting'),
url(r'^(?P<meeting_id>\d{1,6})/notifications/$', 'notifications', name='meetings_notifications'), url(r'^(?P<meeting_id>\d{1,6})/notifications/$', 'ietf.secr.meetings.views.notifications', name='meetings_notifications'),
url(r'^(?P<meeting_id>\d{1,6})/(?P<schedule_name>[A-Za-z0-9_\-]+)/$', 'select', name='meetings_select'), url(r'^(?P<meeting_id>\d{1,6})/(?P<schedule_name>[A-Za-z0-9_\-]+)/$', 'ietf.secr.meetings.views.select', name='meetings_select'),
url(r'^(?P<meeting_id>\d{1,6})/(?P<schedule_name>[A-Za-z0-9_\-]+)/non_session/$', 'non_session', name='meetings_non_session'), url(r'^(?P<meeting_id>\d{1,6})/(?P<schedule_name>[A-Za-z0-9_\-]+)/non_session/$', 'ietf.secr.meetings.views.non_session', name='meetings_non_session'),
url(r'^(?P<meeting_id>\d{1,6})/(?P<schedule_name>[A-Za-z0-9_\-]+)/non_session/edit/(?P<slot_id>\d{1,6})/$', 'non_session_edit', name='meetings_non_session_edit'), url(r'^(?P<meeting_id>\d{1,6})/(?P<schedule_name>[A-Za-z0-9_\-]+)/non_session/edit/(?P<slot_id>\d{1,6})/$', 'ietf.secr.meetings.views.non_session_edit', name='meetings_non_session_edit'),
url(r'^(?P<meeting_id>\d{1,6})/(?P<schedule_name>[A-Za-z0-9_\-]+)/non_session/delete/(?P<slot_id>\d{1,6})/$', 'non_session_delete', name='meetings_non_session_delete'), url(r'^(?P<meeting_id>\d{1,6})/(?P<schedule_name>[A-Za-z0-9_\-]+)/non_session/delete/(?P<slot_id>\d{1,6})/$', 'ietf.secr.meetings.views.non_session_delete', name='meetings_non_session_delete'),
url(r'^(?P<meeting_id>\d{1,6})/(?P<schedule_name>[A-Za-z0-9_\-]+)/rooms/$', 'rooms', name='meetings_rooms'), url(r'^(?P<meeting_id>\d{1,6})/(?P<schedule_name>[A-Za-z0-9_\-]+)/rooms/$', 'ietf.secr.meetings.views.rooms', name='meetings_rooms'),
url(r'^(?P<meeting_id>\d{1,6})/(?P<schedule_name>[A-Za-z0-9_\-]+)/select/$', 'select_group', name='meetings_select_group'), url(r'^(?P<meeting_id>\d{1,6})/(?P<schedule_name>[A-Za-z0-9_\-]+)/select/$', 'ietf.secr.meetings.views.select_group', name='meetings_select_group'),
url(r'^(?P<meeting_id>\d{1,6})/(?P<schedule_name>[A-Za-z0-9_\-]+)/times/$', 'times', name='meetings_times'), url(r'^(?P<meeting_id>\d{1,6})/(?P<schedule_name>[A-Za-z0-9_\-]+)/times/$', 'ietf.secr.meetings.views.times', name='meetings_times'),
url(r'^(?P<meeting_id>\d{1,6})/(?P<schedule_name>[A-Za-z0-9_\-]+)/times/delete/(?P<time>[0-9\:]+)/$', 'times_delete', name='meetings_times_delete'), url(r'^(?P<meeting_id>\d{1,6})/(?P<schedule_name>[A-Za-z0-9_\-]+)/times/delete/(?P<time>[0-9\:]+)/$', 'ietf.secr.meetings.views.times_delete', name='meetings_times_delete'),
url(r'^(?P<meeting_id>\d{1,6})/(?P<schedule_name>[A-Za-z0-9_\-]+)/times/edit/(?P<time>[0-9\:]+)/$', 'times_edit', name='meetings_times_edit'), url(r'^(?P<meeting_id>\d{1,6})/(?P<schedule_name>[A-Za-z0-9_\-]+)/times/edit/(?P<time>[0-9\:]+)/$', 'ietf.secr.meetings.views.times_edit', name='meetings_times_edit'),
url(r'^(?P<meeting_id>\d{1,6})/(?P<schedule_name>[A-Za-z0-9_\-]+)/unschedule/(?P<session_id>\d{1,6})/$', 'unschedule', name='meetings_unschedule'), url(r'^(?P<meeting_id>\d{1,6})/(?P<schedule_name>[A-Za-z0-9_\-]+)/unschedule/(?P<session_id>\d{1,6})/$', 'ietf.secr.meetings.views.unschedule', name='meetings_unschedule'),
url(r'^(?P<meeting_id>\d{1,6})/(?P<schedule_name>[A-Za-z0-9_\-]+)/(?P<acronym>[-a-z0-9]+)/schedule/$', 'schedule', name='meetings_schedule'), url(r'^(?P<meeting_id>\d{1,6})/(?P<schedule_name>[A-Za-z0-9_\-]+)/(?P<acronym>[-a-z0-9]+)/schedule/$', 'ietf.secr.meetings.views.schedule', name='meetings_schedule'),
url(r'^(?P<meeting_id>\d{1,6})/(?P<acronym>[-a-z0-9]+)/remove/$', 'remove_session', name='meetings_remove_session'), url(r'^(?P<meeting_id>\d{1,6})/(?P<acronym>[-a-z0-9]+)/remove/$', 'ietf.secr.meetings.views.remove_session', name='meetings_remove_session'),
) ]

View file

@ -1,16 +1,16 @@
from django.conf.urls import patterns, url from django.conf.urls import url
from django.conf import settings from django.conf import settings
from ietf.meeting.views import OldUploadRedirect from ietf.meeting.views import OldUploadRedirect
urlpatterns = patterns('ietf.secr.proceedings.views', urlpatterns = [
url(r'^$', 'main', name='proceedings'), url(r'^$', 'ietf.secr.proceedings.views.main', name='proceedings'),
url(r'^ajax/generate-proceedings/(?P<meeting_num>\d{1,3})/$', 'ajax_generate_proceedings', name='proceedings_ajax_generate_proceedings'), url(r'^ajax/generate-proceedings/(?P<meeting_num>\d{1,3})/$', 'ietf.secr.proceedings.views.ajax_generate_proceedings', name='proceedings_ajax_generate_proceedings'),
# special offline URL for testing proceedings build # special offline URL for testing proceedings build
url(r'^process-pdfs/(?P<meeting_num>\d{1,3})/$', 'process_pdfs', name='proceedings_process_pdfs'), url(r'^process-pdfs/(?P<meeting_num>\d{1,3})/$', 'ietf.secr.proceedings.views.process_pdfs', name='proceedings_process_pdfs'),
url(r'^progress-report/(?P<meeting_num>\d{1,3})/$', 'progress_report', name='proceedings_progress_report'), url(r'^progress-report/(?P<meeting_num>\d{1,3})/$', 'ietf.secr.proceedings.views.progress_report', name='proceedings_progress_report'),
url(r'^(?P<meeting_num>\d{1,3})/$', 'select', name='proceedings_select'), url(r'^(?P<meeting_num>\d{1,3})/$', 'ietf.secr.proceedings.views.select', name='proceedings_select'),
url(r'^(?P<meeting_num>\d{1,3})/recording/$', 'recording', name='proceedings_recording'), url(r'^(?P<meeting_num>\d{1,3})/recording/$', 'ietf.secr.proceedings.views.recording', name='proceedings_recording'),
url(r'^(?P<meeting_num>\d{1,3})/recording/edit/(?P<name>[A-Za-z0-9_\-\+]+)$', 'recording_edit', name='proceedings_recording_edit'), url(r'^(?P<meeting_num>\d{1,3})/recording/edit/(?P<name>[A-Za-z0-9_\-\+]+)$', 'ietf.secr.proceedings.views.recording_edit', name='proceedings_recording_edit'),
url(r'^(?P<num>\d{1,3}|interim-\d{4}-[A-Za-z0-9_\-\+]+)/%(acronym)s/$' % settings.URL_REGEXPS, url(r'^(?P<num>\d{1,3}|interim-\d{4}-[A-Za-z0-9_\-\+]+)/%(acronym)s/$' % settings.URL_REGEXPS,
OldUploadRedirect.as_view(permanent=True)), OldUploadRedirect.as_view(permanent=True)),
) ]

View file

@ -1,8 +1,8 @@
from django.conf.urls import patterns, url from django.conf.urls import url
from django.conf import settings from django.conf import settings
urlpatterns = patterns('ietf.secr.roles.views', urlpatterns = [
url(r'^$', 'main', name='roles'), url(r'^$', 'ietf.secr.roles.views.main', name='roles'),
url(r'^ajax/get-roles/%(acronym)s/$' % settings.URL_REGEXPS, 'ajax_get_roles', name='roles_ajax_get_roles'), url(r'^ajax/get-roles/%(acronym)s/$' % settings.URL_REGEXPS, 'ietf.secr.roles.views.ajax_get_roles', name='roles_ajax_get_roles'),
url(r'^%(acronym)s/delete/(?P<id>\d{1,6})/$' % settings.URL_REGEXPS, 'delete_role', name='roles_delete_role'), url(r'^%(acronym)s/delete/(?P<id>\d{1,6})/$' % settings.URL_REGEXPS, 'ietf.secr.roles.views.delete_role', name='roles_delete_role'),
) ]

View file

@ -1,10 +1,10 @@
from django.conf.urls import patterns, url from django.conf.urls import url
urlpatterns = patterns('ietf.secr.rolodex.views', urlpatterns = [
url(r'^$', 'search', name='rolodex'), url(r'^$', 'ietf.secr.rolodex.views.search', name='rolodex'),
url(r'^add/$', 'add', name='rolodex_add'), url(r'^add/$', 'ietf.secr.rolodex.views.add', name='rolodex_add'),
url(r'^add-proceed/$', 'add_proceed', name='rolodex_add_proceed'), url(r'^add-proceed/$', 'ietf.secr.rolodex.views.add_proceed', name='rolodex_add_proceed'),
url(r'^(?P<id>\d{1,6})/edit/$', 'edit', name='rolodex_edit'), url(r'^(?P<id>\d{1,6})/edit/$', 'ietf.secr.rolodex.views.edit', name='rolodex_edit'),
#url(r'^(?P<id>\d{1,6})/delete/$', 'delete', name='rolodex_delete'), #url(r'^(?P<id>\d{1,6})/delete/$', 'ietf.secr.rolodex.views.delete', name='rolodex_delete'),
url(r'^(?P<id>\d{1,6})/$', 'view', name='rolodex_view'), url(r'^(?P<id>\d{1,6})/$', 'ietf.secr.rolodex.views.view', name='rolodex_view'),
) ]

View file

@ -1,16 +1,16 @@
from django.conf.urls import patterns, url from django.conf.urls import url
from django.conf import settings from django.conf import settings
urlpatterns = patterns('ietf.secr.sreq.views', urlpatterns = [
url(r'^$', 'main', name='sessions'), url(r'^$', 'ietf.secr.sreq.views.main', name='sessions'),
url(r'^status/$', 'tool_status', name='sessions_tool_status'), url(r'^status/$', 'ietf.secr.sreq.views.tool_status', name='sessions_tool_status'),
url(r'^%(acronym)s/$' % settings.URL_REGEXPS, 'view', name='sessions_view'), url(r'^%(acronym)s/$' % settings.URL_REGEXPS, 'ietf.secr.sreq.views.view', name='sessions_view'),
url(r'^(?P<num>[A-Za-z0-9_\-\+]+)/%(acronym)s/view/$' % settings.URL_REGEXPS, 'view', name='sessions_view'), url(r'^(?P<num>[A-Za-z0-9_\-\+]+)/%(acronym)s/view/$' % settings.URL_REGEXPS, 'ietf.secr.sreq.views.view', name='sessions_view'),
url(r'^%(acronym)s/approve/$' % settings.URL_REGEXPS, 'approve', name='sessions_approve'), url(r'^%(acronym)s/approve/$' % settings.URL_REGEXPS, 'ietf.secr.sreq.views.approve', name='sessions_approve'),
url(r'^%(acronym)s/cancel/$' % settings.URL_REGEXPS, 'cancel', name='sessions_cancel'), url(r'^%(acronym)s/cancel/$' % settings.URL_REGEXPS, 'ietf.secr.sreq.views.cancel', name='sessions_cancel'),
url(r'^%(acronym)s/confirm/$' % settings.URL_REGEXPS, 'confirm', name='sessions_confirm'), url(r'^%(acronym)s/confirm/$' % settings.URL_REGEXPS, 'ietf.secr.sreq.views.confirm', name='sessions_confirm'),
url(r'^%(acronym)s/edit/$' % settings.URL_REGEXPS, 'edit', name='sessions_edit'), url(r'^%(acronym)s/edit/$' % settings.URL_REGEXPS, 'ietf.secr.sreq.views.edit', name='sessions_edit'),
url(r'^%(acronym)s/new/$' % settings.URL_REGEXPS, 'new', name='sessions_new'), url(r'^%(acronym)s/new/$' % settings.URL_REGEXPS, 'ietf.secr.sreq.views.new', name='sessions_new'),
url(r'^%(acronym)s/no_session/$' % settings.URL_REGEXPS, 'no_session', name='sessions_no_session'), url(r'^%(acronym)s/no_session/$' % settings.URL_REGEXPS, 'ietf.secr.sreq.views.no_session', name='sessions_no_session'),
url(r'^(?P<num>[A-Za-z0-9_\-\+]+)/%(acronym)s/edit/$' % settings.URL_REGEXPS, 'edit_mtg', name='sessions_edit'), url(r'^(?P<num>[A-Za-z0-9_\-\+]+)/%(acronym)s/edit/$' % settings.URL_REGEXPS, 'ietf.secr.sreq.views.edit_mtg', name='sessions_edit'),
) ]

View file

@ -1,14 +1,14 @@
from django.conf.urls import patterns, url from django.conf.urls import url
urlpatterns = patterns('ietf.secr.telechat.views', urlpatterns = [
url(r'^$', 'main', name='telechat'), url(r'^$', 'ietf.secr.telechat.views.main', name='telechat'),
url(r'^(?P<date>[0-9\-]+)/bash/$', 'bash', name='telechat_bash'), url(r'^(?P<date>[0-9\-]+)/bash/$', 'ietf.secr.telechat.views.bash', name='telechat_bash'),
url(r'^(?P<date>[0-9\-]+)/doc/$', 'doc', name='telechat_doc'), url(r'^(?P<date>[0-9\-]+)/doc/$', 'ietf.secr.telechat.views.doc', name='telechat_doc'),
url(r'^(?P<date>[0-9\-]+)/doc/(?P<name>[A-Za-z0-9.-]+)/$', 'doc_detail', name='telechat_doc_detail'), url(r'^(?P<date>[0-9\-]+)/doc/(?P<name>[A-Za-z0-9.-]+)/$', 'ietf.secr.telechat.views.doc_detail', name='telechat_doc_detail'),
url(r'^(?P<date>[0-9\-]+)/doc/(?P<name>[A-Za-z0-9.-]+)/(?P<nav>next|previous)/$', 'doc_navigate', url(r'^(?P<date>[0-9\-]+)/doc/(?P<name>[A-Za-z0-9.-]+)/(?P<nav>next|previous)/$', 'ietf.secr.telechat.views.doc_navigate',
name='telechat_doc_navigate'), name='telechat_doc_navigate'),
url(r'^(?P<date>[0-9\-]+)/management/$', 'management', name='telechat_management'), url(r'^(?P<date>[0-9\-]+)/management/$', 'ietf.secr.telechat.views.management', name='telechat_management'),
url(r'^(?P<date>[0-9\-]+)/minutes/$', 'minutes', name='telechat_minutes'), url(r'^(?P<date>[0-9\-]+)/minutes/$', 'ietf.secr.telechat.views.minutes', name='telechat_minutes'),
url(r'^(?P<date>[0-9\-]+)/roll-call/$', 'roll_call', name='telechat_roll_call'), url(r'^(?P<date>[0-9\-]+)/roll-call/$', 'ietf.secr.telechat.views.roll_call', name='telechat_roll_call'),
url(r'^new/$', 'new', name='telechat_new'), url(r'^new/$', 'ietf.secr.telechat.views.new', name='telechat_new'),
) ]

View file

@ -1,17 +1,17 @@
from django.conf.urls import patterns, url, include from django.conf.urls import url, include
from django.views.generic import TemplateView from django.views.generic import TemplateView
urlpatterns = patterns('', urlpatterns = [
url(r'^$', TemplateView.as_view(template_name='main.html'), name="home"), url(r'^$', TemplateView.as_view(template_name='main.html'), name="home"),
(r'^announcement/', include('ietf.secr.announcement.urls')), url(r'^announcement/', include('ietf.secr.announcement.urls')),
(r'^areas/', include('ietf.secr.areas.urls')), url(r'^areas/', include('ietf.secr.areas.urls')),
(r'^console/', include('ietf.secr.console.urls')), url(r'^console/', include('ietf.secr.console.urls')),
(r'^drafts/', include('ietf.secr.drafts.urls')), url(r'^drafts/', include('ietf.secr.drafts.urls')),
(r'^groups/', include('ietf.secr.groups.urls')), url(r'^groups/', include('ietf.secr.groups.urls')),
(r'^meetings/', include('ietf.secr.meetings.urls')), url(r'^meetings/', include('ietf.secr.meetings.urls')),
(r'^proceedings/', include('ietf.secr.proceedings.urls')), url(r'^proceedings/', include('ietf.secr.proceedings.urls')),
(r'^roles/', include('ietf.secr.roles.urls')), url(r'^roles/', include('ietf.secr.roles.urls')),
(r'^rolodex/', include('ietf.secr.rolodex.urls')), url(r'^rolodex/', include('ietf.secr.rolodex.urls')),
(r'^sreq/', include('ietf.secr.sreq.urls')), url(r'^sreq/', include('ietf.secr.sreq.urls')),
(r'^telechat/', include('ietf.secr.telechat.urls')), url(r'^telechat/', include('ietf.secr.telechat.urls')),
) ]

View file

@ -13,6 +13,8 @@ warnings.simplefilter("always", DeprecationWarning)
warnings.filterwarnings("ignore", message="Report.file_reporters will no longer be available in Coverage.py 4.2", module="coverage.report") warnings.filterwarnings("ignore", message="Report.file_reporters will no longer be available in Coverage.py 4.2", module="coverage.report")
warnings.filterwarnings("ignore", message="initial_data fixtures are deprecated. Use data migrations instead.", module="django.core.management.commands.loaddata") warnings.filterwarnings("ignore", message="initial_data fixtures are deprecated. Use data migrations instead.", module="django.core.management.commands.loaddata")
warnings.filterwarnings("ignore", message="The popen2 module is deprecated. Use the subprocess module.", module="ietf.utils.pipe") warnings.filterwarnings("ignore", message="The popen2 module is deprecated. Use the subprocess module.", module="ietf.utils.pipe")
warnings.filterwarnings("ignore", message="Reversing by dotted path is deprecated")
warnings.filterwarnings("ignore", message=r"Support for string view arguments to url\(\) is deprecated and will be removed in Django 1.10")
try: try:
import syslog import syslog

View file

@ -17,13 +17,13 @@ debug.debug = True
## To be removed after upgrade to Django 1.8 ## ## To be removed after upgrade to Django 1.8 ##
from django.db.migrations.loader import MIGRATIONS_MODULE_NAME
class DisableMigrations(object): class DisableMigrations(object):
def __contains__(self, item): def __contains__(self, item):
return True return True
def __getitem__(self, item): def __getitem__(self, item):
from django.db.migrations.loader import MIGRATIONS_MODULE_NAME
# The string below is significant. It has to include the value of # The string below is significant. It has to include the value of
# django.db.migrations.loader.MIGRATIONS_MODULE_NAME. Used by django # django.db.migrations.loader.MIGRATIONS_MODULE_NAME. Used by django
# 1.7 code in django.db.migrations.loader.MigrationLoader to # 1.7 code in django.db.migrations.loader.MigrationLoader to

View file

@ -1,9 +1,9 @@
from django.conf.urls import patterns, url
from django.conf import settings from django.conf import settings
import ietf.stats.views import ietf.stats.views
from ietf.utils.urls import url
urlpatterns = patterns('', urlpatterns = [
url("^$", ietf.stats.views.stats_index), url("^$", ietf.stats.views.stats_index),
url("^review/(?:(?P<stats_type>completion|results|states|time)/)?(?:%(acronym)s/)?$" % settings.URL_REGEXPS, ietf.stats.views.review_stats), url("^review/(?:(?P<stats_type>completion|results|states|time)/)?(?:%(acronym)s/)?$" % settings.URL_REGEXPS, ietf.stats.views.review_stats),
) ]

View file

@ -1,29 +1,29 @@
from django.conf.urls import patterns from django.conf.urls import url
from ietf.submit import views from ietf.submit import views
urlpatterns = patterns('ietf.submit.views', urlpatterns = [
(r'^$', views.upload_submission), url(r'^$', views.upload_submission),
(r'^status/$', views.search_submission), url(r'^status/$', views.search_submission),
(r'^status/(?P<submission_id>\d+)/$', views.submission_status), url(r'^status/(?P<submission_id>\d+)/$', views.submission_status),
(r'^status/(?P<submission_id>\d+)/(?P<access_token>[a-f\d]*)/$', views.submission_status), url(r'^status/(?P<submission_id>\d+)/(?P<access_token>[a-f\d]*)/$', views.submission_status),
(r'^status/(?P<submission_id>\d+)/confirm/(?P<auth_token>[a-f\d]+)/$', views.confirm_submission), url(r'^status/(?P<submission_id>\d+)/confirm/(?P<auth_token>[a-f\d]+)/$', views.confirm_submission),
(r'^status/(?P<submission_id>\d+)/edit/$', views.edit_submission), url(r'^status/(?P<submission_id>\d+)/edit/$', views.edit_submission),
(r'^status/(?P<submission_id>\d+)/(?P<access_token>[a-f\d]+)/edit/$', views.edit_submission), url(r'^status/(?P<submission_id>\d+)/(?P<access_token>[a-f\d]+)/edit/$', views.edit_submission),
(r'^note-well/$', views.note_well), url(r'^note-well/$', views.note_well),
(r'^tool-instructions/$', views.tool_instructions), url(r'^tool-instructions/$', views.tool_instructions),
(r'^approvals/$', views.approvals), url(r'^approvals/$', views.approvals),
(r'^approvals/addpreapproval/$', views.add_preapproval), url(r'^approvals/addpreapproval/$', views.add_preapproval),
(r'^approvals/cancelpreapproval/(?P<preapproval_id>[a-f\d]+)/$', views.cancel_preapproval), url(r'^approvals/cancelpreapproval/(?P<preapproval_id>[a-f\d]+)/$', views.cancel_preapproval),
(r'^manualpost/$', views.manualpost), url(r'^manualpost/$', views.manualpost),
(r'^manualpost/addemail$', views.add_manualpost_email), url(r'^manualpost/addemail$', views.add_manualpost_email),
(r'^manualpost/addemail/(?P<submission_id>\d+)/(?P<access_token>[a-f\d]*)/$', views.add_manualpost_email), url(r'^manualpost/addemail/(?P<submission_id>\d+)/(?P<access_token>[a-f\d]*)/$', views.add_manualpost_email),
(r'^manualpost/attachment/(?P<submission_id>\d+)/(?P<message_id>\d+)/(?P<filename>.*)$', views.show_submission_email_attachment), url(r'^manualpost/attachment/(?P<submission_id>\d+)/(?P<message_id>\d+)/(?P<filename>.*)$', views.show_submission_email_attachment),
(r'^manualpost/cancel$', views.cancel_waiting_for_draft), url(r'^manualpost/cancel$', views.cancel_waiting_for_draft),
(r'^manualpost/email/(?P<submission_id>\d+)/(?P<message_id>\d+)/$', views.show_submission_email_message), url(r'^manualpost/email/(?P<submission_id>\d+)/(?P<message_id>\d+)/$', views.show_submission_email_message),
(r'^manualpost/email/(?P<submission_id>\d+)/(?P<message_id>\d+)/(?P<access_token>[a-f\d]*)/$', views.show_submission_email_message), url(r'^manualpost/email/(?P<submission_id>\d+)/(?P<message_id>\d+)/(?P<access_token>[a-f\d]*)/$', views.show_submission_email_message),
(r'^manualpost/replyemail/(?P<submission_id>\d+)/(?P<message_id>\d+)/$', views.send_submission_email), url(r'^manualpost/replyemail/(?P<submission_id>\d+)/(?P<message_id>\d+)/$', views.send_submission_email),
(r'^manualpost/sendemail/(?P<submission_id>\d+)/$', views.send_submission_email), url(r'^manualpost/sendemail/(?P<submission_id>\d+)/$', views.send_submission_email),
) ]

View file

@ -1,8 +1,8 @@
from django.conf.urls import patterns, url from django.conf.urls import url
urlpatterns = patterns('', urlpatterns = [
url(r'^discrepancies/$', 'ietf.sync.views.discrepancies'), url(r'^discrepancies/$', 'ietf.sync.views.discrepancies'),
url(r'^(?P<org>\w+)/notify/(?P<notification>\w+)/$', 'ietf.sync.views.notify'), url(r'^(?P<org>\w+)/notify/(?P<notification>\w+)/$', 'ietf.sync.views.notify'),
url(r'^rfceditor/undo/', 'ietf.sync.views.rfceditor_undo') url(r'^rfceditor/undo/', 'ietf.sync.views.rfceditor_undo')
) ]

View file

@ -1,7 +1,7 @@
# Copyright The IETF Trust 2007, 2009, All Rights Reserved # Copyright The IETF Trust 2007, 2009, All Rights Reserved
from django.conf import settings from django.conf import settings
from django.conf.urls import patterns, include from django.conf.urls import include
from django.conf.urls.static import static from django.conf.urls.static import static
from django.contrib import admin from django.contrib import admin
from django.views.generic import TemplateView from django.views.generic import TemplateView
@ -9,8 +9,10 @@ from django.contrib.staticfiles.urls import staticfiles_urlpatterns
import debug # pyflakes:ignore import debug # pyflakes:ignore
from ietf.doc import views_search
from ietf.liaisons.sitemaps import LiaisonMap from ietf.liaisons.sitemaps import LiaisonMap
from ietf.ipr.sitemaps import IPRMap from ietf.ipr.sitemaps import IPRMap
from ietf.utils.urls import url
from ietf import api from ietf import api
admin.autodiscover() admin.autodiscover()
@ -28,66 +30,66 @@ sitemaps = {
'ipr': IPRMap, 'ipr': IPRMap,
} }
urlpatterns = patterns('', urlpatterns = [
(r'^$', 'ietf.doc.views_search.frontpage'), url(r'^$', views_search.frontpage),
(r'^accounts/', include('ietf.ietfauth.urls')), url(r'^accounts/', include('ietf.ietfauth.urls')),
(r'^admin/', include(admin.site.urls)), url(r'^admin/', include(admin.site.urls)),
(r'^admin/docs/', include('django.contrib.admindocs.urls')), url(r'^admin/docs/', include('django.contrib.admindocs.urls')),
(r'^ann/', include('ietf.nomcom.redirect_ann_urls')), url(r'^ann/', include('ietf.nomcom.redirect_ann_urls')),
(r'^community/', include('ietf.community.urls')), url(r'^community/', include('ietf.community.urls')),
(r'^accounts/settings/', include('ietf.cookies.urls')), url(r'^accounts/settings/', include('ietf.cookies.urls')),
(r'^doc/', include('ietf.doc.urls')), url(r'^doc/', include('ietf.doc.urls')),
(r'^drafts/', include('ietf.doc.redirect_drafts_urls')), url(r'^drafts/', include('ietf.doc.redirect_drafts_urls')),
(r'^mailtrigger/',include('ietf.mailtrigger.urls')), url(r'^mailtrigger/',include('ietf.mailtrigger.urls')),
(r'^feed/', include('ietf.feed_urls')), url(r'^feed/', include('ietf.feed_urls')),
(r'^group/', include('ietf.group.urls')), url(r'^group/', include('ietf.group.urls')),
(r'^help/', include('ietf.help.urls')), url(r'^help/', include('ietf.help.urls')),
(r'^idtracker/', include('ietf.doc.redirect_idtracker_urls')), url(r'^idtracker/', include('ietf.doc.redirect_idtracker_urls')),
(r'^iesg/', include('ietf.iesg.urls')), url(r'^iesg/', include('ietf.iesg.urls')),
(r'^ipr/', include('ietf.ipr.urls')), url(r'^ipr/', include('ietf.ipr.urls')),
(r'^liaison/', include('ietf.liaisons.urls')), url(r'^liaison/', include('ietf.liaisons.urls')),
(r'^list/', include('ietf.mailinglists.urls')), url(r'^list/', include('ietf.mailinglists.urls')),
(r'^meeting/', include('ietf.meeting.urls')), url(r'^meeting/', include('ietf.meeting.urls')),
(r'^nomcom/', include('ietf.nomcom.urls')), url(r'^nomcom/', include('ietf.nomcom.urls')),
(r'^person/', include('ietf.person.urls')), url(r'^person/', include('ietf.person.urls')),
(r'^release/', include('ietf.release.urls')), url(r'^release/', include('ietf.release.urls')),
(r'^secr/', include('ietf.secr.urls')), url(r'^secr/', include('ietf.secr.urls')),
(r'^sitemap-(?P<section>.+).xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps}), url(r'^sitemap-(?P<section>.+).xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps}),
(r'^sitemap.xml$', 'django.contrib.sitemaps.views.index', { 'sitemaps': sitemaps}), url(r'^sitemap.xml$', 'django.contrib.sitemaps.views.index', { 'sitemaps': sitemaps}),
(r'^stats/', include('ietf.stats.urls')), url(r'^stats/', include('ietf.stats.urls')),
(r'^stream/', include('ietf.group.urls_stream')), url(r'^stream/', include('ietf.group.urls_stream')),
(r'^submit/', include('ietf.submit.urls')), url(r'^submit/', include('ietf.submit.urls')),
(r'^sync/', include('ietf.sync.urls')), url(r'^sync/', include('ietf.sync.urls')),
(r'^templates/', include('ietf.dbtemplate.urls')), url(r'^templates/', include('ietf.dbtemplate.urls')),
(r'^(?P<group_type>(wg|rg|ag|team|dir|area))/', include('ietf.group.urls_info')), url(r'^(?P<group_type>(wg|rg|ag|team|dir|area))/', include('ietf.group.urls_info')),
# Redirects # Redirects
(r'^(?P<path>public)/', include('ietf.redirects.urls')), url(r'^(?P<path>public)/', include('ietf.redirects.urls')),
# Google webmaster tools verification url # Google webmaster tools verification url
(r'^googlea30ad1dacffb5e5b.html', TemplateView.as_view(template_name='googlea30ad1dacffb5e5b.html')), url(r'^googlea30ad1dacffb5e5b.html', TemplateView.as_view(template_name='googlea30ad1dacffb5e5b.html')),
) ]
# Endpoints for Tastypie's REST API # Endpoints for Tastypie's REST API
urlpatterns += patterns('', urlpatterns += [
(r'^api/v1/?$', api.top_level), url(r'^api/v1/?$', api.top_level),
) ]
for n,a in api._api_list: for n,a in api._api_list:
urlpatterns += patterns('', urlpatterns += [
(r'^api/v1/', include(a.urls)), url(r'^api/v1/', include(a.urls)),
) ]
# This is needed to serve files during testing # This is needed to serve files during testing
if settings.SERVER_MODE in ('development', 'test'): if settings.SERVER_MODE in ('development', 'test'):
save_debug = settings.DEBUG save_debug = settings.DEBUG
settings.DEBUG = True settings.DEBUG = True
urlpatterns += staticfiles_urlpatterns() urlpatterns += staticfiles_urlpatterns()
urlpatterns += patterns('', urlpatterns += [
(r'^_test500/$', lambda x: None), url(r'^_test500/$', lambda x: None),
(r'^environment/$', 'ietf.help.views.environment'), url(r'^environment/$', 'ietf.help.views.environment'),
## maybe preserve some static legacy URLs ? ## maybe preserve some static legacy URLs ?
(r'^(?P<path>(?:images|css|js)/.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT+'ietf/'}), url(r'^(?P<path>(?:images|css|js)/.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT+'ietf/'}),
) ]
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
settings.DEBUG = save_debug settings.DEBUG = save_debug

View file

@ -1,6 +1,6 @@
from __future__ import unicode_literals from __future__ import unicode_literals
from django.template.base import Library from django.template.library import Library
from django.template.defaultfilters import stringfilter from django.template.defaultfilters import stringfilter
from ietf.utils.text import xslugify as _xslugify from ietf.utils.text import xslugify as _xslugify

View file

@ -113,7 +113,7 @@ class TemplateCoverageLoader(BaseLoader):
global template_coverage_collection, loaded_templates global template_coverage_collection, loaded_templates
if template_coverage_collection == True: if template_coverage_collection == True:
loaded_templates.add(str(template_name)) loaded_templates.add(str(template_name))
raise TemplateDoesNotExist raise TemplateDoesNotExist(template_name)
load_template_source.is_usable = True load_template_source.is_usable = True
class RecordUrlsMiddleware(object): class RecordUrlsMiddleware(object):

21
ietf/utils/urls.py Normal file
View file

@ -0,0 +1,21 @@
# Copyright The IETF Trust 2016, All Rights Reserved
import six
import debug # pyflakes:ignore
from django.conf.urls import url as django_url
#@debug.trace
def url(regex, view, kwargs=None, name=None, prefix=''):
if isinstance(view, (list, tuple)):
pass # use the name passed in
elif isinstance(view, six.string_types):
name = view
elif callable(view):
name = "%s.%s" % (view.__module__, view.__name__)
else:
raise NotImplementedError("Auto-named url from view of type %s: %s" % (type(view), view))
if name:
debug.show('name')
return django_url(regex, view, kwargs=kwargs, name=name, prefix=prefix)

View file

@ -7,7 +7,7 @@ coverage>=4.0.1,!=4.0.2
#cssselect>=0.6.1 # for PyQuery #cssselect>=0.6.1 # for PyQuery
decorator>=3.4.0 decorator>=3.4.0
defusedxml>=0.4.1 # for TastyPie when ussing xml; not a declared dependency defusedxml>=0.4.1 # for TastyPie when ussing xml; not a declared dependency
Django>=1.8.16,<1.9 Django>=1.9,<1.10
django-bootstrap3>=5.1.1,<7.0.0 # django-bootstrap 7.0 requires django 1.8 django-bootstrap3>=5.1.1,<7.0.0 # django-bootstrap 7.0 requires django 1.8
django-formtools>=1.0 # instead of django.contrib.formtools in 1.8 django-formtools>=1.0 # instead of django.contrib.formtools in 1.8
django-markup>=1.1 django-markup>=1.1
@ -15,8 +15,7 @@ django-tastypie>=0.13.1
django-widget-tweaks>=1.3 django-widget-tweaks>=1.3
docutils>=0.12 docutils>=0.12
factory-boy>=2.7.0 factory-boy>=2.7.0
# fake-factory==0.5.3 # from factory-boy # Faker # from factory-boy
Faker>=0.7.1 # Explicit install
hashids>=1.1.0 hashids>=1.1.0
html5lib>=0.90,<0.99999999 # ietf.utils.html needs a rewrite for html5lib 1.x -- major code changes in sanitizer html5lib>=0.90,<0.99999999 # ietf.utils.html needs a rewrite for html5lib 1.x -- major code changes in sanitizer
jsonfield>=1.0.3 # for SubmissionCheck. This is https://github.com/bradjasper/django-jsonfield/. jsonfield>=1.0.3 # for SubmissionCheck. This is https://github.com/bradjasper/django-jsonfield/.
@ -26,7 +25,6 @@ mock>=2.0.0
MySQL-python>=1.2.5 MySQL-python>=1.2.5
pathlib>=1.0 pathlib>=1.0
Pillow>=3.0 Pillow>=3.0
pip>=6.1.1,<9.0
pyang>=1.6 pyang>=1.6
pyflakes>=0.8.1 pyflakes>=0.8.1
pyquery>=1.2.13,!=1.2.14 # Pyqyery 1.2.14 fails on some selectors or stacked selectors pyquery>=1.2.13,!=1.2.14 # Pyqyery 1.2.14 fails on some selectors or stacked selectors