* Skip IANA - Review Needed and Version Changed - Review Needed changes from IANA as it turns out that the Datatracker is the authoritative source on these states. Also improve logging so that the raw JSON from IANA is dumped, the parsed JSON on imported changes is dumped and we write to syslog before starting a sync script in the notification view. * Only add charter state change link when chartering, it doesn't make sense for an approved charter. Fixes #861. * Don't display group.comments on the charter document page. Apparently group.comments have been used by the Secretariat in the past for chartering comments, but it's not possible to edit the field and the whole thing doesn't make sense from a modelling perspective - a feature like this should probably use the note field on the charter. Fixes issue #1048. * Don't crash if an attachment has been created already, just reuse it - this case shouldn't actually happen, but apparently sometimes does, probably due to a concurrency issue * Add link to charter pages from the milestones editing page (besides the cancel button), fixes #1044. * Special-case proposed working groups with respect to milestones, they get the charter milestones on the WG charter page rather than the current set * Show approved milestones on /doc/charter-xyz/ page if the charter is approved instead of only showing proposed milestones for proposed charters - Legacy-Id: 5812 Note: SVN reference [5794] has been migrated to Git commita603b8e056
Note: SVN reference [5800] has been migrated to Git commit0f69f87a56
89 lines
3.5 KiB
Python
89 lines
3.5 KiB
Python
# Copyright The IETF Trust 2007, 2009, All Rights Reserved
|
|
|
|
import django
|
|
from django.conf.urls.defaults import patterns, include, handler404, handler500
|
|
from django.contrib import admin
|
|
|
|
from ietf.iesg.feeds import IESGAgenda
|
|
from ietf.idtracker.feeds import DocumentComments, InLastCall
|
|
from ietf.ipr.feeds import LatestIprDisclosures
|
|
from ietf.proceedings.feeds import LatestWgProceedingsActivity
|
|
from ietf.liaisons.feeds import Liaisons
|
|
from ietf.wgcharter.feeds import GroupChanges
|
|
|
|
from ietf.idtracker.sitemaps import IDTrackerMap, DraftMap
|
|
from ietf.liaisons.sitemaps import LiaisonMap
|
|
from ietf.ipr.sitemaps import IPRMap
|
|
from ietf.announcements.sitemaps import NOMCOMAnnouncementsMap
|
|
|
|
from django.conf import settings
|
|
|
|
admin.autodiscover()
|
|
admin.site.disable_action('delete_selected')
|
|
|
|
|
|
feeds = {
|
|
'iesg-agenda': IESGAgenda,
|
|
'last-call': InLastCall,
|
|
'comments': DocumentComments,
|
|
'group-changes': GroupChanges,
|
|
'ipr': LatestIprDisclosures,
|
|
'liaison': Liaisons,
|
|
'wg-proceedings' : LatestWgProceedingsActivity
|
|
}
|
|
|
|
sitemaps = {
|
|
'idtracker': IDTrackerMap,
|
|
'drafts': DraftMap,
|
|
'liaison': LiaisonMap,
|
|
'ipr': IPRMap,
|
|
'nomcom-announcements': NOMCOMAnnouncementsMap,
|
|
}
|
|
|
|
if settings.USE_DB_REDESIGN_PROXY_CLASSES:
|
|
del sitemaps['drafts'] # not needed, overlaps sitemaps['idtracker']
|
|
|
|
urlpatterns = patterns('',
|
|
(r'^$', 'ietf.idrfc.views.main'),
|
|
(r'^accounts/', include('ietf.ietfauth.urls')),
|
|
(r'^admin/', include(admin.site.urls)),
|
|
(r'^admin/doc/', include('django.contrib.admindocs.urls')),
|
|
(r'^ann/', include('ietf.announcements.urls')),
|
|
(r'^community/', include('ietf.community.urls')),
|
|
(r'^cookies/', include('ietf.cookies.urls')),
|
|
(r'^doc/', include('ietf.idrfc.urls')),
|
|
(r'^drafts/', include('ietf.idindex.urls')),
|
|
(r'^feed/(?P<url>.*)/$', 'django.contrib.syndication.views.feed', { 'feed_dict': feeds}),
|
|
(r'^help/', include('ietf.help.urls')),
|
|
(r'^idtracker/', include('ietf.idtracker.urls')),
|
|
(r'^iesg/', include('ietf.iesg.urls')),
|
|
(r'^ipr/', include('ietf.ipr.urls')),
|
|
(r'^liaison/', include('ietf.liaisons.urls')),
|
|
(r'^list/', include('ietf.mailinglists.urls')),
|
|
(r'^meeting/', include('ietf.meeting.urls')),
|
|
(r'^person/', include('ietf.person.urls')),
|
|
(r'^release/$', 'ietf.release.views.release'),
|
|
(r'^release/(?P<version>.+)/$', 'ietf.release.views.release'),
|
|
(r'^secr/', include('ietf.secr.urls')),
|
|
(r'^sitemap-(?P<section>.+).xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps}),
|
|
(r'^sitemap.xml$', 'django.contrib.sitemaps.views.index', { 'sitemaps': sitemaps}),
|
|
(r'^streams/', include('ietf.ietfworkflows.urls')),
|
|
(r'^submit/', include('ietf.submit.urls')),
|
|
(r'^sync/', include('ietf.sync.urls')),
|
|
(r'^wg/', include('ietf.wginfo.urls')),
|
|
|
|
# Redirects
|
|
(r'^(?P<path>public)/', include('ietf.redirects.urls')),
|
|
|
|
# Google webmaster tools verification url
|
|
(r'^googlea30ad1dacffb5e5b.html', 'django.views.generic.simple.direct_to_template', { 'template': 'googlea30ad1dacffb5e5b.html' }),
|
|
)
|
|
|
|
if settings.SERVER_MODE in ('development', 'test'):
|
|
urlpatterns += patterns('',
|
|
(r'^(?P<path>(?:images|css|js)/.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),
|
|
(r'^(?P<path>secr/(img|css|js)/.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),
|
|
(r'^(?P<path>robots\.txt)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),
|
|
(r'^_test500/$', lambda x: None),
|
|
)
|