Changed a state name, and renamed some view functions for easier code reading. Removed extra name= parameters from the submit/ urlpatterns.
- Legacy-Id: 11917
This commit is contained in:
parent
e2fccfb094
commit
7a8c067d83
|
@ -8,7 +8,6 @@ from tastypie.cache import SimpleCache
|
|||
from ietf import api
|
||||
|
||||
from ietf.message.models import Message, SendQueue, MessageAttachment
|
||||
|
||||
from ietf.person.resources import PersonResource
|
||||
from ietf.group.resources import GroupResource
|
||||
from ietf.doc.resources import DocumentResource
|
||||
|
|
|
@ -884,7 +884,7 @@
|
|||
"desc": ""
|
||||
},
|
||||
"model": "name.draftsubmissionstatename",
|
||||
"pk": "manual-awaiting-draft"
|
||||
"pk": "waiting-for-draft"
|
||||
},
|
||||
{
|
||||
"fields": {
|
||||
|
|
|
@ -11,7 +11,7 @@ class SubmissionAdmin(admin.ModelAdmin):
|
|||
raw_id_fields = ['group', 'draft']
|
||||
|
||||
def status_link(self, instance):
|
||||
url = urlreverse('submit_submission_status_by_hash',
|
||||
url = urlreverse('ietf.submit.views.submission_status',
|
||||
kwargs=dict(submission_id=instance.pk,
|
||||
access_token=instance.access_token()))
|
||||
return '<a href="%s">%s</a>' % (url, instance.state)
|
||||
|
|
|
@ -226,9 +226,9 @@ class SubmissionUploadForm(forms.Form):
|
|||
self.group = self.deduce_group()
|
||||
|
||||
# check existing
|
||||
existing = Submission.objects.filter(name=self.filename, rev=self.revision).exclude(state__in=("posted", "cancel", "manual-awaiting-draft"))
|
||||
existing = Submission.objects.filter(name=self.filename, rev=self.revision).exclude(state__in=("posted", "cancel", "waiting-for-draft"))
|
||||
if existing:
|
||||
raise forms.ValidationError(mark_safe('A submission with same name and revision is currently being processed. <a href="%s">Check the status here.</a>' % urlreverse("submit_submission_status", kwargs={ 'submission_id': existing[0].pk })))
|
||||
raise forms.ValidationError(mark_safe('A submission with same name and revision is currently being processed. <a href="%s">Check the status here.</a>' % urlreverse("ietf.submit.views.submission_status", kwargs={ 'submission_id': existing[0].pk })))
|
||||
|
||||
# cut-off
|
||||
if self.revision == '00' and self.in_first_cut_off:
|
||||
|
|
|
@ -3,7 +3,6 @@ import email
|
|||
import datetime
|
||||
import base64
|
||||
import os
|
||||
|
||||
import pyzmail
|
||||
|
||||
from django.conf import settings
|
||||
|
@ -16,11 +15,10 @@ from ietf.utils.log import log
|
|||
from ietf.utils.mail import send_mail, send_mail_message
|
||||
from ietf.doc.models import Document
|
||||
from ietf.ipr.mail import utc_from_string
|
||||
from ietf.mailtrigger.utils import gather_address_lists, \
|
||||
get_base_submission_message_address
|
||||
from ietf.person.models import Person
|
||||
from ietf.message.models import Message, MessageAttachment
|
||||
from ietf.utils.accesstoken import generate_access_token
|
||||
from ietf.mailtrigger.utils import gather_address_lists, get_base_submission_message_address
|
||||
from ietf.submit.models import SubmissionEmail, Submission
|
||||
|
||||
def send_submission_confirmation(request, submission, chair_notice=False):
|
||||
|
@ -28,8 +26,8 @@ def send_submission_confirmation(request, submission, chair_notice=False):
|
|||
from_email = settings.IDSUBMIT_FROM_EMAIL
|
||||
(to_email, cc) = gather_address_lists('sub_confirmation_requested',submission=submission)
|
||||
|
||||
confirm_url = settings.IDTRACKER_BASE_URL + urlreverse('submit_confirm_submission', kwargs=dict(submission_id=submission.pk, auth_token=generate_access_token(submission.auth_key)))
|
||||
status_url = settings.IDTRACKER_BASE_URL + urlreverse('submit_submission_status_by_hash', kwargs=dict(submission_id=submission.pk, access_token=submission.access_token()))
|
||||
confirm_url = settings.IDTRACKER_BASE_URL + urlreverse('ietf.submit.views.confirm_submission', kwargs=dict(submission_id=submission.pk, auth_token=generate_access_token(submission.auth_key)))
|
||||
status_url = settings.IDTRACKER_BASE_URL + urlreverse('ietf.submit.views.submission_status', kwargs=dict(submission_id=submission.pk, access_token=submission.access_token()))
|
||||
|
||||
send_mail(request, to_email, from_email, subject, 'submit/confirm_submission.txt',
|
||||
{
|
||||
|
@ -48,7 +46,7 @@ def send_full_url(request, submission):
|
|||
subject = 'Full URL for managing submission of draft %s' % submission.name
|
||||
from_email = settings.IDSUBMIT_FROM_EMAIL
|
||||
(to_email, cc) = gather_address_lists('sub_management_url_requested',submission=submission)
|
||||
url = settings.IDTRACKER_BASE_URL + urlreverse('submit_submission_status_by_hash', kwargs=dict(submission_id=submission.pk, access_token=submission.access_token()))
|
||||
url = settings.IDTRACKER_BASE_URL + urlreverse('ietf.submit.views.submission_status', kwargs=dict(submission_id=submission.pk, access_token=submission.access_token()))
|
||||
|
||||
send_mail(request, to_email, from_email, subject, 'submit/full_url.txt',
|
||||
{
|
||||
|
@ -84,7 +82,7 @@ def send_manual_post_request(request, submission, errors):
|
|||
(to_email,cc) = gather_address_lists('sub_manual_post_requested',submission=submission)
|
||||
send_mail(request, to_email, from_email, subject, 'submit/manual_post_request.txt', {
|
||||
'submission': submission,
|
||||
'url': settings.IDTRACKER_BASE_URL + urlreverse('submit_submission_status', kwargs=dict(submission_id=submission.pk)),
|
||||
'url': settings.IDTRACKER_BASE_URL + urlreverse('ietf.submit.views.submission_status', kwargs=dict(submission_id=submission.pk)),
|
||||
'errors': errors,
|
||||
}, cc=cc)
|
||||
|
||||
|
@ -233,7 +231,7 @@ def add_submission_email(request, remote_ip, name, rev, submission_pk, message,
|
|||
# create Submission using the name
|
||||
try:
|
||||
submission = Submission.objects.create(
|
||||
state_id="manual-awaiting-draft",
|
||||
state_id="waiting-for-draft",
|
||||
remote_ip=remote_ip,
|
||||
name=name,
|
||||
rev=rev,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations
|
||||
|
@ -9,8 +9,8 @@ class Migration(migrations.Migration):
|
|||
# We can't import the model directly as it may be a newer
|
||||
# version than this migration expects. We use the historical version.
|
||||
DraftSubmissionStateName = apps.get_model("name", "DraftSubmissionStateName")
|
||||
DraftSubmissionStateName.objects.create(slug="manual-awaiting-draft",
|
||||
name="Manual Post Awaiting Draft",
|
||||
DraftSubmissionStateName.objects.create(slug="waiting-for-draft",
|
||||
name="Manual Post Awaiting Draft Upload",
|
||||
desc="",
|
||||
used=True,
|
||||
order=8)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations
|
||||
|
@ -10,7 +10,7 @@ class Migration(migrations.Migration):
|
|||
|
||||
cancelled = DraftSubmissionStateName.objects.get(slug="cancel")
|
||||
posted = DraftSubmissionStateName.objects.get(slug="posted")
|
||||
mad = DraftSubmissionStateName.objects.get(slug="manual-awaiting-draft")
|
||||
mad = DraftSubmissionStateName.objects.get(slug="waiting-for-draft")
|
||||
|
||||
mad.next_states.add(cancelled)
|
||||
mad.next_states.add(posted)
|
||||
|
|
|
@ -98,7 +98,7 @@ class SubmitTests(TestCase):
|
|||
self.assertTrue(os.path.exists(settings.IDSUBMIT_IDNITS_BINARY))
|
||||
|
||||
# get
|
||||
url = urlreverse('submit_upload_submission')
|
||||
url = urlreverse('ietf.submit.views.upload_submission')
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
q = PyQuery(r.content)
|
||||
|
@ -645,12 +645,12 @@ class SubmitTests(TestCase):
|
|||
self.do_submission(name, rev)
|
||||
|
||||
# search status page
|
||||
r = self.client.get(urlreverse("submit_search_submission"))
|
||||
r = self.client.get(urlreverse("ietf.submit.views.search_submission"))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("submission status" in unicontent(r))
|
||||
|
||||
# search
|
||||
r = self.client.post(urlreverse("submit_search_submission"), dict(name=name))
|
||||
r = self.client.post(urlreverse("ietf.submit.views.search_submission"), dict(name=name))
|
||||
self.assertEqual(r.status_code, 302)
|
||||
unprivileged_status_url = r['Location']
|
||||
|
||||
|
@ -690,7 +690,7 @@ class SubmitTests(TestCase):
|
|||
self.do_submission(name, rev)
|
||||
|
||||
submission = Submission.objects.get(name=name)
|
||||
url = urlreverse('submit_submission_status', kwargs=dict(submission_id=submission.pk))
|
||||
url = urlreverse('ietf.submit.views.submission_status', kwargs=dict(submission_id=submission.pk))
|
||||
|
||||
# check we got request full URL button
|
||||
r = self.client.get(url)
|
||||
|
@ -762,17 +762,17 @@ class SubmitTests(TestCase):
|
|||
self.assertEqual(s.state_id, "cancel")
|
||||
|
||||
def test_help_pages(self):
|
||||
r = self.client.get(urlreverse("submit_note_well"))
|
||||
r = self.client.get(urlreverse("ietf.submit.views.note_well"))
|
||||
self.assertEquals(r.status_code, 200)
|
||||
|
||||
r = self.client.get(urlreverse("submit_tool_instructions"))
|
||||
r = self.client.get(urlreverse("ietf.submit.views.tool_instructions"))
|
||||
self.assertEquals(r.status_code, 200)
|
||||
|
||||
def test_blackout_access(self):
|
||||
make_test_data()
|
||||
|
||||
# get
|
||||
url = urlreverse('submit_upload_submission')
|
||||
url = urlreverse('ietf.submit.views.upload_submission')
|
||||
# set meeting to today so we're in blackout period
|
||||
meeting = Meeting.get_current_meeting()
|
||||
meeting.date = datetime.datetime.utcnow()
|
||||
|
@ -802,7 +802,7 @@ class SubmitTests(TestCase):
|
|||
self.assertTrue(os.path.exists(settings.IDSUBMIT_IDNITS_BINARY))
|
||||
|
||||
# get
|
||||
url = urlreverse('submit_upload_submission')
|
||||
url = urlreverse('ietf.submit.views.upload_submission')
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
q = PyQuery(r.content)
|
||||
|
@ -850,7 +850,7 @@ class ApprovalsTestCase(TestCase):
|
|||
def test_approvals(self):
|
||||
make_test_data()
|
||||
|
||||
url = urlreverse('submit_approvals')
|
||||
url = urlreverse('ietf.submit.views.approvals')
|
||||
self.client.login(username="marschairman", password="marschairman+password")
|
||||
|
||||
Preapproval.objects.create(name="draft-ietf-mars-foo", by=Person.objects.get(user__username="marschairman"))
|
||||
|
@ -881,7 +881,7 @@ class ApprovalsTestCase(TestCase):
|
|||
def test_add_preapproval(self):
|
||||
make_test_data()
|
||||
|
||||
url = urlreverse('submit_add_preapproval')
|
||||
url = urlreverse('ietf.submit.views.add_preapproval')
|
||||
login_testing_unauthorized(self, "marschairman", url)
|
||||
|
||||
# get
|
||||
|
@ -908,7 +908,7 @@ class ApprovalsTestCase(TestCase):
|
|||
|
||||
preapproval = Preapproval.objects.create(name="draft-ietf-mars-foo", by=Person.objects.get(user__username="marschairman"))
|
||||
|
||||
url = urlreverse('submit_cancel_preapproval', kwargs=dict(preapproval_id=preapproval.pk))
|
||||
url = urlreverse('ietf.submit.views.cancel_preapproval', kwargs=dict(preapproval_id=preapproval.pk))
|
||||
login_testing_unauthorized(self, "marschairman", url)
|
||||
|
||||
# get
|
||||
|
@ -927,7 +927,7 @@ class ManualPostsTestCase(TestCase):
|
|||
def test_manual_posts(self):
|
||||
make_test_data()
|
||||
|
||||
url = urlreverse('submit_manualpost')
|
||||
url = urlreverse('ietf.submit.views.manualpost')
|
||||
# Secretariat has access
|
||||
self.client.login(username="secretary", password="secretary+password")
|
||||
|
||||
|
@ -949,7 +949,7 @@ class ManualPostsTestCase(TestCase):
|
|||
self.assertEqual(len(q('.submissions a:contains("draft-ietf-mars-foo")')), 1)
|
||||
self.assertEqual(len(q('.submissions a:contains("draft-ietf-mars-bar")')), 0)
|
||||
|
||||
def test_awaiting_draft(self):
|
||||
def test_waiting_for_draft(self):
|
||||
message_string = """To: somebody@ietf.org
|
||||
From: joe@test.com
|
||||
Date: {}
|
||||
|
@ -970,7 +970,7 @@ Thank you
|
|||
by = Person.objects.get(name="(System)"),
|
||||
msgtype = "msgin")
|
||||
|
||||
url = urlreverse('submit_manualpost')
|
||||
url = urlreverse('ietf.submit.views.manualpost')
|
||||
# Secretariat has access
|
||||
self.client.login(username="secretary", password="secretary+password")
|
||||
|
||||
|
@ -979,7 +979,7 @@ Thank you
|
|||
self.assertEqual(r.status_code, 200)
|
||||
q = PyQuery(r.content)
|
||||
|
||||
self.assertEqual(len(q('.awaiting-draft a:contains("draft-my-new-draft")')), 1)
|
||||
self.assertEqual(len(q('.waiting-for-draft a:contains("draft-my-new-draft")')), 1)
|
||||
|
||||
# Same name should raise an error
|
||||
with self.assertRaises(Exception):
|
||||
|
@ -993,7 +993,7 @@ Thank you
|
|||
msgtype = "msgin")
|
||||
|
||||
# Cancel this one
|
||||
r = self.client.post(urlreverse("submit_cancel_awaiting_draft_by_hash"), {
|
||||
r = self.client.post(urlreverse("ietf.submit.views.cancel_waiting_for_draft"), {
|
||||
"submission_id": submission.pk,
|
||||
"access_token": submission.access_token(),
|
||||
})
|
||||
|
@ -1002,7 +1002,7 @@ Thank you
|
|||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
q = PyQuery(r.content)
|
||||
self.assertEqual(len(q('.awaiting-draft a:contains("draft-my-new-draft")')), 0)
|
||||
self.assertEqual(len(q('.waiting-for-draft a:contains("draft-my-new-draft")')), 0)
|
||||
|
||||
# Should now be able to add it again
|
||||
submission, submission_email_event = \
|
||||
|
@ -1016,7 +1016,7 @@ Thank you
|
|||
msgtype = "msgin")
|
||||
|
||||
|
||||
def test_awaiting_draft_with_attachment(self):
|
||||
def test_waiting_for_draft_with_attachment(self):
|
||||
frm = "joe@test.com"
|
||||
|
||||
message_string = """To: somebody@ietf.org
|
||||
|
@ -1052,7 +1052,7 @@ ZSBvZiBsaW5lcyAtIGJ1dCBpdCBjb3VsZCBiZSBhIGRyYWZ0Cg==
|
|||
by = Person.objects.get(name="(System)"),
|
||||
msgtype = "msgin")
|
||||
|
||||
manualpost_page_url = urlreverse('submit_manualpost')
|
||||
manualpost_page_url = urlreverse('ietf.submit.views.manualpost')
|
||||
# Secretariat has access
|
||||
self.client.login(username="secretary", password="secretary+password")
|
||||
|
||||
|
@ -1135,7 +1135,7 @@ ZSBvZiBsaW5lcyAtIGJ1dCBpdCBjb3VsZCBiZSBhIGRyYWZ0Cg==
|
|||
is_secretariat):
|
||||
# get the page listing manual posts
|
||||
r, q = self.request_and_parse(the_url)
|
||||
selector = "#awaiting-draft a#add-submission-email{}:contains('Add email')". \
|
||||
selector = "#waiting-for-draft a#add-submission-email{}:contains('Add email')". \
|
||||
format(submission.pk, submission_name_fragment)
|
||||
|
||||
if is_secretariat:
|
||||
|
@ -1146,7 +1146,7 @@ ZSBvZiBsaW5lcyAtIGJ1dCBpdCBjb3VsZCBiZSBhIGRyYWZ0Cg==
|
|||
self.assertEqual(len(q(selector)), 0)
|
||||
|
||||
# Find the link for our submission in those awaiting drafts
|
||||
submission_url = self.get_href(q, "#awaiting-draft a#aw{}:contains({})".
|
||||
submission_url = self.get_href(q, "#waiting-for-draft a#aw{}:contains({})".
|
||||
format(submission.pk, submission_name_fragment))
|
||||
|
||||
# Follow the link to the status page for this submission
|
||||
|
@ -1317,7 +1317,7 @@ Subject: test
|
|||
# We're not testing the submission process - just the submission status
|
||||
|
||||
# get
|
||||
url = urlreverse('submit_upload_submission')
|
||||
url = urlreverse('ietf.submit.views.upload_submission')
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
q = PyQuery(r.content)
|
||||
|
|
|
@ -1,28 +1,29 @@
|
|||
from django.conf.urls import patterns, url
|
||||
from django.conf.urls import patterns
|
||||
|
||||
from ietf.submit import views
|
||||
|
||||
urlpatterns = patterns('ietf.submit.views',
|
||||
url(r'^$', 'upload_submission', name='submit_upload_submission'),
|
||||
url(r'^status/$', 'search_submission', name='submit_search_submission'),
|
||||
url(r'^status/(?P<submission_id>\d+)/$', 'submission_status', name='submit_submission_status'),
|
||||
url(r'^status/(?P<submission_id>\d+)/edit/$', 'edit_submission', name='submit_edit_submission'),
|
||||
url(r'^status/(?P<submission_id>\d+)/confirm/(?P<auth_token>[a-f\d]+)/$', 'confirm_submission', name='submit_confirm_submission'),
|
||||
url(r'^status/(?P<submission_id>\d+)/(?P<access_token>[a-f\d]*)/$', 'submission_status', name='submit_submission_status_by_hash'),
|
||||
url(r'^status/(?P<submission_id>\d+)/(?P<access_token>[a-f\d]+)/edit/$', 'edit_submission', name='submit_edit_submission_by_hash'),
|
||||
url(r'^note-well/$', 'note_well', name='submit_note_well'),
|
||||
url(r'^tool-instructions/$', 'tool_instructions', name='submit_tool_instructions'),
|
||||
(r'^$', views.upload_submission),
|
||||
(r'^status/$', views.search_submission),
|
||||
(r'^status/(?P<submission_id>\d+)/$', views.submission_status),
|
||||
(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),
|
||||
(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),
|
||||
(r'^note-well/$', views.note_well),
|
||||
(r'^tool-instructions/$', views.tool_instructions),
|
||||
|
||||
url(r'^approvals/$', 'approvals', name='submit_approvals'),
|
||||
url(r'^approvals/addpreapproval/$', 'add_preapproval', name='submit_add_preapproval'),
|
||||
url(r'^approvals/cancelpreapproval/(?P<preapproval_id>[a-f\d]+)/$', 'cancel_preapproval', name='submit_cancel_preapproval'),
|
||||
(r'^approvals/$', views.approvals),
|
||||
(r'^approvals/addpreapproval/$', views.add_preapproval),
|
||||
(r'^approvals/cancelpreapproval/(?P<preapproval_id>[a-f\d]+)/$', views.cancel_preapproval),
|
||||
|
||||
url(r'^manualpost/addemail$', 'add_manualpost_email', name='submit_manualpost_email'),
|
||||
url(r'^manualpost/addemail/(?P<submission_id>\d+)/(?P<access_token>[a-f\d]*)/$', 'add_manualpost_email', name='submit_manualpost_email_by_hash'),
|
||||
url(r'^awaitingdraft/cancel$', 'cancel_awaiting_draft', name='submit_cancel_awaiting_draft_by_hash'),
|
||||
url(r'^manualpost/$', 'manualpost', name='submit_manualpost'),
|
||||
url(r'^manualpost/email/(?P<submission_id>\d+)/(?P<message_id>\d+)/$', 'submission_email', name='submit_submission_email'),
|
||||
url(r'^manualpost/email/(?P<submission_id>\d+)/(?P<message_id>\d+)/(?P<access_token>[a-f\d]*)/$', 'submission_email', name='submit_submission_email_by_hash'),
|
||||
url(r'^manualpost/sendemail/(?P<submission_id>\d+)/$', 'send_email', name='submission_send_email'),
|
||||
url(r'^manualpost/replyemail/(?P<submission_id>\d+)/(?P<message_id>\d+)/$', 'send_email', name='submission_reply_email'),
|
||||
url(r'^manualpost/attachment/(?P<submission_id>\d+)/(?P<message_id>\d+)/(?P<filename>.*)$', 'submission_email_attachment', name='submit_submission_email_attachment'),
|
||||
(r'^manualpost/$', views.manualpost),
|
||||
(r'^manualpost/addemail$', views.add_manualpost_email),
|
||||
(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),
|
||||
(r'^manualpost/cancel$', views.cancel_waiting_for_draft),
|
||||
(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),
|
||||
(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),
|
||||
)
|
||||
|
|
|
@ -103,13 +103,13 @@ def upload_submission(request):
|
|||
else:
|
||||
abstract = form.parsed_draft.get_abstract()
|
||||
|
||||
# See if there is a Submission in state manual-awaiting-upload
|
||||
# See if there is a Submission in state waiting-for-draft
|
||||
# for this revision.
|
||||
# If so - we're going to update it otherwise we create a new object
|
||||
|
||||
submission = Submission.objects.filter(name=form.filename,
|
||||
rev=form.revision,
|
||||
state_id = "manual-awaiting-draft").distinct()
|
||||
state_id = "waiting-for-draft").distinct()
|
||||
if (len(submission) == 0):
|
||||
submission = None
|
||||
elif (len(submission) == 1):
|
||||
|
@ -131,7 +131,7 @@ def upload_submission(request):
|
|||
|
||||
submission.save()
|
||||
else:
|
||||
raise Exception("Multiple submissions awaiting upload")
|
||||
raise Exception("Multiple submissions found waiting for upload")
|
||||
|
||||
if (submission == None):
|
||||
try:
|
||||
|
@ -177,7 +177,7 @@ def upload_submission(request):
|
|||
create_submission_event(request, submission, desc="Uploaded submission")
|
||||
docevent_from_submission(request, submission, desc="Uploaded new revision")
|
||||
|
||||
return redirect("submit_submission_status_by_hash", submission_id=submission.pk, access_token=submission.access_token())
|
||||
return redirect("ietf.submit.views.submission_status", submission_id=submission.pk, access_token=submission.access_token())
|
||||
except IOError as e:
|
||||
if "read error" in str(e): # The server got an IOError when trying to read POST data
|
||||
form = SubmissionUploadForm(request=request)
|
||||
|
@ -238,7 +238,7 @@ def submission_status(request, submission_id, access_token=None):
|
|||
can_edit = can_edit_submission(request.user, submission, access_token) and submission.state_id == "uploaded"
|
||||
can_cancel = (key_matched or is_secretariat) and submission.state.next_states.filter(slug="cancel")
|
||||
can_group_approve = (is_secretariat or is_chair) and submission.state_id == "grp-appr"
|
||||
can_force_post = is_secretariat and submission.state.next_states.filter(slug="posted") and submission.state_id != "manual-awaiting-draft"
|
||||
can_force_post = is_secretariat and submission.state.next_states.filter(slug="posted") and submission.state_id != "waiting-for-draft"
|
||||
show_send_full_url = not key_matched and not is_secretariat and submission.state_id not in ("cancel", "posted")
|
||||
|
||||
addrs = gather_address_lists('sub_confirmation_requested',submission=submission)
|
||||
|
@ -330,15 +330,15 @@ def submission_status(request, submission_id, access_token=None):
|
|||
docevent_from_submission(request, submission, docDesc)
|
||||
|
||||
if access_token:
|
||||
return redirect("submit_submission_status_by_hash", submission_id=submission.pk, access_token=access_token)
|
||||
return redirect("ietf.submit.views.submission_status", submission_id=submission.pk, access_token=access_token)
|
||||
else:
|
||||
return redirect("submit_submission_status", submission_id=submission.pk)
|
||||
return redirect("ietf.submit.views.submission_status", submission_id=submission.pk)
|
||||
|
||||
elif action == "edit" and submission.state_id == "uploaded":
|
||||
if access_token:
|
||||
return redirect("submit_edit_submission_by_hash", submission_id=submission.pk, access_token=access_token)
|
||||
return redirect("ietf.submit.views.edit_submission", submission_id=submission.pk, access_token=access_token)
|
||||
else:
|
||||
return redirect("submit_edit_submission", submission_id=submission.pk)
|
||||
return redirect("ietf.submit.views.edit_submission", submission_id=submission.pk)
|
||||
|
||||
elif action == "sendfullurl" and submission.state_id not in ("cancel", "posted"):
|
||||
sent_to = send_full_url(request, submission)
|
||||
|
@ -355,7 +355,7 @@ def submission_status(request, submission_id, access_token=None):
|
|||
|
||||
create_submission_event(request, submission, "Cancelled submission")
|
||||
|
||||
return redirect("submit_submission_status", submission_id=submission_id)
|
||||
return redirect("ietf.submit.views.submission_status", submission_id=submission_id)
|
||||
|
||||
|
||||
elif action == "approve" and submission.state_id == "grp-appr":
|
||||
|
@ -465,7 +465,7 @@ def edit_submission(request, submission_id, access_token=None):
|
|||
|
||||
create_submission_event(request, submission, desc)
|
||||
|
||||
return redirect("submit_submission_status", submission_id=submission.pk)
|
||||
return redirect("ietf.submit.views.submission_status", submission_id=submission.pk)
|
||||
else:
|
||||
form_errors = True
|
||||
else:
|
||||
|
@ -547,7 +547,7 @@ def add_preapproval(request):
|
|||
p.by = request.user.person
|
||||
p.save()
|
||||
|
||||
return HttpResponseRedirect(urlreverse("submit_approvals") + "#preapprovals")
|
||||
return HttpResponseRedirect(urlreverse("ietf.submit.views.approvals") + "#preapprovals")
|
||||
else:
|
||||
form = PreapprovalForm()
|
||||
|
||||
|
@ -566,7 +566,7 @@ def cancel_preapproval(request, preapproval_id):
|
|||
if request.method == "POST" and request.POST.get("action", "") == "cancel":
|
||||
preapproval.delete()
|
||||
|
||||
return HttpResponseRedirect(urlreverse("submit_approvals") + "#preapprovals")
|
||||
return HttpResponseRedirect(urlreverse("ietf.submit.views.approvals") + "#preapprovals")
|
||||
|
||||
return render(request, 'submit/cancel_preapproval.html',
|
||||
{'selected': 'approvals',
|
||||
|
@ -584,15 +584,15 @@ def manualpost(request):
|
|||
s.passes_checks = all([ c.passed!=False for c in s.checks.all() ])
|
||||
s.errors = validate_submission(s)
|
||||
|
||||
awaiting_draft = Submission.objects.filter(state_id = "manual-awaiting-draft").distinct()
|
||||
waiting_for_draft = Submission.objects.filter(state_id = "waiting-for-draft").distinct()
|
||||
|
||||
return render(request, 'submit/manual_post.html',
|
||||
{'manual': manual,
|
||||
'selected': 'manual_posts',
|
||||
'awaiting_draft': awaiting_draft})
|
||||
'waiting_for_draft': waiting_for_draft})
|
||||
|
||||
|
||||
def cancel_awaiting_draft(request):
|
||||
def cancel_waiting_for_draft(request):
|
||||
if request.method == 'POST':
|
||||
can_cancel = has_role(request.user, "Secretariat")
|
||||
|
||||
|
@ -612,7 +612,7 @@ def cancel_awaiting_draft(request):
|
|||
submission,
|
||||
"Cancelled submission for rev {}".format(submission.rev))
|
||||
|
||||
return redirect("submit_manualpost")
|
||||
return redirect("ietf.submit.views.manualpost")
|
||||
|
||||
|
||||
@role_required('Secretariat',)
|
||||
|
@ -665,7 +665,7 @@ def add_manualpost_email(request, submission_id=None, access_token=None):
|
|||
e.time = submission_email_event.time
|
||||
e.save()
|
||||
|
||||
return redirect("submit_manualpost")
|
||||
return redirect("ietf.submit.views.manualpost")
|
||||
except ValidationError as e:
|
||||
form = SubmissionEmailForm(request.POST)
|
||||
form._errors = {}
|
||||
|
@ -688,14 +688,14 @@ def add_manualpost_email(request, submission_id=None, access_token=None):
|
|||
|
||||
|
||||
@role_required('Secretariat',)
|
||||
def send_email(request, submission_id, message_id=None):
|
||||
def send_submission_email(request, submission_id, message_id=None):
|
||||
"""Send an email related to a submission"""
|
||||
submission = get_submission_or_404(submission_id, access_token = None)
|
||||
|
||||
if request.method == 'POST':
|
||||
button_text = request.POST.get('submit', '')
|
||||
if button_text == 'Cancel':
|
||||
return redirect('submit_submission_status_by_hash',
|
||||
return redirect('ietf.submit.views.submission_status',
|
||||
submission_id=submission.id,
|
||||
access_token=submission.access_token())
|
||||
|
||||
|
@ -739,7 +739,7 @@ def send_email(request, submission_id, message_id=None):
|
|||
send_mail_message(None,msg)
|
||||
|
||||
messages.success(request, 'Email sent.')
|
||||
return redirect('submit_submission_status_by_hash',
|
||||
return redirect('ietf.submit.views.submission_status',
|
||||
submission_id=submission.id,
|
||||
access_token=submission.access_token())
|
||||
|
||||
|
@ -789,7 +789,7 @@ def send_email(request, submission_id, message_id=None):
|
|||
'form':form})
|
||||
|
||||
|
||||
def submission_email(request, submission_id, message_id, access_token=None):
|
||||
def show_submission_email_message(request, submission_id, message_id, access_token=None):
|
||||
submission = get_submission_or_404(submission_id, access_token)
|
||||
|
||||
submitEmail = get_object_or_404(SubmissionEmail, pk=message_id)
|
||||
|
@ -800,7 +800,7 @@ def submission_email(request, submission_id, message_id, access_token=None):
|
|||
'message': submitEmail,
|
||||
'attachments': attachments})
|
||||
|
||||
def submission_email_attachment(request, submission_id, message_id, filename, access_token=None):
|
||||
def show_submission_email_attachment(request, submission_id, message_id, filename, access_token=None):
|
||||
get_submission_or_404(submission_id, access_token)
|
||||
|
||||
message = get_object_or_404(SubmissionEmail, pk=message_id)
|
||||
|
|
|
@ -43,12 +43,12 @@
|
|||
</a>
|
||||
<ul class="dropdown-menu" role="menu">
|
||||
{% endif %}
|
||||
<li><a href="{% url "submit_upload_submission" %}">Draft submissions</a></li>
|
||||
<li><a href="{% url "ietf.submit.views.upload_submission" %}">Draft submissions</a></li>
|
||||
|
||||
{% if user|has_role:"WG Chair" %}
|
||||
{% if flavor == "top" %}<li class="divider hidden-xs"></li>{% endif %}
|
||||
<li {%if flavor == "top" %}class="dropdown-header hidden-xs"{% else %}class="nav-header"{% endif %}>WG chair</li>
|
||||
<li><a href="{% url "submit_approvals" %}">Approve a draft</a></li>
|
||||
<li><a href="{% url "ietf.submit.views.approvals" %}">Approve a draft</a></li>
|
||||
{% endif %}
|
||||
|
||||
{% if user and user.is_authenticated %}
|
||||
|
|
|
@ -46,7 +46,7 @@
|
|||
|
||||
{% buttons %}
|
||||
<button type="submit" class="btn btn-primary">Save</button>
|
||||
<a class="btn btn-default pull-right" href="{% url "submit_approvals" %}#preapprovals">Back</a>
|
||||
<a class="btn btn-default pull-right" href="{% url "ietf.submit.views.approvals" %}#preapprovals">Back</a>
|
||||
{% endbuttons %}
|
||||
</form>
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
|
||||
{% buttons %}
|
||||
<button type="submit" class="btn btn-primary">Add Email</button>
|
||||
<a class="btn btn-default pull-right" href="{% url "submit_manualpost" %}">Back</a>
|
||||
<a class="btn btn-default pull-right" href="{% url "ietf.submit.views.manualpost" %}">Back</a>
|
||||
{% endbuttons %}
|
||||
</form>
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ Hi,
|
|||
Chair approval is needed for posting of {{ submission.name }}-{{ submission.rev }}.
|
||||
|
||||
To approve the draft, go to this URL (note: you need to login to be able to approve):
|
||||
https://{{ domain }}{% url "submit_submission_status_by_hash" submission_id=submission.pk access_token=submission.access_token %}
|
||||
https://{{ domain }}{% url "ietf.submit.views.submission_status" submission_id=submission.pk access_token=submission.access_token %}
|
||||
|
||||
File name : {{ submission.name }}
|
||||
Revision : {{ submission.rev }}
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
<tbody>
|
||||
{% for s in approvals %}
|
||||
<tr>
|
||||
<td><a href="{% url "submit_submission_status_by_hash" submission_id=s.pk access_token=s.access_token %}">{{ s.name }}-{{ s.rev }}</a></td>
|
||||
<td><a href="{% url "ietf.submit.views.submission_status" submission_id=s.pk access_token=s.access_token %}">{{ s.name }}-{{ s.rev }}</a></td>
|
||||
<td>{{ s.submission_date }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
@ -39,7 +39,7 @@
|
|||
<h2 class="anchor-target" id="preapprovals">Pre-approved drafts not yet submitted</h2>
|
||||
|
||||
{% if user|has_role:"Secretariat,WG Chair,RG Chair" %}
|
||||
<p><a class="btn btn-default" href="{% url "submit_add_preapproval" %}">Add pre-approval</a></p>
|
||||
<p><a class="btn btn-default" href="{% url "ietf.submit.views.add_preapproval" %}">Add pre-approval</a></p>
|
||||
{% endif %}
|
||||
|
||||
{% if not preapprovals %}
|
||||
|
@ -60,7 +60,7 @@
|
|||
<td>{{ p.name }}</td>
|
||||
<td>{{ p.time|date:"Y-m-d" }}</td>
|
||||
<td>{{ p.by }}</td>
|
||||
<td><a class="btn btn-danger btn-xs" href="{% url "submit_cancel_preapproval" preapproval_id=p.id %}">Cancel</a></td>
|
||||
<td><a class="btn btn-danger btn-xs" href="{% url "ietf.submit.views.cancel_preapproval" preapproval_id=p.id %}">Cancel</a></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
|
@ -104,4 +104,4 @@
|
|||
|
||||
{% block js %}
|
||||
<script src="{% static "jquery.tablesorter/js/jquery.tablesorter.combined.min.js" %}"></script>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
{% buttons %}
|
||||
<button type="submit" class="btn btn-danger">Cancel pre-approval</button>
|
||||
<a class="btn btn-default pull-right" href="{% url "submit_approvals" %}#preapprovals">Back</a>
|
||||
<a class="btn btn-default pull-right" href="{% url "ietf.submit.views.approvals" %}#preapprovals">Back</a>
|
||||
{% endbuttons %}
|
||||
</form>
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
{% else %}
|
||||
<p>The submission is not in a state where it can be confirmed.</p>
|
||||
|
||||
<p>Go to the <a href="{% url "submit_submission_status" submission_id=submission.pk %}">status page</a>
|
||||
<p>Go to the <a href="{% url "ietf.submit.views.submission_status" submission_id=submission.pk %}">status page</a>
|
||||
to see what has happened to it.</p>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
|
@ -23,7 +23,7 @@
|
|||
<p class="error">Incorrect authorization key.</p>
|
||||
|
||||
<p>Double-check the link you followed. If everything fails, you can go to
|
||||
the <a href="{% url "submit_submission_status" submission_id=submission.pk %}">status page</a>,
|
||||
the <a href="{% url "ietf.submit.views.submission_status" submission_id=submission.pk %}">status page</a>,
|
||||
cancel the submission and try again.</p>
|
||||
{% else %}
|
||||
<p>Authorization key accepted.</p>
|
||||
|
|
|
@ -31,9 +31,9 @@
|
|||
{% for s in manual %}
|
||||
<tr>
|
||||
{% if user.is_authenticated %}
|
||||
<td><a href="{% url "submit_submission_status_by_hash" submission_id=s.pk access_token=s.access_token %}">{{ s.name }}-{{ s.rev }}</a></td>
|
||||
<td><a href="{% url "ietf.submit.views.submission_status" submission_id=s.pk access_token=s.access_token %}">{{ s.name }}-{{ s.rev }}</a></td>
|
||||
{% else %}
|
||||
<td><a href="{% url "submit_submission_status" submission_id=s.pk %}">{{ s.name }}-{{ s.rev }}</a></td>
|
||||
<td><a href="{% url "ietf.submit.views.submission_status" submission_id=s.pk %}">{{ s.name }}-{{ s.rev }}</a></td>
|
||||
{% endif %}
|
||||
<td>{{ s.submission_date }}</td>
|
||||
<td>{% if s.passes_checks %}Ok{% else %}Fails{% endif %}</td>
|
||||
|
@ -46,10 +46,10 @@
|
|||
|
||||
<h2 class="anchor-target" id="approvals">Submissions awaiting draft upload</h2>
|
||||
|
||||
{% if not awaiting_draft %}
|
||||
<p id="no-awaiting-draft">There are no submissions awaiting draft upload.</p>
|
||||
{% if not waiting_for_draft %}
|
||||
<p id="no-waiting-for-draft">There are no submissions awaiting draft upload.</p>
|
||||
{% else %}
|
||||
<table id="awaiting-draft" class="awaiting-draft table table-condensed table-striped tablesorter">
|
||||
<table id="waiting-for-draft" class="waiting-for-draft table table-condensed table-striped tablesorter">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
|
@ -58,12 +58,12 @@
|
|||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for s in awaiting_draft %}
|
||||
{% for s in waiting_for_draft %}
|
||||
<tr>
|
||||
{% if user.is_authenticated %}
|
||||
<td><a id="aw{{ s.pk }}" href="{% url "submit_submission_status_by_hash" submission_id=s.pk access_token=s.access_token %}">{{ s.name }}</a></td>
|
||||
<td><a id="aw{{ s.pk }}" href="{% url "ietf.submit.views.submission_status" submission_id=s.pk access_token=s.access_token %}">{{ s.name }}</a></td>
|
||||
{% else %}
|
||||
<td><a id="aw{{ s.pk }}" href="{% url "submit_submission_status" submission_id=s.pk %}">{{ s.name }}</a></td>
|
||||
<td><a id="aw{{ s.pk }}" href="{% url "ietf.submit.views.submission_status" submission_id=s.pk %}">{{ s.name }}</a></td>
|
||||
{% endif %}
|
||||
<td>{{ s.rev }}</td>
|
||||
<td>{{ s.submission_date }}</td>
|
||||
|
@ -79,7 +79,7 @@
|
|||
</td>
|
||||
{% endif %}
|
||||
{% if user|has_role:"Secretariat" %}
|
||||
<td><a id="add-submission-email{{ s.pk }}" class="btn btn-default btn-xs" href="{% url "submit_manualpost_email_by_hash" submission_id=s.pk access_token=s.access_token %}">Add email</a></td>
|
||||
<td><a id="add-submission-email{{ s.pk }}" class="btn btn-default btn-xs" href="{% url "ietf.submit.views.add_manualpost_email" submission_id=s.pk access_token=s.access_token %}">Add email</a></td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
@ -88,11 +88,11 @@
|
|||
{% endif %}
|
||||
|
||||
{% if user|has_role:"Secretariat" %}
|
||||
<a id="new-submission-email" class="btn btn-default btn-sm" href="{% url "submit_manualpost_email" %}">New submission from email</a>
|
||||
<a id="new-submission-email" class="btn btn-default btn-sm" href="{% url "ietf.submit.views.add_manualpost_email" %}">New submission from email</a>
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block js %}
|
||||
<script src="{% static "jquery.tablesorter/js/jquery.tablesorter.combined.min.js" %}"></script>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -43,13 +43,13 @@
|
|||
{% for a in attachments %}
|
||||
<tr>
|
||||
<th>Attachment</th>
|
||||
<td><a id="attach{{ submission.pk }}" href="{% url "submit_submission_email_attachment" submission_id=submission.pk message_id=message.pk filename=a.filename %}">{{ a.filename }}</a></td>
|
||||
<td><a id="attach{{ submission.pk }}" href="{% url "ietf.submit.views.show_submission_email_attachment" submission_id=submission.pk message_id=message.pk filename=a.filename %}">{{ a.filename }}</a></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
||||
{% if user|has_role:"Secretariat" %}
|
||||
<tr>
|
||||
<td><a id="reply{{ submission.pk }}" class="btn btn-default" href="{% url "submission_reply_email" submission_id=submission.pk message_id=message.pk %}" title="Reply"><span class="glyphicon glyphicon-envelope" aria-hidden="true"></span> Reply</a></td>
|
||||
<td><a id="reply{{ submission.pk }}" class="btn btn-default" href="{% url "ietf.submit.views.send_submission_email" submission_id=submission.pk message_id=message.pk %}" title="Reply"><span class="glyphicon glyphicon-envelope" aria-hidden="true"></span> Reply</a></td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</table>
|
||||
|
@ -57,4 +57,4 @@
|
|||
|
||||
{% block js %}
|
||||
<script src="{% static "jquery.tablesorter/js/jquery.tablesorter.combined.min.js" %}"></script>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -101,7 +101,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
{% if submission.state_id == "manual-awaiting-draft" %}
|
||||
{% if submission.state_id == "waiting-for-draft" %}
|
||||
<p class="alert alert-warning">
|
||||
This submission is awaiting the first draft upload.
|
||||
</p>
|
||||
|
@ -312,7 +312,7 @@
|
|||
|
||||
{% if user|has_role:"Secretariat" %}
|
||||
<p></p>
|
||||
<a id="send{{ submission.pk }}" class="btn btn-default" href="{% url "submission_send_email" submission_id=submission.pk %}" title="Email submitter"><span class="glyphicon glyphicon-envelope" aria-hidden="true"></span>Send Email</a>
|
||||
<a id="send{{ submission.pk }}" class="btn btn-default" href="{% url "ietf.submit.views.send_submission_email" submission_id=submission.pk %}" title="Email submitter"><span class="glyphicon glyphicon-envelope" aria-hidden="true"></span>Send Email</a>
|
||||
{% endif %}
|
||||
|
||||
{% if show_send_full_url %}
|
||||
|
@ -353,11 +353,11 @@
|
|||
{% if user.is_authenticated %}
|
||||
<td>
|
||||
{% if e.desc|startswith:"Received message" and user|has_role:"Secretariat" %}
|
||||
<a id="reply{{ submission.pk }}" class="btn btn-default btn-xs" href="{% url "submission_reply_email" submission_id=submission.pk message_id=e.submissionemail.pk %}" title="Reply"><span class="glyphicon glyphicon-envelope" aria-hidden="true"></span> Reply</a>
|
||||
<a id="reply{{ submission.pk }}" class="btn btn-default btn-xs" href="{% url "ietf.submit.views.send_submission_email" submission_id=submission.pk message_id=e.submissionemail.pk %}" title="Reply"><span class="glyphicon glyphicon-envelope" aria-hidden="true"></span> Reply</a>
|
||||
{% endif %}
|
||||
Email: <a id="aw{{ submission.pk }}-{{ m.pk }}" href="{% url "submit_submission_email_by_hash" submission_id=submission.pk message_id=e.submissionemail.pk access_token=submission.access_token %}">{{ e.desc }}</a></td>
|
||||
Email: <a id="aw{{ submission.pk }}-{{ m.pk }}" href="{% url "ietf.submit.views.show_submission_email_message" submission_id=submission.pk message_id=e.submissionemail.pk access_token=submission.access_token %}">{{ e.desc }}</a></td>
|
||||
{% else %}
|
||||
<td>Email: <a id="aw{{ submission.pk }}-{{ m.pk }}" href="{% url "submit_submission_email" submission_id=submission.pk message_id=e.submissionemail.pk %}">{{ e.desc }}</a></td>
|
||||
<td>Email: <a id="aw{{ submission.pk }}-{{ m.pk }}" href="{% url "ietf.submit.views.show_submission_email_message" submission_id=submission.pk message_id=e.submissionemail.pk %}">{{ e.desc }}</a></td>
|
||||
{% endif %}
|
||||
{% endwith %}
|
||||
{% else %}
|
||||
|
|
|
@ -12,22 +12,22 @@
|
|||
|
||||
<ul class="nav nav-tabs" role="tablist">
|
||||
<li {% if selected == "index" %}class="active"{% endif %}>
|
||||
<a href="{% url "submit_upload_submission" %}">Upload</a>
|
||||
<a href="{% url "ietf.submit.views.upload_submission" %}">Upload</a>
|
||||
</li>
|
||||
<li {% if selected == "status" %}class="active"{% endif %}>
|
||||
<a href="{% url "submit_search_submission" %}">Status</a>
|
||||
<a href="{% url "ietf.submit.views.search_submission" %}">Status</a>
|
||||
</li>
|
||||
<li {% if selected == "instructions" %}class="active"{% endif %}>
|
||||
<a href="{% url "submit_tool_instructions" %}">Instructions</a>
|
||||
<a href="{% url "ietf.submit.views.tool_instructions" %}">Instructions</a>
|
||||
</li>
|
||||
<li {% if selected == "notewell" %}class="active"{% endif %}>
|
||||
<a href="{% url "submit_note_well" %}">Note Well</a>
|
||||
<a href="{% url "ietf.submit.views.note_well" %}">Note Well</a>
|
||||
</li>
|
||||
<li {% if selected == "approvals" %}class="active"{% endif %}>
|
||||
<a href="{% url "submit_approvals" %}">Approvals</a>
|
||||
<a href="{% url "ietf.submit.views.approvals" %}">Approvals</a>
|
||||
</li>
|
||||
<li {% if selected == "manual_posts" %}class="active"{% endif %}>
|
||||
<a href="{% url "submit_manualpost" %}">Manual Post Requests</a>
|
||||
<a href="{% url "ietf.submit.views.manualpost" %}">Manual Post Requests</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
{% origin %}
|
||||
<h2>I-D submission tool instructions</h2>
|
||||
|
||||
<p><b>Tool URL:</b> <a href="{% url "submit_upload_submission" %}">https://datatracker.ietf.org{% url "submit_upload_submission" %}</a></p>
|
||||
<p><b>Tool URL:</b> <a href="{% url "ietf.submit.views.upload_submission" %}">https://datatracker.ietf.org{% url "ietf.submit.views.upload_submission" %}</a></p>
|
||||
|
||||
<p>
|
||||
This page will explain the purpose and content of each screen in the I-D Submission Tool, and the actions that result by clicking the form buttons on each screen.
|
||||
|
|
Loading…
Reference in a new issue