From f8b48f4c43647e97e157067e7bf98158192d47d2 Mon Sep 17 00:00:00 2001
From: Lars Eggert
Date: Sat, 11 Feb 2023 18:09:28 +0200
Subject: [PATCH] fix: use Internet-Draft more consistently across the UI
(#5104)
* s/Internet Draft/Internet-Draft/i
* s/draft/Internet-Draft/i or s/draft/I-D/i
* s/ID/I-D/
* Fix tests
* a -> an
* Undo case-change to ASCII
* Address code review comments
* Add migrations
* Add merged migration
* fix: straighten out migrations
* fix: finish straightening out migrations
---------
Co-authored-by: Robert Sparks
---
bin/daily | 2 +-
ietf/checks.py | 12 ++--
ietf/community/forms.py | 2 +-
ietf/community/models.py | 6 +-
ietf/doc/expire.py | 4 +-
ietf/doc/forms.py | 4 +-
ietf/doc/lastcall.py | 4 +-
ietf/doc/mails.py | 6 +-
.../commands/generate_draft_bibxml_files.py | 2 +-
ietf/doc/templatetags/mail_filters.py | 2 +-
ietf/doc/tests.py | 2 +-
ietf/doc/tests_utils.py | 6 +-
ietf/doc/utils.py | 2 +-
ietf/doc/views_ballot.py | 2 +-
ietf/doc/views_draft.py | 20 +++---
ietf/doc/views_stats.py | 8 +--
ietf/group/milestones.py | 2 +-
ietf/idindex/index.py | 2 +-
ietf/ipr/forms.py | 4 +-
.../commands/generate_draft_recursive_txt.py | 2 +-
ietf/ipr/utils.py | 2 +-
ietf/name/fixtures/names.json | 8 +--
ietf/person/migrations/0030_id_term.py | 33 ++++++++++
ietf/person/models.py | 4 +-
ietf/review/migrations/0031_id_term.py | 24 +++++++
ietf/review/models.py | 2 +-
ietf/settings.py | 2 +-
ietf/stats/views.py | 2 +-
ietf/submit/forms.py | 62 +++++++++----------
ietf/submit/mail.py | 4 +-
ietf/submit/tests.py | 20 +++---
ietf/submit/utils.py | 24 +++----
ietf/submit/views.py | 4 +-
ietf/sync/discrepancies.py | 8 +--
ietf/sync/rfceditor.py | 6 +-
ietf/templates/api/index.html | 4 +-
ietf/templates/base/menu.html | 8 +--
.../community/notification_email.txt | 2 +-
ietf/templates/doc/bofreq/bofreq_template.md | 4 +-
.../doc/conflict_review/approval_text.txt | 2 +-
ietf/templates/doc/document_draft.html | 4 +-
ietf/templates/doc/draft/adopt_draft.html | 2 +-
ietf/templates/doc/draft/change_state.html | 2 +-
.../doc/draft/expire_warning_email.txt | 2 +-
ietf/templates/doc/draft/id_expired_email.txt | 2 +-
ietf/templates/doc/draft/release_draft.html | 6 +-
.../rfceditor_post_approved_draft_failed.html | 2 +-
.../doc/mail/resurrect_completed_email.txt | 2 +-
ietf/templates/doc/review/request_info.html | 2 +-
.../doc/search/search_result_row.html | 10 +--
ietf/templates/group/conclude.html | 2 +-
ietf/templates/group/customize_workflow.html | 2 +-
ietf/templates/idindex/all_id2.txt | 16 ++---
ietf/templates/idindex/id_index.txt | 4 +-
ietf/templates/ietfauth/allowlist_form.html | 2 +-
ietf/templates/ietfauth/review_overview.html | 4 +-
.../templates/meeting/add_session_drafts.html | 10 +--
ietf/templates/meeting/finalize.html | 2 +-
ietf/templates/meeting/group_materials.html | 4 +-
ietf/templates/meeting/group_proceedings.html | 4 +-
ietf/templates/meeting/important-dates.html | 2 +-
.../meeting/important_dates_for_meeting.ics | 4 +-
ietf/templates/meeting/materials.html | 12 ++--
ietf/templates/meeting/proceedings.html | 10 +--
.../meeting/session_details_panel.html | 4 +-
ietf/templates/notify_expirations/body.txt | 4 +-
ietf/templates/person/profile.html | 12 ++--
ietf/templates/release/about.html | 2 +-
ietf/templates/stats/document_stats.html | 4 +-
.../document_stats_author_affiliation.html | 4 +-
.../document_stats_author_continent.html | 4 +-
.../stats/document_stats_author_country.html | 4 +-
ietf/templates/stats/index.html | 4 +-
ietf/templates/submit/add_preapproval.html | 10 +--
ietf/templates/submit/announce_to_lists.txt | 4 +-
.../templates/submit/api_submission_info.html | 22 +++----
ietf/templates/submit/api_submit_info.html | 8 +--
ietf/templates/submit/approval_request.txt | 4 +-
ietf/templates/submit/approvals.html | 16 ++---
ietf/templates/submit/confirm_submission.html | 4 +-
ietf/templates/submit/confirm_submission.txt | 6 +-
ietf/templates/submit/full_url.txt | 4 +-
ietf/templates/submit/manual_post.html | 8 +--
ietf/templates/submit/manual_post_request.txt | 2 +-
.../submit/problem-reports-footer.html | 2 +-
ietf/templates/submit/submission_status.html | 8 +--
ietf/templates/submit/tool_instructions.html | 8 +--
ietf/templates/sync/discrepancies.html | 2 +-
ietf/utils/draft.py | 10 +--
.../commands/populate_yang_model_dirs.py | 4 +-
90 files changed, 327 insertions(+), 268 deletions(-)
create mode 100644 ietf/person/migrations/0030_id_term.py
create mode 100644 ietf/review/migrations/0031_id_term.py
diff --git a/bin/daily b/bin/daily
index 40cf3fd2b..2835a93cc 100755
--- a/bin/daily
+++ b/bin/daily
@@ -42,7 +42,7 @@ $DTDIR/ietf/manage.py populate_yang_model_dirs -v0
# Re-run yang checks on active documents
$DTDIR/ietf/manage.py run_yang_model_checks -v0
-# Expire internet drafts
+# Expire Internet-Drafts
# Enable when removed from /a/www/ietf-datatracker/scripts/Cron-runner:
$DTDIR/ietf/bin/expire-ids
diff --git a/ietf/checks.py b/ietf/checks.py
index 53e695a76..c823abf11 100644
--- a/ietf/checks.py
+++ b/ietf/checks.py
@@ -114,7 +114,7 @@ def check_id_submission_directories(app_configs, **kwargs):
p = getattr(settings, s)
if not os.path.exists(p):
errors.append(checks.Critical(
- "A directory used by the ID submission tool does not\n"
+ "A directory used by the I-D submission tool does not\n"
"exist at the path given in the settings file. The setting is:\n"
" %s = %s" % (s, p),
hint = ("Please either update the local settings to point at the correct\n"
@@ -134,7 +134,7 @@ def check_id_submission_files(app_configs, **kwargs):
p = getattr(settings, s)
if not os.path.exists(p):
errors.append(checks.Critical(
- "A file used by the ID submission tool does not exist\n"
+ "A file used by the I-D submission tool does not exist\n"
"at the path given in the settings file. The setting is:\n"
" %s = %s" % (s, p),
hint = ("Please either update the local settings to point at the correct\n"
@@ -179,7 +179,7 @@ def check_id_submission_checkers(app_configs, **kwargs):
except Exception as e:
errors.append(checks.Critical(
"An exception was raised when trying to import the\n"
- "draft submission checker class '%s':\n %s" % (checker_path, e),
+ "Internet-Draft submission checker class '%s':\n %s" % (checker_path, e),
hint = "Please check that the class exists and can be imported.\n",
id = "datatracker.E0008",
))
@@ -188,7 +188,7 @@ def check_id_submission_checkers(app_configs, **kwargs):
except Exception as e:
errors.append(checks.Critical(
"An exception was raised when trying to instantiate\n"
- "the draft submission checker class '%s':\n %s" % (checker_path, e),
+ "the Internet-Draft submission checker class '%s':\n %s" % (checker_path, e),
hint = "Please check that the class can be instantiated.\n",
id = "datatracker.E0009",
))
@@ -196,7 +196,7 @@ def check_id_submission_checkers(app_configs, **kwargs):
for attr in ('name',):
if not hasattr(checker, attr):
errors.append(checks.Critical(
- "The draft submission checker\n '%s'\n"
+ "The Internet-Draft submission checker\n '%s'\n"
"has no attribute '%s', which is required" % (checker_path, attr),
hint = "Please update the class.\n",
id = "datatracker.E0010",
@@ -207,7 +207,7 @@ def check_id_submission_checkers(app_configs, **kwargs):
break
else:
errors.append(checks.Critical(
- "The draft submission checker\n '%s'\n"
+ "The Internet-Draft submission checker\n '%s'\n"
" has no recognised checker method; "
"should be one or more of %s." % (checker_path, checker_methods),
hint = "Please update the class.\n",
diff --git a/ietf/community/forms.py b/ietf/community/forms.py
index a8709c787..8d72ce0d7 100644
--- a/ietf/community/forms.py
+++ b/ietf/community/forms.py
@@ -13,7 +13,7 @@ from ietf.person.models import Person
from ietf.person.fields import SearchablePersonField
class AddDocumentsForm(forms.Form):
- documents = SearchableDocumentsField(label="Add documents to track", doc_type="draft")
+ documents = SearchableDocumentsField(label="Add Internet-Drafts to track", doc_type="draft")
class SearchRuleTypeForm(forms.Form):
rule_type = forms.ChoiceField(choices=[('', '--------------')] + SearchRule.RULE_TYPES)
diff --git a/ietf/community/models.py b/ietf/community/models.py
index 8938b1c09..9b2383f21 100644
--- a/ietf/community/models.py
+++ b/ietf/community/models.py
@@ -19,11 +19,11 @@ class CommunityList(models.Model):
def long_name(self):
if self.user:
- return 'Personal ID list of %s' % self.user.username
+ return 'Personal I-D list of %s' % self.user.username
elif self.group:
- return 'ID list for %s' % self.group.name
+ return 'I-D list for %s' % self.group.name
else:
- return 'ID list'
+ return 'I-D list'
def __str__(self):
return self.long_name()
diff --git a/ietf/doc/expire.py b/ietf/doc/expire.py
index 999d5022d..f6779e047 100644
--- a/ietf/doc/expire.py
+++ b/ietf/doc/expire.py
@@ -1,6 +1,6 @@
# Copyright The IETF Trust 2010-2020, All Rights Reserved
# -*- coding: utf-8 -*-
-# expiry of Internet Drafts
+# expiry of Internet-Drafts
from django.conf import settings
@@ -179,7 +179,7 @@ def expire_draft(doc):
doc.save_with_history(events)
def clean_up_draft_files():
- """Move unidentified and old files out of the Internet Draft directory."""
+ """Move unidentified and old files out of the Internet-Draft directory."""
cut_off = date_today(DEADLINE_TZINFO)
pattern = os.path.join(settings.INTERNET_DRAFT_PATH, "draft-*.*")
diff --git a/ietf/doc/forms.py b/ietf/doc/forms.py
index 8a480dcb8..c0c52571c 100644
--- a/ietf/doc/forms.py
+++ b/ietf/doc/forms.py
@@ -140,7 +140,7 @@ class AddDownrefForm(forms.Form):
required=True)
drafts = SearchableDocAliasesField(
label="Internet-Drafts that makes the reference",
- help_text="The drafts that approve the downref in their Last Call",
+ help_text="The Internet-Drafts that approve the downref in their Last Call",
required=True)
def clean_rfc(self):
@@ -163,7 +163,7 @@ class AddDownrefForm(forms.Form):
if not state or state.slug not in IESG_APPROVED_STATE_LIST:
v_err_names.append(da.name)
if v_err_names:
- raise forms.ValidationError("Draft is not yet approved: " + ", ".join(v_err_names))
+ raise forms.ValidationError("Internet-Draft is not yet approved: " + ", ".join(v_err_names))
return drafts
def clean(self):
diff --git a/ietf/doc/lastcall.py b/ietf/doc/lastcall.py
index 463311587..dd38fd390 100644
--- a/ietf/doc/lastcall.py
+++ b/ietf/doc/lastcall.py
@@ -1,4 +1,4 @@
-# helpers for handling last calls on Internet Drafts
+# helpers for handling last calls on Internet-Drafts
from django.db.models import Q
@@ -73,4 +73,4 @@ def expire_last_call(doc):
if doc.type_id == 'draft':
lc_text = doc.latest_event(LastCallDocEvent, type="sent_last_call").desc
if "document makes the following downward references" in lc_text:
- email_last_call_expired_with_downref(doc, lc_text)
\ No newline at end of file
+ email_last_call_expired_with_downref(doc, lc_text)
diff --git a/ietf/doc/mails.py b/ietf/doc/mails.py
index b158d7b76..b04caa5b7 100644
--- a/ietf/doc/mails.py
+++ b/ietf/doc/mails.py
@@ -98,7 +98,7 @@ def email_stream_changed(request, doc, old_stream, new_stream, text=""):
text = strip_tags(text)
send_mail(request, to, None,
- "ID Tracker Stream Change Notice: %s" % doc.file_tag(),
+ "I-D Tracker Stream Change Notice: %s" % doc.file_tag(),
"doc/mail/stream_changed_email.txt",
dict(text=text,
url=settings.IDTRACKER_BASE_URL + doc.get_absolute_url()),
@@ -288,7 +288,7 @@ def generate_approval_mail_approved(request, doc):
else:
contacts = "The IESG contact person is %s." % responsible_directors[0]
- doc_type = "RFC" if doc.get_state_slug() == "rfc" else "Internet Draft"
+ doc_type = "RFC" if doc.get_state_slug() == "rfc" else "Internet-Draft"
addrs = gather_address_lists('ballot_approved_ietf_stream',doc=doc).as_strings()
return render_to_string("doc/mail/approval_mail.txt",
@@ -308,7 +308,7 @@ def generate_approval_mail_rfc_editor(request, doc):
# This is essentially dead code - it is only exercised if the IESG ballots on some other stream's document,
# which does not happen now that we have conflict reviews.
disapproved = doc.get_state_slug("draft-iesg") in DO_NOT_PUBLISH_IESG_STATES
- doc_type = "RFC" if doc.get_state_slug() == "rfc" else "Internet Draft"
+ doc_type = "RFC" if doc.get_state_slug() == "rfc" else "Internet-Draft"
addrs = gather_address_lists('ballot_approved_conflrev', doc=doc).as_strings()
return render_to_string("doc/mail/approval_mail_rfc_editor.txt",
diff --git a/ietf/doc/management/commands/generate_draft_bibxml_files.py b/ietf/doc/management/commands/generate_draft_bibxml_files.py
index f2dc508b9..eda67c401 100644
--- a/ietf/doc/management/commands/generate_draft_bibxml_files.py
+++ b/ietf/doc/management/commands/generate_draft_bibxml_files.py
@@ -22,7 +22,7 @@ DEFAULT_DAYS = 7
class Command(BaseCommand):
help = ('Generate draft bibxml files for xml2rfc references, placing them in the '
'directory configured in settings.BIBXML_BASE_PATH: %s. '
- 'By default, generate files as needed for new draft revisions from the '
+ 'By default, generate files as needed for new Internet-Draft revisions from the '
'last %s days.' % (settings.BIBXML_BASE_PATH, DEFAULT_DAYS))
def add_arguments(self, parser):
diff --git a/ietf/doc/templatetags/mail_filters.py b/ietf/doc/templatetags/mail_filters.py
index 32e8dd0ca..6be662031 100644
--- a/ietf/doc/templatetags/mail_filters.py
+++ b/ietf/doc/templatetags/mail_filters.py
@@ -9,7 +9,7 @@ def std_level_prompt(doc):
to the object's intended_std_level (with the word RFC appended in some
cases), or a prompt requesting that the intended_std_level be set."""
- prompt = "*** YOU MUST SELECT AN INTENDED STATUS FOR THIS DRAFT AND REGENERATE THIS TEXT ***"
+ prompt = "*** YOU MUST SELECT AN INTENDED STATUS FOR THIS INTERNET-DRAFT AND REGENERATE THIS TEXT ***"
if doc.intended_std_level:
prompt = doc.intended_std_level.name
diff --git a/ietf/doc/tests.py b/ietf/doc/tests.py
index ec56adc6d..7067a942e 100644
--- a/ietf/doc/tests.py
+++ b/ietf/doc/tests.py
@@ -2522,7 +2522,7 @@ class ChartTests(ResourceTestCaseMixin, TestCase):
self.assertValidJSONResponse(r)
d = r.json()
self.assertEqual(d['chart']['type'], settings.CHART_TYPE_COLUMN_OPTIONS['chart']['type'])
- self.assertEqual("New draft revisions over time for %s" % person.name, d['title']['text'])
+ self.assertEqual("New Internet-Draft revisions over time for %s" % person.name, d['title']['text'])
data_url = urlreverse('ietf.doc.views_stats.chart_data_person_drafts', kwargs=dict(id=person.id))
diff --git a/ietf/doc/tests_utils.py b/ietf/doc/tests_utils.py
index 8b4b56d7e..2c224c1db 100644
--- a/ietf/doc/tests_utils.py
+++ b/ietf/doc/tests_utils.py
@@ -355,13 +355,13 @@ class RebuildReferenceRelationsTests(TestCase):
result = rebuild_reference_relations(self.doc, {})
self.assertCountEqual(result.keys(), ['errors'])
self.assertEqual(len(result['errors']), 1)
- self.assertIn('No draft text available', result['errors'][0],
- 'Error should be reported if no draft file is given')
+ self.assertIn('No Internet-Draft text available', result['errors'][0],
+ 'Error should be reported if no Internet-Draft file is given')
result = rebuild_reference_relations(self.doc, {'md': 'cant-do-this.md'})
self.assertCountEqual(result.keys(), ['errors'])
self.assertEqual(len(result['errors']), 1)
- self.assertIn('No draft text available', result['errors'][0],
+ self.assertIn('No Internet-Draft text available', result['errors'][0],
'Error should be reported if no XML or plaintext file is given')
@patch.object(XMLDraft, 'get_refs')
diff --git a/ietf/doc/utils.py b/ietf/doc/utils.py
index e76adb50d..6a26abc77 100644
--- a/ietf/doc/utils.py
+++ b/ietf/doc/utils.py
@@ -792,7 +792,7 @@ def rebuild_reference_relations(doc, filenames):
except IOError as e:
return { 'errors': ["%s :%s" % (e.strerror, filename)] }
else:
- return {'errors': ['No draft text available for rebuilding reference relations. Need XML or plaintext.']}
+ return {'errors': ['No Internet-Draft text available for rebuilding reference relations. Need XML or plaintext.']}
doc.relateddocument_set.filter(relationship__slug__in=['refnorm','refinfo','refold','refunk']).delete()
diff --git a/ietf/doc/views_ballot.py b/ietf/doc/views_ballot.py
index 67c42a37b..86c30e22a 100644
--- a/ietf/doc/views_ballot.py
+++ b/ietf/doc/views_ballot.py
@@ -994,7 +994,7 @@ class MakeLastCallForm(forms.Form):
@role_required('Secretariat')
def make_last_call(request, name):
- """Make last call for Internet Draft, sending out announcement."""
+ """Make last call for Internet-Draft, sending out announcement."""
doc = get_object_or_404(Document, docalias__name=name)
if not (doc.get_state("draft-iesg") or doc.get_state("statchg")):
raise Http404
diff --git a/ietf/doc/views_draft.py b/ietf/doc/views_draft.py
index e389173e4..a71a586ed 100644
--- a/ietf/doc/views_draft.py
+++ b/ietf/doc/views_draft.py
@@ -2,7 +2,7 @@
# -*- coding: utf-8 -*-
-# changing state and metadata on Internet Drafts
+# changing state and metadata on Internet-Drafts
import datetime
import os
@@ -84,7 +84,7 @@ class ChangeStateForm(forms.Form):
@role_required('Area Director','Secretariat')
def change_state(request, name):
- """Change IESG state of Internet Draft, notifying parties as necessary
+ """Change IESG state of Internet-Draft, notifying parties as necessary
and logging the change as a comment."""
doc = get_object_or_404(Document, docalias__name=name)
@@ -229,7 +229,7 @@ class ChangeIanaStateForm(forms.Form):
@role_required('Secretariat', 'IANA')
def change_iana_state(request, name, state_type):
- """Change IANA review state of Internet Draft. Normally, this is done via
+ """Change IANA review state of Internet-Draft. Normally, this is done via
automatic sync, but this form allows one to set it manually."""
doc = get_object_or_404(Document, docalias__name=name)
@@ -344,9 +344,9 @@ class ReplacesForm(forms.Form):
def clean_replaces(self):
for d in self.cleaned_data['replaces']:
if d.document == self.doc:
- raise forms.ValidationError("A draft can't replace itself")
+ raise forms.ValidationError("An Internet-Draft can't replace itself")
if d.document.type_id == "draft" and d.document.get_state_slug() == "rfc":
- raise forms.ValidationError("A draft can't replace an RFC")
+ raise forms.ValidationError("An Internet-Draft can't replace an RFC")
return self.cleaned_data['replaces']
def replaces(request, name):
@@ -631,7 +631,7 @@ def to_iesg(request,name):
@role_required('Area Director','Secretariat')
def edit_info(request, name):
- """Edit various Internet Draft attributes, notifying parties as
+ """Edit various Internet-Draft attributes, notifying parties as
necessary and logging changes as document events."""
doc = get_object_or_404(Document, docalias__name=name)
if doc.get_state_slug() == "expired":
@@ -790,7 +790,7 @@ def edit_info(request, name):
@role_required('Area Director','Secretariat')
def request_resurrect(request, name):
- """Request resurrect of expired Internet Draft."""
+ """Request resurrect of expired Internet-Draft."""
doc = get_object_or_404(Document, docalias__name=name)
if doc.get_state_slug() != "expired":
raise Http404
@@ -813,7 +813,7 @@ def request_resurrect(request, name):
@role_required('Secretariat')
def resurrect(request, name):
- """Resurrect expired Internet Draft."""
+ """Resurrect expired Internet-Draft."""
doc = get_object_or_404(Document, docalias__name=name)
if doc.get_state_slug() != "expired":
raise Http404
@@ -858,7 +858,7 @@ def restore_draft_file(request, draft):
shutil.move(file, settings.INTERNET_DRAFT_PATH)
log.log(" Moved file %s to %s" % (file, settings.INTERNET_DRAFT_PATH))
except shutil.Error as ex:
- messages.warning(request, 'There was an error restoring the draft file: {} ({})'.format(file, ex))
+ messages.warning(request, 'There was an error restoring the Internet-Draft file: {} ({})'.format(file, ex))
log.log(" Exception %s when attempting to move %s" % (ex, file))
@@ -1152,7 +1152,7 @@ class AdForm(forms.Form):
state = self.doc.get_state('draft-iesg')
if not ad:
if state.slug not in ['idexists','dead']:
- raise forms.ValidationError("Drafts in state %s must have an assigned AD." % state)
+ raise forms.ValidationError("Internet-Drafts in state %s must have an assigned AD." % state)
return ad
@role_required("Area Director", "Secretariat")
diff --git a/ietf/doc/views_stats.py b/ietf/doc/views_stats.py
index 699373a4e..7d56e8569 100644
--- a/ietf/doc/views_stats.py
+++ b/ietf/doc/views_stats.py
@@ -66,9 +66,9 @@ def get_doctypes(queryargs, pluralize=False):
or queryargs.get('activedrafts') == 'on'
or queryargs.get('olddrafts') == 'on'):
if pluralize:
- doctypes.append('Drafts')
+ doctypes.append('Internet-Drafts')
else:
- doctypes.append('Draft')
+ doctypes.append('Internet-Draft')
alltypes = DocTypeName.objects.exclude(slug__in='draft').order_by('name');
for doctype in alltypes:
if 'include-' + doctype.slug in queryargs:
@@ -166,8 +166,8 @@ def chart_conf_person_drafts(request, id):
conf = {}
else:
conf = copy.deepcopy(settings.CHART_TYPE_COLUMN_OPTIONS)
- conf['title']['text'] = "New draft revisions over time for %s" % person.name
- conf['series'][0]['name'] = "Submitted drafts"
+ conf['title']['text'] = "New Internet-Draft revisions over time for %s" % person.name
+ conf['series'][0]['name'] = "Submitted Internet-Drafts"
return JsonResponse(conf)
@cache_page(60*15)
diff --git a/ietf/group/milestones.py b/ietf/group/milestones.py
index 43748a1f2..64ebb389e 100644
--- a/ietf/group/milestones.py
+++ b/ietf/group/milestones.py
@@ -29,7 +29,7 @@ class MilestoneForm(forms.Form):
desc = forms.CharField(max_length=500, label="Milestone", required=True)
due = DatepickerDateField(date_format="MM yyyy", picker_settings={"min-view-mode": "months", "autoclose": "1", "view-mode": "years" }, required=True)
order = forms.IntegerField(required=True, widget=forms.HiddenInput)
- docs = SearchableDocumentsField(label="Drafts", required=False, help_text="Any drafts that the milestone concerns.")
+ docs = SearchableDocumentsField(label="Internet-Drafts", required=False, help_text="Any Internet-Drafts that the milestone concerns.")
resolved_checkbox = forms.BooleanField(required=False, label="Resolved")
resolved = forms.CharField(label="Resolved as", max_length=50, required=False)
diff --git a/ietf/idindex/index.py b/ietf/idindex/index.py
index 441febdd9..cda8310b4 100644
--- a/ietf/idindex/index.py
+++ b/ietf/idindex/index.py
@@ -62,7 +62,7 @@ def all_id_txt():
state += "::" + "::".join(tags)
add_line(d.name + "-" + d.rev,
formatted_rev_date(d.name),
- "In IESG processing - ID Tracker state <" + state + ">",
+ "In IESG processing - I-D Tracker state <" + state + ">",
"",
)
diff --git a/ietf/ipr/forms.py b/ietf/ipr/forms.py
index 06248e2a7..5f6c76c37 100644
--- a/ietf/ipr/forms.py
+++ b/ietf/ipr/forms.py
@@ -413,7 +413,7 @@ class ThirdPartyIprDisclosureForm(IprDisclosureFormBase):
class SearchForm(forms.Form):
state = forms.MultipleChoiceField(choices=[], widget=forms.CheckboxSelectMultiple,required=False)
- draft = forms.CharField(label="Draft name", max_length=128, required=False)
+ draft = forms.CharField(label="Internet-Draft name", max_length=128, required=False)
rfc = forms.IntegerField(label="RFC number", required=False)
holder = forms.CharField(label="Name of patent owner/applicant", max_length=128,required=False)
patent = forms.CharField(label="Text in patent information", max_length=128,required=False)
@@ -428,4 +428,4 @@ class SearchForm(forms.Form):
class StateForm(forms.Form):
state = forms.ModelChoiceField(queryset=IprDisclosureStateName.objects,label="New State",empty_label=None)
comment = forms.CharField(required=False, widget=forms.Textarea, help_text="You may add a comment to be included in the disclosure history.", strip=False)
- private = forms.BooleanField(label="Private comment", required=False, help_text="If this box is checked the comment will not appear in the disclosure's public history view.")
\ No newline at end of file
+ private = forms.BooleanField(label="Private comment", required=False, help_text="If this box is checked the comment will not appear in the disclosure's public history view.")
diff --git a/ietf/ipr/management/commands/generate_draft_recursive_txt.py b/ietf/ipr/management/commands/generate_draft_recursive_txt.py
index 240fc5348..2c61a7604 100644
--- a/ietf/ipr/management/commands/generate_draft_recursive_txt.py
+++ b/ietf/ipr/management/commands/generate_draft_recursive_txt.py
@@ -8,7 +8,7 @@ from ietf.ipr.utils import generate_draft_recursive_txt
class Command(BaseCommand):
- help = ("Generate machine-readable list of IPR disclosures by draft name (recursive)")
+ help = ("Generate machine-readable list of IPR disclosures by Internet-Draft name (recursive)")
def handle(self, *args, **options):
try:
diff --git a/ietf/ipr/utils.py b/ietf/ipr/utils.py
index 43f5494b1..f288803de 100644
--- a/ietf/ipr/utils.py
+++ b/ietf/ipr/utils.py
@@ -79,7 +79,7 @@ def generate_draft_recursive_txt():
docipr[name] = []
docipr[name].append(o.disclosure_id)
- lines = [ "# Machine-readable list of IPR disclosures by draft name" ]
+ lines = [ "# Machine-readable list of IPR disclosures by Internet-Draft name" ]
for name, iprs in docipr.items():
lines.append(name + "\t" + "\t".join(str(ipr_id) for ipr_id in sorted(iprs)))
diff --git a/ietf/name/fixtures/names.json b/ietf/name/fixtures/names.json
index acd067daa..ed4b0416b 100644
--- a/ietf/name/fixtures/names.json
+++ b/ietf/name/fixtures/names.json
@@ -6025,7 +6025,7 @@
},
{
"fields": {
- "desc": "The internet drafts ticketing system",
+ "desc": "The Internet-Drafts ticketing system",
"template": ""
},
"model": "mailtrigger.recipient",
@@ -11545,7 +11545,7 @@
{
"fields": {
"default_offset_days": -19,
- "desc": "Internet Draft submission cut-off for -00 drafts by UTC 23:59",
+ "desc": "Internet-Draft submission cut-off for -00 drafts by UTC 23:59",
"name": "00 ID Cutoff",
"order": 0,
"used": false
@@ -11556,7 +11556,7 @@
{
"fields": {
"default_offset_days": -12,
- "desc": "Internet Draft submission cut-off for revised (-01 and above) drafts by UTC 23:59",
+ "desc": "Internet-Draft submission cut-off for revised (-01 and above) drafts by UTC 23:59",
"name": "01 ID Cutoff",
"order": 0,
"used": false
@@ -11699,7 +11699,7 @@
{
"fields": {
"default_offset_days": -12,
- "desc": "Internet Draft submission cut-off (for all drafts, including -00) by UTC 23:59",
+ "desc": "Internet-Draft submission cut-off (for all drafts, including -00) by UTC 23:59",
"name": "ID Cutoff",
"order": 0,
"used": true
diff --git a/ietf/person/migrations/0030_id_term.py b/ietf/person/migrations/0030_id_term.py
new file mode 100644
index 000000000..3be33c9b3
--- /dev/null
+++ b/ietf/person/migrations/0030_id_term.py
@@ -0,0 +1,33 @@
+# Generated by Django 2.2.28 on 2023-02-10 19:58
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('person', '0029_use_timezone_now_for_person_models'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='email',
+ name='origin',
+ field=models.CharField(help_text="The origin of the address: the user's email address, or 'author: DRAFTNAME' if an Internet-Draft, or 'role: GROUP/ROLE' if a role.", max_length=150),
+ ),
+ migrations.AlterField(
+ model_name='historicalemail',
+ name='origin',
+ field=models.CharField(help_text="The origin of the address: the user's email address, or 'author: DRAFTNAME' if an Internet-Draft, or 'role: GROUP/ROLE' if a role.", max_length=150),
+ ),
+ migrations.AlterField(
+ model_name='historicalperson',
+ name='name_from_draft',
+ field=models.CharField(editable=False, help_text='Name as found in an Internet-Draft submission.', max_length=255, null=True, verbose_name='Full Name (from submission)'),
+ ),
+ migrations.AlterField(
+ model_name='person',
+ name='name_from_draft',
+ field=models.CharField(editable=False, help_text='Name as found in an Internet-Draft submission.', max_length=255, null=True, verbose_name='Full Name (from submission)'),
+ ),
+ ]
diff --git a/ietf/person/models.py b/ietf/person/models.py
index a7e30b2de..6731212d0 100644
--- a/ietf/person/models.py
+++ b/ietf/person/models.py
@@ -57,7 +57,7 @@ class Person(models.Model):
biography = models.TextField(blank=True, help_text="Short biography for use on leadership pages. Use plain text or reStructuredText markup.")
photo = models.ImageField(storage=NoLocationMigrationFileSystemStorage(), upload_to=settings.PHOTOS_DIRNAME, blank=True, default=None)
photo_thumb = models.ImageField(storage=NoLocationMigrationFileSystemStorage(), upload_to=settings.PHOTOS_DIRNAME, blank=True, default=None)
- name_from_draft = models.CharField("Full Name (from submission)", null=True, max_length=255, editable=False, help_text="Name as found in a draft submission.")
+ name_from_draft = models.CharField("Full Name (from submission)", null=True, max_length=255, editable=False, help_text="Name as found in an Internet-Draft submission.")
def __str__(self):
return self.plain_name()
@@ -281,7 +281,7 @@ class Email(models.Model):
person = ForeignKey(Person, null=True)
time = models.DateTimeField(auto_now_add=True)
primary = models.BooleanField(default=False)
- origin = models.CharField(max_length=150, blank=False, help_text="The origin of the address: the user's email address, or 'author: DRAFTNAME' if a draft, or 'role: GROUP/ROLE' if a role.") # User.username or Document.name
+ origin = models.CharField(max_length=150, blank=False, help_text="The origin of the address: the user's email address, or 'author: DRAFTNAME' if an Internet-Draft, or 'role: GROUP/ROLE' if a role.") # User.username or Document.name
active = models.BooleanField(default=True) # Old email addresses are *not* purged, as history
# information points to persons through these
diff --git a/ietf/review/migrations/0031_id_term.py b/ietf/review/migrations/0031_id_term.py
new file mode 100644
index 000000000..6abb0dadb
--- /dev/null
+++ b/ietf/review/migrations/0031_id_term.py
@@ -0,0 +1,24 @@
+# Generated by Django 2.2.28 on 2023-02-10 19:58
+
+from django.db import migrations, models
+import ietf.utils.validators
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('review', '0030_use_date_today_helper'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='historicalreviewersettings',
+ name='filter_re',
+ field=models.CharField(blank=True, help_text='Internet-Draft names matching this regular expression should not be assigned', max_length=255, validators=[ietf.utils.validators.RegexStringValidator()], verbose_name='Filter regexp'),
+ ),
+ migrations.AlterField(
+ model_name='reviewersettings',
+ name='filter_re',
+ field=models.CharField(blank=True, help_text='Internet-Draft names matching this regular expression should not be assigned', max_length=255, validators=[ietf.utils.validators.RegexStringValidator()], verbose_name='Filter regexp'),
+ ),
+ ]
diff --git a/ietf/review/models.py b/ietf/review/models.py
index f0ec78094..269e45e75 100644
--- a/ietf/review/models.py
+++ b/ietf/review/models.py
@@ -34,7 +34,7 @@ class ReviewerSettings(models.Model):
min_interval = models.IntegerField(verbose_name="Can review at most", choices=INTERVALS, blank=True, null=True)
filter_re = models.CharField(max_length=255, verbose_name="Filter regexp", blank=True,
validators=[validate_regular_expression_string, ],
- help_text="Draft names matching this regular expression should not be assigned")
+ help_text="Internet-Draft names matching this regular expression should not be assigned")
skip_next = models.IntegerField(default=0, verbose_name="Skip next assignments")
remind_days_before_deadline = models.IntegerField(null=True, blank=True, help_text="To get an email reminder in case you forget to do an assigned review, enter the number of days before review deadline you want to receive it. Clear the field if you don't want this reminder.")
remind_days_open_reviews = models.PositiveIntegerField(null=True, blank=True, verbose_name="Periodic reminder of open reviews every X days", help_text="To get a periodic email reminder of all your open reviews, enter the number of days between these reminders. Clear the field if you don't want these reminders.")
diff --git a/ietf/settings.py b/ietf/settings.py
index f16a36f5c..261e17a41 100644
--- a/ietf/settings.py
+++ b/ietf/settings.py
@@ -1009,7 +1009,7 @@ HTPASSWD_FILE = "/www/htpasswd"
# Generation of pdf files
GHOSTSCRIPT_COMMAND = "/usr/bin/gs"
-# Generation of bibxml files (currently only for internet drafts)
+# Generation of bibxml files (currently only for Internet-Drafts)
BIBXML_BASE_PATH = '/a/ietfdata/derived/bibxml'
# Timezone files for iCalendar
diff --git a/ietf/stats/views.py b/ietf/stats/views.py
index dd1cc96bd..44fbfb717 100644
--- a/ietf/stats/views.py
+++ b/ietf/stats/views.py
@@ -182,7 +182,7 @@ def document_stats(request, stats_type=None):
possible_document_types = add_url_to_choices([
("", "All"),
("rfc", "RFCs"),
- ("draft", "Drafts"),
+ ("draft", "Internet-Drafts"),
], lambda slug: build_document_stats_url(get_overrides={ "type": slug }))
document_type = get_choice(request, "type", possible_document_types) or ""
diff --git a/ietf/submit/forms.py b/ietf/submit/forms.py
index 7a4bd38f1..f2f68f627 100644
--- a/ietf/submit/forms.py
+++ b/ietf/submit/forms.py
@@ -103,7 +103,7 @@ class SubmissionBaseUploadForm(forms.Form):
elif now <= cutoff_00:
self.cutoff_warning = (
'The last submission time for new Internet-Drafts before the meeting is %s.
'
- 'After that, you will not be able to submit drafts until after %s (IETF-meeting local time)' % (cutoff_00_str, reopen_str, ))
+ 'After that, you will not be able to submit Internet-Drafts until after %s (IETF-meeting local time)' % (cutoff_00_str, reopen_str, ))
else:
if now.date() >= (cutoff_00.date() - meeting.idsubmit_cutoff_warning_days) and now.date() < cutoff_00.date():
self.cutoff_warning = ( 'The last submission time for new documents (i.e., version -00 Internet-Drafts) before %s is %s.
' % (meeting, cutoff_00_str) +
@@ -207,7 +207,7 @@ class SubmissionBaseUploadForm(forms.Form):
self.add_error('xml', msgs)
return
except Exception as e:
- self.add_error('xml', f'Error parsing XML draft: {e}')
+ self.add_error('xml', f'Error parsing XML Internet-Draft: {e}')
return
self.filename = xml_draft.filename
@@ -236,19 +236,19 @@ class SubmissionBaseUploadForm(forms.Form):
raise forms.ValidationError('')
if not self.filename:
- raise forms.ValidationError("Could not extract a valid draft name from the upload. "
- "To fix this in a text upload, please make sure that the full draft name including "
+ raise forms.ValidationError("Could not extract a valid Internet-Draft name from the upload. "
+ "To fix this in a text upload, please make sure that the full Internet-Draft name including "
"revision number appears centered on its own line below the document title on the "
"first page. In an xml upload, please make sure that the top-level "
- "element has a docName attribute which provides the full draft name including "
+ "element has a docName attribute which provides the full Internet-Draft name including "
"revision number.")
if not self.revision:
- raise forms.ValidationError("Could not extract a valid draft revision from the upload. "
- "To fix this in a text upload, please make sure that the full draft name including "
+ raise forms.ValidationError("Could not extract a valid Internet-Draft revision from the upload. "
+ "To fix this in a text upload, please make sure that the full Internet-Draft name including "
"revision number appears centered on its own line below the document title on the "
"first page. In an xml upload, please make sure that the top-level "
- "element has a docName attribute which provides the full draft name including "
+ "element has a docName attribute which provides the full Internet-Draft name including "
"revision number.")
if self.cleaned_data.get('txt') or self.cleaned_data.get('xml'):
@@ -272,7 +272,7 @@ class SubmissionBaseUploadForm(forms.Form):
raise forms.ValidationError(mark_safe(self.cutoff_warning))
# check thresholds that depend on the draft / group
self.check_submissions_thresholds(
- "for the draft %s" % self.filename,
+ "for the Internet-Draft %s" % self.filename,
dict(name=self.filename, rev=self.revision, submission_date=today),
settings.IDSUBMIT_MAX_DAILY_SAME_DRAFT_NAME, settings.IDSUBMIT_MAX_DAILY_SAME_DRAFT_NAME_SIZE,
)
@@ -306,7 +306,7 @@ class SubmissionBaseUploadForm(forms.Form):
else:
name_parts = name.split("-")
if len(name_parts) < 3:
- raise forms.ValidationError("The draft name \"%s\" is missing a third part, please rename it" % name)
+ raise forms.ValidationError("The Internet-Draft name \"%s\" is missing a third part, please rename it" % name)
if name.startswith('draft-ietf-') or name.startswith("draft-irtf-"):
if name_parts[1] == "ietf":
@@ -324,7 +324,7 @@ class SubmissionBaseUploadForm(forms.Form):
try:
return Group.objects.get(acronym=name_parts[2], type=group_type)
except Group.DoesNotExist:
- raise forms.ValidationError('There is no active group with acronym \'%s\', please rename your draft' % name_parts[2])
+ raise forms.ValidationError('There is no active group with acronym \'%s\', please rename your Internet-Draft' % name_parts[2])
elif name.startswith("draft-rfc-"):
return Group.objects.get(acronym="iesg")
@@ -338,7 +338,7 @@ class SubmissionBaseUploadForm(forms.Form):
if group:
return group
else:
- raise forms.ValidationError('Draft names starting with draft-%s- are restricted, please pick a different name' % ntype)
+ raise forms.ValidationError('Internet-Draft names starting with draft-%s- are restricted, please pick a different name' % ntype)
return None
@@ -541,19 +541,19 @@ class DeprecatedSubmissionBaseUploadForm(SubmissionBaseUploadForm):
raise forms.ValidationError('')
if not self.filename:
- raise forms.ValidationError("Could not extract a valid draft name from the upload. "
- "To fix this in a text upload, please make sure that the full draft name including "
+ raise forms.ValidationError("Could not extract a valid Internet-Draft name from the upload. "
+ "To fix this in a text upload, please make sure that the full Internet-Draft name including "
"revision number appears centered on its own line below the document title on the "
"first page. In an xml upload, please make sure that the top-level "
- "element has a docName attribute which provides the full draft name including "
+ "element has a docName attribute which provides the full Internet-Draft name including "
"revision number.")
if not self.revision:
- raise forms.ValidationError("Could not extract a valid draft revision from the upload. "
- "To fix this in a text upload, please make sure that the full draft name including "
+ raise forms.ValidationError("Could not extract a valid Internet-Draft revision from the upload. "
+ "To fix this in a text upload, please make sure that the full Internet-Draft name including "
"revision number appears centered on its own line below the document title on the "
"first page. In an xml upload, please make sure that the top-level "
- "element has a docName attribute which provides the full draft name including "
+ "element has a docName attribute which provides the full Internet-Draft name including "
"revision number.")
if not self.title:
@@ -576,7 +576,7 @@ class DeprecatedSubmissionBaseUploadForm(SubmissionBaseUploadForm):
today = date_today()
self.check_submissions_thresholds(
- "for the draft %s" % self.filename,
+ "for the Internet-Draft %s" % self.filename,
dict(name=self.filename, rev=self.revision, submission_date=today),
settings.IDSUBMIT_MAX_DAILY_SAME_DRAFT_NAME, settings.IDSUBMIT_MAX_DAILY_SAME_DRAFT_NAME_SIZE,
)
@@ -653,24 +653,24 @@ class SubmissionAutoUploadForm(SubmissionBaseUploadForm):
self.add_error(
'replaces',
forms.ValidationError(
- 'Unknown draft name(s): ' + ', '.join(unknown_names)
+ 'Unknown Internet-Draft name(s): ' + ', '.join(unknown_names)
),
)
for alias in aliases_replaced:
if alias.document.name == self.filename:
self.add_error(
'replaces',
- forms.ValidationError("A draft cannot replace itself"),
+ forms.ValidationError("An Internet-Draft cannot replace itself"),
)
elif alias.document.type_id != "draft":
self.add_error(
'replaces',
- forms.ValidationError("A draft can only replace another draft"),
+ forms.ValidationError("An Internet-Draft can only replace another Internet-Draft"),
)
elif alias.document.get_state_slug() == "rfc":
self.add_error(
'replaces',
- forms.ValidationError("A draft cannot replace an RFC"),
+ forms.ValidationError("An Internet-Draft cannot replace an RFC"),
)
elif alias.document.get_state_slug('draft-iesg') in ('approved', 'ann', 'rfcqueue'):
self.add_error(
@@ -716,7 +716,7 @@ class SubmitterForm(NameEmailForm):
return line
class ReplacesForm(forms.Form):
- replaces = SearchableDocAliasesField(required=False, help_text="Any drafts that this document replaces (approval required for replacing a draft you are not the author of)")
+ replaces = SearchableDocAliasesField(required=False, help_text="Any Internet-Drafts that this document replaces (approval required for replacing an Internet-Draft you are not the author of)")
def __init__(self, *args, **kwargs):
self.name = kwargs.pop("name")
@@ -725,11 +725,11 @@ class ReplacesForm(forms.Form):
def clean_replaces(self):
for alias in self.cleaned_data['replaces']:
if alias.document.name == self.name:
- raise forms.ValidationError("A draft cannot replace itself.")
+ raise forms.ValidationError("An Internet-Draft cannot replace itself.")
if alias.document.type_id != "draft":
- raise forms.ValidationError("A draft can only replace another draft")
+ raise forms.ValidationError("An Internet-Draft can only replace another Internet-Draft")
if alias.document.get_state_slug() == "rfc":
- raise forms.ValidationError("A draft cannot replace an RFC")
+ raise forms.ValidationError("An Internet-Draft cannot replace an RFC")
if alias.document.get_state_slug('draft-iesg') in ('approved','ann','rfcqueue'):
raise forms.ValidationError(alias.name+" is approved by the IESG and cannot be replaced")
return self.cleaned_data['replaces']
@@ -781,15 +781,15 @@ class PreapprovalForm(forms.Form):
if components[-1] == "00":
raise forms.ValidationError("Name appears to end with a revision number -00 - do not include the revision.")
if len(components) < 4:
- raise forms.ValidationError("Name has less than four dash-delimited components - can't form a valid group draft name.")
+ raise forms.ValidationError("Name has less than four dash-delimited components - can't form a valid group Internet-Draft name.")
acronym = components[2]
if acronym not in [ g.acronym for g in self.groups ]:
- raise forms.ValidationError("Group acronym not recognized as one you can approve drafts for.")
+ raise forms.ValidationError("Group acronym not recognized as one you can approve Internet-Drafts for.")
if Preapproval.objects.filter(name=n):
raise forms.ValidationError("Pre-approval for this name already exists.")
if Submission.objects.filter(state="posted", name=n):
- raise forms.ValidationError("A draft with this name has already been submitted and accepted. A pre-approval would not make any difference.")
+ raise forms.ValidationError("An Internet-Draft with this name has already been submitted and accepted. A pre-approval would not make any difference.")
return n
@@ -802,7 +802,7 @@ class SubmissionEmailForm(forms.Form):
if submission_pk is None we are starting a new submission and name
must be unique. Otherwise the name must match the submission.name.
'''
- name = forms.CharField(required=True, max_length=255, label="Draft name")
+ name = forms.CharField(required=True, max_length=255, label="Internet-Draft name")
submission_pk = forms.IntegerField(required=False, widget=forms.HiddenInput())
direction = forms.ChoiceField(choices=(("incoming", "Incoming"), ("outgoing", "Outgoing")),
widget=forms.RadioSelect)
diff --git a/ietf/submit/mail.py b/ietf/submit/mail.py
index 81d2233af..93f97026c 100644
--- a/ietf/submit/mail.py
+++ b/ietf/submit/mail.py
@@ -52,7 +52,7 @@ def send_submission_confirmation(request, submission, chair_notice=False):
return all_addrs
def send_full_url(request, submission):
- subject = 'Full URL for managing submission of draft %s' % submission.name
+ subject = 'Full URL for managing submission of Internet-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('ietf.submit.views.submission_status', kwargs=dict(submission_id=submission.pk, access_token=submission.access_token()))
@@ -75,7 +75,7 @@ def send_approval_request(request, submission, replaced_doc=None):
If replaced_doc is not None, requests will be sent to the wg chairs or ADs
responsible for that doc's group instead of the submission.
"""
- subject = 'New draft waiting for approval: %s' % submission.name
+ subject = 'New Internet-Draft waiting for approval: %s' % submission.name
from_email = settings.IDSUBMIT_FROM_EMAIL
# Sort out which MailTrigger to use
diff --git a/ietf/submit/tests.py b/ietf/submit/tests.py
index ad1891c95..d1056e34d 100644
--- a/ietf/submit/tests.py
+++ b/ietf/submit/tests.py
@@ -327,7 +327,7 @@ class SubmitTests(BaseSubmitTestCase):
self.assertEqual(r.status_code, 302)
status_url = r["Location"]
self.assertEqual(len(outbox), mailbox_before + 1)
- self.assertTrue("New draft waiting for approval" in outbox[-1]["Subject"])
+ self.assertTrue("New Internet-Draft waiting for approval" in outbox[-1]["Subject"])
self.assertTrue(name in outbox[-1]["Subject"])
# as chair of WG, we should see approval button
@@ -438,7 +438,7 @@ class SubmitTests(BaseSubmitTestCase):
# Approval request notification should be sent to the WG chair
self.assertEqual(len(outbox), mailbox_before + 1)
- self.assertTrue("New draft waiting for approval" in outbox[-1]["Subject"])
+ self.assertTrue("New Internet-Draft waiting for approval" in outbox[-1]["Subject"])
self.assertTrue(name in outbox[-1]["Subject"])
self.assertTrue('mars-chairs@ietf.org' in outbox[-1]['To'])
@@ -791,7 +791,7 @@ class SubmitTests(BaseSubmitTestCase):
# Approval request notification should be sent to the AD for the group
self.assertEqual(len(outbox), mailbox_before + 1)
- self.assertTrue("New draft waiting for approval" in outbox[-1]["Subject"])
+ self.assertTrue("New Internet-Draft waiting for approval" in outbox[-1]["Subject"])
self.assertTrue(name in outbox[-1]["Subject"])
self.assertTrue(ad.user.email in outbox[-1]['To'])
@@ -1224,7 +1224,7 @@ class SubmitTests(BaseSubmitTestCase):
ad.user.email if notify_ad else '%s-chairs@ietf.org' % replaced_draft.group.acronym,
notice['To']
)
- self.assertIn('New draft waiting for approval', notice['Subject'])
+ self.assertIn('New Internet-Draft waiting for approval', notice['Subject'])
def test_submit_new_individual_replacing_wg(self):
self.submit_new_individual_replacing_wg()
@@ -3061,7 +3061,7 @@ class SubmissionUploadFormTests(BaseSubmitTestCase):
files=files_dict,
)
self.assertFalse(form.is_valid())
- self.assertIn('A draft cannot replace itself', form.errors['replaces'])
+ self.assertIn('An Internet-Draft cannot replace itself', form.errors['replaces'])
# can't replace non-draft
review = ReviewFactory()
@@ -3071,7 +3071,7 @@ class SubmissionUploadFormTests(BaseSubmitTestCase):
files=files_dict,
)
self.assertFalse(form.is_valid())
- self.assertIn('A draft can only replace another draft', form.errors['replaces'])
+ self.assertIn('An Internet-Draft can only replace another Internet-Draft', form.errors['replaces'])
# can't replace RFC
rfc = WgRfcFactory()
@@ -3081,7 +3081,7 @@ class SubmissionUploadFormTests(BaseSubmitTestCase):
files=files_dict,
)
self.assertFalse(form.is_valid())
- self.assertIn('A draft cannot replace an RFC', form.errors['replaces'])
+ self.assertIn('An Internet-Draft cannot replace an RFC', form.errors['replaces'])
# can't replace draft approved by iesg
existing_drafts[0].set_state(State.objects.get(type='draft-iesg', slug='approved'))
@@ -3217,7 +3217,7 @@ class AsyncSubmissionTests(BaseSubmitTestCase):
process_uploaded_submission(submission)
submission = Submission.objects.get(pk=submission.pk) # refresh
self.assertEqual(submission.state_id, 'cancel')
- self.assertIn('draft filename disagrees', submission.submissionevent_set.last().desc)
+ self.assertIn('Internet-Draft filename disagrees', submission.submissionevent_set.last().desc)
# rev mismatch
submission = SubmissionFactory(
@@ -3249,7 +3249,7 @@ class AsyncSubmissionTests(BaseSubmitTestCase):
process_uploaded_submission(submission)
submission = Submission.objects.get(pk=submission.pk) # refresh
self.assertEqual(submission.state_id, 'cancel')
- self.assertIn('Only XML draft submissions', submission.submissionevent_set.last().desc)
+ self.assertIn('Only XML Internet-Draft submissions', submission.submissionevent_set.last().desc)
# wrong state
submission = SubmissionFactory(
@@ -3416,7 +3416,7 @@ class ApiSubmitTests(BaseSubmitTestCase):
def test_api_submit_info(self):
url = urlreverse('ietf.submit.views.api_submit')
r = self.client.get(url)
- expected = "A simplified draft submission interface, intended for automation"
+ expected = "A simplified Internet-Draft submission interface, intended for automation"
self.assertContains(r, expected, status_code=200)
def test_api_submit_bad_method(self):
diff --git a/ietf/submit/utils.py b/ietf/submit/utils.py
index 6fb0a36b6..99d4e3ce3 100644
--- a/ietf/submit/utils.py
+++ b/ietf/submit/utils.py
@@ -126,7 +126,7 @@ def validate_submission_name(name):
if re.search(r'-\d\d$', name):
name = name[:-3]
if len(name) > 50:
- return "Expected the draft name to be at most 50 ascii characters long; found %d." % len(name)
+ return "Expected the Internet-Draft name to be at most 50 ascii characters long; found %d." % len(name)
else:
msg = "Expected name 'draft-...' using lowercase ascii letters, digits, and hyphen; found '%s'." % name
if '.' in name:
@@ -309,10 +309,10 @@ def post_submission(request, submission, approved_doc_desc, approved_subm_desc):
# update draft attributes
try:
draft = Document.objects.get(name=submission.name)
- log.log(f"{submission.name}: retrieved draft: {draft}")
+ log.log(f"{submission.name}: retrieved Internet-Draft: {draft}")
except Document.DoesNotExist:
draft = Document.objects.create(name=submission.name, type_id="draft")
- log.log(f"{submission.name}: created draft: {draft}")
+ log.log(f"{submission.name}: created Internet-Draft: {draft}")
prev_rev = draft.rev
@@ -341,7 +341,7 @@ def post_submission(request, submission, approved_doc_desc, approved_subm_desc):
draft.stream = StreamName.objects.get(slug=stream_slug)
draft.expires = timezone.now() + datetime.timedelta(settings.INTERNET_DRAFT_DAYS_TO_EXPIRE)
- log.log(f"{submission.name}: got draft details")
+ log.log(f"{submission.name}: got Internet-Draft details")
events = []
@@ -417,9 +417,9 @@ def post_submission(request, submission, approved_doc_desc, approved_subm_desc):
e = DocEvent(type="changed_document", doc=draft, rev=draft.rev)
if draft.stream_id == 'ietf':
- e.desc = "Sub state has been changed to AD Followup from Revised ID Needed"
+ e.desc = "Sub state has been changed to AD Followup from Revised I-D Needed"
else:
- e.desc = "Revised ID Needed tag cleared"
+ e.desc = "Revised I-D Needed tag cleared"
e.by = system
e.save()
events.append(e)
@@ -1134,9 +1134,9 @@ def process_submission_xml(submission):
xml_draft = XMLDraft(xml_path)
if submission.name != xml_draft.filename:
- raise SubmissionError('XML draft filename disagrees with submission filename')
+ raise SubmissionError('XML Internet-Draft filename disagrees with submission filename')
if submission.rev != xml_draft.revision:
- raise SubmissionError('XML draft revision disagrees with submission revision')
+ raise SubmissionError('XML Internet-Draft revision disagrees with submission revision')
authors = xml_draft.get_author_list()
for a in authors:
@@ -1176,17 +1176,17 @@ def process_submission_text(submission):
if submission.name != text_draft.filename:
raise SubmissionError(
- f'Text draft filename ({text_draft.filename}) disagrees with submission filename ({submission.name})'
+ f'Text Internet-Draft filename ({text_draft.filename}) disagrees with submission filename ({submission.name})'
)
if submission.rev != text_draft.revision:
raise SubmissionError(
- f'Text draft revision ({text_draft.revision}) disagrees with submission revision ({submission.rev})')
+ f'Text Internet-Draft revision ({text_draft.revision}) disagrees with submission revision ({submission.rev})')
text_title = _normalize_title(text_draft.get_title())
if not text_title:
raise SubmissionError('Could not extract a valid title from the text')
if text_title != submission.title:
raise SubmissionError(
- f'Text draft title ({text_title}) disagrees with submission title ({submission.title})')
+ f'Text Internet-Draft title ({text_title}) disagrees with submission title ({submission.title})')
submission.abstract = text_draft.get_abstract()
submission.document_date = text_draft.get_creation_date()
@@ -1213,7 +1213,7 @@ def process_uploaded_submission(submission):
return # do nothing
if submission.file_types != '.xml':
- abort_submission('Only XML draft submissions can be processed.')
+ abort_submission('Only XML Internet-Draft submissions can be processed.')
try:
process_submission_xml(submission)
diff --git a/ietf/submit/views.py b/ietf/submit/views.py
index 9dcb88d13..e875d1476 100644
--- a/ietf/submit/views.py
+++ b/ietf/submit/views.py
@@ -101,7 +101,7 @@ def upload_submission(request):
except DataError as e:
form = SubmissionManualUploadForm(request=request)
form._errors = {}
- form._errors["__all__"] = form.error_class(["There was a failure processing your upload -- please verify that your draft passes idnits. (%s)" % e.message])
+ form._errors["__all__"] = form.error_class(["There was a failure processing your upload -- please verify that your Internet-Draft passes idnits. (%s)" % e.message])
if debug.debug:
raise
else:
@@ -472,7 +472,7 @@ def submission_status(request, submission_id, access_token=None):
approvals_received = submitter_form.cleaned_data['approvals_received']
if submission.rev == '00' and submission.group and not submission.group.is_active:
- permission_denied(request, 'Posting a new draft for an inactive group is not permitted.')
+ permission_denied(request, 'Posting a new Internet-Draft for an inactive group is not permitted.')
if approvals_received:
if not is_secretariat:
diff --git a/ietf/sync/discrepancies.py b/ietf/sync/discrepancies.py
index 082830804..8268b0967 100644
--- a/ietf/sync/discrepancies.py
+++ b/ietf/sync/discrepancies.py
@@ -4,25 +4,25 @@ from ietf.doc.models import Document, State
def find_discrepancies():
res = []
- title = "Drafts that have been sent to the RFC Editor but do not have an RFC Editor state"
+ title = "Internet-Drafts that have been sent to the RFC Editor but do not have an RFC Editor state"
docs = Document.objects.filter(states__in=list(State.objects.filter(used=True, type="draft-iesg", slug__in=("ann", "rfcqueue")))).exclude(states__in=list(State.objects.filter(used=True, type="draft-rfceditor")))
res.append((title, docs))
- title = "Drafts that have the IANA Action state \"In Progress\" but do not have a \"IANA\" RFC-Editor state/tag"
+ title = "Internet-Drafts that have the IANA Action state \"In Progress\" but do not have a \"IANA\" RFC-Editor state/tag"
docs = Document.objects.filter(states__in=list(State.objects.filter(used=True, type="draft-iana-action", slug__in=("inprog",)))).exclude(tags="iana").exclude(states__in=list(State.objects.filter(used=True, type="draft-rfceditor", slug="iana")))
res.append((title, docs))
- title = "Drafts that have the IANA Action state \"Waiting on RFC Editor\" or \"RFC-Ed-Ack\" but are in the RFC Editor state \"IANA\"/tagged with \"IANA\""
+ title = "Internet-Drafts that have the IANA Action state \"Waiting on RFC Editor\" or \"RFC-Ed-Ack\" but are in the RFC Editor state \"IANA\"/tagged with \"IANA\""
docs = Document.objects.filter(states__in=list(State.objects.filter(used=True, type="draft-iana-action", slug__in=("waitrfc", "rfcedack")))).filter(models.Q(tags="iana") | models.Q(states__in=list(State.objects.filter(used=True, type="draft-rfceditor", slug="iana"))))
res.append((title, docs))
- title = "Drafts that have a state other than \"RFC Ed Queue\", \"RFC Published\" or \"Sent to the RFC Editor\" and have an RFC Editor or IANA Action state"
+ title = "Internet-Drafts that have a state other than \"RFC Ed Queue\", \"RFC Published\" or \"Sent to the RFC Editor\" and have an RFC Editor or IANA Action state"
docs = Document.objects.exclude(states__in=list(State.objects.filter(used=True, type="draft-iesg", slug__in=("rfcqueue", "pub"))) + list(State.objects.filter(used=True, type__in=("draft-stream-iab", "draft-stream-ise", "draft-stream-irtf"), slug="rfc-edit"))).filter(states__in=list(State.objects.filter(used=True, type__in=("draft-iana-action", "draft-rfceditor"))))
diff --git a/ietf/sync/rfceditor.py b/ietf/sync/rfceditor.py
index 1fde4fa1d..59356dd48 100644
--- a/ietf/sync/rfceditor.py
+++ b/ietf/sync/rfceditor.py
@@ -567,7 +567,7 @@ def post_approved_draft(url, name):
"Authorization": "Basic %s" % force_str(base64.encodebytes(smart_bytes("%s:%s" % (username, password)))).replace("\n", ""),
}
- log("Posting RFC-Editor notification of approved draft '%s' to '%s'" % (name, url))
+ log("Posting RFC-Editor notification of approved Internet-Draft '%s' to '%s'" % (name, url))
text = error = ""
try:
@@ -578,7 +578,7 @@ def post_approved_draft(url, name):
timeout=settings.DEFAULT_REQUESTS_TIMEOUT,
)
- log("RFC-Editor notification result for draft '%s': %s:'%s'" % (name, r.status_code, r.text))
+ log("RFC-Editor notification result for Internet-Draft '%s': %s:'%s'" % (name, r.status_code, r.text))
if r.status_code != 200:
raise RuntimeError("Status code is not 200 OK (it's %s)." % r.status_code)
@@ -589,7 +589,7 @@ def post_approved_draft(url, name):
except Exception as e:
# catch everything so we don't leak exceptions, convert them
# into string instead
- msg = "Exception on RFC-Editor notification for draft '%s': %s: %s" % (name, type(e), str(e))
+ msg = "Exception on RFC-Editor notification for Internet-Draft '%s': %s: %s" % (name, type(e), str(e))
log(msg)
if settings.SERVER_MODE == 'test':
debug.say(msg)
diff --git a/ietf/templates/api/index.html b/ietf/templates/api/index.html
index 88d904269..8373a387f 100644
--- a/ietf/templates/api/index.html
+++ b/ietf/templates/api/index.html
@@ -9,7 +9,7 @@
This section describes the autogenerated read-only API towards the database tables. See also
the
- draft submission API description
+ Internet-Draft submission API description
and the
IESG ballot position API description
@@ -99,7 +99,7 @@
States which match states__type__slug__in=draft
describe the basic
- Active/Expired/Dead whatever state of the draft.
+ Active/Expired/Dead whatever state of the Internet-Draft.
diff --git a/ietf/templates/base/menu.html b/ietf/templates/base/menu.html
index 85784471f..691f1972d 100644
--- a/ietf/templates/base/menu.html
+++ b/ietf/templates/base/menu.html
@@ -90,13 +90,13 @@
- Recent drafts
+ Recent I-Ds
- Draft submission
+ I-D submission
@@ -134,7 +134,7 @@
- Approve a draft
+ Approve an I-D
{% for g in user|docman_groups %}
@@ -377,7 +377,7 @@
- Drafts/RFCs
+ I-Ds/RFCs
diff --git a/ietf/templates/community/notification_email.txt b/ietf/templates/community/notification_email.txt
index d3a6c2214..7c214de30 100644
--- a/ietf/templates/community/notification_email.txt
+++ b/ietf/templates/community/notification_email.txt
@@ -12,6 +12,6 @@ Change by {{ event.by }} on {{ event.time }}:
Best regards,
- The Datatracker draft tracking service
+ The Datatracker Internet-Draft tracking service
(for the IETF Secretariat)
{% endautoescape %}
diff --git a/ietf/templates/doc/bofreq/bofreq_template.md b/ietf/templates/doc/bofreq/bofreq_template.md
index c6269d7f4..7039e4679 100644
--- a/ietf/templates/doc/bofreq/bofreq_template.md
+++ b/ietf/templates/doc/bofreq/bofreq_template.md
@@ -25,13 +25,13 @@ To allow evaluation of your proposal, please include the following items:
- Open source projects (if any) implementing this work:
## Agenda
- - Items, drafts, speakers, timing
+ - Items, Internet-Drafts, speakers, timing
- Or a URL
## Links to the mailing list, draft charter if any, relevant Internet-Drafts, etc.
- Mailing List: https://www.ietf.org/mailman/listinfo/example
- Draft charter: {{ settings.IDTRACKER_BASE_URL }}{% url 'ietf.doc.views_doc.document_main' name='charter-ietf-EXAMPLE' %}
- - Relevant drafts:
+ - Relevant Internet-Drafts:
- Use Cases:
- {{ settings.IDTRACKER_BASE_URL }}{% url 'ietf.doc.views_doc.document_main' name='draft-blah-uses' %}
- Solutions
diff --git a/ietf/templates/doc/conflict_review/approval_text.txt b/ietf/templates/doc/conflict_review/approval_text.txt
index cf00e1003..8e211e21c 100644
--- a/ietf/templates/doc/conflict_review/approval_text.txt
+++ b/ietf/templates/doc/conflict_review/approval_text.txt
@@ -18,7 +18,7 @@ The IESG would also like the {{receiver}} to review the comments in the datatrac
The IESG review is documented at:
{{review_url}}
-A URL of the reviewed Internet Draft is:
+A URL of the reviewed Internet-Draft is:
{{conflictdoc_url}}
The process for such documents is described {% if conflictdoc.stream_id == 'ise' %}at https://www.rfc-editor.org/indsubs.html {% else %}{% if conflictdoc.stream_id == 'irtf' %}in RFC 5743 {% endif %} {% endif %}
diff --git a/ietf/templates/doc/document_draft.html b/ietf/templates/doc/document_draft.html
index f763159fc..72256b632 100644
--- a/ietf/templates/doc/document_draft.html
+++ b/ietf/templates/doc/document_draft.html
@@ -713,14 +713,14 @@
{% if user.is_authenticated %}
- We have not changed the draft state or sent the announcement
+ We have not changed the Internet-Draft state or sent the announcement
yet so if this is an intermittent error, you can go back and try
again.
diff --git a/ietf/templates/doc/mail/resurrect_completed_email.txt b/ietf/templates/doc/mail/resurrect_completed_email.txt
index 8bff58540..18e3d3dfa 100644
--- a/ietf/templates/doc/mail/resurrect_completed_email.txt
+++ b/ietf/templates/doc/mail/resurrect_completed_email.txt
@@ -1,4 +1,4 @@
-{% autoescape off %}As you requested, the Internet Draft {{ doc.file_tag }}
+{% autoescape off %}As you requested, the Internet-Draft {{ doc.file_tag }}
has been resurrected.
Datatracker URL: {{ url }}
diff --git a/ietf/templates/doc/review/request_info.html b/ietf/templates/doc/review/request_info.html
index be7a64355..55caae9fa 100644
--- a/ietf/templates/doc/review/request_info.html
+++ b/ietf/templates/doc/review/request_info.html
@@ -101,7 +101,7 @@
|
- Draft last updated
+ I-D last updated
|
{{ doc.time|date:"Y-m-d" }}
diff --git a/ietf/templates/doc/search/search_result_row.html b/ietf/templates/doc/search/search_result_row.html
index 8767f2a52..d47dd4389 100644
--- a/ietf/templates/doc/search/search_result_row.html
+++ b/ietf/templates/doc/search/search_result_row.html
@@ -11,14 +11,14 @@
{% if user.is_authenticated %}
@@ -151,4 +151,4 @@
{% endif %}
|
{% endif %}
-
+
\ No newline at end of file
diff --git a/ietf/templates/group/conclude.html b/ietf/templates/group/conclude.html
index 1742bafa1..3f9987733 100644
--- a/ietf/templates/group/conclude.html
+++ b/ietf/templates/group/conclude.html
@@ -8,7 +8,7 @@
Request closing of {{ group.acronym }} {{ group.type.name }}
Please provide instructions regarding the disposition of each
- active Internet-Draft (such as to withdraw the draft, move it to
+ active Internet-Draft (such as to withdraw it, move it to
another group, convert it to an individual submission, and so on),
wording for the closure announcement, and the status of the group
mailing list (will it remain open or should it be closed).
diff --git a/ietf/templates/group/customize_workflow.html b/ietf/templates/group/customize_workflow.html
index 8ebf004a0..8b329b855 100644
--- a/ietf/templates/group/customize_workflow.html
+++ b/ietf/templates/group/customize_workflow.html
@@ -15,7 +15,7 @@
{{ group.acronym }} {{ group.type.name }}
- Below you can customize the draft states and tags used in the
+ Below you can customize the Internet-Draft states and tags used in the
{{ group.acronym }} {{ group.type.name }}.
Note that some states are
mandatory for group operation and cannot be deactivated.
diff --git a/ietf/templates/idindex/all_id2.txt b/ietf/templates/idindex/all_id2.txt
index 5d810ab96..29c43231e 100644
--- a/ietf/templates/idindex/all_id2.txt
+++ b/ietf/templates/idindex/all_id2.txt
@@ -3,29 +3,29 @@
# generated: {% now "Y-m-d H:i:s T" %}
#
# Description of fields:
-# 0 draft name and latest revision
+# 0 Internet-Draft name and latest revision
# 1 always -1 (was internal numeric database id in earlier schema)
# 2 one of "Active", "Expired", "RFC", "Withdrawn by Submitter",
# "Replaced", or "Withdrawn by IETF"
# 3 if #2 is "Active", the IESG state for the document (such as
-# "In Last Call", "AD Evaluation::Revised ID Needed", or "I-D Exists");
+# "In Last Call", "AD Evaluation::Revised I-D Needed", or "I-D Exists");
# otherwise empty
# 4 if #2 is "RFC", the RFC number (otherwise empty)
-# 5 if #2 is "Replaced", the replacing draft name (otherwise empty)
+# 5 if #2 is "Replaced", the replacing Internet-Draft name (otherwise empty)
# 6 revision date (YYYY-MM-DD)
# 7 group acronym (or empty if no group/not known)
# 8 area acronym (or empty if not known; not necessarily accurate
-# for older drafts)
+# for older Internet-Drafts)
# 9 responsible AD name (or empty if not known)
# 10 intended maturity level (or empty if not known)
# 11 if #3 is "In Last Call" (with any substate), the last call
# end date (YYYY-MM-DD); otherwise empty
# 12 if #2 is "Active", list of file types; otherwise empty
-# 13 draft title
-# 14 draft authors (often quite inaccurate, especially the email
+# 13 Internet-Draft title
+# 14 Internet-Draft authors (often quite inaccurate, especially the email
# addresses...)
-# 15 draft shepherd (Shep Erd )
-# 16 draft areadirector (Aread Irector )
+# 15 Internet-Draft shepherd (Shep Erd )
+# 16 Internet-Draft areadirector (Aread Irector )
#
# new fields can be added to the end in the future, so remember to
# ignore those in your code
diff --git a/ietf/templates/idindex/id_index.txt b/ietf/templates/idindex/id_index.txt
index 95cf50488..f4707b5d0 100644
--- a/ietf/templates/idindex/id_index.txt
+++ b/ietf/templates/idindex/id_index.txt
@@ -2,10 +2,10 @@
{% if with_abstracts %}
This summary sheet provides a short synopsis of each Internet-Draft
available within the "internet-drafts" directory at the shadow
-sites directory. These drafts are listed alphabetically by working
+sites directory. These Internet-Drafts are listed alphabetically by working
group acronym and start date.{% else %}
This summary sheet provides an index of each Internet-Draft. These
-drafts are listed alphabetically by Working Group acronym and initial
+Internet-Drafts are listed alphabetically by Working Group acronym and initial
post date.{% endif %} Generated {{ time }}.
{% for group in groups %}
diff --git a/ietf/templates/ietfauth/allowlist_form.html b/ietf/templates/ietfauth/allowlist_form.html
index 92d40e53e..c7f3981b7 100644
--- a/ietf/templates/ietfauth/allowlist_form.html
+++ b/ietf/templates/ietfauth/allowlist_form.html
@@ -34,7 +34,7 @@
Google for the person's name within the ietf.org site: "Jane Doe site:ietf.org". If
- found, and the email address matches an address used in drafts or discussions,
+ found, and the email address matches an address used in Internet-Drafts or discussions,
things are fine, and it's OK to add the address to the allowlist using this form,
and ask the person to please try the
account creation form
diff --git a/ietf/templates/ietfauth/review_overview.html b/ietf/templates/ietfauth/review_overview.html
index 0f7e66913..924089e35 100644
--- a/ietf/templates/ietfauth/review_overview.html
+++ b/ietf/templates/ietfauth/review_overview.html
@@ -169,13 +169,13 @@
{% endif %}
{% if teams %}
- Add a draft that you would like to review when it becomes available for review:
+ Add an Internet-Draft that you would like to review when it becomes available for review:
{% endif %}
diff --git a/ietf/templates/meeting/add_session_drafts.html b/ietf/templates/meeting/add_session_drafts.html
index 92c33ed4a..00358054a 100644
--- a/ietf/templates/meeting/add_session_drafts.html
+++ b/ietf/templates/meeting/add_session_drafts.html
@@ -1,12 +1,12 @@
{% extends "base.html" %}
{# Copyright The IETF Trust 2015, All Rights Reserved #}
{% load origin static django_bootstrap5 %}
-{% block title %}Add drafts to {{ session.meeting }} : {{ session.group.acronym }}{% endblock %}
+{% block title %}Add I-Ds to {{ session.meeting }} : {{ session.group.acronym }}{% endblock %}
{% block pagehead %}{{ form.media.css }}{% endblock %}
{% block content %}
{% origin %}
- Add drafts to {{ session.meeting }}
+ Add Internet-Drafts to {{ session.meeting }}
{% if session_number %}: Session {{ session_number }}{% endif %}
{{ session.group.acronym }}
@@ -20,9 +20,9 @@
{% endif %}
- This form will link additional drafts to this session with a revision of "Current at time of presentation". For more fine grained control of versions, or to remove a draft from a session, adjust the sessions associated with a draft from the draft's main page.
+ This form will link additional Internet-Drafts to this session with a revision of "Current at time of presentation". For more fine grained control of versions, or to remove an Internet-Draft from a session, adjust the sessions associated with an Internet-Draft from the Internet-Draft's main page.
- Drafts already linked to this session
+ Internet-Drafts already linked to this session
@@ -47,7 +47,7 @@
{% endif %}
- Additional drafts to link to this session
+ Additional Internet-Drafts to link to this session
- All drafts associated with sessions that are marked "current version" will have their version set to whatever the version was at the end of the meeting.
+ All Internet-Drafts associated with sessions that are marked "current version" will have their version set to whatever the version was at the end of the meeting.
{# This would be a good place to put any warnings about important things missing from the proceedings #}