From bb7e504d14c07d31969ad21be06aa8b5ada67927 Mon Sep 17 00:00:00 2001 From: "Peter E. Yee" Date: Fri, 13 Dec 2019 19:53:45 +0000 Subject: [PATCH] 12/13 merged into 6.113.1.dev0 with migration ordering failure - Legacy-Id: 17149 --- ietf/doc/admin.py | 8 +- ietf/doc/factories.py | 34 +- ietf/doc/mails.py | 2 +- .../migrations/0027_add_irsg_doc_positions.py | 62 + .../doc/migrations/0028_irsgballotdocevent.py | 25 + ietf/doc/models.py | 52 +- ietf/doc/resources.py | 35 +- ietf/doc/templatetags/ballot_icon.py | 10 +- ietf/doc/templatetags/ietf_filters.py | 18 + ietf/doc/tests.py | 6 +- ietf/doc/tests_ballot.py | 26 +- ietf/doc/tests_irsg_ballot.py | 529 + ietf/doc/urls.py | 6 +- ietf/doc/utils.py | 42 +- ietf/doc/views_ballot.py | 237 +- ietf/doc/views_charter.py | 6 +- ietf/doc/views_conflict_review.py | 8 +- ietf/doc/views_doc.py | 113 +- ietf/doc/views_search.py | 6 +- ietf/doc/views_status_change.py | 6 +- ietf/iesg/tests.py | 4 +- ietf/iesg/views.py | 4 +- ietf/ietfauth/utils.py | 1 + .../migrations/0013_add_irsg_ballot_saved.py | 44 + ietf/mailtrigger/models.py | 4 +- ietf/mailtrigger/tests.py | 6 +- ietf/mailtrigger/utils.py | 3 +- ietf/name/fixtures/names.json | 28390 ++++++++-------- ietf/name/models.py | 3 +- ietf/person/utils.py | 17 + ietf/secr/telechat/tests.py | 2 +- ietf/secr/telechat/views.py | 12 +- ietf/static/ietf/css/ietf.css | 2 +- ietf/submit/tests.py | 4 +- ietf/templates/base/menu.html | 5 + .../doc/ballot/ballot_comment_mail.txt | 4 +- ietf/templates/doc/ballot/edit_position.html | 8 +- .../doc/ballot/irsg_ballot_approve.html | 26 + .../doc/ballot/irsg_ballot_close.html | 23 + .../doc/ballot/send_ballot_comment.html | 4 +- ietf/templates/doc/ballot_popup.html | 8 +- .../doc/document_ballot_content.html | 20 +- ietf/templates/doc/document_draft.html | 6 +- ietf/templates/doc/drafts_for_ad.html | 4 +- ietf/templates/doc/irsg_ballot_status.html | 42 + ietf/templates/doc/search/status_columns.html | 9 +- ietf/templates/iesg/discusses.html | 6 +- .../iesg/moderator_conflict_doc.html | 2 +- ietf/templates/iesg/past_documents.html | 6 +- ietf/templates/iesg/scribe_doc_ballot.html | 6 +- ietf/templates/iesg/scribe_template.html | 6 +- ietf/utils/test_data.py | 12 + 52 files changed, 15567 insertions(+), 14357 deletions(-) create mode 100644 ietf/doc/migrations/0027_add_irsg_doc_positions.py create mode 100644 ietf/doc/migrations/0028_irsgballotdocevent.py create mode 100644 ietf/doc/tests_irsg_ballot.py create mode 100644 ietf/mailtrigger/migrations/0013_add_irsg_ballot_saved.py create mode 100644 ietf/templates/doc/ballot/irsg_ballot_approve.html create mode 100644 ietf/templates/doc/ballot/irsg_ballot_close.html create mode 100644 ietf/templates/doc/irsg_ballot_status.html diff --git a/ietf/doc/admin.py b/ietf/doc/admin.py index 56fb59afc..35a919ede 100644 --- a/ietf/doc/admin.py +++ b/ietf/doc/admin.py @@ -12,7 +12,7 @@ from .models import (StateType, State, RelatedDocument, DocumentAuthor, Document StateDocEvent, ConsensusDocEvent, BallotType, BallotDocEvent, WriteupDocEvent, LastCallDocEvent, TelechatDocEvent, BallotPositionDocEvent, ReviewRequestDocEvent, InitialReviewDocEvent, AddedMessageEvent, SubmissionDocEvent, DeletedEvent, EditedAuthorsDocEvent, DocumentURL, - ReviewAssignmentDocEvent, IanaExpertDocEvent ) + ReviewAssignmentDocEvent, IanaExpertDocEvent, IRSGBallotDocEvent ) class StateTypeAdmin(admin.ModelAdmin): @@ -164,8 +164,12 @@ class DeletedEventAdmin(admin.ModelAdmin): admin.site.register(DeletedEvent, DeletedEventAdmin) class BallotPositionDocEventAdmin(DocEventAdmin): - raw_id_fields = ["doc", "by", "ad", "ballot"] + raw_id_fields = ["doc", "by", "pos_by", "ballot"] admin.site.register(BallotPositionDocEvent, BallotPositionDocEventAdmin) + +class IRSGBallotDocEventAdmin(DocEventAdmin): + raw_id_fields = ["doc", "by"] +admin.site.register(IRSGBallotDocEvent, IRSGBallotDocEventAdmin) class DocumentUrlAdmin(admin.ModelAdmin): list_display = ['id', 'doc', 'tag', 'url', 'desc', ] diff --git a/ietf/doc/factories.py b/ietf/doc/factories.py index 070e3e41d..b13b267d6 100644 --- a/ietf/doc/factories.py +++ b/ietf/doc/factories.py @@ -14,7 +14,7 @@ if six.PY3: from django.conf import settings -from ietf.doc.models import Document, DocEvent, NewRevisionDocEvent, DocAlias, State, DocumentAuthor, StateDocEvent, BallotPositionDocEvent, BallotDocEvent, BallotType +from ietf.doc.models import Document, DocEvent, NewRevisionDocEvent, DocAlias, State, DocumentAuthor, StateDocEvent, BallotPositionDocEvent, BallotDocEvent, BallotType, IRSGBallotDocEvent from ietf.group.models import Group def draft_name_generator(type_id,group,n): @@ -192,6 +192,26 @@ class RgDraftFactory(BaseDocumentFactory): obj.set_state(State.objects.get(type_id='draft-iesg',slug='idexists')) +class RgRfcFactory(RgDraftFactory): + + alias2 = factory.RelatedFactory('ietf.doc.factories.DocAliasFactory','document',name=factory.Sequence(lambda n: 'rfc%04d'%(n+1000))) + + std_level_id = 'inf' + + @factory.post_generation + def states(obj, create, extracted, **kwargs): + if not create: + return + if extracted: + for (state_type_id,state_slug) in extracted: + obj.set_state(State.objects.get(type_id=state_type_id,slug=state_slug)) + if not obj.get_state('draft-stream-irtf'): + obj.set_state(State.objects.get(type_id='draft-stream-irtf', slug='pub')) + else: + obj.set_state(State.objects.get(type_id='draft',slug='rfc')) + obj.set_state(State.objects.get(type_id='draft-stream-irtf', slug='pub')) + + class CharterFactory(BaseDocumentFactory): type_id = 'charter' @@ -296,9 +316,10 @@ class StateDocEventFactory(DocEventFactory): class BallotTypeFactory(factory.DjangoModelFactory): class Meta: model = BallotType + django_get_or_create = ('slug','doc_type_id') - doc_type_id = 'draft' slug = 'approve' + doc_type_id = 'draft' class BallotDocEventFactory(DocEventFactory): @@ -308,6 +329,13 @@ class BallotDocEventFactory(DocEventFactory): ballot_type = factory.SubFactory(BallotTypeFactory) type = 'created_ballot' +class IRSGBallotDocEventFactory(BallotDocEventFactory): + class Meta: + model = IRSGBallotDocEvent + + duedate = datetime.datetime.now() + datetime.timedelta(days=14) + ballot_type = factory.SubFactory(BallotTypeFactory, slug='irsg-approve') + class BallotPositionDocEventFactory(DocEventFactory): class Meta: model = BallotPositionDocEvent @@ -319,6 +347,6 @@ class BallotPositionDocEventFactory(DocEventFactory): # separately and passing the same doc into thier factories. ballot = factory.SubFactory(BallotDocEventFactory) - ad = factory.SubFactory('ietf.person.factories.PersonFactory') + pos_by = factory.SubFactory('ietf.person.factories.PersonFactory') pos_id = 'discuss' diff --git a/ietf/doc/mails.py b/ietf/doc/mails.py index 7ff511903..ebf5db42c 100644 --- a/ietf/doc/mails.py +++ b/ietf/doc/mails.py @@ -382,7 +382,7 @@ def generate_issue_ballot_mail(request, doc, ballot): last_call_has_expired=last_call_has_expired, needed_ballot_positions= needed_ballot_positions(doc, - list(doc.active_ballot().active_ad_positions().values()) + list(doc.active_ballot().active_balloteer_positions().values()) ), ) ) diff --git a/ietf/doc/migrations/0027_add_irsg_doc_positions.py b/ietf/doc/migrations/0027_add_irsg_doc_positions.py new file mode 100644 index 000000000..cdc65816d --- /dev/null +++ b/ietf/doc/migrations/0027_add_irsg_doc_positions.py @@ -0,0 +1,62 @@ +# Copyright The IETF Trust 2019, All Rights Reserved +# -*- coding: utf-8 -*- +# Generated by Django 1.11.22 on 2019-08-03 10:09 +from __future__ import unicode_literals + +from django.db import migrations + +# forward, reverse initially copied from migration 0004 +def forward(apps, schema_editor): + State = apps.get_model('doc','State') + State.objects.create(type_id='draft-stream-irtf', + slug='irsg_review', + name='IRSG Review', + desc='IRSG Review', + used=True, + ) + BallotPositionName = apps.get_model('name','BallotPositionName') + # desc, used, order, and blocking all have suitable defaults + BallotPositionName.objects.create(slug="moretime", + name="Need More Time", + ) + BallotPositionName.objects.create(slug="notready", + name="Not Ready", + ) + + # Create a new ballot type for IRSG ballot + # include positions for the ballot type + BallotType = apps.get_model('doc','BallotType') + bt = BallotType.objects.create(doc_type_id="draft", + slug="irsg-approve", + name="IRSG Approve", + question="Is this draft ready for publication in the IRTF stream?", + ) + bt.positions.set(['yes','noobj','recuse','notready','moretime']) + +def reverse(apps, schema_editor): + State = apps.get_model('doc','State') + State.objects.filter(type_id__in=('draft-stream-irtf',), slug='irsg_review').delete() + + Position = apps.get_model('name','BallotPositionName') + for pos in ("moretime", "notready"): + Position.objects.filter(slug=pos).delete() + + IRSGBallot = apps.get_model('doc','BallotType') + IRSGBallot.objects.filter(slug="irsg-approve").delete() + +class Migration(migrations.Migration): + + dependencies = [ + ('doc', '0026_add_draft_rfceditor_state'), + ('name', '0007_fix_m2m_slug_id_length'), + ] + + operations = [ + migrations.RunPython(forward,reverse), + migrations.RenameField( + model_name='ballotpositiondocevent', + old_name='ad', + new_name='pos_by', + ), + + ] diff --git a/ietf/doc/migrations/0028_irsgballotdocevent.py b/ietf/doc/migrations/0028_irsgballotdocevent.py new file mode 100644 index 000000000..b3ecd6814 --- /dev/null +++ b/ietf/doc/migrations/0028_irsgballotdocevent.py @@ -0,0 +1,25 @@ +# Copyright The IETF Trust 2019, All Rights Reserved +# -*- coding: utf-8 -*- +# Generated by Django 1.11.25 on 2019-10-10 10:37 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('doc', '0027_add_irsg_doc_positions'), + ] + + operations = [ + migrations.CreateModel( + name='IRSGBallotDocEvent', + fields=[ + ('ballotdocevent_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='doc.BallotDocEvent')), + ('duedate', models.DateTimeField(blank=True, null=True)), + ], + bases=('doc.ballotdocevent',), + ), + ] diff --git a/ietf/doc/models.py b/ietf/doc/models.py index 33b0e8954..c090b716b 100644 --- a/ietf/doc/models.py +++ b/ietf/doc/models.py @@ -27,7 +27,7 @@ from ietf.name.models import ( DocTypeName, DocTagName, StreamName, IntendedStdL DocRelationshipName, DocReminderTypeName, BallotPositionName, ReviewRequestStateName, ReviewAssignmentStateName, FormalLanguageName, DocUrlTagName) from ietf.person.models import Email, Person -from ietf.person.utils import get_active_ads +from ietf.person.utils import get_active_balloteers from ietf.utils import log from ietf.utils.admin import admin_link from ietf.utils.decorators import memoize @@ -656,7 +656,7 @@ class Document(DocumentInfo): def latest_event(self, *args, **filter_args): """Get latest event of optional Python type and with filter - arguments, e.g. d.latest_event(type="xyz") returns an DocEvent + arguments, e.g. d.latest_event(type="xyz") returns a DocEvent while d.latest_event(WriteupDocEvent, type="xyz") returns a WriteupDocEvent event.""" model = args[0] if args else DocEvent @@ -1082,20 +1082,20 @@ class BallotType(models.Model): class BallotDocEvent(DocEvent): ballot_type = ForeignKey(BallotType) - def active_ad_positions(self): - """Return dict mapping each active AD to a current ballot position (or None if they haven't voted).""" + def active_balloteer_positions(self): + """Return dict mapping each active AD or IRSG member to a current ballot position (or None if they haven't voted).""" res = {} - active_ads = get_active_ads() - positions = BallotPositionDocEvent.objects.filter(type="changed_ballot_position",ad__in=active_ads, ballot=self).select_related('ad', 'pos').order_by("-time", "-id") + active_balloteers = get_active_balloteers(self.ballot_type) + positions = BallotPositionDocEvent.objects.filter(type="changed_ballot_position",pos_by__in=active_balloteers, ballot=self).select_related('pos_by', 'pos').order_by("-time", "-id") for pos in positions: - if pos.ad not in res: - res[pos.ad] = pos + if pos.pos_by not in res: + res[pos.pos_by] = pos - for ad in active_ads: - if ad not in res: - res[ad] = None + for balloteer in active_balloteers: + if balloteer not in res: + res[balloteer] = None return res def all_positions(self): @@ -1103,15 +1103,15 @@ class BallotDocEvent(DocEvent): positions = [] seen = {} - active_ads = get_active_ads() - for e in BallotPositionDocEvent.objects.filter(type="changed_ballot_position", ballot=self).select_related('ad', 'pos').order_by("-time", '-id'): - if e.ad not in seen: - e.old_ad = e.ad not in active_ads + active_balloteers = get_active_balloteers(self.ballot_type) + for e in BallotPositionDocEvent.objects.filter(type="changed_ballot_position", ballot=self).select_related('pos_by', 'pos').order_by("-time", '-id'): + if e.pos_by not in seen: + e.old_pos_by = e.pos_by not in active_balloteers e.old_positions = [] positions.append(e) - seen[e.ad] = e + seen[e.pos_by] = e else: - latest = seen[e.ad] + latest = seen[e.pos_by] if latest.old_positions: prev = latest.old_positions[-1] else: @@ -1126,25 +1126,27 @@ class BallotDocEvent(DocEvent): while p.old_positions and p.old_positions[-1].slug == "norecord": p.old_positions.pop() - # add any missing ADs through fake No Record events + # add any missing ADs/IRSGers through fake No Record events if self.doc.active_ballot() == self: norecord = BallotPositionName.objects.get(slug="norecord") - for ad in active_ads: - if ad not in seen: - e = BallotPositionDocEvent(type="changed_ballot_position", doc=self.doc, rev=self.doc.rev, ad=ad) - e.by = ad + for balloteer in active_balloteers: + if balloteer not in seen: + e = BallotPositionDocEvent(type="changed_ballot_position", doc=self.doc, rev=self.doc.rev, pos_by=balloteer) + e.by = balloteer e.pos = norecord - e.old_ad = False + e.old_pos_by = False e.old_positions = [] positions.append(e) - positions.sort(key=lambda p: (p.old_ad, p.ad.last_name())) + positions.sort(key=lambda p: (p.old_pos_by, p.pos_by.last_name())) return positions +class IRSGBallotDocEvent(BallotDocEvent): + duedate = models.DateTimeField(blank=True, null=True) class BallotPositionDocEvent(DocEvent): ballot = ForeignKey(BallotDocEvent, null=True, default=None) # default=None is a temporary migration period fix, should be removed when charter branch is live - ad = ForeignKey(Person) + pos_by = ForeignKey(Person) pos = ForeignKey(BallotPositionName, verbose_name="position", default="norecord") discuss = models.TextField(help_text="Discuss text if position is discuss", blank=True) discuss_time = models.DateTimeField(help_text="Time discuss text was written", blank=True, null=True) diff --git a/ietf/doc/resources.py b/ietf/doc/resources.py index 2559f7f94..4be9277dc 100644 --- a/ietf/doc/resources.py +++ b/ietf/doc/resources.py @@ -17,7 +17,7 @@ from ietf.doc.models import (BallotType, DeletedEvent, StateType, State, Documen InitialReviewDocEvent, DocHistoryAuthor, BallotDocEvent, RelatedDocument, RelatedDocHistory, BallotPositionDocEvent, AddedMessageEvent, SubmissionDocEvent, ReviewRequestDocEvent, ReviewAssignmentDocEvent, EditedAuthorsDocEvent, DocumentURL, - IanaExpertDocEvent ) + IanaExpertDocEvent, IRSGBallotDocEvent ) from ietf.name.resources import BallotPositionNameResource, DocTypeNameResource class BallotTypeResource(ModelResource): @@ -531,7 +531,7 @@ class BallotPositionDocEventResource(ModelResource): doc = ToOneField(DocumentResource, 'doc') docevent_ptr = ToOneField(DocEventResource, 'docevent_ptr') ballot = ToOneField(BallotDocEventResource, 'ballot', null=True) - ad = ToOneField(PersonResource, 'ad') + pos_by = ToOneField(PersonResource, 'pos_by') pos = ToOneField(BallotPositionNameResource, 'pos') class Meta: cache = SimpleCache() @@ -553,7 +553,7 @@ class BallotPositionDocEventResource(ModelResource): "doc": ALL_WITH_RELATIONS, "docevent_ptr": ALL_WITH_RELATIONS, "ballot": ALL_WITH_RELATIONS, - "ad": ALL_WITH_RELATIONS, + "pos_by": ALL_WITH_RELATIONS, "pos": ALL_WITH_RELATIONS, } api.doc.register(BallotPositionDocEventResource()) @@ -738,3 +738,32 @@ class IanaExpertDocEventResource(ModelResource): "docevent_ptr": ALL_WITH_RELATIONS, } api.doc.register(IanaExpertDocEventResource()) + + +from ietf.person.resources import PersonResource +class IRSGBallotDocEventResource(ModelResource): + by = ToOneField(PersonResource, 'by') + doc = ToOneField(DocumentResource, 'doc') + docevent_ptr = ToOneField(DocEventResource, 'docevent_ptr') + ballot_type = ToOneField(BallotTypeResource, 'ballot_type') + ballotdocevent_ptr = ToOneField(BallotDocEventResource, 'ballotdocevent_ptr') + class Meta: + queryset = IRSGBallotDocEvent.objects.all() + serializer = api.Serializer() + cache = SimpleCache() + #resource_name = 'irsgballotdocevent' + ordering = ['ballotdocevent_ptr', ] + filtering = { + "id": ALL, + "time": ALL, + "type": ALL, + "rev": ALL, + "desc": ALL, + "duedate": ALL, + "by": ALL_WITH_RELATIONS, + "doc": ALL_WITH_RELATIONS, + "docevent_ptr": ALL_WITH_RELATIONS, + "ballot_type": ALL_WITH_RELATIONS, + "ballotdocevent_ptr": ALL_WITH_RELATIONS, + } +api.doc.register(IRSGBallotDocEventResource()) diff --git a/ietf/doc/templatetags/ballot_icon.py b/ietf/doc/templatetags/ballot_icon.py index d470a6b94..e87e9322d 100644 --- a/ietf/doc/templatetags/ballot_icon.py +++ b/ietf/doc/templatetags/ballot_icon.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2019, All rights reserved. +# Copyright The IETF Trust 2019, All Rights Reserved # Copyright (C) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). # All rights reserved. Contact: Pasi Eronen # @@ -91,7 +91,7 @@ def ballot_icon(context, doc): else: return (1, pos.pos.order) - positions = list(ballot.active_ad_positions().items()) + positions = list(ballot.active_balloteer_positions().items()) positions.sort(key=sort_key) right_click_string = '' @@ -99,8 +99,8 @@ def ballot_icon(context, doc): right_click_string = 'oncontextmenu="window.location.href=\'%s\';return false;"' % urlreverse('ietf.doc.views_ballot.edit_position', kwargs=dict(name=doc.name, ballot_id=ballot.pk)) my_blocking = False - for i, (ad, pos) in enumerate(positions): - if user_is_person(user,ad) and pos and pos.pos.blocking: + for i, (pos_by, pos) in enumerate(positions): + if user_is_person(user,pos_by) and pos and pos.pos.blocking: my_blocking = True break @@ -153,7 +153,7 @@ def ballotposition(doc, user): if not ballot: return None - changed_pos = doc.latest_event(BallotPositionDocEvent, type="changed_ballot_position", ad__user=user, ballot=ballot) + changed_pos = doc.latest_event(BallotPositionDocEvent, type="changed_ballot_position", pos_by__user=user, ballot=ballot) if changed_pos: pos = changed_pos.pos else: diff --git a/ietf/doc/templatetags/ietf_filters.py b/ietf/doc/templatetags/ietf_filters.py index 14294ecc2..0e823429b 100644 --- a/ietf/doc/templatetags/ietf_filters.py +++ b/ietf/doc/templatetags/ietf_filters.py @@ -25,6 +25,7 @@ import debug # pyflakes:ignore from ietf.doc.models import ConsensusDocEvent from ietf.utils.text import wordwrap, fill, wrap_text_if_unwrapped from ietf.utils.html import sanitize_fragment +from ietf.doc.models import BallotDocEvent register = template.Library() @@ -539,3 +540,20 @@ def charter_major_rev(rev): @stringfilter def charter_minor_rev(rev): return rev[3:5] + +@register.filter() +def can_defer(user,doc): + ballot = doc.latest_event(BallotDocEvent, type="created_ballot") + if ballot and (doc.type_id == "draft" or doc.type_id == "conflrev") and doc.stream_id == 'ietf' and has_role(user, 'Area Director,Secretariat'): + return True + else: + return False + +@register.filter() +def can_ballot(user,doc): + if doc.stream_id == 'ietf' and user.person.role_set.filter(name="ad", group__type="area", group__state="active"): + return True + elif doc.stream_id == 'irtf' and has_role(user,'IRSG Member'): + return True + else: + return False diff --git a/ietf/doc/tests.py b/ietf/doc/tests.py index 08dea2e9b..3632a6074 100644 --- a/ietf/doc/tests.py +++ b/ietf/doc/tests.py @@ -240,7 +240,7 @@ class SearchTests(TestCase): ballot_type = BallotType.objects.get(doc_type_id='draft',slug='approve') ballot = BallotDocEventFactory(ballot_type=ballot_type, doc__states=[('draft-iesg','iesg-eva')]) discuss_pos = BallotPositionName.objects.get(slug='discuss') - discuss_other = BallotPositionDocEventFactory(ballot=ballot, doc=ballot.doc, ad=ad, pos=discuss_pos) + discuss_other = BallotPositionDocEventFactory(ballot=ballot, doc=ballot.doc, pos_by=ad, pos=discuss_pos) r = self.client.get(urlreverse('ietf.doc.views_search.docs_for_ad', kwargs=dict(name=ad.full_name_as_key()))) self.assertEqual(r.status_code, 200) @@ -740,7 +740,7 @@ class DocTestCase(TestCase): pos_id="yes", comment="Looks fine to me", comment_time=datetime.datetime.now(), - ad=Person.objects.get(user__username="ad"), + pos_by=Person.objects.get(user__username="ad"), by=Person.objects.get(name="(System)")) r = self.client.get(urlreverse("ietf.doc.views_doc.document_ballot", kwargs=dict(name=doc.name))) @@ -1103,7 +1103,7 @@ expand-draft-ietf-ames-test.all@virtual.ietf.org ames-author@example.ames, ames r = self.client.get(url) self.assertEqual(r.status_code, 200) self.assertContains(r, 'draft-ietf-mars-test.all@ietf.org') - self.assertContains(r, 'ballot_saved') + self.assertContains(r, 'iesg_ballot_saved') class DocumentMeetingTests(TestCase): diff --git a/ietf/doc/tests_ballot.py b/ietf/doc/tests_ballot.py index ca1d9c1f0..cb3056d8e 100644 --- a/ietf/doc/tests_ballot.py +++ b/ietf/doc/tests_ballot.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2013-2019, All Rights Reserved +#ad Copyright The IETF Trust 2013-2019, All Rights Reserved # -*- coding: utf-8 -*- @@ -28,7 +28,7 @@ from ietf.utils.text import unwrap class EditPositionTests(TestCase): def test_edit_position(self): ad = Person.objects.get(user__username="ad") - draft = IndividualDraftFactory(ad=ad) + draft = IndividualDraftFactory(ad=ad,stream_id='ietf') ballot = create_ballot_if_not_open(None, draft, ad, 'approve') url = urlreverse('ietf.doc.views_ballot.edit_position', kwargs=dict(name=draft.name, ballot_id=ballot.pk)) @@ -51,7 +51,7 @@ class EditPositionTests(TestCase): comment=" This is a test. \n ")) self.assertEqual(r.status_code, 302) - pos = draft.latest_event(BallotPositionDocEvent, ad=ad) + pos = draft.latest_event(BallotPositionDocEvent, pos_by=ad) self.assertEqual(pos.pos.slug, "discuss") self.assertTrue(" This is a discussion test." in pos.discuss) self.assertTrue(pos.discuss_time != None) @@ -66,7 +66,7 @@ class EditPositionTests(TestCase): self.assertEqual(r.status_code, 302) draft = Document.objects.get(name=draft.name) - pos = draft.latest_event(BallotPositionDocEvent, ad=ad) + pos = draft.latest_event(BallotPositionDocEvent, pos_by=ad) self.assertEqual(pos.pos.slug, "noobj") self.assertEqual(draft.docevent_set.count(), events_before + 1) self.assertTrue("Position for" in pos.desc) @@ -77,7 +77,7 @@ class EditPositionTests(TestCase): self.assertEqual(r.status_code, 302) draft = Document.objects.get(name=draft.name) - pos = draft.latest_event(BallotPositionDocEvent, ad=ad) + pos = draft.latest_event(BallotPositionDocEvent, pos_by=ad) self.assertEqual(pos.pos.slug, "norecord") self.assertEqual(draft.docevent_set.count(), events_before + 1) self.assertTrue("Position for" in pos.desc) @@ -88,7 +88,7 @@ class EditPositionTests(TestCase): self.assertEqual(r.status_code, 302) draft = Document.objects.get(name=draft.name) - pos = draft.latest_event(BallotPositionDocEvent, ad=ad) + pos = draft.latest_event(BallotPositionDocEvent, pos_by=ad) self.assertEqual(pos.pos.slug, "norecord") self.assertEqual(draft.docevent_set.count(), events_before + 2) self.assertTrue("Ballot comment text updated" in pos.desc) @@ -115,7 +115,7 @@ class EditPositionTests(TestCase): ) self.assertContains(r, "Done") - pos = draft.latest_event(BallotPositionDocEvent, ad=ad) + pos = draft.latest_event(BallotPositionDocEvent, pos_by=ad) self.assertEqual(pos.pos.slug, "discuss") self.assertTrue(" This is a discussion test." in pos.discuss) self.assertTrue(pos.discuss_time != None) @@ -132,7 +132,7 @@ class EditPositionTests(TestCase): self.assertEqual(r.status_code, 200) draft = Document.objects.get(name=draft.name) - pos = draft.latest_event(BallotPositionDocEvent, ad=ad) + pos = draft.latest_event(BallotPositionDocEvent, pos_by=ad) self.assertEqual(pos.pos.slug, "noobj") self.assertEqual(draft.docevent_set.count(), events_before + 1) self.assertTrue("Position for" in pos.desc) @@ -150,7 +150,7 @@ class EditPositionTests(TestCase): self.assertEqual(r.status_code, 200) draft = Document.objects.get(name=draft.name) - pos = draft.latest_event(BallotPositionDocEvent, ad=ad) + pos = draft.latest_event(BallotPositionDocEvent, pos_by=ad) self.assertEqual(pos.pos.slug, "norecord") self.assertEqual(draft.docevent_set.count(), events_before + 1) self.assertTrue("Position for" in pos.desc) @@ -165,7 +165,7 @@ class EditPositionTests(TestCase): self.assertEqual(r.status_code, 200) draft = Document.objects.get(name=draft.name) - pos = draft.latest_event(BallotPositionDocEvent, ad=ad) + pos = draft.latest_event(BallotPositionDocEvent, pos_by=ad) self.assertEqual(pos.pos.slug, "norecord") self.assertEqual(draft.docevent_set.count(), events_before + 2) self.assertTrue("Ballot comment text updated" in pos.desc) @@ -181,7 +181,7 @@ class EditPositionTests(TestCase): ballot = create_ballot_if_not_open(None, draft, ad, 'approve') url = urlreverse('ietf.doc.views_ballot.edit_position', kwargs=dict(name=draft.name, ballot_id=ballot.pk)) ad = Person.objects.get(name="AreaĆ° Irector") - url += "?ad=%s" % ad.pk + url += "?pos_by=%s" % ad.pk login_testing_unauthorized(self, "secretary", url) # normal get @@ -195,7 +195,7 @@ class EditPositionTests(TestCase): r = self.client.post(url, dict(position="discuss", discuss="Test discuss text")) self.assertEqual(r.status_code, 302) - pos = draft.latest_event(BallotPositionDocEvent, ad=ad) + pos = draft.latest_event(BallotPositionDocEvent, pos_by=ad) self.assertEqual(pos.pos.slug, "discuss") self.assertEqual(pos.discuss, "Test discuss text") self.assertTrue("New position" in pos.desc) @@ -229,7 +229,7 @@ class EditPositionTests(TestCase): BallotPositionDocEvent.objects.create( doc=draft, rev=draft.rev, type="changed_ballot_position", - by=ad, ad=ad, ballot=ballot, pos=BallotPositionName.objects.get(slug="discuss"), + by=ad, pos_by=ad, ballot=ballot, pos=BallotPositionName.objects.get(slug="discuss"), discuss="This draft seems to be lacking a clearer title?", discuss_time=datetime.datetime.now(), comment="Test!", diff --git a/ietf/doc/tests_irsg_ballot.py b/ietf/doc/tests_irsg_ballot.py new file mode 100644 index 000000000..0712162dc --- /dev/null +++ b/ietf/doc/tests_irsg_ballot.py @@ -0,0 +1,529 @@ +# Copyright The IETF Trust 2019, All Rights Reserved +# -*- coding: utf-8 -*- + + +# import datetime +# from pyquery import PyQuery + +import debug # pyflakes:ignore + +import datetime + +from django.urls import reverse as urlreverse + +from ietf.utils.mail import outbox, empty_outbox, get_payload +from ietf.utils.test_utils import TestCase, unicontent, login_testing_unauthorized +from ietf.doc.factories import IndividualDraftFactory, WgDraftFactory, RgDraftFactory, RgRfcFactory, BallotDocEventFactory, IRSGBallotDocEventFactory, BallotPositionDocEventFactory +from ietf.doc.models import BallotDocEvent, BallotPositionDocEvent +from ietf.doc.utils import create_ballot_if_not_open, close_ballot +from ietf.person.utils import get_active_irsg, get_active_ads +from ietf.group.factories import RoleFactory +from ietf.person.models import Person + + +class IssueIRSGBallotTests(TestCase): + + def test_issue_ballot_button(self): + + # creates empty drafts with lots of values filled in + individual_draft = IndividualDraftFactory() + wg_draft = WgDraftFactory() + rg_draft = RgDraftFactory() + rg_rfc = RgRfcFactory() + + # login as an IRTF chair + self.client.login(username='irtf-chair', password='irtf-chair+password') + + url = urlreverse('ietf.doc.views_doc.document_main',kwargs=dict(name=individual_draft.name)) + r = self.client.get(url) + self.assertEqual(r.status_code,200) + self.assertNotIn("Issue IRSG ballot", unicontent(r)) + + url = urlreverse('ietf.doc.views_doc.document_main',kwargs=dict(name=wg_draft.name)) + r = self.client.get(url) + self.assertEqual(r.status_code,200) + self.assertNotIn("Issue IRSG ballot", unicontent(r)) + + url = urlreverse('ietf.doc.views_doc.document_main',kwargs=dict(name=rg_draft.name)) + r = self.client.get(url) + self.assertEqual(r.status_code,200) + self.assertIn("Issue IRSG ballot", unicontent(r)) + + url = urlreverse('ietf.doc.views_doc.document_main',kwargs=dict(name=rg_rfc.name)) + r = self.client.get(url, follow = True) + self.assertEqual(r.status_code,200) + self.assertNotIn("Issue IRSG ballot", unicontent(r)) + + self.client.logout() + url = urlreverse('ietf.doc.views_doc.document_main',kwargs=dict(name=rg_draft.name)) + r = self.client.get(url) + self.assertEqual(r.status_code,200) + self.assertNotIn("Issue IRSG ballot", unicontent(r)) + + def test_close_ballot_button(self): + + # creates empty drafts with lots of values filled in + rg_draft1 = RgDraftFactory() + rg_draft2 = RgDraftFactory() + rg_rfc = RgRfcFactory() + iesgmember = get_active_ads()[0] + + # Login as the IRTF chair + self.client.login(username='irtf-chair', password='irtf-chair+password') + + # Set the two IRTF ballots in motion + + # Get the page with the Issue IRSG Ballot Yes/No buttons + url = urlreverse('ietf.doc.views_ballot.issue_irsg_ballot',kwargs=dict(name=rg_draft1.name)) + r = self.client.get(url) + self.assertEqual(r.status_code, 200) + + # Press the Yes button + r = self.client.post(url,dict(irsg_button="Yes", duedate="2038-01-19")) + self.assertEqual(r.status_code, 302) + self.assertTrue(rg_draft1.ballot_open('irsg-approve')) + + # Get the page with the Issue IRSG Ballot Yes/No buttons + url = urlreverse('ietf.doc.views_ballot.issue_irsg_ballot',kwargs=dict(name=rg_draft2.name)) + r = self.client.get(url) + self.assertEqual(r.status_code, 200) + + # Press the Yes button + r = self.client.post(url,dict(irsg_button="Yes", duedate="2038-01-18")) + self.assertEqual(r.status_code, 302) + self.assertTrue(rg_draft2.ballot_open('irsg-approve')) + + # Logout - the Close button should not be available + self.client.logout() + url = urlreverse('ietf.doc.views_doc.document_main',kwargs=dict(name=rg_draft1.name)) + r = self.client.get(url) + self.assertEqual(r.status_code,200) + self.assertNotIn("Close IRSG ballot", unicontent(r)) + + # Login as an IESG member to see if the ballot close button appears + self.client.login(username=iesgmember.user.username, password=iesgmember.user.username+"password") + r = self.client.get(url) + self.assertEqual(r.status_code,200) + self.assertNotIn("Close IRSG ballot", unicontent(r)) + + # Try to get the ballot closing page directly + url = urlreverse('ietf.doc.views_ballot.close_irsg_ballot',kwargs=dict(name=rg_draft1.name)) + r = self.client.get(url) + self.assertNotEqual(r.status_code, 200) + + self.client.logout() + + # Login again as the IRTF chair + self.client.login(username='irtf-chair', password='irtf-chair+password') + + # The close button should now be available + url = urlreverse('ietf.doc.views_doc.document_main',kwargs=dict(name=rg_draft1.name)) + r = self.client.get(url) + self.assertEqual(r.status_code,200) + self.assertIn("Close IRSG ballot", unicontent(r)) + + # Get the page with the Close IRSG Ballot Yes/No buttons + url = urlreverse('ietf.doc.views_ballot.close_irsg_ballot',kwargs=dict(name=rg_draft1.name)) + r = self.client.get(url) + self.assertEqual(r.status_code, 200) + + # Press the Yes button + r = self.client.post(url,dict(irsg_button="Yes")) + self.assertEqual(r.status_code,302) + # Expect the draft not to have an open IRSG ballot anymore + self.assertFalse(rg_draft1.ballot_open('irsg-approve')) + + # Login as the Secretariat + self.client.login(username='secretary', password='secretary+password') + + # The close button should now be available + url = urlreverse('ietf.doc.views_doc.document_main',kwargs=dict(name=rg_draft2.name)) + r = self.client.get(url) + self.assertEqual(r.status_code,200) + self.assertIn("Close IRSG ballot", unicontent(r)) + + # Get the page with the Close IRSG Ballot Yes/No buttons + url = urlreverse('ietf.doc.views_ballot.close_irsg_ballot',kwargs=dict(name=rg_draft2.name)) + r = self.client.get(url) + self.assertEqual(r.status_code, 200) + + # Press the Yes button + r = self.client.post(url,dict(irsg_button="Yes")) + self.assertEqual(r.status_code,302) + # Expect the draft not to have an open IRSG ballot anymore + self.assertFalse(rg_draft2.ballot_open('irsg-approve')) + + # Individual, IETF, and RFC docs should not show the Close button. Sample test using IRTF RFC: + url = urlreverse('ietf.doc.views_doc.document_main',kwargs=dict(name=rg_rfc.name)) + r = self.client.get(url, follow = True) + self.assertEqual(r.status_code,200) + self.assertNotIn("Close IRSG ballot", unicontent(r)) + + + def test_issue_ballot(self): + + # Just testing IRTF drafts + rg_draft1 = RgDraftFactory() + rg_draft2 = RgDraftFactory() + iesgmember = get_active_ads()[0] + + # login as an IRTF chair (who is a user who can issue an IRSG ballot) + self.client.login(username='irtf-chair', password='irtf-chair+password') + + # Get the page with the Issue IRSG Ballot Yes/No buttons + url = urlreverse('ietf.doc.views_ballot.issue_irsg_ballot',kwargs=dict(name=rg_draft1.name)) + r = self.client.get(url) + self.assertEqual(r.status_code, 200) + # Buttons present? + self.assertIn("irsg_button", unicontent(r)) + + # Press the No button - expect nothing but a redirect back to the draft's main page + r = self.client.post(url,dict(irsg_button="No")) + self.assertEqual(r.status_code, 302) + # PEY: Insert assertion about the redirect URL + + # Press the Yes button + r = self.client.post(url,dict(irsg_button="Yes", duedate="2038-01-19")) + self.assertEqual(r.status_code, 302) + # PEY: Check on whether the ballot is reflected in the BallotDocEvents table + # Can't get ballot_type to work in the filter below, so commented out for now + # ballot_type = BallotType.objects.get(doc_type=rg_draft.type,slug='irsg-approve') + # debug.show("ballot_type") + ballot_created = list(BallotDocEvent.objects.filter(doc=rg_draft1, + type="created_ballot")) + self.assertNotEqual(len(ballot_created), 0) + + # Having issued a ballot, the Issue IRSG ballot button should be gone + url = urlreverse('ietf.doc.views_doc.document_main',kwargs=dict(name=rg_draft1.name)) + r = self.client.get(url) + self.assertEqual(r.status_code,200) + self.assertNotIn("Issue IRSG ballot", unicontent(r)) + + # The IRSG evaluation record tab should exist + self.assertIn("IRSG evaluation record", unicontent(r)) + # The IRSG evaluation record tab should not indicate unavailability + self.assertNotIn("IRSG Evaluation Ballot has not been created yet", unicontent(r)) + + # We should find an IRSG member's name on the IRSG evaluation tab regardless of any positions taken or not + url = urlreverse('ietf.doc.views_doc.document_irsg_ballot',kwargs=dict(name=rg_draft1.name)) + r = self.client.get(url) + self.assertEqual(r.status_code,200) + irsgmembers = get_active_irsg() + self.assertNotEqual(len(irsgmembers), 0) + self.assertIn(irsgmembers[0].name, unicontent(r)) + + # Having issued a ballot, it should appear on the IRSG Ballot Status page + url = urlreverse('ietf.doc.views_ballot.irsg_ballot_status') + r = self.client.get(url) + self.assertEqual(r.status_code, 200) + # Does the draft name appear on the page? + self.assertIn(rg_draft1.name, unicontent(r)) + + self.client.logout() + + # Test that an IESG member cannot issue an IRSG ballot + self.client.login(username=iesgmember.user.username, password=iesgmember.user.username+"password") + + url = urlreverse('ietf.doc.views_ballot.issue_irsg_ballot',kwargs=dict(name=rg_draft2.name)) + r = self.client.get(url) + self.assertNotEqual(r.status_code, 200) + # Buttons present? + self.assertNotIn("irsg_button", unicontent(r)) + + # Attempt to press the Yes button anyway + r = self.client.post(url,dict(irsg_button="Yes", duedate="2038-01-19")) + self.assertTrue(r.status_code == 302 and "/accounts/login" in r['Location']) + + self.client.logout() + + # Test that the Secretariat can issue an IRSG ballot + self.client.login(username="secretary", password="secretary+password") + + r = self.client.get(url) + self.assertEqual(r.status_code, 200) + # Buttons present? + self.assertIn("irsg_button", unicontent(r)) + + # Press the Yes button + r = self.client.post(url,dict(irsg_button="Yes", duedate="2038-01-19")) + self.assertEqual(r.status_code, 302) + + self.client.logout() + + + def test_edit_ballot_position_permissions(self): + rg_draft = RgDraftFactory() + wg_draft = WgDraftFactory() + ad = RoleFactory(group__type_id='area',name_id='ad') + pre_ad = RoleFactory(group__type_id='area',name_id='pre-ad') + irsgmember = get_active_irsg()[0] + secr = RoleFactory(group__acronym='secretariat',name_id='secr') + wg_ballot = create_ballot_if_not_open(None, wg_draft, ad.person, 'approve') + due = datetime.date.today()+datetime.timedelta(days=14) + rg_ballot = create_ballot_if_not_open(None, rg_draft, secr.person, 'irsg-approve', due) + + url = urlreverse('ietf.doc.views_ballot.edit_position', kwargs=dict(name=wg_draft.name, ballot_id=wg_ballot.pk)) + + # Pre-ADs can see + login_testing_unauthorized(self, pre_ad.person.user.username, url) + + # But Pre-ADs cannot take a position + r = self.client.post(url, dict(position="discuss", discuss="Test discuss text")) + self.assertEqual(r.status_code, 403) + + self.client.logout() + + # ADs can see and take a position + login_testing_unauthorized(self, ad.person.user.username, url) + r = self.client.post(url, dict(position="discuss", discuss="Test discuss text")) + self.assertTrue(r.status_code == 302 and "/accounts/login" not in r['Location']) + + # IESG members should not be able to take positions on IRSG ballots + url = urlreverse('ietf.doc.views_ballot.edit_position', kwargs=dict(name=rg_draft.name, ballot_id=rg_ballot.pk)) + r = self.client.post(url, dict(position="yes")) + self.assertEqual(r.status_code, 403) + self.client.logout() + + # IRSG members should be able to enter a position on IRSG ballots + login_testing_unauthorized(self, irsgmember.user.username, url) + r = self.client.post(url, dict(position="yes")) + self.assertTrue(r.status_code == 302 and "/accounts/login" not in r['Location']) + + + def test_iesg_ballot_no_irsg_actions(self): + ad = Person.objects.get(user__username="ad") + wg_draft = IndividualDraftFactory(ad=ad) + irsgmember = get_active_irsg()[0] + + url = urlreverse('ietf.doc.views_ballot.ballot_writeupnotes', kwargs=dict(name=wg_draft.name)) + + # IRSG members should not be able to issue IESG ballots + login_testing_unauthorized(self, irsgmember.user.username, url) + r = self.client.post(url, dict( + ballot_writeup="This is a test.", + issue_ballot="1")) + self.assertNotEqual(r.status_code, 200) + + self.client.logout() + login_testing_unauthorized(self, "ad", url) + + # But IESG members can + r = self.client.post(url, dict( + ballot_writeup="This is a test.", + issue_ballot="1")) + self.assertEqual(r.status_code, 200) + + self.client.logout() + + # Now that the ballot is issued, see if an IRSG member can take a position or close the ballot + ballot = wg_draft.active_ballot() + url = urlreverse('ietf.doc.views_ballot.edit_position', kwargs=dict(name=wg_draft.name, ballot_id=ballot.pk)) + login_testing_unauthorized(self, irsgmember.user.username, url) + + r = self.client.post(url, dict(position="discuss", discuss="Test discuss text")) + self.assertEqual(r.status_code, 403) + +class BaseManipulationTests(): + + def test_issue_ballot(self): + draft = RgDraftFactory() + url = urlreverse('ietf.doc.views_ballot.issue_irsg_ballot',kwargs=dict(name=draft.name)) + due = datetime.date.today()+datetime.timedelta(days=14) + empty_outbox() + + login_testing_unauthorized(self, self.username , url) + r = self.client.get(url) + self.assertEqual(r.status_code, 200) + + r = self.client.post(url,{'irsg_button':'No', 'duedate':due }) + self.assertEqual(r.status_code, 302) + self.assertIsNone(draft.ballot_open('irsg-approve')) + + r = self.client.post(url,{'irsg_button':'Yes', 'duedate':due }) + self.assertEqual(r.status_code,302) + self.assertIsNotNone(draft.ballot_open('irsg-approve')) + self.assertEqual(len(outbox),0) + + def test_take_and_email_position(self): + draft = RgDraftFactory() + ballot = IRSGBallotDocEventFactory(doc=draft) + url = urlreverse('ietf.doc.views_ballot.edit_position', kwargs=dict(name=draft.name, ballot_id=ballot.pk)) + self.pos_by + empty_outbox() + + login_testing_unauthorized(self, self.username, url) + r = self.client.get(url) + self.assertEqual(r.status_code, 200) + + r = self.client.post(url, dict(position='yes', comment='oib239sb', send_mail='Save and send email')) + self.assertEqual(r.status_code, 302) + e = draft.latest_event(BallotPositionDocEvent) + self.assertEqual(e.pos.slug,'yes') + self.assertEqual(e.comment, 'oib239sb') + + url = urlreverse('ietf.doc.views_ballot.send_ballot_comment', kwargs=dict(name=draft.name, ballot_id=ballot.pk)) + self.pos_by + + r = self.client.get(url) + self.assertEqual(r.status_code, 200) + + r = self.client.post(url, dict(cc_choices=['doc_authors','doc_group_chairs','doc_group_mail_list'], body="Stuff")) + self.assertEqual(r.status_code, 302) + self.assertEqual(len(outbox),1) + self.assertNotIn('discuss-criteria', get_payload(outbox[0])) + + def test_close_ballot(self): + draft = RgDraftFactory() + IRSGBallotDocEventFactory(doc=draft) + url = urlreverse('ietf.doc.views_ballot.close_irsg_ballot', kwargs=dict(name=draft.name)) + empty_outbox() + + login_testing_unauthorized(self, self.username, url) + r = self.client.get(url) + self.assertEqual(r.status_code, 200) + + r = self.client.post(url,dict(irsg_button='No')) + self.assertEqual(r.status_code, 302) + self.assertIsNotNone(draft.ballot_open('irsg-approve')) + + r = self.client.post(url,dict(irsg_button='Yes')) + self.assertEqual(r.status_code, 302) + self.assertIsNone(draft.ballot_open('irsg-approve')) + + self.assertEqual(len(outbox), 0) + + def test_view_outstanding_ballots(self): + draft = RgDraftFactory() + # PEY: Commented out RJS' following line., Will need this in the future when irsg_ballot_status changes to take a ballot not a doc + # ballot = IRSGBallotDocEventFactory(doc=draft) + IRSGBallotDocEventFactory(doc=draft) + url = urlreverse('ietf.doc.views_ballot.irsg_ballot_status') + + login_testing_unauthorized(self, self.username, url) + r = self.client.get(url) + self.assertEqual(r.status_code, 200) + self.assertIn(draft.name, unicontent(r)) + + close_ballot(draft, Person.objects.get(user__username=self.username), 'irsg-approve') + r = self.client.get(url) + self.assertNotIn(draft.name, unicontent(r)) + + +class IRTFChairTests(BaseManipulationTests, TestCase): + + def setUp(self): + self.username = 'irtf-chair' + self.pos_by = '' + +class SecretariatTests(BaseManipulationTests, TestCase): + + def setUp(self): + self.username = 'secretary' + self.pos_by = '?pos_by={}'.format(Person.objects.get(user__username='irtf-chair').pk) + + +class IRSGMemberTests(TestCase): + + def setUp(self): + self.username = get_active_irsg()[0].user.username + + def test_cant_issue_irsg_ballot(self): + draft = RgDraftFactory() + due = datetime.date.today()+datetime.timedelta(days=14) + url = urlreverse('ietf.doc.views_ballot.close_irsg_ballot', kwargs=dict(name=draft.name)) + + self.client.login(username = self.username, password = self.username+'+password') + r = self.client.get(url) + self.assertEqual(r.status_code, 403) + + r = self.client.post(url,{'irsg_button':'Yes', 'duedate':due }) + self.assertEqual(r.status_code, 403) + + def test_cant_close_irsg_ballot(self): + draft = RgDraftFactory() + # PEY: Commented out RJS' following line. Will need this in the future when close_irsg_ballot changes to taking a ballot not a doc + # ballot = IRSGBallotDocEventFactory(doc=draft) + IRSGBallotDocEventFactory(doc=draft) + url = urlreverse('ietf.doc.views_ballot.close_irsg_ballot', kwargs=dict(name=draft.name)) + + self.client.login(username = self.username, password = self.username+'+password') + r = self.client.get(url) + self.assertEqual(r.status_code, 403) + + r = self.client.post(url,dict(irsg_button='Yes')) + self.assertEqual(r.status_code, 403) + + def test_cant_take_position_on_iesg_ballot(self): + draft = WgDraftFactory() + ballot = BallotDocEventFactory(doc=draft) + url = urlreverse('ietf.doc.views_ballot.edit_position', kwargs=dict(name=draft.name, ballot_id=ballot.pk)) + + self.client.login(username = self.username, password = self.username+'+password') + r = self.client.get(url) + self.assertEqual(r.status_code, 200) + + r = self.client.post(url, dict(position='yes', comment='oib239sb', send_mail='Save and send email')) + self.assertEqual(r.status_code, 403) + + def test_take_and_email_position(self): + draft = RgDraftFactory() + ballot = IRSGBallotDocEventFactory(doc=draft) + url = urlreverse('ietf.doc.views_ballot.edit_position', kwargs=dict(name=draft.name, ballot_id=ballot.pk)) + empty_outbox() + + login_testing_unauthorized(self, self.username, url) + r = self.client.get(url) + self.assertEqual(r.status_code, 200) + + r = self.client.post(url, dict(position='yes', comment='oib239sb', send_mail='Save and send email')) + self.assertEqual(r.status_code, 302) + e = draft.latest_event(BallotPositionDocEvent) + self.assertEqual(e.pos.slug,'yes') + self.assertEqual(e.comment, 'oib239sb') + + url = urlreverse('ietf.doc.views_ballot.send_ballot_comment', kwargs=dict(name=draft.name, ballot_id=ballot.pk)) + + r = self.client.get(url) + self.assertEqual(r.status_code, 200) + + r = self.client.post(url, dict(cc_choices=['doc_authors','doc_group_chairs','doc_group_mail_list'], body="Stuff")) + self.assertEqual(r.status_code, 302) + self.assertEqual(len(outbox),1) + +class IESGMemberTests(TestCase): + + def test_cant_take_position_on_irtf_ballot(self): + draft = RgDraftFactory() + ballot = IRSGBallotDocEventFactory(doc=draft) + url = urlreverse('ietf.doc.views_ballot.edit_position', kwargs=dict(name=draft.name, ballot_id=ballot.pk)) + + self.assertEqual(self.client.login(username = 'ad', password = 'ad+password'), True) + + r = self.client.get(url) + self.assertEqual(r.status_code, 200) + + r = self.client.post(url, dict(position='yes', comment='oib239sb', send_mail='Save and send email')) + self.assertEqual(r.status_code, 403) + +class NobodyTests(TestCase): + + def can_see_IRSG_tab(self): + draft=RgDraftFactory() + ballot = IRSGBallotDocEventFactory(doc=draft) + BallotPositionDocEventFactory(ballot=ballot, by=get_active_irsg()[0], pos_id='yes', comment='b2390sn3') + + url = urlreverse('ietf.doc.views_doc.document_irsg_ballot',kwargs=dict(name=draft.name)) + r = self.client.get(url) + self.assertEqual(r.status_code,200) + self.assertIn('b2390sn3',unicontent(r)) + + def test_cant_take_position_on_irtf_ballot(self): + draft = RgDraftFactory() + ballot = IRSGBallotDocEventFactory(doc=draft) + url = urlreverse('ietf.doc.views_ballot.edit_position', kwargs=dict(name=draft.name, ballot_id=ballot.pk)) + + r = self.client.get(url) + self.assertEqual(r.status_code, 302) + self.assertIn('/accounts/login', r['Location']) + + r = self.client.post(url, dict(position='yes', comment='oib239sb', send_mail='Save and send email')) + self.assertEqual(r.status_code, 302) + self.assertIn('/accounts/login', r['Location']) diff --git a/ietf/doc/urls.py b/ietf/doc/urls.py index d510ed108..25975b1cb 100644 --- a/ietf/doc/urls.py +++ b/ietf/doc/urls.py @@ -71,6 +71,7 @@ urlpatterns = [ url(r'^active/?$', views_search.index_active_drafts), url(r'^recent/?$', views_search.recent_drafts), url(r'^select2search/(?P(document|docalias))/(?Pdraft)/$', views_search.ajax_select2_search_docs), + url(r'^irsgballots/?$', views_ballot.irsg_ballot_status), url(r'^%(name)s(?:/%(rev)s)?/$' % settings.URL_REGEXPS, views_doc.document_main), url(r'^%(name)s(?:/%(rev)s)?/bibtex/$' % settings.URL_REGEXPS, views_doc.document_bibtex), @@ -83,6 +84,7 @@ urlpatterns = [ url(r'^%(name)s/references/$' % settings.URL_REGEXPS, views_doc.document_references), url(r'^%(name)s/referencedby/$' % settings.URL_REGEXPS, views_doc.document_referenced_by), url(r'^%(name)s/ballot/$' % settings.URL_REGEXPS, views_doc.document_ballot), + url(r'^%(name)s/irsgballot/$' % settings.URL_REGEXPS, views_doc.document_irsg_ballot), url(r'^%(name)s/ballot/(?P[0-9]+)/$' % settings.URL_REGEXPS, views_doc.document_ballot), url(r'^%(name)s/ballot/(?P[0-9]+)/position/$' % settings.URL_REGEXPS, views_ballot.edit_position), url(r'^%(name)s/ballot/(?P[0-9]+)/emailposition/$' % settings.URL_REGEXPS, views_ballot.send_ballot_comment), @@ -129,7 +131,9 @@ urlpatterns = [ url(r'^%(name)s/edit/approvedownrefs/$' % settings.URL_REGEXPS, views_ballot.approve_downrefs), url(r'^%(name)s/edit/makelastcall/$' % settings.URL_REGEXPS, views_ballot.make_last_call), url(r'^%(name)s/edit/urls/$' % settings.URL_REGEXPS, views_draft.edit_document_urls), - + url(r'^%(name)s/edit/issueirsgballot/$' % settings.URL_REGEXPS, views_ballot.issue_irsg_ballot), + url(r'^%(name)s/edit/closeirsgballot/$' % settings.URL_REGEXPS, views_ballot.close_irsg_ballot), + url(r'^help/state/(?P[\w-]+)/$', views_help.state_help), url(r'^help/relationships/$', views_help.relationship_help), url(r'^help/relationships/(?P\w+)/$', views_help.relationship_help), diff --git a/ietf/doc/utils.py b/ietf/doc/utils.py index 8c60073ca..17938d939 100644 --- a/ietf/doc/utils.py +++ b/ietf/doc/utils.py @@ -28,7 +28,7 @@ from ietf.community.utils import docs_tracked_by_community_list from ietf.doc.models import Document, DocHistory, State, DocumentAuthor, DocHistoryAuthor from ietf.doc.models import DocAlias, RelatedDocument, RelatedDocHistory, BallotType, DocReminder -from ietf.doc.models import DocEvent, ConsensusDocEvent, BallotDocEvent, NewRevisionDocEvent, StateDocEvent +from ietf.doc.models import DocEvent, ConsensusDocEvent, BallotDocEvent, IRSGBallotDocEvent, NewRevisionDocEvent, StateDocEvent from ietf.doc.models import TelechatDocEvent from ietf.name.models import DocReminderTypeName, DocRelationshipName from ietf.group.models import Role, Group @@ -210,6 +210,34 @@ def needed_ballot_positions(doc, active_positions): return " ".join(answer) +# Not done yet - modified version of above needed_ballot_positions +def irsg_needed_ballot_positions(doc, active_positions): + '''Returns text answering the question "what does this document + need to pass?". The return value is only useful if the document + is currently in IRSG evaluation.''' + yes = [p for p in active_positions if p and p.pos_id == "yes"] + needmoretime = [p for p in active_positions if p and p.pos_id == "moretime"] + notready = [p for p in active_positions if p and p.pos_id == "notready"] + + answer = [] + needed = 2 + + have = len(yes) + if len(notready) > 0: + answer.append("Has a Not Ready position.") + if have < needed: + more = needed - have + if more == 1: + answer.append("Needs one more YES position to pass.") + else: + answer.append("Needs %d more YES positions to pass." % more) + else: + answer.append("Has enough positions to pass.") + if len(needmoretime) > 0: + answer.append("Has a Need More Time position.") + + return " ".join(answer) + def create_ballot(request, doc, by, ballot_slug, time=None): closed = close_open_ballots(doc, by) for e in closed: @@ -222,13 +250,19 @@ def create_ballot(request, doc, by, ballot_slug, time=None): e.desc = 'Created "%s" ballot' % e.ballot_type.name e.save() -def create_ballot_if_not_open(request, doc, by, ballot_slug, time=None): +def create_ballot_if_not_open(request, doc, by, ballot_slug, time=None, duedate=None): ballot_type = BallotType.objects.get(doc_type=doc.type, slug=ballot_slug) if not doc.ballot_open(ballot_slug): if time: - e = BallotDocEvent(type="created_ballot", by=by, doc=doc, rev=doc.rev, time=time) + if duedate: + e = IRSGBallotDocEvent(type="created_ballot", by=by, doc=doc, rev=doc.rev, time=time, duedate=duedate) + else: + e = BallotDocEvent(type="created_ballot", by=by, doc=doc, rev=doc.rev, time=time) else: - e = BallotDocEvent(type="created_ballot", by=by, doc=doc, rev=doc.rev) + if duedate: + e = IRSGBallotDocEvent(type="created_ballot", by=by, doc=doc, rev=doc.rev, duedate=duedate) + else: + e = BallotDocEvent(type="created_ballot", by=by, doc=doc, rev=doc.rev) e.ballot_type = ballot_type e.desc = 'Created "%s" ballot' % e.ballot_type.name e.save() diff --git a/ietf/doc/views_ballot.py b/ietf/doc/views_ballot.py index 78e0d64f7..4714d9033 100644 --- a/ietf/doc/views_ballot.py +++ b/ietf/doc/views_ballot.py @@ -20,8 +20,9 @@ from django.views.decorators.csrf import csrf_exempt import debug # pyflakes:ignore -from ietf.doc.models import ( Document, State, DocEvent, BallotDocEvent, BallotPositionDocEvent, - LastCallDocEvent, WriteupDocEvent, IESG_SUBSTATE_TAGS, RelatedDocument ) +from ietf.doc.models import ( Document, State, DocEvent, BallotDocEvent, + IRSGBallotDocEvent, BallotPositionDocEvent, LastCallDocEvent, WriteupDocEvent, + IESG_SUBSTATE_TAGS, RelatedDocument, BallotType ) from ietf.doc.utils import ( add_state_change_event, close_ballot, close_open_ballots, create_ballot_if_not_open, update_telechat ) from ietf.doc.mails import ( email_ballot_deferred, email_ballot_undeferred, @@ -34,17 +35,20 @@ from ietf.ietfauth.utils import has_role, role_required, is_authorized_in_doc_st from ietf.mailtrigger.utils import gather_address_lists from ietf.mailtrigger.forms import CcSelectForm from ietf.message.utils import infer_message -from ietf.name.models import BallotPositionName +from ietf.name.models import BallotPositionName, DocTypeName from ietf.person.models import Person from ietf.utils import log from ietf.utils.mail import send_mail_text, send_mail_preformatted from ietf.utils.decorators import require_api_key +from ietf.doc.templatetags.ietf_filters import can_ballot BALLOT_CHOICES = (("yes", "Yes"), ("noobj", "No Objection"), ("discuss", "Discuss"), ("abstain", "Abstain"), ("recuse", "Recuse"), + ("moretime", "Need More Time"), + ("notready", "Not Ready"), ("", "No Record"), ) @@ -117,17 +121,17 @@ class EditPositionForm(forms.Form): raise forms.ValidationError("You must enter a non-empty discuss") return entered_discuss -def save_position(form, doc, ballot, ad, login=None, send_email=False): +def save_position(form, doc, ballot, pos_by, login=None, send_email=False): # save the vote if login is None: - login = ad + login = pos_by clean = form.cleaned_data - old_pos = doc.latest_event(BallotPositionDocEvent, type="changed_ballot_position", ad=ad, ballot=ballot) + old_pos = doc.latest_event(BallotPositionDocEvent, type="changed_ballot_position", pos_by=pos_by, ballot=ballot) pos = BallotPositionDocEvent(doc=doc, rev=doc.rev, by=login) pos.type = "changed_ballot_position" pos.ballot = ballot - pos.ad = ad + pos.pos_by = pos_by pos.pos = clean["position"] pos.comment = clean["comment"].rstrip() pos.comment_time = old_pos.comment_time if old_pos else None @@ -147,7 +151,7 @@ def save_position(form, doc, ballot, ad, login=None, send_email=False): changes.append("comment") if pos.comment: - e = DocEvent(doc=doc, rev=doc.rev, by=ad) + e = DocEvent(doc=doc, rev=doc.rev, by=pos_by) e.type = "added_comment" e.desc = "[Ballot comment]\n" + pos.comment @@ -159,7 +163,7 @@ def save_position(form, doc, ballot, ad, login=None, send_email=False): changes.append("discuss") if pos.pos.blocking: - e = DocEvent(doc=doc, rev=doc.rev, by=ad) + e = DocEvent(doc=doc, rev=doc.rev, by=pos_by) e.type = "added_comment" e.desc = "[Ballot %s]\n" % pos.pos.name.lower() e.desc += pos.discuss @@ -167,16 +171,16 @@ def save_position(form, doc, ballot, ad, login=None, send_email=False): # figure out a description if not old_pos and pos.pos.slug != "norecord": - pos.desc = "[Ballot Position Update] New position, %s, has been recorded for %s" % (pos.pos.name, pos.ad.plain_name()) + pos.desc = "[Ballot Position Update] New position, %s, has been recorded for %s" % (pos.pos.name, pos.pos_by.plain_name()) elif old_pos and pos.pos != old_pos.pos: - pos.desc = "[Ballot Position Update] Position for %s has been changed to %s from %s" % (pos.ad.plain_name(), pos.pos.name, old_pos.pos.name) + pos.desc = "[Ballot Position Update] Position for %s has been changed to %s from %s" % (pos.pos_by.plain_name(), pos.pos.name, old_pos.pos.name) if not pos.desc and changes: - pos.desc = "Ballot %s text updated for %s" % (" and ".join(changes), ad.plain_name()) + pos.desc = "Ballot %s text updated for %s" % (" and ".join(changes), pos_by.plain_name()) # only add new event if we actually got a change if pos.desc: - if login != ad: + if login != pos_by: pos.desc += " by %s" % login.plain_name() pos.save() @@ -186,13 +190,13 @@ def save_position(form, doc, ballot, ad, login=None, send_email=False): return pos -@role_required('Area Director','Secretariat') +@role_required('Area Director','Secretariat','IRSG Member') def edit_position(request, name, ballot_id): """Vote and edit discuss and comment on document as Area Director.""" doc = get_object_or_404(Document, docalias__name=name) ballot = get_object_or_404(BallotDocEvent, type="created_ballot", pk=ballot_id, doc=doc) - ad = login = request.user.person + pos_by = login = request.user.person if 'ballot_edit_return_point' in request.session: return_to_url = request.session['ballot_edit_return_point'] @@ -200,37 +204,39 @@ def edit_position(request, name, ballot_id): return_to_url = urlreverse("ietf.doc.views_doc.document_ballot", kwargs=dict(name=doc.name, ballot_id=ballot_id)) # if we're in the Secretariat, we can select an AD to act as stand-in for + # or we can select an IRSG member if has_role(request.user, "Secretariat"): - ad_id = request.GET.get('ad') - if not ad_id: + pos_by_id = request.GET.get('pos_by') + if not pos_by_id: raise Http404 - ad = get_object_or_404(Person, pk=ad_id) + pos_by = get_object_or_404(Person, pk=pos_by_id) if request.method == 'POST': old_pos = None - if not has_role(request.user, "Secretariat") and not ad.role_set.filter(name="ad", group__type="area", group__state="active"): + # PEY: if not has_role(request.user, "Secretariat") and not pos_by.role_set.filter(name="ad", group__type="area", group__state="active"): + if not has_role(request.user, "Secretariat") and not can_ballot(request.user, doc): # prevent pre-ADs from voting - return HttpResponseForbidden("Must be a proper Area Director in an active area to cast ballot") + return HttpResponseForbidden("Must be a proper Area Director in an active area or IRSG Member to cast ballot") form = EditPositionForm(request.POST, ballot_type=ballot.ballot_type) if form.is_valid(): send_mail = True if request.POST.get("send_mail") else False - save_position(form, doc, ballot, ad, login, send_mail) - + save_position(form, doc, ballot, pos_by, login, send_mail) + if send_mail: qstr="" - if request.GET.get('ad'): - qstr += "?ad=%s" % request.GET.get('ad') + if request.GET.get('pos_by'): + qstr += "?pos_by=%s" % request.GET.get('pos_by') return HttpResponseRedirect(urlreverse('ietf.doc.views_ballot.send_ballot_comment', kwargs=dict(name=doc.name, ballot_id=ballot_id)) + qstr) - elif request.POST.get("Defer"): + elif request.POST.get("Defer") and doc.stream.slug != "irtf": return redirect('ietf.doc.views_ballot.defer_ballot', name=doc) - elif request.POST.get("Undefer"): + elif request.POST.get("Undefer") and doc.stream.slug != "irtf": return redirect('ietf.doc.views_ballot.undefer_ballot', name=doc) else: return HttpResponseRedirect(return_to_url) else: initial = {} - old_pos = doc.latest_event(BallotPositionDocEvent, type="changed_ballot_position", ad=ad, ballot=ballot) + old_pos = doc.latest_event(BallotPositionDocEvent, type="changed_ballot_position", pos_by=pos_by, ballot=ballot) if old_pos: initial['position'] = old_pos.pos.slug initial['discuss'] = old_pos.discuss @@ -245,7 +251,7 @@ def edit_position(request, name, ballot_id): return render(request, 'doc/ballot/edit_position.html', dict(doc=doc, form=form, - ad=ad, + pos_by=pos_by, return_to_url=return_to_url, old_pos=old_pos, ballot_deferred=ballot_deferred, @@ -295,7 +301,7 @@ def api_set_position(request): return HttpResponse("Done", status=200, content_type='text/plain') -def build_position_email(ad, doc, pos): +def build_position_email(pos_by, doc, pos): subj = [] d = "" blocking_name = "DISCUSS" @@ -308,32 +314,42 @@ def build_position_email(ad, doc, pos): c = pos.comment subj.append("COMMENT") - ad_name_genitive = ad.plain_name() + "'" if ad.plain_name().endswith('s') else ad.plain_name() + "'s" - subject = "%s %s on %s" % (ad_name_genitive, pos.pos.name if pos.pos else "No Position", doc.name + "-" + doc.rev) + pos_by_name_genitive = pos_by.plain_name() + "'" if pos_by.plain_name().endswith('s') else pos_by.plain_name() + "'s" + subject = "%s %s on %s" % (pos_by_name_genitive, pos.pos.name if pos.pos else "No Position", doc.name + "-" + doc.rev) if subj: subject += ": (with %s)" % " and ".join(subj) body = render_to_string("doc/ballot/ballot_comment_mail.txt", dict(discuss=d, comment=c, - ad=ad.plain_name(), + pos_by=pos_by.plain_name(), doc=doc, pos=pos.pos, blocking_name=blocking_name, settings=settings)) - frm = ad.role_email("ad").formatted_email() - - addrs = gather_address_lists('ballot_saved',doc=doc) + # PEY: This doesn't work properly for IRSG members, since they don't have the "ad" role. It still manages to get an address so it doesn't have to be fixed as a first priority. + frm = pos_by.role_email("ad").formatted_email() + + if doc.stream_id == "irtf": + addrs = gather_address_lists('irsg_ballot_saved',doc=doc) + else: + addrs = gather_address_lists('iesg_ballot_saved',doc=doc) return addrs, frm, subject, body -@role_required('Area Director','Secretariat') +@role_required('Area Director','Secretariat','IRSG Member') def send_ballot_comment(request, name, ballot_id): """Email document ballot position discuss/comment for Area Director.""" doc = get_object_or_404(Document, docalias__name=name) ballot = get_object_or_404(BallotDocEvent, type="created_ballot", pk=ballot_id, doc=doc) - ad = request.user.person + if not has_role(request.user, 'Secretariat'): + if doc.stream_id == 'irtf' and not has_role(request.user, 'IRSG Member'): + raise Http404 + if doc.stream_id == 'ietf' and not has_role(request.user, 'Area Director'): + raise Http404 + + pos_by = request.user.person if 'ballot_edit_return_point' in request.session: return_to_url = request.session['ballot_edit_return_point'] @@ -346,21 +362,26 @@ def send_ballot_comment(request, name, ballot_id): back_url = urlreverse("ietf.doc.views_doc.document_ballot", kwargs=dict(name=doc.name, ballot_id=ballot_id)) # if we're in the Secretariat, we can select an AD to act as stand-in for - if not has_role(request.user, "Area Director"): - ad_id = request.GET.get('ad') - if not ad_id: + if has_role(request.user, "Secretariat"): + pos_by_id = request.GET.get('pos_by') + if not pos_by_id: raise Http404 - ad = get_object_or_404(Person, pk=ad_id) + pos_by = get_object_or_404(Person, pk=pos_by_id) - pos = doc.latest_event(BallotPositionDocEvent, type="changed_ballot_position", ad=ad, ballot=ballot) + pos = doc.latest_event(BallotPositionDocEvent, type="changed_ballot_position", pos_by=pos_by, ballot=ballot) if not pos: raise Http404 - addrs, frm, subject, body = build_position_email(ad, doc, pos) + addrs, frm, subject, body = build_position_email(pos_by, doc, pos) + if doc.stream_id == 'irtf': + mailtrigger_slug='irsg_ballot_saved' + else: + mailtrigger_slug='iesg_ballot_saved' + if request.method == 'POST': cc = [] - cc_select_form = CcSelectForm(data=request.POST,mailtrigger_slug='ballot_saved',mailtrigger_context={'doc':doc}) + cc_select_form = CcSelectForm(data=request.POST,mailtrigger_slug=mailtrigger_slug,mailtrigger_context={'doc':doc}) if cc_select_form.is_valid(): cc.extend(cc_select_form.get_selected_addresses()) extra_cc = [x.strip() for x in request.POST.get("extra_cc","").split(',') if x.strip()] @@ -373,7 +394,7 @@ def send_ballot_comment(request, name, ballot_id): else: - cc_select_form = CcSelectForm(mailtrigger_slug='ballot_saved',mailtrigger_context={'doc':doc}) + cc_select_form = CcSelectForm(mailtrigger_slug=mailtrigger_slug,mailtrigger_context={'doc':doc}) return render(request, 'doc/ballot/send_ballot_comment.html', dict(doc=doc, @@ -381,7 +402,7 @@ def send_ballot_comment(request, name, ballot_id): body=body, frm=frm, to=addrs.as_strings().to, - ad=ad, + pos_by=pos_by, back_url=back_url, cc_select_form = cc_select_form, )) @@ -599,17 +620,17 @@ def ballot_writeupnotes(request, name): if "issue_ballot" in request.POST: e = create_ballot_if_not_open(request, doc, login, "approve") # pyflakes:ignore ballot = doc.latest_event(BallotDocEvent, type="created_ballot") - if has_role(request.user, "Area Director") and not doc.latest_event(BallotPositionDocEvent, ad=login, ballot=ballot): + if has_role(request.user, "Area Director") and not doc.latest_event(BallotPositionDocEvent, pos_by=login, ballot=ballot): # sending the ballot counts as a yes pos = BallotPositionDocEvent(doc=doc, rev=doc.rev, by=login) pos.ballot = ballot pos.type = "changed_ballot_position" - pos.ad = login + pos.pos_by = login pos.pos_id = "yes" - pos.desc = "[Ballot Position Update] New position, %s, has been recorded for %s" % (pos.pos.name, pos.ad.plain_name()) + pos.desc = "[Ballot Position Update] New position, %s, has been recorded for %s" % (pos.pos.name, pos.pos_by.plain_name()) pos.save() - # Consider mailing this position to 'ballot_saved' + # Consider mailing this position to 'iesg_ballot_saved' approval = doc.latest_event(WriteupDocEvent, type="changed_ballot_approval_text") if not approval: @@ -1051,3 +1072,119 @@ def make_last_call(request, name): form=form, announcement=announcement, )) + +@role_required('Secretariat', 'IRTF Chair') +def issue_irsg_ballot(request, name): + doc = get_object_or_404(Document, docalias__name=name) + if doc.stream.slug != "irtf" or doc.type != DocTypeName.objects.get(slug="draft"): + raise Http404 + + by = request.user.person + fillerdate = datetime.date.today() + datetime.timedelta(weeks=2) + + if request.method == 'POST': + button = request.POST.__getitem__("irsg_button") + if button == 'Yes': + duedate = request.POST.__getitem__("duedate") + e = IRSGBallotDocEvent(doc=doc, rev=doc.rev, by=request.user.person) + if (duedate == None or duedate==""): + duedate = str(fillerdate) + e.duedate = datetime.datetime.strptime(duedate, '%Y-%m-%d') + # PEY: What's the best thing to do for "unreasonable" dates? + e.type = "created_ballot" + e.desc = "Created IRSG Ballot" + ballot_type = BallotType.objects.get(doc_type=doc.type, slug="irsg-approve") + e.ballot_type = ballot_type + e.save() + # PEY: This is probably not enough state setting/cleanup. I should review the IESG version more to see what happens. + new_state = doc.get_state() + prev_tags = [] + new_tags = [] + + if doc.type_id == 'draft': + new_state = State.objects.get(used=True, type="draft-stream-irtf", slug='irsgpoll') + + prev_state = doc.get_state(new_state.type_id if new_state else None) + + doc.set_state(new_state) + doc.tags.remove(*prev_tags) + + events = [] + state_change_event = add_state_change_event(doc, by, prev_state, new_state, prev_tags=prev_tags, new_tags=new_tags) + if state_change_event: + events.append(state_change_event) + + if events: + doc.save_with_history(events) + + return HttpResponseRedirect(doc.get_absolute_url()) + else: + templ = 'doc/ballot/irsg_ballot_approve.html' + + question = "Are you sure you really want to issue a ballot for " + name + "?" + return render(request, templ, dict(doc=doc, + question=question, fillerdate=fillerdate)) + +@role_required('Secretariat', 'IRTF Chair') +def close_irsg_ballot(request, name): + doc = get_object_or_404(Document, docalias__name=name) + if doc.stream.slug != "irtf" or doc.type != DocTypeName.objects.get(slug="draft"): + raise Http404 + + by = request.user.person + + if request.method == 'POST': + button = request.POST.__getitem__("irsg_button") + if button == 'Yes': + e = BallotDocEvent(doc=doc, rev=doc.rev, by=request.user.person) + e.type = "closed_ballot" + e.desc = "Closed IRSG Ballot" + ballot_type = BallotType.objects.get(doc_type=doc.type, slug="irsg-approve") + e.ballot_type = ballot_type + e.save() + # PEY: This is probably not enough state setting/cleanup. I should review the IESG version more to see what happens. + new_state = doc.get_state() + prev_tags = [] + new_tags = [] + + # PEY: Need to determine what the correct state to transition to is. + if doc.type_id == 'draft': + new_state = State.objects.get(used=True, type="draft-stream-irtf", slug='active') + + prev_state = doc.get_state(new_state.type_id if new_state else None) + + doc.set_state(new_state) + doc.tags.remove(*prev_tags) + + events = [] + state_change_event = add_state_change_event(doc, by, prev_state, new_state, prev_tags=prev_tags, new_tags=new_tags) + if state_change_event: + events.append(state_change_event) + + if events: + doc.save_with_history(events) + + return HttpResponseRedirect(doc.get_absolute_url()) + + templ = 'doc/ballot/irsg_ballot_close.html' + + question = "Are you sure you really want to close the ballot for " + name + "?" + return render(request, templ, dict(doc=doc, + question=question)) + +@role_required('Secretariat', 'IRTF Chair') +def irsg_ballot_status(request): + possible_docs = Document.objects.filter(docevent__ballotdocevent__irsgballotdocevent__isnull=False) + docs = [] + for doc in possible_docs: + if doc.ballot_open("irsg-approve"): + ballot = doc.active_ballot() + if ballot: + doc.ballot = ballot + # PEY: Need to figure how to work the duedate into status_columns.html + # PEY: Also, how is it I can add duedate to doc just like that? + doc.duedate=datetime.datetime.strftime(ballot.irsgballotdocevent.duedate, '%Y-%m-%d') + + docs.append(doc) + + return render(request, 'doc/irsg_ballot_status.html', {'docs':docs}) diff --git a/ietf/doc/views_charter.py b/ietf/doc/views_charter.py index bf827aaf7..19701bf32 100644 --- a/ietf/doc/views_charter.py +++ b/ietf/doc/views_charter.py @@ -665,15 +665,15 @@ def ballot_writeupnotes(request, name): existing.save() if "send_ballot" in request.POST and approval: - if has_role(request.user, "Area Director") and not charter.latest_event(BallotPositionDocEvent, type="changed_ballot_position", ad=by, ballot=ballot): + if has_role(request.user, "Area Director") and not charter.latest_event(BallotPositionDocEvent, type="changed_ballot_position", pos_by=by, ballot=ballot): # sending the ballot counts as a yes pos = BallotPositionDocEvent(doc=charter, rev=charter.rev, by=by) pos.type = "changed_ballot_position" - pos.ad = by + pos.pos_by = by pos.pos_id = "yes" pos.desc = "[Ballot Position Update] New position, %s, has been recorded for %s" % (pos.pos.name, pos.ad.plain_name()) pos.save() - # Consider mailing this position to 'ballot_saved' + # Consider mailing this position to 'iesg_ballot_saved' msg = generate_issue_ballot_mail(request, charter, ballot) send_mail_preformatted(request, msg) diff --git a/ietf/doc/views_conflict_review.py b/ietf/doc/views_conflict_review.py index 04ed5675c..d25fa9b7a 100644 --- a/ietf/doc/views_conflict_review.py +++ b/ietf/doc/views_conflict_review.py @@ -69,17 +69,17 @@ def change_state(request, name, option=None): e = create_ballot_if_not_open(request, review, login, "conflrev") # pyflakes:ignore ballot = review.latest_event(BallotDocEvent, type="created_ballot") log.assertion('ballot == e') - if has_role(request.user, "Area Director") and not review.latest_event(BallotPositionDocEvent, ad=login, ballot=ballot, type="changed_ballot_position"): + if has_role(request.user, "Area Director") and not review.latest_event(BallotPositionDocEvent, pos_by=login, ballot=ballot, type="changed_ballot_position"): # The AD putting a conflict review into iesgeval who doesn't already have a position is saying "yes" pos = BallotPositionDocEvent(doc=review, rev=review.rev, by=login) pos.ballot = ballot pos.type = "changed_ballot_position" - pos.ad = login + pos.pos_by = login pos.pos_id = "yes" - pos.desc = "[Ballot Position Update] New position, %s, has been recorded for %s" % (pos.pos.name, pos.ad.plain_name()) + pos.desc = "[Ballot Position Update] New position, %s, has been recorded for %s" % (pos.pos.name, pos.pos_by.plain_name()) pos.save() - # Consider mailing that position to 'ballot_saved' + # Consider mailing that position to 'iesg_ballot_saved' send_conflict_eval_email(request,review) diff --git a/ietf/doc/views_doc.py b/ietf/doc/views_doc.py index 494b0c2e4..0cfb7a719 100644 --- a/ietf/doc/views_doc.py +++ b/ietf/doc/views_doc.py @@ -63,7 +63,7 @@ from ietf.doc.utils import (add_links_in_new_revision_events, augment_events_wit needed_ballot_positions, nice_consensus, prettify_std_name, update_telechat, has_same_ballot, get_initial_notify, make_notify_changed_event, make_rev_history, default_consensus, add_events_message_info, get_unicode_document_content, build_doc_meta_block, - augment_docs_and_user_with_user_info) + irsg_needed_ballot_positions ) from ietf.group.models import Role, Group from ietf.group.utils import can_manage_group_type, can_manage_materials, group_features_role_filter from ietf.ietfauth.utils import ( has_role, is_authorized_in_doc_stream, user_is_person, @@ -83,15 +83,22 @@ from ietf.utils.text import maybe_split def render_document_top(request, doc, tab, name): + # PEY: Figuring out what tab value is tabs = [] tabs.append(("Status", "status", urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=name)), True, None)) - ballot = doc.latest_event(BallotDocEvent, type="created_ballot") - if doc.type_id in ("draft","conflrev", "statchg"): - tabs.append(("IESG Evaluation Record", "ballot", urlreverse("ietf.doc.views_doc.document_ballot", kwargs=dict(name=name)), ballot, None if ballot else "IESG Evaluation Ballot has not been created yet")) - elif doc.type_id == "charter" and doc.group.type_id == "wg": - tabs.append(("IESG Review", "ballot", urlreverse("ietf.doc.views_doc.document_ballot", kwargs=dict(name=name)), ballot, None if ballot else "IESG Review Ballot has not been created yet")) + # ballot = doc.latest_event(BallotDocEvent, type="created_ballot") + # ballot_type = BallotType.objects.get(doc_type=doc.type, slug="irsg-approve") + iesg_ballot = doc.latest_event(BallotDocEvent, type="created_ballot", ballot_type__slug='approve') + irsg_ballot = doc.latest_event(BallotDocEvent, type="created_ballot",ballot_type__slug='irsg-approve') + if doc.type_id == "draft" and doc.get_state("draft-stream-irtf"): + tabs.append(("IRSG Evaluation Record", "irsgballot", urlreverse("ietf.doc.views_doc.document_irsg_ballot", kwargs=dict(name=name)), irsg_ballot, None if irsg_ballot else "IRSG Evaluation Ballot has not been created yet")) + if doc.type_id in ("draft","conflrev", "statchg"): + tabs.append(("IESG Evaluation Record", "ballot", urlreverse("ietf.doc.views_doc.document_ballot", kwargs=dict(name=name)), iesg_ballot, None if iesg_ballot else "IESG Evaluation Ballot has not been created yet")) + elif doc.type_id == "charter" and doc.group.type_id == "wg": + tabs.append(("IESG Review", "ballot", urlreverse("ietf.doc.views_doc.document_ballot", kwargs=dict(name=name)), iesg_ballot, None if iesg_ballot else "IESG Review Ballot has not been created yet")) + if doc.type_id == "draft" or (doc.type_id == "charter" and doc.group.type_id == "wg"): tabs.append(("IESG Writeups", "writeup", urlreverse('ietf.doc.views_doc.document_writeup', kwargs=dict(name=name)), True, None)) @@ -170,6 +177,8 @@ def document_main(request, name, rev=None): iesg_state = doc.get_state("draft-iesg") iesg_state_summary = doc.friendly_state() + irsg_state = doc.get_state("draft-stream-irtf") + can_edit = has_role(request.user, ("Area Director", "Secretariat")) stream_slugs = StreamName.objects.values_list("slug", flat=True) # For some reason, AnonymousUser has __iter__, but is not iterable, @@ -260,11 +269,17 @@ def document_main(request, name, rev=None): file_urls.append(("bibtex", "bibtex")) # ballot - ballot_summary = None - if iesg_state and iesg_state.slug in IESG_BALLOT_ACTIVE_STATES: + iesg_ballot_summary = None + irsg_ballot_summary = None + due_date = None + if (iesg_state and iesg_state.slug in IESG_BALLOT_ACTIVE_STATES) or irsg_state: active_ballot = doc.active_ballot() if active_ballot: - ballot_summary = needed_ballot_positions(doc, list(active_ballot.active_ad_positions().values())) + if irsg_state: + irsg_ballot_summary = irsg_needed_ballot_positions(doc, list(active_ballot.active_balloteer_positions().values())) + due_date=active_ballot.irsgballotdocevent.duedate + else: + iesg_ballot_summary = needed_ballot_positions(doc, list(active_ballot.active_balloteer_positions().values())) # submission submission = "" @@ -365,6 +380,13 @@ def document_main(request, name, rev=None): if doc.get_state_slug() == "expired" and has_role(request.user, ("Secretariat",)) and not snapshot: actions.append(("Resurrect", urlreverse('ietf.doc.views_draft.resurrect', kwargs=dict(name=doc.name)))) + + if (doc.get_state_slug() not in ["rfc", "expired"] and doc.stream_id in ("irtf",) and not snapshot and not doc.ballot_open('irsg-approve') and can_edit_stream_info): + label = "Issue IRSG Ballot" + actions.append((label, urlreverse('ietf.doc.views_ballot.issue_irsg_ballot', kwargs=dict(name=doc.name)))) + if (doc.get_state_slug() not in ["rfc", "expired"] and doc.stream_id in ("irtf",) and not snapshot and doc.ballot_open('irsg-approve') and can_edit_stream_info): + label = "Close IRSG Ballot" + actions.append((label, urlreverse('ietf.doc.views_ballot.close_irsg_ballot', kwargs=dict(name=doc.name)))) if (doc.get_state_slug() not in ["rfc", "expired"] and doc.stream_id in ("ise", "irtf") and can_edit_stream_info and not conflict_reviews and not snapshot): @@ -390,7 +412,7 @@ def document_main(request, name, rev=None): elif can_edit_stream_info and (iesg_state.slug in ('idexists','watching')): actions.append(("Submit to IESG for Publication", urlreverse('ietf.doc.views_draft.to_iesg', kwargs=dict(name=doc.name)))) - augment_docs_and_user_with_user_info([doc], request.user) + #augment_docs_and_user_with_user_info([doc], request.user) replaces = [d.name for d in doc.related_that_doc("replaces")] replaced_by = [d.name for d in doc.related_that("replaces")] @@ -433,7 +455,9 @@ def document_main(request, name, rev=None): rfc_number=rfc_number, draft_name=draft_name, telechat=telechat, - ballot_summary=ballot_summary, + iesg_ballot_summary=iesg_ballot_summary, + # PEY: Currently not using irsg_ballot_summary in the template, but it should be. That will take a new box for IRSG data. + irsg_ballot_summary=irsg_ballot_summary, submission=submission, resurrected_by=resurrected_by, @@ -471,6 +495,7 @@ def document_main(request, name, rev=None): presentations=presentations, review_assignments=review_assignments, no_review_from_teams=no_review_from_teams, + due_date=due_date, )) if doc.type_id == "charter": @@ -479,9 +504,10 @@ def document_main(request, name, rev=None): ballot_summary = None if doc.get_state_slug() in ("intrev", "iesgrev"): + # PEY: Need to adjust this so that I check draft-stream-irtf state as well and generate an irsg_ballot_summary as needed... active_ballot = doc.active_ballot() if active_ballot: - ballot_summary = needed_ballot_positions(doc, list(active_ballot.active_ad_positions().values())) + ballot_summary = needed_ballot_positions(doc, list(active_ballot.active_balloteer_positions().values())) else: ballot_summary = "No active ballot found." @@ -522,8 +548,9 @@ def document_main(request, name, rev=None): content = markup_txt.markup(content) ballot_summary = None + # PEY: Need to work in irsg_ballot_summary here as well if doc.get_state_slug() in ("iesgeval") and doc.active_ballot(): - ballot_summary = needed_ballot_positions(doc, list(doc.active_ballot().active_ad_positions().values())) + ballot_summary = needed_ballot_positions(doc, list(doc.active_ballot().active_balloteer_positions().values())) return render(request, "doc/document_conflict_review.html", dict(doc=doc, @@ -549,8 +576,9 @@ def document_main(request, name, rev=None): content = doc.text_or_error() # pyflakes:ignore ballot_summary = None + # PEY: work in irsg_ballot_summary here too if doc.get_state_slug() in ("iesgeval"): - ballot_summary = needed_ballot_positions(doc, list(doc.active_ballot().active_ad_positions().values())) + ballot_summary = needed_ballot_positions(doc, list(doc.active_ballot().active_balloteer_positions().values())) if isinstance(doc,Document): sorted_relations=doc.relateddocument_set.all().order_by('relationship__name') @@ -998,16 +1026,20 @@ def document_ballot_content(request, doc, ballot_id, editable=True): position_groups = [] for n in BallotPositionName.objects.filter(slug__in=[p.pos_id for p in positions]).order_by('order'): g = (n, [p for p in positions if p.pos_id == n.slug]) - g[1].sort(key=lambda p: (p.old_ad, p.ad.plain_name())) + g[1].sort(key=lambda p: (p.old_pos_by, p.pos_by.plain_name())) if n.blocking: position_groups.insert(0, g) else: position_groups.append(g) - summary = needed_ballot_positions(doc, [p for p in positions if not p.old_ad]) + # PEY: Need to integrate irsg_needed_ballot_positions here as well. + if (ballot.ballot_type.slug == "irsg-approve"): + summary = irsg_needed_ballot_positions(doc, [p for p in positions if not p.old_pos_by]) + else: + summary = needed_ballot_positions(doc, [p for p in positions if not p.old_pos_by]) text_positions = [p for p in positions if p.discuss or p.comment] - text_positions.sort(key=lambda p: (p.old_ad, p.ad.plain_name())) + text_positions.sort(key=lambda p: (p.old_pos_by, p.pos_by.plain_name())) ballot_open = not BallotDocEvent.objects.filter(doc=doc, type__in=("closed_ballot", "created_ballot"), @@ -1031,7 +1063,51 @@ def document_ballot_content(request, doc, ballot_id, editable=True): def document_ballot(request, name, ballot_id=None): doc = get_object_or_404(Document, docalias__name=name) - top = render_document_top(request, doc, "ballot", name) + all_ballots = list(BallotDocEvent.objects.filter(doc=doc, type="created_ballot").order_by("time")) + if not ballot_id: + if all_ballots: + ballot = all_ballots[-1] + else: + # PEY: What should I do if I somehow got here without any ballots existing? Can that happen? Passing for now. + pass + ballot_id = ballot.id + else: + ballot_id = int(ballot_id) + for b in all_ballots: + if b.id == ballot_id: + ballot = b + break + + if not ballot_id or not ballot: + # PEY: Something bad happened. How do I gracefully bail out? + pass + + if ballot.ballot_type.slug == "approve": + ballot_tab = "ballot" + elif ballot.ballot_type.slug == "irsg-approve": + ballot_tab = "irsgballot" + else: + ballot_tab = None + + top = render_document_top(request, doc, ballot_tab, name) + + c = document_ballot_content(request, doc, ballot_id, editable=True) + request.session['ballot_edit_return_point'] = request.path_info + + return render(request, "doc/document_ballot.html", + dict(doc=doc, + top=top, + ballot_content=c, + # ballot_type_slug=ballot.ballot_type.slug, + )) + +def document_irsg_ballot(request, name, ballot_id=None): + doc = get_object_or_404(Document, docalias__name=name) + top = render_document_top(request, doc, "irsgballot", name) + if not ballot_id: + ballot = doc.latest_event(BallotDocEvent, type="created_ballot", ballot_type__slug='irsg-approve') + if ballot: + ballot_id = ballot.id c = document_ballot_content(request, doc, ballot_id, editable=True) @@ -1041,6 +1117,7 @@ def document_ballot(request, name, ballot_id=None): dict(doc=doc, top=top, ballot_content=c, + # ballot_type_slug=ballot.ballot_type.slug, )) def ballot_popup(request, name, ballot_id): diff --git a/ietf/doc/views_search.py b/ietf/doc/views_search.py index b8acca1bb..22d96130a 100644 --- a/ietf/doc/views_search.py +++ b/ietf/doc/views_search.py @@ -425,7 +425,7 @@ def docs_for_ad(request, name): Q(states__type__in=("statchg", "conflrev"), states__slug__in=("iesgeval", "defer")), docevent__ballotpositiondocevent__pos__blocking=True, - docevent__ballotpositiondocevent__ad=ad).distinct() + docevent__ballotpositiondocevent__pos_by=ad) for doc in possible_docs: ballot = doc.active_ballot() if not ballot: @@ -433,7 +433,7 @@ def docs_for_ad(request, name): blocking_positions = [p for p in ballot.all_positions() if p.pos.blocking] - if not blocking_positions or not any( p.ad==ad for p in blocking_positions ): + if not blocking_positions or not any( p.pos_by==ad for p in blocking_positions ): continue augment_events_with_revision(doc, blocking_positions) @@ -445,7 +445,7 @@ def docs_for_ad(request, name): # latest first if blocked_docs: - blocked_docs.sort(key=lambda d: min(p.time for p in d.blocking_positions if p.ad==ad), reverse=True) + blocked_docs.sort(key=lambda d: min(p.time for p in d.blocking_positions if p.pos_by==ad), reverse=True) return render(request, 'doc/drafts_for_ad.html', { 'form':form, 'docs':results, 'meta':meta, 'ad_name': ad.plain_name(), 'blocked_docs': blocked_docs diff --git a/ietf/doc/views_status_change.py b/ietf/doc/views_status_change.py index 02de2bbab..7af1b7682 100644 --- a/ietf/doc/views_status_change.py +++ b/ietf/doc/views_status_change.py @@ -73,15 +73,15 @@ def change_state(request, name, option=None): if new_state.slug == "iesgeval": e = create_ballot_if_not_open(request, status_change, login, "statchg", status_change.time) # pyflakes:ignore ballot = status_change.latest_event(BallotDocEvent, type="created_ballot") - if has_role(request.user, "Area Director") and not status_change.latest_event(BallotPositionDocEvent, ad=login, ballot=ballot, type="changed_ballot_position"): + if has_role(request.user, "Area Director") and not status_change.latest_event(BallotPositionDocEvent, pos_by=login, ballot=ballot, type="changed_ballot_position"): # The AD putting a status change into iesgeval who doesn't already have a position is saying "yes" pos = BallotPositionDocEvent(doc=status_change, rev=status_change.rev, by=login) pos.ballot = ballot pos.type = "changed_ballot_position" - pos.ad = login + pos.pos_by = login pos.pos_id = "yes" - pos.desc = "[Ballot Position Update] New position, %s, has been recorded for %s" % (pos.pos.name, pos.ad.plain_name()) + pos.desc = "[Ballot Position Update] New position, %s, has been recorded for %s" % (pos.pos.name, pos.pos_by.plain_name()) pos.save() send_status_change_eval_email(request,status_change) diff --git a/ietf/iesg/tests.py b/ietf/iesg/tests.py index 3735f3005..ebbfb1c49 100644 --- a/ietf/iesg/tests.py +++ b/ietf/iesg/tests.py @@ -42,14 +42,14 @@ class IESGTests(TestCase): pos.type = "changed_ballot_position" pos.doc = draft pos.rev = draft.rev - pos.ad = pos.by = Person.objects.get(user__username="ad") + pos.pos_by = pos.by = Person.objects.get(user__username="ad") pos.save() r = self.client.get(urlreverse("ietf.iesg.views.discusses")) self.assertEqual(r.status_code, 200) self.assertContains(r, draft.name) - self.assertContains(r, pos.ad.plain_name()) + self.assertContains(r, pos.pos_by.plain_name()) def test_milestones_needing_review(self): draft = WgDraftFactory() diff --git a/ietf/iesg/views.py b/ietf/iesg/views.py index 80f17e3d0..3e10858f9 100644 --- a/ietf/iesg/views.py +++ b/ietf/iesg/views.py @@ -428,7 +428,7 @@ def past_documents(request): if blocking_positions: augment_events_with_revision(doc, blocking_positions) - doc.by_me = bool([p for p in blocking_positions if user_is_person(request.user, p.ad)]) + doc.by_me = bool([p for p in blocking_positions if user_is_person(request.user, p.pos_by)]) doc.for_me = user_is_person(request.user, doc.ad) doc.milestones = doc.groupmilestone_set.filter(state="active").order_by("time").select_related("group") doc.blocking_positions = blocking_positions @@ -506,7 +506,7 @@ def discusses(request): augment_events_with_revision(doc, blocking_positions) - doc.by_me = bool([p for p in blocking_positions if user_is_person(request.user, p.ad)]) + doc.by_me = bool([p for p in blocking_positions if user_is_person(request.user, p.pos_by)]) doc.for_me = user_is_person(request.user, doc.ad) doc.milestones = doc.groupmilestone_set.filter(state="active").order_by("time").select_related("group") doc.blocking_positions = blocking_positions diff --git a/ietf/ietfauth/utils.py b/ietf/ietfauth/utils.py index 59eaa99a5..f51509f54 100644 --- a/ietf/ietfauth/utils.py +++ b/ietf/ietfauth/utils.py @@ -80,6 +80,7 @@ def has_role(user, role_names, *args, **kwargs): "Recording Manager": Q(person=person,name="recman",group__type="ietf",group__state="active", ), "Reviewer": Q(person=person, name="reviewer", group__state="active"), "Review Team Secretary": Q(person=person, name="secr", group__reviewteamsettings__isnull=False,group__state="active", ), + "IRSG Member": (Q(person=person, name="member", group__acronym="irsg") | Q(person=person, name="chair", group__acronym="irtf")), } diff --git a/ietf/mailtrigger/migrations/0013_add_irsg_ballot_saved.py b/ietf/mailtrigger/migrations/0013_add_irsg_ballot_saved.py new file mode 100644 index 000000000..34ed3b2f8 --- /dev/null +++ b/ietf/mailtrigger/migrations/0013_add_irsg_ballot_saved.py @@ -0,0 +1,44 @@ +# Copyright The IETF Trust 2019, All Rights Reserved +# -*- coding: utf-8 -*- +# Generated by Django 1.11.25 on 2019-10-04 13:12 +from __future__ import unicode_literals + +from django.db import migrations + +def forward(apps, shema_editor): + Recipient = apps.get_model('mailtrigger','Recipient') + + irsg = Recipient.objects.create( + slug = 'irsg', + desc = 'The IRSG', + template = 'The IRSG ' + ) + + MailTrigger = apps.get_model('mailtrigger', 'MailTrigger') + slug = 'irsg_ballot_saved' + desc = 'Recipients when a new IRSG ballot position with comments is saved' + irsg_ballot_saved = MailTrigger.objects.create( + slug=slug, + desc=desc + ) + irsg_ballot_saved.to.add(irsg) + irsg_ballot_saved.cc.set(Recipient.objects.filter(slug__in=['doc_affecteddoc_authors','doc_affecteddoc_group_chairs','doc_affecteddoc_notify','doc_authors','doc_group_chairs','doc_group_mail_list','doc_notify','doc_shepherd'])) + + MailTrigger.objects.filter(slug='ballot_saved').update(slug='iesg_ballot_saved') + +def reverse(apps, shema_editor): + MailTrigger = apps.get_model('mailtrigger', 'MailTrigger') + MailTrigger.objects.filter(slug='irsg_ballot_saved').delete() + MailTrigger.objects.filter(slug='iesg_ballot_saved').update(slug='ballot_saved') + Recipient = apps.get_model('mailtrigger','Recipient') + Recipient.objects.filter(slug='irsg').delete() + +class Migration(migrations.Migration): + + dependencies = [ + ('mailtrigger', '0012_dont_last_call_early_reviews'), + ] + + operations = [ + migrations.RunPython(forward, reverse), + ] diff --git a/ietf/mailtrigger/models.py b/ietf/mailtrigger/models.py index ed70ddeb1..ae931595d 100644 --- a/ietf/mailtrigger/models.py +++ b/ietf/mailtrigger/models.py @@ -304,9 +304,9 @@ class Recipient(models.Model): doc = kwargs['doc'] active_ballot = doc.active_ballot() if active_ballot: - for ad, pos in active_ballot.active_ad_positions().items(): + for balloteer, pos in active_ballot.active_balloteer_positions().items(): if pos and pos.pos_id == "discuss": - addrs.append(ad.role_email("ad").address) + addrs.append(balloteer.role_email("ad").address) return addrs def gather_ipr_updatedipr_contacts(self, **kwargs): diff --git a/ietf/mailtrigger/tests.py b/ietf/mailtrigger/tests.py index 802c2a6bb..91fcc1f19 100644 --- a/ietf/mailtrigger/tests.py +++ b/ietf/mailtrigger/tests.py @@ -15,12 +15,12 @@ class EventMailTests(TestCase): url = urlreverse('ietf.mailtrigger.views.show_triggers') r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertContains(r, 'ballot_saved') + self.assertContains(r, 'iesg_ballot_saved') - url = urlreverse('ietf.mailtrigger.views.show_triggers',kwargs=dict(mailtrigger_slug='ballot_saved')) + url = urlreverse('ietf.mailtrigger.views.show_triggers',kwargs=dict(mailtrigger_slug='iesg_ballot_saved')) r = self.client.get(url) self.assertEqual(r.status_code, 200) - self.assertContains(r, 'ballot_saved') + self.assertContains(r, 'iesg_ballot_saved') def test_show_recipients(self): diff --git a/ietf/mailtrigger/utils.py b/ietf/mailtrigger/utils.py index a72d15b97..a1c28871e 100644 --- a/ietf/mailtrigger/utils.py +++ b/ietf/mailtrigger/utils.py @@ -68,7 +68,8 @@ def gather_relevant_expansions(**kwargs): doc = kwargs['doc'] - relevant.update(['doc_state_edited','doc_telechat_details_changed','ballot_deferred','ballot_saved']) + # PEY: does this need to include irsg_ballot_saved as well? + relevant.update(['doc_state_edited','doc_telechat_details_changed','ballot_deferred','iesg_ballot_saved']) if doc.type_id in ['draft','statchg']: relevant.update(starts_with('last_call_')) diff --git a/ietf/name/fixtures/names.json b/ietf/name/fixtures/names.json index 98ad72b3c..bc5022827 100644 --- a/ietf/name/fixtures/names.json +++ b/ietf/name/fixtures/names.json @@ -1,14156 +1,14238 @@ [ - { - "fields": { - "content": "{{ assigner.ascii }} has assigned {{ reviewer.person.ascii }} as a reviewer for this document.\n\n{% if prev_team_reviews %}This team has completed other reviews of this document:{% endif %}{% for assignment in prev_team_reviews %}\n- {{ assignment.completed_on }} {{ assignment.reviewer.person.ascii }} -{% if assignment.reviewed_rev %}{{ assignment.reviewed_rev }}{% else %}{{ assignment.review_request.requested_rev }}{% endif %} {{ assignment.result.name }} \n{% endfor %}\n", - "group": null, - "path": "/group/defaults/email/review_assigned.txt", - "title": "Default template for review assignment email", - "type": "django", - "variables": null - }, - "model": "dbtemplate.dbtemplate", - "pk": 354 - }, - { - "fields": { - "doc_type": "charter", - "name": "Ready for external review", - "order": 1, - "positions": [ - "yes", - "noobj", - "block", - "abstain", - "norecord" - ], - "question": "Is this charter ready for external review?", - "slug": "r-extrev", - "used": true - }, - "model": "doc.ballottype", - "pk": 1 - }, - { - "fields": { - "doc_type": "charter", - "name": "Ready w/o external review", - "order": 2, - "positions": [ - "yes", - "noobj", - "block", - "abstain", - "norecord" - ], - "question": "Is this charter ready for external review? Is this charter ready for approval without external review?", - "slug": "r-wo-ext", - "used": true - }, - "model": "doc.ballottype", - "pk": 2 - }, - { - "fields": { - "doc_type": "charter", - "name": "Approve", - "order": 3, - "positions": [ - "yes", - "noobj", - "block", - "abstain", - "norecord" - ], - "question": "Do we approve of this charter?", - "slug": "approve", - "used": true - }, - "model": "doc.ballottype", - "pk": 3 - }, - { - "fields": { - "doc_type": "draft", - "name": "Approve", - "order": 1, - "positions": [ - "yes", - "noobj", - "discuss", - "abstain", - "recuse", - "norecord" - ], - "question": "", - "slug": "approve", - "used": true - }, - "model": "doc.ballottype", - "pk": 4 - }, - { - "fields": { - "doc_type": "conflrev", - "name": "Approve", - "order": 0, - "positions": [ - "yes", - "noobj", - "discuss", - "abstain", - "recuse", - "norecord" - ], - "question": "Is this the correct conflict review response?", - "slug": "conflrev", - "used": true - }, - "model": "doc.ballottype", - "pk": 5 - }, - { - "fields": { - "doc_type": "statchg", - "name": "Approve", - "order": 0, - "positions": [ - "yes", - "noobj", - "discuss", - "abstain", - "recuse", - "norecord" - ], - "question": "Do we approve these RFC status changes?", - "slug": "statchg", - "used": true - }, - "model": "doc.ballottype", - "pk": 6 - }, - { - "fields": { - "desc": "", - "name": "Active", - "next_states": [], - "order": 1, - "slug": "active", - "type": "draft", - "used": true - }, - "model": "doc.state", - "pk": 1 - }, - { - "fields": { - "desc": "", - "name": "Expired", - "next_states": [], - "order": 2, - "slug": "expired", - "type": "draft", - "used": true - }, - "model": "doc.state", - "pk": 2 - }, - { - "fields": { - "desc": "", - "name": "RFC", - "next_states": [], - "order": 3, - "slug": "rfc", - "type": "draft", - "used": true - }, - "model": "doc.state", - "pk": 3 - }, - { - "fields": { - "desc": "", - "name": "Replaced", - "next_states": [], - "order": 4, - "slug": "repl", - "type": "draft", - "used": true - }, - "model": "doc.state", - "pk": 4 - }, - { - "fields": { - "desc": "", - "name": "Withdrawn by Submitter", - "next_states": [], - "order": 5, - "slug": "auth-rm", - "type": "draft", - "used": true - }, - "model": "doc.state", - "pk": 5 - }, - { - "fields": { - "desc": "", - "name": "Withdrawn by IETF", - "next_states": [], - "order": 6, - "slug": "ietf-rm", - "type": "draft", - "used": true - }, - "model": "doc.state", - "pk": 6 - }, - { - "fields": { - "desc": "The ID has been published as an RFC.", - "name": "RFC Published", - "next_states": [ - 8 - ], - "order": 32, - "slug": "pub", - "type": "draft-iesg", - "used": true - }, - "model": "doc.state", - "pk": 7 - }, - { - "fields": { - "desc": "Document is \"dead\" and is no longer being tracked. (E.g., it has been replaced by another document with a different name, it has been withdrawn, etc.)", - "name": "Dead", - "next_states": [ - 16 - ], - "order": 99, - "slug": "dead", - "type": "draft-iesg", - "used": true - }, - "model": "doc.state", - "pk": 8 - }, - { - "fields": { - "desc": "The IESG has approved the document for publication, but the Secretariat has not yet sent out on official approval message.", - "name": "Approved-announcement to be sent", - "next_states": [ - 10 - ], - "order": 27, - "slug": "approved", - "type": "draft-iesg", - "used": true - }, - "model": "doc.state", - "pk": 9 - }, - { - "fields": { - "desc": "The IESG has approved the document for publication, and the Secretariat has sent out the official approval message to the RFC editor.", - "name": "Approved-announcement sent", - "next_states": [ - 17 - ], - "order": 30, - "slug": "ann", - "type": "draft-iesg", - "used": true - }, - "model": "doc.state", - "pk": 10 - }, - { - "fields": { - "desc": "An AD is aware of the document and has chosen to place the document in a separate state in order to keep a closer eye on it (for whatever reason). Documents in this state are still not being actively tracked in the sense that no formal request has been made to publish or advance the document. The sole difference between this state and \"I-D Exists\" is that an AD has chosen to put it in a separate state, to make it easier to keep track of (for the AD's own reasons).", - "name": "AD is watching", - "next_states": [ - 16 - ], - "order": 42, - "slug": "watching", - "type": "draft-iesg", - "used": true - }, - "model": "doc.state", - "pk": 11 - }, - { - "fields": { - "desc": "The document is now (finally!) being formally reviewed by the entire IESG. Documents are discussed in email or during a bi-weekly IESG telechat. In this phase, each AD reviews the document and airs any issues they may have. Unresolvable issues are documented as \"discuss\" comments that can be forwarded to the authors/WG. See the description of substates for additional details about the current state of the IESG discussion.", - "name": "IESG Evaluation", - "next_states": [ - 18, - 9, - 22 - ], - "order": 20, - "slug": "iesg-eva", - "type": "draft-iesg", - "used": true - }, - "model": "doc.state", - "pk": 12 - }, - { - "fields": { - "desc": "A specific AD (e.g., the Area Advisor for the WG) has begun reviewing the document to verify that it is ready for advancement. The shepherding AD is responsible for doing any necessary review before starting an IETF Last Call or sending the document directly to the IESG as a whole.", - "name": "AD Evaluation", - "next_states": [ - 21, - 14, - 12, - 11 - ], - "order": 11, - "slug": "ad-eval", - "type": "draft-iesg", - "used": true - }, - "model": "doc.state", - "pk": 13 - }, - { - "fields": { - "desc": "The AD has requested that the Secretariat start an IETF Last Call, but the the actual Last Call message has not been sent yet.", - "name": "Last Call Requested", - "next_states": [ - 15 - ], - "order": 15, - "slug": "lc-req", - "type": "draft-iesg", - "used": true - }, - "model": "doc.state", - "pk": 14 - }, - { - "fields": { - "desc": "The document is currently waiting for IETF Last Call to complete. Last Calls for WG documents typically last 2 weeks, those for individual submissions last 4 weeks.", - "name": "In Last Call", - "next_states": [ - 19, - 20 - ], - "order": 16, - "slug": "lc", - "type": "draft-iesg", - "used": true - }, - "model": "doc.state", - "pk": 15 - }, - { - "fields": { - "desc": "A formal request has been made to advance/publish the document, following the procedures in Section 7.5 of RFC 2418. The request could be from a WG chair, from an individual through the RFC Editor, etc. (The Secretariat (iesg-secretary@ietf.org) is copied on these requests to ensure that the request makes it into the ID tracker.) A document in this state has not (yet) been reviewed by an AD nor has any official action been taken on it yet (other than to note that its publication has been requested.", - "name": "Publication Requested", - "next_states": [ - 13, - 11, - 8 - ], - "order": 10, - "slug": "pub-req", - "type": "draft-iesg", - "used": true - }, - "model": "doc.state", - "pk": 16 - }, - { - "fields": { - "desc": "The document is in the RFC editor Queue (as confirmed by http://www.rfc-editor.org/queue.html).", - "name": "RFC Ed Queue", - "next_states": [ - 7 - ], - "order": 31, - "slug": "rfcqueue", - "type": "draft-iesg", - "used": true - }, - "model": "doc.state", - "pk": 17 - }, - { - "fields": { - "desc": "During a telechat, one or more ADs requested an additional 2 weeks to review the document. A defer is designed to be an exception mechanism, and can only be invoked once, the first time the document comes up for discussion during a telechat.", - "name": "IESG Evaluation - Defer", - "next_states": [ - 12 - ], - "order": 21, - "slug": "defer", - "type": "draft-iesg", - "used": true - }, - "model": "doc.state", - "pk": 18 - }, - { - "fields": { - "desc": "Before a standards-track or BCP document is formally considered by the entire IESG, the AD must write up a protocol action. The protocol action is included in the approval message that the Secretariat sends out when the document is approved for publication as an RFC.", - "name": "Waiting for Writeup", - "next_states": [ - 20 - ], - "order": 18, - "slug": "writeupw", - "type": "draft-iesg", - "used": true - }, - "model": "doc.state", - "pk": 19 - }, - { - "fields": { - "desc": "As a result of the IETF Last Call, comments may need to be responded to and a revision of the ID may be needed as well. The AD is responsible for verifying that all Last Call comments have been adequately addressed and that the (possibly revised) document is in the ID directory and ready for consideration by the IESG as a whole.", - "name": "Waiting for AD Go-Ahead", - "next_states": [ - 12 - ], - "order": 19, - "slug": "goaheadw", - "type": "draft-iesg", - "used": true - }, - "model": "doc.state", - "pk": 20 - }, - { - "fields": { - "desc": "An AD sometimes asks for an external review by an outside party as part of evaluating whether a document is ready for advancement. MIBs, for example, are reviewed by the \"MIB doctors\". Other types of reviews may also be requested (e.g., security, operations impact, etc.). Documents stay in this state until the review is complete and possibly until the issues raised in the review are addressed. See the \"note\" field for specific details on the nature of the review.", - "name": "Expert Review", - "next_states": [ - 13 - ], - "order": 12, - "slug": "review-e", - "type": "draft-iesg", - "used": true - }, - "model": "doc.state", - "pk": 21 - }, - { - "fields": { - "desc": "Do Not Publish: The IESG recommends against publishing the document, but the writeup explaining its reasoning has not yet been produced. DNPs apply primarily to individual submissions received through the RFC editor. See the \"note\" field for more details on who has the action item.", - "name": "DNP-waiting for AD note", - "next_states": [ - 23 - ], - "order": 33, - "slug": "nopubadw", - "type": "draft-iesg", - "used": true - }, - "model": "doc.state", - "pk": 22 - }, - { - "fields": { - "desc": "The IESG recommends against publishing the document, the writeup explaining its reasoning has been produced, but the Secretariat has not yet sent out the official \"do not publish\" recommendation message.", - "name": "DNP-announcement to be sent", - "next_states": [ - 8 - ], - "order": 34, - "slug": "nopubanw", - "type": "draft-iesg", - "used": true - }, - "model": "doc.state", - "pk": 23 - }, - { - "fields": { - "desc": "Awaiting author action", - "name": "AUTH", - "next_states": [], - "order": 0, - "slug": "auth", - "type": "draft-rfceditor", - "used": true - }, - "model": "doc.state", - "pk": 24 - }, - { - "fields": { - "desc": "Awaiting final author approval", - "name": "AUTH48", - "next_states": [], - "order": 0, - "slug": "auth48", - "type": "draft-rfceditor", - "used": true - }, - "model": "doc.state", - "pk": 25 - }, - { - "fields": { - "desc": "Approved by the stream manager (e.g., IESG, IAB, IRSG, ISE), awaiting processing and publishing", - "name": "EDIT", - "next_states": [], - "order": 0, - "slug": "edit", - "type": "draft-rfceditor", - "used": false - }, - "model": "doc.state", - "pk": 26 - }, - { - "fields": { - "desc": "Document has been edited, but is holding for completion of IANA actions", - "name": "IANA", - "next_states": [], - "order": 0, - "slug": "iana", - "type": "draft-rfceditor", - "used": true - }, - "model": "doc.state", - "pk": 27 - }, - { - "fields": { - "desc": "Awaiting IESG action", - "name": "IESG", - "next_states": [], - "order": 0, - "slug": "iesg", - "type": "draft-rfceditor", - "used": false - }, - "model": "doc.state", - "pk": 28 - }, - { - "fields": { - "desc": "Independent Submission Review by the ISE ", - "name": "ISR", - "next_states": [], - "order": 0, - "slug": "isr", - "type": "draft-rfceditor", - "used": true - }, - "model": "doc.state", - "pk": 29 - }, - { - "fields": { - "desc": "Independent submission awaiting author action, or in discussion between author and ISE", - "name": "ISR-AUTH", - "next_states": [], - "order": 0, - "slug": "isr-auth", - "type": "draft-rfceditor", - "used": false - }, - "model": "doc.state", - "pk": 30 - }, - { - "fields": { - "desc": "Holding for normative reference", - "name": "REF", - "next_states": [], - "order": 0, - "slug": "ref", - "type": "draft-rfceditor", - "used": true - }, - "model": "doc.state", - "pk": 31 - }, - { - "fields": { - "desc": "Awaiting final RFC Editor review before AUTH48", - "name": "RFC-EDITOR", - "next_states": [], - "order": 0, - "slug": "rfc-edit", - "type": "draft-rfceditor", - "used": true - }, - "model": "doc.state", - "pk": 32 - }, - { - "fields": { - "desc": "Time-out period during which the IESG reviews document for conflict/concurrence with other IETF working group work", - "name": "TO", - "next_states": [], - "order": 0, - "slug": "timeout", - "type": "draft-rfceditor", - "used": true - }, - "model": "doc.state", - "pk": 33 - }, - { - "fields": { - "desc": "Awaiting missing normative reference", - "name": "MISSREF", - "next_states": [], - "order": 0, - "slug": "missref", - "type": "draft-rfceditor", - "used": true - }, - "model": "doc.state", - "pk": 34 - }, - { - "fields": { - "desc": "4.2.1. Call for Adoption by WG Issued\n\n The \"Call for Adoption by WG Issued\" state should be used to indicate when an I-D is being considered for adoption by an IETF WG. An I-D that is in this state is actively being considered for adoption and has not yet achieved consensus, preference, or selection in the WG.\n\n This state may be used to describe an I-D that someone has asked a WG to consider for adoption, if the WG Chair has agreed with the request. This state may also be used to identify an I-D that a WG Chair asked an author to write specifically for consideration as a candidate WG item [WGDTSPEC], and/or an I-D that is listed as a 'candidate draft' in the WG's charter.\n\n Under normal conditions, it should not be possible for an I-D to be in the \"Call for Adoption by WG Issued\" state in more than one working group at the same time. This said, it is not uncommon for authors to \"shop\" their I-Ds to more than one WG at a time, with the hope of getting their documents adopted somewhere.\n\n After this state is implemented in the Datatracker, an I-D that is in the \"Call for Adoption by WG Issued\" state will not be able to be \"shopped\" to any other WG without the consent of the WG Chairs and the responsible ADs impacted by the shopping.\n\n Note that Figure 1 includes an arc leading from this state to outside of the WG state machine. This illustrates that some I-Ds that are considered do not get adopted as WG drafts. An I-D that is not adopted as a WG draft will transition out of the WG state machine and revert back to having no stream-specific state; however, the status change history log of the I-D will record that the I-D was previously in the \"Call for Adoption by WG Issued\" state.", - "name": "Call For Adoption By WG Issued", - "next_states": [ - 36, - 37 - ], - "order": 1, - "slug": "c-adopt", - "type": "draft-stream-ietf", - "used": true - }, - "model": "doc.state", - "pk": 35 - }, - { - "fields": { - "desc": "4.2.2. Adopted by a WG\n\n The \"Adopted by a WG\" state describes an individual submission I-D that an IETF WG has agreed to adopt as one of its WG drafts.\n\n WG Chairs who use this state will be able to clearly indicate when their WGs adopt individual submission I-Ds. This will facilitate the Datatracker's ability to correctly capture \"Replaces\" information for WG drafts and correct \"Replaced by\" information for individual submission I-Ds that have been replaced by WG drafts.\n\n This state is needed because the Datatracker uses the filename of an I-D as a key to search its database for status information about the I-D, and because the filename of a WG I-D is supposed to be different from the filename of an individual submission I-D. The filename of an individual submission I-D will typically be formatted as 'draft-author-wgname-topic-nn'.\n\n The filename of a WG document is supposed to be formatted as 'draft- ietf-wgname-topic-nn'.\n\n An individual I-D that is adopted by a WG may take weeks or months to be resubmitted by the author as a new (version-00) WG draft. If the \"Adopted by a WG\" state is not used, the Datatracker has no way to determine that an I-D has been adopted until a new version of the I-D is submitted to the WG by the author and until the I-D is approved for posting by a WG Chair.", - "name": "Adopted by a WG", - "next_states": [ - 38 - ], - "order": 2, - "slug": "adopt-wg", - "type": "draft-stream-ietf", - "used": true - }, - "model": "doc.state", - "pk": 36 - }, - { - "fields": { - "desc": "4.2.3. Adopted for WG Info Only\n\n The \"Adopted for WG Info Only\" state describes a document that contains useful information for the WG that adopted it, but the document is not intended to be published as an RFC. The WG will not actively develop the contents of the I-D or progress it for publication as an RFC. The only purpose of the I-D is to provide information for internal use by the WG.", - "name": "Adopted for WG Info Only", - "next_states": [], - "order": 3, - "slug": "info", - "type": "draft-stream-ietf", - "used": true - }, - "model": "doc.state", - "pk": 37 - }, - { - "fields": { - "desc": "4.2.4. WG Document\n\n The \"WG Document\" state describes an I-D that has been adopted by an IETF WG and is being actively developed.\n\n A WG Chair may transition an I-D into the \"WG Document\" state at any time as long as the I-D is not being considered or developed in any other WG.\n\n Alternatively, WG Chairs may rely upon new functionality to be added to the Datatracker to automatically move version-00 drafts into the \"WG Document\" state as described in Section 4.1.\n\n Under normal conditions, it should not be possible for an I-D to be in the \"WG Document\" state in more than one WG at a time. This said, I-Ds may be transferred from one WG to another with the consent of the WG Chairs and the responsible ADs.", - "name": "WG Document", - "next_states": [ - 39, - 40, - 41, - 43 - ], - "order": 4, - "slug": "wg-doc", - "type": "draft-stream-ietf", - "used": true - }, - "model": "doc.state", - "pk": 38 - }, - { - "fields": { - "desc": "4.2.5. Parked WG Document\n\n A \"Parked WG Document\" is an I-D that has lost its author or editor, is waiting for another document to be written or for a review to be completed, or cannot be progressed by the working group for some other reason.\n\n Some of the annotation tags described in Section 4.3 may be used in conjunction with this state to indicate why an I-D has been parked, and/or what may need to happen for the I-D to be un-parked.\n\n Parking a WG draft will not prevent it from expiring; however, this state can be used to indicate why the I-D has stopped progressing in the WG.\n\n A \"Parked WG Document\" that is not expired may be transferred from one WG to another with the consent of the WG Chairs and the responsible ADs.", - "name": "Parked WG Document", - "next_states": [ - 38 - ], - "order": 5, - "slug": "parked", - "type": "draft-stream-ietf", - "used": true - }, - "model": "doc.state", - "pk": 39 - }, - { - "fields": { - "desc": "4.2.6. Dead WG Document\n\n A \"Dead WG Document\" is an I-D that has been abandoned. Note that 'Dead' is not always a final state for a WG I-D. If consensus is subsequently achieved, a \"Dead WG Document\" may be resurrected. A \"Dead WG Document\" that is not resurrected will eventually expire.\n\n Note that an I-D that is declared to be \"Dead\" in one WG and that is not expired may be transferred to a non-dead state in another WG with the consent of the WG Chairs and the responsible ADs.", - "name": "Dead WG Document", - "next_states": [ - 38 - ], - "order": 6, - "slug": "dead", - "type": "draft-stream-ietf", - "used": true - }, - "model": "doc.state", - "pk": 40 - }, - { - "fields": { - "desc": "4.2.7. In WG Last Call\n\n A document \"In WG Last Call\" is an I-D for which a WG Last Call (WGLC) has been issued and is in progress.\n\n Note that conducting a WGLC is an optional part of the IETF WG process, per Section 7.4 of RFC 2418 [RFC2418].\n\n If a WG Chair decides to conduct a WGLC on an I-D, the \"In WG Last Call\" state can be used to track the progress of the WGLC. The Chair may configure the Datatracker to send a WGLC message to one or more mailing lists when the Chair moves the I-D into this state. The WG Chair may also be able to select a different set of mailing lists for a different document undergoing a WGLC; some documents may deserve coordination with other WGs.\n\n A WG I-D in this state should remain \"In WG Last Call\" until the WG Chair moves it to another state. The WG Chair may configure the Datatracker to send an e-mail after a specified period of time to remind or 'nudge' the Chair to conclude the WGLC and to determine the next state for the document.\n\n It is possible for one WGLC to lead into another WGLC for the same document. For example, an I-D that completed a WGLC as an \"Informational\" document may need another WGLC if a decision is taken to convert the I-D into a Standards Track document.", - "name": "In WG Last Call", - "next_states": [ - 38, - 42, - 43 - ], - "order": 7, - "slug": "wg-lc", - "type": "draft-stream-ietf", - "used": true - }, - "model": "doc.state", - "pk": 41 - }, - { - "fields": { - "desc": "4.2.8. Waiting for WG Chair Go-Ahead\n\n A WG Chair may wish to place an I-D that receives a lot of comments during a WGLC into the \"Waiting for WG Chair Go-Ahead\" state. This state describes an I-D that has undergone a WGLC; however, the Chair is not yet ready to call consensus on the document.\n\n If comments from the WGLC need to be responded to, or a revision to the I-D is needed, the Chair may place an I-D into this state until all of the WGLC comments are adequately addressed and the (possibly revised) document is in the I-D repository.", - "name": "Waiting for WG Chair Go-Ahead", - "next_states": [ - 41, - 43 - ], - "order": 10, - "slug": "chair-w", - "type": "draft-stream-ietf", - "used": true - }, - "model": "doc.state", - "pk": 42 - }, - { - "fields": { - "desc": "4.2.9. WG Consensus: Waiting for Writeup\n\n A document in the \"WG Consensus: Waiting for Writeup\" state has essentially completed its development within the working group, and is nearly ready to be sent to the IESG for publication. The last thing to be done is the preparation of a protocol writeup by a Document Shepherd. The IESG requires that a document shepherd writeup be completed before publication of the I-D is requested. The IETF document shepherding process and the role of a WG Document Shepherd is described in RFC 4858 [RFC4858]\n\n A WG Chair may call consensus on an I-D without a formal WGLC and transition an I-D that was in the \"WG Document\" state directly into this state.\n\n The name of this state includes the words \"Waiting for Writeup\" because a good document shepherd writeup takes time to prepare.", - "name": "WG Consensus: Waiting for Write-Up", - "next_states": [ - 44 - ], - "order": 11, - "slug": "writeupw", - "type": "draft-stream-ietf", - "used": true - }, - "model": "doc.state", - "pk": 43 - }, - { - "fields": { - "desc": "4.2.10. Submitted to IESG for Publication\n\n This state describes a WG document that has been submitted to the IESG for publication and that has not been sent back to the working group for revision.\n\n An I-D in this state may be under review by the IESG, it may have been approved and be in the RFC Editor's queue, or it may have been published as an RFC. Other possibilities exist too. The document may be \"Dead\" (in the IESG state machine) or in a \"Do Not Publish\" state.", - "name": "Submitted to IESG for Publication", - "next_states": [ - 38 - ], - "order": 12, - "slug": "sub-pub", - "type": "draft-stream-ietf", - "used": true - }, - "model": "doc.state", - "pk": 44 - }, - { - "fields": { - "desc": "A document being considered for the IAB stream.", - "name": "Candidate IAB Document", - "next_states": [], - "order": 1, - "slug": "candidat", - "type": "draft-stream-iab", - "used": true - }, - "model": "doc.state", - "pk": 45 - }, - { - "fields": { - "desc": "This document has been adopted by the IAB and is being actively developed.", - "name": "Active IAB Document", - "next_states": [], - "order": 2, - "slug": "active", - "type": "draft-stream-iab", - "used": true - }, - "model": "doc.state", - "pk": 46 - }, - { - "fields": { - "desc": "This document has lost its author or editor, is waiting for another document to be written, or cannot currently be worked on by the IAB for some other reason. Annotations probably explain why this document is parked.", - "name": "Parked IAB Document", - "next_states": [], - "order": 3, - "slug": "parked", - "type": "draft-stream-iab", - "used": true - }, - "model": "doc.state", - "pk": 47 - }, - { - "fields": { - "desc": "This document is awaiting the IAB itself to come to internal consensus.", - "name": "IAB Review", - "next_states": [], - "order": 4, - "slug": "review-i", - "type": "draft-stream-iab", - "used": true - }, - "model": "doc.state", - "pk": 48 - }, - { - "fields": { - "desc": "This document has completed internal consensus within the IAB and is now under community review.", - "name": "Community Review", - "next_states": [], - "order": 5, - "slug": "review-c", - "type": "draft-stream-iab", - "used": true - }, - "model": "doc.state", - "pk": 49 - }, - { - "fields": { - "desc": "The consideration of this document is complete, but it has not yet been sent to the RFC Editor for publication (although that is going to happen soon).", - "name": "Approved by IAB, To Be Sent to RFC Editor", - "next_states": [], - "order": 6, - "slug": "approved", - "type": "draft-stream-iab", - "used": true - }, - "model": "doc.state", - "pk": 50 - }, - { - "fields": { - "desc": "The IAB does not expect to publish the document itself, but has passed it on to a different organization that might continue work on the document. The expectation is that the other organization will eventually publish the document.", - "name": "Sent to a Different Organization for Publication", - "next_states": [], - "order": 7, - "slug": "diff-org", - "type": "draft-stream-iab", - "used": true - }, - "model": "doc.state", - "pk": 51 - }, - { - "fields": { - "desc": "The IAB processing of this document is complete and it has been sent to the RFC Editor for publication. The document may be in the RFC Editor's queue, or it may have been published as an RFC; this state doesn't distinguish between different states occurring after the document has left the IAB.", - "name": "Sent to the RFC Editor", - "next_states": [], - "order": 8, - "slug": "rfc-edit", - "type": "draft-stream-iab", - "used": true - }, - "model": "doc.state", - "pk": 52 - }, - { - "fields": { - "desc": "The document has been published as an RFC.", - "name": "Published RFC", - "next_states": [], - "order": 9, - "slug": "pub", - "type": "draft-stream-iab", - "used": true - }, - "model": "doc.state", - "pk": 53 - }, - { - "fields": { - "desc": "This document was an active IAB document, but for some reason it is no longer being pursued for the IAB stream. It is possible that the document might be revived later, possibly in another stream.", - "name": "Dead IAB Document", - "next_states": [], - "order": 10, - "slug": "dead", - "type": "draft-stream-iab", - "used": true - }, - "model": "doc.state", - "pk": 54 - }, - { - "fields": { - "desc": "This document is under consideration in an RG for becoming an IRTF document. A document in this state does not imply any RG consensus and does not imply any precedence or selection. It's simply a way to indicate that somebody has asked for a document to be considered for adoption by an RG.", - "name": "Candidate RG Document", - "next_states": [], - "order": 1, - "slug": "candidat", - "type": "draft-stream-irtf", - "used": true - }, - "model": "doc.state", - "pk": 55 - }, - { - "fields": { - "desc": "This document has been adopted by the RG and is being actively developed.", - "name": "Active RG Document", - "next_states": [], - "order": 2, - "slug": "active", - "type": "draft-stream-irtf", - "used": true - }, - "model": "doc.state", - "pk": 56 - }, - { - "fields": { - "desc": "This document has lost its author or editor, is waiting for another document to be written, or cannot currently be worked on by the RG for some other reason.", - "name": "Parked RG Document", - "next_states": [], - "order": 3, - "slug": "parked", - "type": "draft-stream-irtf", - "used": true - }, - "model": "doc.state", - "pk": 57 - }, - { - "fields": { - "desc": "The document is in its final review in the RG.", - "name": "In RG Last Call", - "next_states": [], - "order": 4, - "slug": "rg-lc", - "type": "draft-stream-irtf", - "used": true - }, - "model": "doc.state", - "pk": 58 - }, - { - "fields": { - "desc": "IRTF documents have document shepherds who help RG documents through the process after the RG has finished with the document.", - "name": "Waiting for Document Shepherd", - "next_states": [], - "order": 5, - "slug": "sheph-w", - "type": "draft-stream-irtf", - "used": true - }, - "model": "doc.state", - "pk": 59 - }, - { - "fields": { - "desc": "The IRTF Chair is meant to be performing some task such as sending a request for IESG Review.", - "name": "Waiting for IRTF Chair", - "next_states": [], - "order": 6, - "slug": "chair-w", - "type": "draft-stream-irtf", - "used": true - }, - "model": "doc.state", - "pk": 60 - }, - { - "fields": { - "desc": "The document shepherd has taken the document to the IRSG and solicited reviews from one or more IRSG members.", - "name": "Awaiting IRSG Reviews", - "next_states": [], - "order": 7, - "slug": "irsg-w", - "type": "draft-stream-irtf", - "used": true - }, - "model": "doc.state", - "pk": 61 - }, - { - "fields": { - "desc": "The IRSG is taking a poll on whether or not the document is ready to be published.", - "name": "In IRSG Poll", - "next_states": [], - "order": 8, - "slug": "irsgpoll", - "type": "draft-stream-irtf", - "used": true - }, - "model": "doc.state", - "pk": 62 - }, - { - "fields": { - "desc": "The IRSG has asked the IESG to do a review of the document, as described in RFC5742.", - "name": "In IESG Review", - "next_states": [], - "order": 9, - "slug": "iesg-rev", - "type": "draft-stream-irtf", - "used": true - }, - "model": "doc.state", - "pk": 63 - }, - { - "fields": { - "desc": "The RG processing of this document is complete and it has been sent to the RFC Editor for publication. The document may be in the RFC Editor's queue, or it may have been published as an RFC; this state doesn't distinguish between different states occurring after the document has left the RG.", - "name": "Sent to the RFC Editor", - "next_states": [], - "order": 10, - "slug": "rfc-edit", - "type": "draft-stream-irtf", - "used": true - }, - "model": "doc.state", - "pk": 64 - }, - { - "fields": { - "desc": "The document has been published as an RFC.", - "name": "Published RFC", - "next_states": [], - "order": 11, - "slug": "pub", - "type": "draft-stream-irtf", - "used": true - }, - "model": "doc.state", - "pk": 65 - }, - { - "fields": { - "desc": "The IESG has requested that the document be held pending further review, as specified in RFC 5742, and the IRTF has agreed to such a hold.", - "name": "Document on Hold Based On IESG Request", - "next_states": [], - "order": 12, - "slug": "iesghold", - "type": "draft-stream-irtf", - "used": true - }, - "model": "doc.state", - "pk": 66 - }, - { - "fields": { - "desc": "This document was an active IRTF document, but for some reason it is no longer being pursued for the IRTF stream. It is possible that the document might be revived later, possibly in another stream.", - "name": "Dead IRTF Document", - "next_states": [], - "order": 13, - "slug": "dead", - "type": "draft-stream-irtf", - "used": true - }, - "model": "doc.state", - "pk": 67 - }, - { - "fields": { - "desc": "The draft has been sent to the ISE with a request for publication.", - "name": "Submission Received", - "next_states": [], - "order": 1, - "slug": "receive", - "type": "draft-stream-ise", - "used": true - }, - "model": "doc.state", - "pk": 68 - }, - { - "fields": { - "desc": " The ISE is finding initial reviewers for the document.", - "name": "Finding Reviewers", - "next_states": [], - "order": 2, - "slug": "find-rev", - "type": "draft-stream-ise", - "used": true - }, - "model": "doc.state", - "pk": 69 - }, - { - "fields": { - "desc": "The ISE is actively working on the document.", - "name": "In ISE Review", - "next_states": [], - "order": 3, - "slug": "ise-rev", - "type": "draft-stream-ise", - "used": true - }, - "model": "doc.state", - "pk": 70 - }, - { - "fields": { - "desc": " One or more reviews have been sent to the author, and the ISE is awaiting response.", - "name": "Response to Review Needed", - "next_states": [], - "order": 4, - "slug": "need-res", - "type": "draft-stream-ise", - "used": true - }, - "model": "doc.state", - "pk": 71 - }, - { - "fields": { - "desc": "The ISE has asked the IESG to do a review of the document, as described in RFC5742.", - "name": "In IESG Review", - "next_states": [], - "order": 5, - "slug": "iesg-rev", - "type": "draft-stream-ise", - "used": true - }, - "model": "doc.state", - "pk": 72 - }, - { - "fields": { - "desc": "The ISE processing of this document is complete and it has been sent to the RFC Editor for publication. The document may be in the RFC Editor's queue, or it may have been published as an RFC; this state doesn't distinguish between different states occurring after the document has left the ISE.", - "name": "Sent to the RFC Editor", - "next_states": [], - "order": 6, - "slug": "rfc-edit", - "type": "draft-stream-ise", - "used": true - }, - "model": "doc.state", - "pk": 73 - }, - { - "fields": { - "desc": "The document has been published as an RFC.", - "name": "Published RFC", - "next_states": [], - "order": 7, - "slug": "pub", - "type": "draft-stream-ise", - "used": true - }, - "model": "doc.state", - "pk": 74 - }, - { - "fields": { - "desc": "This document was actively considered in the Independent Submission stream, but the ISE chose not to publish it. It is possible that the document might be revived later. A document in this state may have a comment explaining the reasoning of the ISE (such as if the document was going to move to a different stream).", - "name": "No Longer In Independent Submission Stream", - "next_states": [], - "order": 8, - "slug": "dead", - "type": "draft-stream-ise", - "used": true - }, - "model": "doc.state", - "pk": 75 - }, - { - "fields": { - "desc": "The IESG has requested that the document be held pending further review, as specified in RFC 5742, and the ISE has agreed to such a hold.", - "name": "Document on Hold Based On IESG Request", - "next_states": [], - "order": 9, - "slug": "iesghold", - "type": "draft-stream-ise", - "used": true - }, - "model": "doc.state", - "pk": 76 - }, - { - "fields": { - "desc": "", - "name": "Active", - "next_states": [], - "order": 1, - "slug": "active", - "type": "slides", - "used": true - }, - "model": "doc.state", - "pk": 77 - }, - { - "fields": { - "desc": "", - "name": "Deleted", - "next_states": [], - "order": 4, - "slug": "deleted", - "type": "slides", - "used": true - }, - "model": "doc.state", - "pk": 78 - }, - { - "fields": { - "desc": "", - "name": "Active", - "next_states": [], - "order": 1, - "slug": "active", - "type": "minutes", - "used": true - }, - "model": "doc.state", - "pk": 79 - }, - { - "fields": { - "desc": "", - "name": "Deleted", - "next_states": [], - "order": 2, - "slug": "deleted", - "type": "minutes", - "used": true - }, - "model": "doc.state", - "pk": 80 - }, - { - "fields": { - "desc": "", - "name": "Active", - "next_states": [], - "order": 1, - "slug": "active", - "type": "agenda", - "used": true - }, - "model": "doc.state", - "pk": 81 - }, - { - "fields": { - "desc": "", - "name": "Deleted", - "next_states": [], - "order": 2, - "slug": "deleted", - "type": "agenda", - "used": true - }, - "model": "doc.state", - "pk": 82 - }, - { - "fields": { - "desc": "The proposed charter is not being considered at this time. A proposed charter will remain in this state until an AD moves it to Informal IESG review.", - "name": "Not currently under review", - "next_states": [], - "order": 0, - "slug": "notrev", - "type": "charter", - "used": true - }, - "model": "doc.state", - "pk": 83 - }, - { - "fields": { - "desc": "The proposed charter is not being considered at this time. A proposed charter will remain in this state until an AD moves it to Start Chartering/Rechartering (Internal IESG/IAB Review). This state is useful for drafting the charter, discussing with chairs, etc.", - "name": "Draft Charter", - "next_states": [], - "order": 0, - "slug": "infrev", - "type": "charter", - "used": true - }, - "model": "doc.state", - "pk": 84 - }, - { - "fields": { - "desc": "This is the state when you'd like to propose the charter / new charter. This state also allows you to ask whether external review can be skipped in ballot. After you select this state, the Secretariat takes over and drives the rest of the process.", - "name": "Start Chartering/Rechartering (Internal IESG/IAB Review)", - "next_states": [], - "order": 0, - "slug": "intrev", - "type": "charter", - "used": true - }, - "model": "doc.state", - "pk": 85 - }, - { - "fields": { - "desc": "This state is selected by the Secretariat (AD's, keep yer grubby mits off this!) when it has been decided that the charter needs external review.", - "name": "External Review (Message to Community, Selected by Secretariat)", - "next_states": [], - "order": 0, - "slug": "extrev", - "type": "charter", - "used": true - }, - "model": "doc.state", - "pk": 86 - }, - { - "fields": { - "desc": "This state is selected by the Secretariat (AD's, keep yer grubby mits off this!) when the IESG is reviewing the discussion from the external review of the proposed charter (this is similar to the IESG Evaluation state for a draft).", - "name": "IESG Review (Charter for Approval, Selected by Secretariat)", - "next_states": [], - "order": 0, - "slug": "iesgrev", - "type": "charter", - "used": true - }, - "model": "doc.state", - "pk": 87 - }, - { - "fields": { - "desc": "The charter is approved by the IESG.", - "name": "Approved", - "next_states": [], - "order": 0, - "slug": "approved", - "type": "charter", - "used": true - }, - "model": "doc.state", - "pk": 88 - }, - { - "fields": { - "desc": "Final approvals are complete", - "name": "AUTH48-DONE", - "next_states": [ - 74 - ], - "order": 0, - "slug": "auth48done", - "type": "draft-rfceditor", - "used": false - }, - "model": "doc.state", - "pk": 89 - }, - { - "fields": { - "desc": "A conflict review has been requested, but a shepherding AD has not yet been assigned", - "name": "Needs Shepherd", - "next_states": [ - 91, - 98, - 99 - ], - "order": 1, - "slug": "needshep", - "type": "conflrev", - "used": true - }, - "model": "doc.state", - "pk": 90 - }, - { - "fields": { - "desc": "The sponsoring AD is reviewing the document and preparing a proposed response", - "name": "AD Review", - "next_states": [ - 92, - 98, - 99 - ], - "order": 2, - "slug": "adrev", - "type": "conflrev", - "used": true - }, - "model": "doc.state", - "pk": 91 - }, - { - "fields": { - "desc": "The IESG is considering the proposed conflict review response", - "name": "IESG Evaluation", - "next_states": [ - 93, - 94, - 95, - 98, - 99 - ], - "order": 3, - "slug": "iesgeval", - "type": "conflrev", - "used": true - }, - "model": "doc.state", - "pk": 92 - }, - { - "fields": { - "desc": "The evaluation of the proposed conflict review response has been deferred to the next telechat", - "name": "IESG Evaluation - Defer", - "next_states": [ - 92, - 94, - 95, - 98, - 99 - ], - "order": 4, - "slug": "defer", - "type": "conflrev", - "used": true - }, - "model": "doc.state", - "pk": 93 - }, - { - "fields": { - "desc": "The IESG has approved the conflict review response (a request to not publish), but the secretariat has not yet sent the response", - "name": "Approved Request to Not Publish - announcement to be sent", - "next_states": [ - 96, - 98 - ], - "order": 7, - "slug": "appr-reqnopub-pend", - "type": "conflrev", - "used": true - }, - "model": "doc.state", - "pk": 94 - }, - { - "fields": { - "desc": "The IESG has approved the conflict review response, but the secretariat has not yet sent the response", - "name": "Approved No Problem - announcement to be sent", - "next_states": [ - 97, - 98 - ], - "order": 8, - "slug": "appr-noprob-pend", - "type": "conflrev", - "used": true - }, - "model": "doc.state", - "pk": 95 - }, - { - "fields": { - "desc": "The secretariat has delivered the IESG's approved conflict review response (a request to not publish) to the requester", - "name": "Approved Request to Not Publish - announcement sent", - "next_states": [ - 96 - ], - "order": 9, - "slug": "appr-reqnopub-sent", - "type": "conflrev", - "used": true - }, - "model": "doc.state", - "pk": 96 - }, - { - "fields": { - "desc": "The secretariat has delivered the IESG's approved conflict review response to the requester", - "name": "Approved No Problem - announcement sent", - "next_states": [ - 97 - ], - "order": 10, - "slug": "appr-noprob-sent", - "type": "conflrev", - "used": true - }, - "model": "doc.state", - "pk": 97 - }, - { - "fields": { - "desc": "The request for conflict review was withdrawn", - "name": "Withdrawn", - "next_states": [ - 90 - ], - "order": 11, - "slug": "withdraw", - "type": "conflrev", - "used": true - }, - "model": "doc.state", - "pk": 98 - }, - { - "fields": { - "desc": "The conflict review has been abandoned", - "name": "Dead", - "next_states": [ - 90 - ], - "order": 12, - "slug": "dead", - "type": "conflrev", - "used": true - }, - "model": "doc.state", - "pk": 99 - }, - { - "fields": { - "desc": "The IESG has approved the conflict review response (a request to not publish), but a point has been raised that should be cleared before moving to announcement to be sent", - "name": "Approved Request to Not Publish - point raised", - "next_states": [ - 94 - ], - "order": 5, - "slug": "appr-reqnopub-pr", - "type": "conflrev", - "used": true - }, - "model": "doc.state", - "pk": 100 - }, - { - "fields": { - "desc": "The IESG has approved the conflict review response, but a point has been raised that should be cleared before proceeding to announcement to be sent", - "name": "Approved No Problem - point raised", - "next_states": [ - 95 - ], - "order": 6, - "slug": "appr-noprob-pr", - "type": "conflrev", - "used": true - }, - "model": "doc.state", - "pk": 101 - }, - { - "fields": { - "desc": "A new document has been received by IANA, but no actions have been taken", - "name": "New Document", - "next_states": [], - "order": 1, - "slug": "newdoc", - "type": "draft-iana-action", - "used": true - }, - "model": "doc.state", - "pk": 102 - }, - { - "fields": { - "desc": "IANA is currently processing the actions for this document", - "name": "In Progress", - "next_states": [], - "order": 2, - "slug": "inprog", - "type": "draft-iana-action", - "used": true - }, - "model": "doc.state", - "pk": 103 - }, - { - "fields": { - "desc": "IANA is waiting on the document's authors to respond", - "name": "Waiting on Authors", - "next_states": [], - "order": 3, - "slug": "waitauth", - "type": "draft-iana-action", - "used": true - }, - "model": "doc.state", - "pk": 104 - }, - { - "fields": { - "desc": "IANA is waiting on the IETF Area Directors to respond", - "name": "Waiting on ADs", - "next_states": [], - "order": 4, - "slug": "waitad", - "type": "draft-iana-action", - "used": true - }, - "model": "doc.state", - "pk": 105 - }, - { - "fields": { - "desc": "IANA is waiting on the IETF Working Group Chairs to respond", - "name": "Waiting on WGC", - "next_states": [], - "order": 5, - "slug": "waitwgc", - "type": "draft-iana-action", - "used": true - }, - "model": "doc.state", - "pk": 106 - }, - { - "fields": { - "desc": "IANA has notified the RFC Editor that the actions have been completed", - "name": "Waiting on RFC Editor", - "next_states": [], - "order": 6, - "slug": "waitrfc", - "type": "draft-iana-action", - "used": true - }, - "model": "doc.state", - "pk": 107 - }, - { - "fields": { - "desc": "Request completed. The RFC Editor has acknowledged receipt of IANA's message that the actions have been completed", - "name": "RFC-Ed-Ack", - "next_states": [], - "order": 7, - "slug": "rfcedack", - "type": "draft-iana-action", - "used": true - }, - "model": "doc.state", - "pk": 108 - }, - { - "fields": { - "desc": "IANA has suspended work on the document", - "name": "On Hold", - "next_states": [], - "order": 8, - "slug": "onhold", - "type": "draft-iana-action", - "used": true - }, - "model": "doc.state", - "pk": 109 - }, - { - "fields": { - "desc": "Request completed. There were no IANA actions for this document", - "name": "No IANA Actions", - "next_states": [], - "order": 9, - "slug": "noic", - "type": "draft-iana-action", - "used": true - }, - "model": "doc.state", - "pk": 110 - }, - { - "fields": { - "desc": "Document has not yet been reviewed by IANA.", - "name": "IANA - Review Needed", - "next_states": [], - "order": 1, - "slug": "need-rev", - "type": "draft-iana-review", - "used": true - }, - "model": "doc.state", - "pk": 111 - }, - { - "fields": { - "desc": "Document requires IANA actions, and the IANA Considerations section indicates the details of the actions correctly.", - "name": "IANA OK - Actions Needed", - "next_states": [], - "order": 2, - "slug": "ok-act", - "type": "draft-iana-review", - "used": true - }, - "model": "doc.state", - "pk": 112 - }, - { - "fields": { - "desc": "Document requires no IANA action, and the IANA Considerations section indicates this correctly.", - "name": "IANA OK - No Actions Needed", - "next_states": [], - "order": 3, - "slug": "ok-noact", - "type": "draft-iana-review", - "used": true - }, - "model": "doc.state", - "pk": 113 - }, - { - "fields": { - "desc": "IANA has issues with the text of the IANA Considerations section of the document.", - "name": "IANA - Not OK", - "next_states": [], - "order": 4, - "slug": "not-ok", - "type": "draft-iana-review", - "used": true - }, - "model": "doc.state", - "pk": 114 - }, - { - "fields": { - "desc": "Document revision has changed after review by IANA.", - "name": "Version Changed - Review Needed", - "next_states": [], - "order": 5, - "slug": "changed", - "type": "draft-iana-review", - "used": true - }, - "model": "doc.state", - "pk": 115 - }, - { - "fields": { - "desc": "Final approvals are complete", - "name": "AUTH48-DONE", - "next_states": [], - "order": 0, - "slug": "auth48-done", - "type": "draft-rfceditor", - "used": true - }, - "model": "doc.state", - "pk": 116 - }, - { - "fields": { - "desc": "Approved by the stream manager (e.g., IESG, IAB, IRSG, ISE), awaiting processing and publishing", - "name": "EDIT", - "next_states": [], - "order": 0, - "slug": "edit", - "type": "draft-rfceditor", - "used": true - }, - "model": "doc.state", - "pk": 117 - }, - { - "fields": { - "desc": "RFC-Editor/IANA Registration Coordination", - "name": "IANA", - "next_states": [], - "order": 0, - "slug": "iana-crd", - "type": "draft-rfceditor", - "used": true - }, - "model": "doc.state", - "pk": 118 - }, - { - "fields": { - "desc": "Holding for IESG action", - "name": "IESG", - "next_states": [], - "order": 0, - "slug": "iesg", - "type": "draft-rfceditor", - "used": true - }, - "model": "doc.state", - "pk": 119 - }, - { - "fields": { - "desc": "Independent Submission awaiting author update, or in discussion between author and ISE", - "name": "ISR-AUTH", - "next_states": [], - "order": 0, - "slug": "isr-auth", - "type": "draft-rfceditor", - "used": true - }, - "model": "doc.state", - "pk": 120 - }, - { - "fields": { - "desc": "An RFC status change has been requested, but a shepherding AD has not yet been assigned", - "name": "Needs Shepherd", - "next_states": [ - 122, - 129 - ], - "order": 1, - "slug": "needshep", - "type": "statchg", - "used": true - }, - "model": "doc.state", - "pk": 121 - }, - { - "fields": { - "desc": "The sponsoring AD is preparing an RFC status change document", - "name": "AD Review", - "next_states": [ - 130, - 123, - 129 - ], - "order": 2, - "slug": "adrev", - "type": "statchg", - "used": true - }, - "model": "doc.state", - "pk": 122 - }, - { - "fields": { - "desc": "The IESG is considering the proposed RFC status changes", - "name": "IESG Evaluation", - "next_states": [ - 124, - 125, - 126, - 129 - ], - "order": 6, - "slug": "iesgeval", - "type": "statchg", - "used": true - }, - "model": "doc.state", - "pk": 123 - }, - { - "fields": { - "desc": "The evaluation of the proposed RFC status changes have been deferred to the next telechat", - "name": "IESG Evaluation - Defer", - "next_states": [ - 123, - 125, - 126, - 129 - ], - "order": 7, - "slug": "defer", - "type": "statchg", - "used": true - }, - "model": "doc.state", - "pk": 124 - }, - { - "fields": { - "desc": "The IESG has approved the RFC status changes, but a point has been raised that should be cleared before proceeding to announcement to be sent", - "name": "Approved - point raised", - "next_states": [ - 126, - 127 - ], - "order": 8, - "slug": "appr-pr", - "type": "statchg", - "used": true - }, - "model": "doc.state", - "pk": 125 - }, - { - "fields": { - "desc": "The IESG has approved the RFC status changes, but the secretariat has not yet sent the announcement", - "name": "Approved - announcement to be sent", - "next_states": [ - 127 - ], - "order": 9, - "slug": "appr-pend", - "type": "statchg", - "used": true - }, - "model": "doc.state", - "pk": 126 - }, - { - "fields": { - "desc": "The secretariat has announced the IESG's approved RFC status changes", - "name": "Approved - announcement sent", - "next_states": [], - "order": 10, - "slug": "appr-sent", - "type": "statchg", - "used": true - }, - "model": "doc.state", - "pk": 127 - }, - { - "fields": { - "desc": "The RFC status changes have been abandoned", - "name": "Dead", - "next_states": [ - 121 - ], - "order": 11, - "slug": "dead", - "type": "statchg", - "used": true - }, - "model": "doc.state", - "pk": 129 - }, - { - "fields": { - "desc": "Last Call has been requested for this proposed status change", - "name": "Last Call Requested", - "next_states": [ - 131 - ], - "order": 3, - "slug": "lc-req", - "type": "statchg", - "used": true - }, - "model": "doc.state", - "pk": 130 - }, - { - "fields": { - "desc": "This proposed status change is in IETF Last Call", - "name": "In Last Call", - "next_states": [ - 132 - ], - "order": 4, - "slug": "in-lc", - "type": "statchg", - "used": true - }, - "model": "doc.state", - "pk": 131 - }, - { - "fields": { - "desc": "The AD is following up on IETF LC comments", - "name": "Waiting for AD Go-Ahead", - "next_states": [ - 123, - 129 - ], - "order": 5, - "slug": "goahead", - "type": "statchg", - "used": true - }, - "model": "doc.state", - "pk": 132 - }, - { - "fields": { - "desc": "", - "name": "Pending", - "next_states": [], - "order": 0, - "slug": "pending", - "type": "draft-rfceditor", - "used": true - }, - "model": "doc.state", - "pk": 133 - }, - { - "fields": { - "desc": "The document has been marked as a candidate for WG adoption by the WG Chair. This state can be used before a call for adoption is issued (and the document is put in the \"Call For Adoption By WG Issued\" state), to indicate that the document is in the queue for a call for adoption, even if none has been issued yet.", - "name": "Candidate for WG Adoption", - "next_states": [ - 35 - ], - "order": 0, - "slug": "wg-cand", - "type": "draft-stream-ietf", - "used": true - }, - "model": "doc.state", - "pk": 134 - }, - { - "fields": { - "desc": "", - "name": "Active", - "next_states": [], - "order": 0, - "slug": "active", - "type": "recording", - "used": true - }, - "model": "doc.state", - "pk": 135 - }, - { - "fields": { - "desc": "", - "name": "Deleted", - "next_states": [], - "order": 0, - "slug": "deleted", - "type": "recording", - "used": true - }, - "model": "doc.state", - "pk": 136 - }, - { - "fields": { - "desc": "This document is not active, but is available in the archives", - "name": "Archived", - "next_states": [], - "order": 3, - "slug": "archived", - "type": "slides", - "used": true - }, - "model": "doc.state", - "pk": 138 - }, - { - "fields": { - "desc": "", - "name": "Active", - "next_states": [], - "order": 0, - "slug": "active", - "type": "bluesheets", - "used": true - }, - "model": "doc.state", - "pk": 139 - }, - { - "fields": { - "desc": "", - "name": "Deleted", - "next_states": [], - "order": 0, - "slug": "deleted", - "type": "bluesheets", - "used": true - }, - "model": "doc.state", - "pk": 140 - }, - { - "fields": { - "desc": "", - "name": "Single Meeting", - "next_states": [], - "order": 0, - "slug": "single", - "type": "reuse_policy", - "used": true - }, - "model": "doc.state", - "pk": 141 - }, - { - "fields": { - "desc": "", - "name": "Multiple Meetings", - "next_states": [], - "order": 0, - "slug": "multiple", - "type": "reuse_policy", - "used": true - }, - "model": "doc.state", - "pk": 142 - }, - { - "fields": { - "desc": "", - "name": "Active", - "next_states": [], - "order": 1, - "slug": "active", - "type": "review", - "used": true - }, - "model": "doc.state", - "pk": 143 - }, - { - "fields": { - "desc": "", - "name": "Deleted", - "next_states": [], - "order": 2, - "slug": "deleted", - "type": "review", - "used": true - }, - "model": "doc.state", - "pk": 144 - }, - { - "fields": { - "desc": "In some areas, it can be desirable to wait for multiple interoperable implementations before progressing a draft to be an RFC, and in some WGs this is required. This state should be entered after WG Last Call has completed.", - "name": "Waiting for Implementation", - "next_states": [], - "order": 8, - "slug": "waiting-for-implementation", - "type": "draft-stream-ietf", - "used": true - }, - "model": "doc.state", - "pk": 145 - }, - { - "fields": { - "desc": "Held by WG, see document history for details.", - "name": "Held by WG", - "next_states": [], - "order": 9, - "slug": "held-by-wg", - "type": "draft-stream-ietf", - "used": true - }, - "model": "doc.state", - "pk": 146 - }, - { - "fields": { - "desc": "Replaced", - "name": "Replaced", - "next_states": [], - "order": 0, - "slug": "repl", - "type": "draft-stream-iab", - "used": true - }, - "model": "doc.state", - "pk": 147 - }, - { - "fields": { - "desc": "Replaced", - "name": "Replaced", - "next_states": [], - "order": 0, - "slug": "repl", - "type": "draft-stream-ise", - "used": true - }, - "model": "doc.state", - "pk": 148 - }, - { - "fields": { - "desc": "Replaced", - "name": "Replaced", - "next_states": [], - "order": 0, - "slug": "repl", - "type": "draft-stream-irtf", - "used": true - }, - "model": "doc.state", - "pk": 149 - }, - { - "fields": { - "desc": "The IESG has not started processing this draft, or has stopped processing it without publicastion.", - "name": "I-D Exists", - "next_states": [ - 16, - 11 - ], - "order": 0, - "slug": "idexists", - "type": "draft-iesg", - "used": true - }, - "model": "doc.state", - "pk": 150 - }, - { - "fields": { - "desc": "One or more registries need experts assigned", - "name": "Need IANA Expert(s)", - "next_states": [], - "order": 0, - "slug": "need-experts", - "type": "draft-iana-experts", - "used": true - }, - "model": "doc.state", - "pk": 151 - }, - { - "fields": { - "desc": "One or more expert reviews have been assigned", - "name": "Reviews assigned", - "next_states": [], - "order": 1, - "slug": "reviews-assigned", - "type": "draft-iana-experts", - "used": true - }, - "model": "doc.state", - "pk": 152 - }, - { - "fields": { - "desc": "Some expert reviewers have identified issues", - "name": "Issues identified", - "next_states": [], - "order": 2, - "slug": "expert-issues", - "type": "draft-iana-experts", - "used": true - }, - "model": "doc.state", - "pk": 153 - }, - { - "fields": { - "desc": "All expert reviews have been completed with no blocking issues", - "name": "Expert Reviews OK", - "next_states": [], - "order": 2, - "slug": "reviewers-ok", - "type": "draft-iana-experts", - "used": true - }, - "model": "doc.state", - "pk": 154 - }, - { - "fields": { - "desc": "Tooling Issue; an update is needed to one or more of the tools in the publication pipeline before this document can be published", - "name": "TI", - "next_states": [], - "order": 0, - "slug": "tooling-issue", - "type": "draft-rfceditor", - "used": true - }, - "model": "doc.state", - "pk": 155 - }, - { - "fields": { - "label": "State" - }, - "model": "doc.statetype", - "pk": "agenda" - }, - { - "fields": { - "label": "State" - }, - "model": "doc.statetype", - "pk": "bluesheets" - }, - { - "fields": { - "label": "State" - }, - "model": "doc.statetype", - "pk": "charter" - }, - { - "fields": { - "label": "Conflict Review State" - }, - "model": "doc.statetype", - "pk": "conflrev" - }, - { - "fields": { - "label": "State" - }, - "model": "doc.statetype", - "pk": "draft" - }, - { - "fields": { - "label": "IANA state" - }, - "model": "doc.statetype", - "pk": "draft-iana" - }, - { - "fields": { - "label": "IANA Action state" - }, - "model": "doc.statetype", - "pk": "draft-iana-action" - }, - { - "fields": { - "label": "IANA Experts State" - }, - "model": "doc.statetype", - "pk": "draft-iana-experts" - }, - { - "fields": { - "label": "IANA Review state" - }, - "model": "doc.statetype", - "pk": "draft-iana-review" - }, - { - "fields": { - "label": "IESG state" - }, - "model": "doc.statetype", - "pk": "draft-iesg" - }, - { - "fields": { - "label": "RFC Editor state" - }, - "model": "doc.statetype", - "pk": "draft-rfceditor" - }, - { - "fields": { - "label": "IAB state" - }, - "model": "doc.statetype", - "pk": "draft-stream-iab" - }, - { - "fields": { - "label": "IETF WG state" - }, - "model": "doc.statetype", - "pk": "draft-stream-ietf" - }, - { - "fields": { - "label": "IRTF state" - }, - "model": "doc.statetype", - "pk": "draft-stream-irtf" - }, - { - "fields": { - "label": "ISE state" - }, - "model": "doc.statetype", - "pk": "draft-stream-ise" - }, - { - "fields": { - "label": "State" - }, - "model": "doc.statetype", - "pk": "liai-att" - }, - { - "fields": { - "label": "Liason Statement State" - }, - "model": "doc.statetype", - "pk": "liaison" - }, - { - "fields": { - "label": "State" - }, - "model": "doc.statetype", - "pk": "minutes" - }, - { - "fields": { - "label": "State" - }, - "model": "doc.statetype", - "pk": "recording" - }, - { - "fields": { - "label": "Policy" - }, - "model": "doc.statetype", - "pk": "reuse_policy" - }, - { - "fields": { - "label": "Review" - }, - "model": "doc.statetype", - "pk": "review" - }, - { - "fields": { - "label": "Shepherd's Writeup State" - }, - "model": "doc.statetype", - "pk": "shepwrit" - }, - { - "fields": { - "label": "State" - }, - "model": "doc.statetype", - "pk": "slides" - }, - { - "fields": { - "label": "RFC Status Change state" - }, - "model": "doc.statetype", - "pk": "statchg" - }, - { - "fields": { - "about_page": "ietf.group.views.group_about", - "acts_like_wg": false, - "admin_roles": "[\"chair\"]", - "agenda_type": "ietf", - "create_wiki": true, - "custom_group_roles": false, - "customize_workflow": false, - "default_tab": "ietf.group.views.group_about", - "docman_roles": "[\"chair\"]", - "groupman_roles": "[\"chair\",\"lead\",\"delegate\"]", - "has_chartering_process": false, - "has_default_jabber": true, - "has_documents": false, - "has_meetings": true, - "has_milestones": false, - "has_nonsession_materials": false, - "has_reviews": false, - "has_session_materials": true, - "is_schedulable": true, - "material_types": "[\"slides\"]", - "matman_roles": "[\"chair\",\"lead\",\"delegate\",\"matman\"]", - "req_subm_approval": true, - "role_order": "[\"chair\",\"lead\",\"delegate\",\"matman\"]", - "show_on_agenda": true - }, - "model": "group.groupfeatures", - "pk": "adhoc" - }, - { - "fields": { - "about_page": "ietf.group.views.group_about", - "acts_like_wg": false, - "admin_roles": "[\"chair\"]", - "agenda_type": "ietf", - "create_wiki": false, - "custom_group_roles": false, - "customize_workflow": false, - "default_tab": "ietf.group.views.group_about", - "docman_roles": "[\"chair\"]", - "groupman_roles": "[\"chair\"]", - "has_chartering_process": false, - "has_default_jabber": false, - "has_documents": false, - "has_meetings": false, - "has_milestones": false, - "has_nonsession_materials": false, - "has_reviews": false, - "has_session_materials": false, - "is_schedulable": false, - "material_types": "[\"slides\"]", - "matman_roles": "[\"chair\"]", - "req_subm_approval": false, - "role_order": "[\"chair\"]", - "show_on_agenda": false - }, - "model": "group.groupfeatures", - "pk": "admin" - }, - { - "fields": { - "about_page": "ietf.group.views.group_about", - "acts_like_wg": true, - "admin_roles": "[\"chair\"]", - "agenda_type": "ietf", - "create_wiki": true, - "custom_group_roles": true, - "customize_workflow": false, - "default_tab": "ietf.group.views.group_about", - "docman_roles": "[\"chair\",\"delegate\",\"secr\"]", - "groupman_roles": "[\"ad\",\"chair\",\"delegate\"]", - "has_chartering_process": false, - "has_default_jabber": false, - "has_documents": true, - "has_meetings": true, - "has_milestones": false, - "has_nonsession_materials": false, - "has_reviews": false, - "has_session_materials": true, - "is_schedulable": true, - "material_types": "[\"slides\"]", - "matman_roles": "[\"ad\",\"chair\",\"delegate\",\"secr\"]", - "req_subm_approval": true, - "role_order": "[\"chair\",\"secr\"]", - "show_on_agenda": true - }, - "model": "group.groupfeatures", - "pk": "ag" - }, - { - "fields": { - "about_page": "ietf.group.views.group_about", - "acts_like_wg": false, - "admin_roles": "[\"ad\"]", - "agenda_type": "ietf", - "create_wiki": true, - "custom_group_roles": true, - "customize_workflow": false, - "default_tab": "ietf.group.views.group_about", - "docman_roles": "[\"ad\",\"delegate\",\"secr\"]", - "groupman_roles": "[\"ad\"]", - "has_chartering_process": false, - "has_default_jabber": false, - "has_documents": false, - "has_meetings": false, - "has_milestones": false, - "has_nonsession_materials": false, - "has_reviews": false, - "has_session_materials": false, - "is_schedulable": false, - "material_types": "[\"slides\"]", - "matman_roles": "[\"ad\",\"chair\",\"delegate\",\"secr\"]", - "req_subm_approval": true, - "role_order": "[\"chair\",\"secr\"]", - "show_on_agenda": false - }, - "model": "group.groupfeatures", - "pk": "area" - }, - { - "fields": { - "about_page": "ietf.group.views.group_about", - "acts_like_wg": false, - "admin_roles": "[\"chair\",\"secr\"]", - "agenda_type": null, - "create_wiki": true, - "custom_group_roles": true, - "customize_workflow": false, - "default_tab": "ietf.group.views.group_about", - "docman_roles": "[]", - "groupman_roles": "[\"ad\",\"secr\"]", - "has_chartering_process": false, - "has_default_jabber": false, - "has_documents": false, - "has_meetings": false, - "has_milestones": false, - "has_nonsession_materials": false, - "has_reviews": false, - "has_session_materials": false, - "is_schedulable": false, - "material_types": "[\"slides\"]", - "matman_roles": "[\"ad\",\"chair\",\"delegate\",\"secr\"]", - "req_subm_approval": true, - "role_order": "[\"chair\",\"secr\"]", - "show_on_agenda": false - }, - "model": "group.groupfeatures", - "pk": "dir" - }, - { - "fields": { - "about_page": "ietf.group.views.group_about", - "acts_like_wg": false, - "admin_roles": "[\"chair\"]", - "agenda_type": "ietf", - "create_wiki": false, - "custom_group_roles": true, - "customize_workflow": false, - "default_tab": "ietf.group.views.group_about", - "docman_roles": "[\"chair\"]", - "groupman_roles": "[]", - "has_chartering_process": false, - "has_default_jabber": false, - "has_documents": false, - "has_meetings": true, - "has_milestones": false, - "has_nonsession_materials": false, - "has_reviews": false, - "has_session_materials": false, - "is_schedulable": false, - "material_types": "[\"slides\"]", - "matman_roles": "[\"chair\",\"delegate\"]", - "req_subm_approval": true, - "role_order": "[\"chair\",\"secr\"]", - "show_on_agenda": true - }, - "model": "group.groupfeatures", - "pk": "iab" - }, - { - "fields": { - "about_page": "ietf.group.views.group_about", - "acts_like_wg": false, - "admin_roles": "[\"chair\"]", - "agenda_type": "ietf", - "create_wiki": false, - "custom_group_roles": false, - "customize_workflow": false, - "default_tab": "ietf.group.views.group_about", - "docman_roles": "[\"chair\"]", - "groupman_roles": "[\"chair\"]", - "has_chartering_process": false, - "has_default_jabber": false, - "has_documents": false, - "has_meetings": false, - "has_milestones": false, - "has_nonsession_materials": false, - "has_reviews": false, - "has_session_materials": false, - "is_schedulable": false, - "material_types": "[\"slides\"]", - "matman_roles": "[\"chair\"]", - "req_subm_approval": false, - "role_order": "[\"chair\"]", - "show_on_agenda": false - }, - "model": "group.groupfeatures", - "pk": "iana" - }, - { - "fields": { - "about_page": "ietf.group.views.group_about", - "acts_like_wg": false, - "admin_roles": "[\"chair\"]", - "agenda_type": "ad", - "create_wiki": false, - "custom_group_roles": true, - "customize_workflow": false, - "default_tab": "ietf.group.views.group_about", - "docman_roles": "[\"chair\"]", - "groupman_roles": "[\"chair\",\"delegate\"]", - "has_chartering_process": false, - "has_default_jabber": false, - "has_documents": false, - "has_meetings": false, - "has_milestones": false, - "has_nonsession_materials": false, - "has_reviews": false, - "has_session_materials": false, - "is_schedulable": false, - "material_types": "\"[]\"", - "matman_roles": "[\"chair\",\"delegate\",\"member\"]", - "req_subm_approval": true, - "role_order": "[\"chair\",\"delegate\",\"member\"]", - "show_on_agenda": false - }, - "model": "group.groupfeatures", - "pk": "iesg" - }, - { - "fields": { - "about_page": "ietf.group.views.group_about", - "acts_like_wg": false, - "admin_roles": "[\"chair\",\"lead\"]", - "agenda_type": "ietf", - "create_wiki": false, - "custom_group_roles": true, - "customize_workflow": false, - "default_tab": "ietf.group.views.group_about", - "docman_roles": "[\"chair\"]", - "groupman_roles": "[\"chair\",\"delegate\"]", - "has_chartering_process": false, - "has_default_jabber": false, - "has_documents": false, - "has_meetings": true, - "has_milestones": false, - "has_nonsession_materials": false, - "has_reviews": false, - "has_session_materials": true, - "is_schedulable": false, - "material_types": "[\"slides\"]", - "matman_roles": "[\"chair\",\"delegate\"]", - "req_subm_approval": true, - "role_order": "[\"chair\",\"secr\"]", - "show_on_agenda": false - }, - "model": "group.groupfeatures", - "pk": "ietf" - }, - { - "fields": { - "about_page": "ietf.group.views.group_about", - "acts_like_wg": false, - "admin_roles": "[\"chair\"]", - "agenda_type": null, - "create_wiki": false, - "custom_group_roles": true, - "customize_workflow": false, - "default_tab": "ietf.group.views.group_about", - "docman_roles": "[\"auth\"]", - "groupman_roles": "[]", - "has_chartering_process": false, - "has_default_jabber": false, - "has_documents": false, - "has_meetings": false, - "has_milestones": false, - "has_nonsession_materials": false, - "has_reviews": false, - "has_session_materials": false, - "is_schedulable": false, - "material_types": "[\"slides\"]", - "matman_roles": "[]", - "req_subm_approval": false, - "role_order": "[\"chair\",\"secr\"]", - "show_on_agenda": false - }, - "model": "group.groupfeatures", - "pk": "individ" - }, - { - "fields": { - "about_page": "ietf.group.views.group_about", - "acts_like_wg": false, - "admin_roles": "[\"chair\"]", - "agenda_type": "ietf", - "create_wiki": false, - "custom_group_roles": true, - "customize_workflow": false, - "default_tab": "ietf.group.views.group_about", - "docman_roles": "[]", - "groupman_roles": "[\"chair\",\"delegate\"]", - "has_chartering_process": false, - "has_default_jabber": false, - "has_documents": false, - "has_meetings": false, - "has_milestones": false, - "has_nonsession_materials": false, - "has_reviews": false, - "has_session_materials": false, - "is_schedulable": false, - "material_types": "[\"slides\"]", - "matman_roles": "[\"chair\",\"delegate\",\"secr\"]", - "req_subm_approval": true, - "role_order": "[\"chair\",\"secr\"]", - "show_on_agenda": false - }, - "model": "group.groupfeatures", - "pk": "irtf" - }, - { - "fields": { - "about_page": "ietf.group.views.group_about", - "acts_like_wg": false, - "admin_roles": "[\"chair\",\"lead\"]", - "agenda_type": "ad", - "create_wiki": false, - "custom_group_roles": true, - "customize_workflow": false, - "default_tab": "ietf.group.views.group_about", - "docman_roles": "[\"chair\"]", - "groupman_roles": "[\"chair\",\"delegate\"]", - "has_chartering_process": false, - "has_default_jabber": false, - "has_documents": true, - "has_meetings": false, - "has_milestones": false, - "has_nonsession_materials": false, - "has_reviews": false, - "has_session_materials": false, - "is_schedulable": false, - "material_types": "[\"slides\"]", - "matman_roles": "[\"chair\",\"delegate\"]", - "req_subm_approval": true, - "role_order": "[\"chair\",\"delegate\"]", - "show_on_agenda": false - }, - "model": "group.groupfeatures", - "pk": "ise" - }, - { - "fields": { - "about_page": "ietf.group.views.group_about", - "acts_like_wg": false, - "admin_roles": "[\"chair\"]", - "agenda_type": null, - "create_wiki": false, - "custom_group_roles": true, - "customize_workflow": false, - "default_tab": "ietf.group.views.group_about", - "docman_roles": "[]", - "groupman_roles": "[\"chair\"]", - "has_chartering_process": false, - "has_default_jabber": false, - "has_documents": false, - "has_meetings": false, - "has_milestones": false, - "has_nonsession_materials": false, - "has_reviews": false, - "has_session_materials": false, - "is_schedulable": false, - "material_types": "[\"slides\"]", - "matman_roles": "[\"chair\",\"secr\"]", - "req_subm_approval": true, - "role_order": "[\"chair\",\"secr\"]", - "show_on_agenda": false - }, - "model": "group.groupfeatures", - "pk": "isoc" - }, - { - "fields": { - "about_page": "ietf.group.views.group_about", - "acts_like_wg": false, - "admin_roles": "[\"chair\",\"advisor\"]", - "agenda_type": "side", - "create_wiki": true, - "custom_group_roles": true, - "customize_workflow": false, - "default_tab": "ietf.group.views.group_about", - "docman_roles": "[\"chair\"]", - "groupman_roles": "[\"chair\",\"advisor\"]", - "has_chartering_process": false, - "has_default_jabber": false, - "has_documents": false, - "has_meetings": false, - "has_milestones": false, - "has_nonsession_materials": false, - "has_reviews": false, - "has_session_materials": false, - "is_schedulable": false, - "material_types": "[\"slides\"]", - "matman_roles": "[\"chair\"]", - "req_subm_approval": true, - "role_order": "[\"chair\",\"member\",\"advisor\"]", - "show_on_agenda": false - }, - "model": "group.groupfeatures", - "pk": "nomcom" - }, - { - "fields": { - "about_page": "ietf.group.views.group_about", - "acts_like_wg": false, - "admin_roles": "[\"lead\"]", - "agenda_type": "ad", - "create_wiki": false, - "custom_group_roles": true, - "customize_workflow": false, - "default_tab": "ietf.group.views.group_about", - "docman_roles": "[\"lead\",\"secr\"]", - "groupman_roles": "[\"lead\",\"secr\"]", - "has_chartering_process": false, - "has_default_jabber": false, - "has_documents": true, - "has_meetings": false, - "has_milestones": true, - "has_nonsession_materials": false, - "has_reviews": false, - "has_session_materials": false, - "is_schedulable": false, - "material_types": "[\"slides\"]", - "matman_roles": "[\"lead\",\"secr\"]", - "req_subm_approval": false, - "role_order": "[\"lead\",\"secr\"]", - "show_on_agenda": false - }, - "model": "group.groupfeatures", - "pk": "program" - }, - { - "fields": { - "about_page": "ietf.group.views.group_about", - "acts_like_wg": false, - "admin_roles": "[\"chair\",\"secr\"]", - "agenda_type": null, - "create_wiki": true, - "custom_group_roles": true, - "customize_workflow": false, - "default_tab": "ietf.group.views.review_requests", - "docman_roles": "[\"secr\"]", - "groupman_roles": "[\"ad\",\"secr\"]", - "has_chartering_process": false, - "has_default_jabber": false, - "has_documents": false, - "has_meetings": false, - "has_milestones": false, - "has_nonsession_materials": false, - "has_reviews": true, - "has_session_materials": false, - "is_schedulable": false, - "material_types": "[\"slides\"]", - "matman_roles": "[\"ad\",\"secr\"]", - "req_subm_approval": true, - "role_order": "[\"chair\",\"secr\"]", - "show_on_agenda": false - }, - "model": "group.groupfeatures", - "pk": "review" - }, - { - "fields": { - "about_page": "ietf.group.views.group_about", - "acts_like_wg": false, - "admin_roles": "[\"chair\"]", - "agenda_type": "side", - "create_wiki": false, - "custom_group_roles": true, - "customize_workflow": false, - "default_tab": "ietf.group.views.group_about", - "docman_roles": "[]", - "groupman_roles": "[]", - "has_chartering_process": false, - "has_default_jabber": false, - "has_documents": false, - "has_meetings": false, - "has_milestones": false, - "has_nonsession_materials": false, - "has_reviews": false, - "has_session_materials": false, - "is_schedulable": false, - "material_types": "[\"slides\"]", - "matman_roles": "[]", - "req_subm_approval": true, - "role_order": "[\"chair\",\"secr\"]", - "show_on_agenda": false - }, - "model": "group.groupfeatures", - "pk": "rfcedtyp" - }, - { - "fields": { - "about_page": "ietf.group.views.group_about", - "acts_like_wg": true, - "admin_roles": "[\"chair\"]", - "agenda_type": "ietf", - "create_wiki": true, - "custom_group_roles": false, - "customize_workflow": true, - "default_tab": "ietf.group.views.group_documents", - "docman_roles": "[\"chair\",\"delegate\",\"secr\"]", - "groupman_roles": "[\"chair\",\"delegate\"]", - "has_chartering_process": true, - "has_default_jabber": true, - "has_documents": true, - "has_meetings": true, - "has_milestones": true, - "has_nonsession_materials": false, - "has_reviews": false, - "has_session_materials": true, - "is_schedulable": true, - "material_types": "[\"slides\"]", - "matman_roles": "[\"chair\",\"delegate\",\"secr\"]", - "req_subm_approval": true, - "role_order": "[\"chair\",\"delegate\",\"secr\"]", - "show_on_agenda": true - }, - "model": "group.groupfeatures", - "pk": "rg" - }, - { - "fields": { - "about_page": "ietf.group.views.group_about", - "acts_like_wg": false, - "admin_roles": "[\"chair\"]", - "agenda_type": null, - "create_wiki": false, - "custom_group_roles": true, - "customize_workflow": false, - "default_tab": "ietf.group.views.group_about", - "docman_roles": "[\"liaiman\",\"matman\"]", - "groupman_roles": "[]", - "has_chartering_process": false, - "has_default_jabber": false, - "has_documents": false, - "has_meetings": false, - "has_milestones": false, - "has_nonsession_materials": false, - "has_reviews": false, - "has_session_materials": false, - "is_schedulable": false, - "material_types": "[\"slides\"]", - "matman_roles": "[]", - "req_subm_approval": true, - "role_order": "[\"liaiman\"]", - "show_on_agenda": false - }, - "model": "group.groupfeatures", - "pk": "sdo" - }, - { - "fields": { - "about_page": "ietf.group.views.group_about", - "acts_like_wg": false, - "admin_roles": "[\"chair\"]", - "agenda_type": "ietf", - "create_wiki": true, - "custom_group_roles": true, - "customize_workflow": false, - "default_tab": "ietf.group.views.group_about", - "docman_roles": "[\"chair\"]", - "groupman_roles": "[\"chair\"]", - "has_chartering_process": false, - "has_default_jabber": false, - "has_documents": false, - "has_meetings": true, - "has_milestones": false, - "has_nonsession_materials": true, - "has_reviews": false, - "has_session_materials": false, - "is_schedulable": false, - "material_types": "[\"slides\"]", - "matman_roles": "[\"chair\",\"matman\"]", - "req_subm_approval": false, - "role_order": "[\"chair\",\"member\",\"matman\"]", - "show_on_agenda": false - }, - "model": "group.groupfeatures", - "pk": "team" - }, - { - "fields": { - "about_page": "ietf.group.views.group_about", - "acts_like_wg": true, - "admin_roles": "[\"chair\"]", - "agenda_type": "ietf", - "create_wiki": true, - "custom_group_roles": false, - "customize_workflow": true, - "default_tab": "ietf.group.views.group_documents", - "docman_roles": "[\"chair\",\"delegate\",\"secr\"]", - "groupman_roles": "[\"ad\",\"chair\",\"delegate\",\"secr\"]", - "has_chartering_process": true, - "has_default_jabber": true, - "has_documents": true, - "has_meetings": true, - "has_milestones": true, - "has_nonsession_materials": false, - "has_reviews": false, - "has_session_materials": true, - "is_schedulable": true, - "material_types": "[\"slides\"]", - "matman_roles": "[\"ad\",\"chair\",\"delegate\",\"secr\"]", - "req_subm_approval": true, - "role_order": "[\"chair\",\"secr\",\"delegate\"]", - "show_on_agenda": true - }, - "model": "group.groupfeatures", - "pk": "wg" - }, - { - "fields": { - "cc": [ - "doc_notify", - "group_chairs", - "group_mail_list", - "group_steering_group" - ], - "desc": "Recipients when a charter is approved", - "to": [ - "ietf_announce" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "ballot_approved_charter" - }, - { - "fields": { - "cc": [ - "iana", - "iesg", - "ietf_announce" - ], - "desc": "Recipients when a conflict review ballot is approved", - "to": [ - "conflict_review_steering_group", - "conflict_review_stream_manager", - "doc_affecteddoc_authors", - "doc_affecteddoc_group_chairs", - "doc_affecteddoc_notify", - "doc_notify" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "ballot_approved_conflrev" - }, - { - "fields": { - "cc": [ - "doc_ad", - "doc_authors", - "doc_group_chairs", - "doc_group_mail_list", - "doc_notify", - "doc_shepherd", - "iesg", - "rfc_editor" - ], - "desc": "Recipients when an IETF stream document ballot is approved", - "to": [ - "ietf_announce" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "ballot_approved_ietf_stream" - }, - { - "fields": { - "cc": [], - "desc": "Recipients for IANA message when an IETF stream document ballot is approved", - "to": [ - "iana_approve" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "ballot_approved_ietf_stream_iana" - }, - { - "fields": { - "cc": [ - "doc_affecteddoc_authors", - "doc_affecteddoc_group_chairs", - "doc_affecteddoc_notify", - "doc_notify", - "iana", - "iesg", - "rfc_editor" - ], - "desc": "Recipients when a status change is approved", - "to": [ - "ietf_announce" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "ballot_approved_status_change" - }, - { - "fields": { - "cc": [], - "desc": "Recipients when a ballot is deferred to or undeferred from a future telechat", - "to": [ - "conflict_review_stream_manager", - "doc_affecteddoc_authors", - "doc_affecteddoc_group_chairs", - "doc_affecteddoc_notify", - "doc_authors", - "doc_group_chairs", - "doc_notify", - "doc_shepherd", - "iesg", - "iesg_secretary" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "ballot_deferred" - }, - { - "fields": { - "cc": [], - "desc": "Recipients when the RFC Editor note for a document is changed after the document has been approved", - "to": [ - "iesg", - "rfc_editor" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "ballot_ednote_changed_late" - }, - { - "fields": { - "cc": [], - "desc": "Recipients when a ballot is issued", - "to": [ - "iesg", - "iesg_secretary" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "ballot_issued" - }, - { - "fields": { - "cc": [], - "desc": "Recipients for IANA message when a ballot is issued", - "to": [ - "iana_eval" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "ballot_issued_iana" - }, - { - "fields": { - "cc": [ - "conflict_review_stream_manager", - "doc_affecteddoc_authors", - "doc_affecteddoc_group_chairs", - "doc_affecteddoc_notify", - "doc_authors", - "doc_group_chairs", - "doc_group_mail_list", - "doc_notify", - "doc_shepherd" - ], - "desc": "Recipients when a new ballot position (with discusses, other blocking positions, or comments) is saved", - "to": [ - "iesg" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "ballot_saved" - }, - { - "fields": { - "cc": [ - "group_mail_list" - ], - "desc": "Recipients for a charter external review", - "to": [ - "ietf_announce" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "charter_external_review" - }, - { - "fields": { - "cc": [], - "desc": "Recipients for a message to new-work about a charter review", - "to": [ - "new_work" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "charter_external_review_new_work" - }, - { - "fields": { - "cc": [], - "desc": "Recipients for message noting that internal review has started on a charter", - "to": [ - "iab", - "iesg" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "charter_internal_review" - }, - { - "fields": { - "cc": [], - "desc": "Recipients for message to adminstrators when a charter state edit needs followon administrative action", - "to": [ - "iesg_secretary" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "charter_state_edit_admin_needed" - }, - { - "fields": { - "cc": [ - "conflict_review_steering_group", - "conflict_review_stream_manager", - "doc_affecteddoc_authors", - "doc_affecteddoc_group_chairs", - "doc_affecteddoc_notify", - "doc_notify", - "iesg" - ], - "desc": "Recipients when the responsible AD for a conflict review is changed", - "to": [] - }, - "model": "mailtrigger.mailtrigger", - "pk": "conflrev_ad_changed" - }, - { - "fields": { - "cc": [ - "conflict_review_steering_group", - "conflict_review_stream_manager", - "doc_affecteddoc_authors", - "doc_affecteddoc_group_chairs", - "doc_affecteddoc_notify", - "doc_notify", - "iesg" - ], - "desc": "Recipients for a stream manager's request for an IETF conflict review", - "to": [ - "iesg_secretary" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "conflrev_requested" - }, - { - "fields": { - "cc": [], - "desc": "Recipients for IANA message when a stream manager requests an IETF conflict review", - "to": [ - "iana_eval" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "conflrev_requested_iana" - }, - { - "fields": { - "cc": [], - "desc": "Recipients for a message when a new comment is manually entered into the document's history", - "to": [ - "doc_authors", - "doc_group_chairs", - "doc_group_responsible_directors", - "doc_non_ietf_stream_manager", - "doc_shepherd" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "doc_added_comment" - }, - { - "fields": { - "cc": [ - "doc_ad", - "doc_notify", - "doc_shepherd" - ], - "desc": "Recipients for notification that a document has been adopted by a group", - "to": [ - "doc_authors", - "doc_group_chairs", - "doc_group_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "doc_adopted_by_group" - }, - { - "fields": { - "cc": [ - "doc_group_chairs", - "doc_group_responsible_directors", - "doc_notify", - "doc_shepherd" - ], - "desc": "Recipients for notification of a document's expiration", - "to": [ - "doc_authors" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "doc_expired" - }, - { - "fields": { - "cc": [ - "doc_group_chairs", - "doc_group_responsible_directors", - "doc_notify", - "doc_shepherd" - ], - "desc": "Recipients for notification of impending expiration of a document", - "to": [ - "doc_authors" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "doc_expires_soon" - }, - { - "fields": { - "cc": [], - "desc": "Recipients when IANA state information for a document changes ", - "to": [ - "doc_ad", - "doc_affecteddoc_authors", - "doc_affecteddoc_group_chairs", - "doc_affecteddoc_notify", - "doc_authors", - "doc_group_chairs", - "doc_notify", - "doc_shepherd" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "doc_iana_state_changed" - }, - { - "fields": { - "cc": [], - "desc": "Recipients for a message when the IESG begins processing a document ", - "to": [ - "doc_ad", - "doc_authors", - "doc_group_chairs", - "doc_shepherd" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "doc_iesg_processing_started" - }, - { - "fields": { - "cc": [], - "desc": "Recipients for a message when a document's intended publication status changes", - "to": [ - "doc_authors", - "doc_group_chairs", - "doc_group_responsible_directors", - "doc_non_ietf_stream_manager", - "doc_shepherd" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "doc_intended_status_changed" - }, - { - "fields": { - "cc": [ - "doc_authors", - "doc_group_chairs", - "doc_notify", - "doc_shepherd", - "iesg", - "iesg_secretary" - ], - "desc": "Recipients when a document is taken out of the RFC's editor queue before publication", - "to": [ - "iana", - "rfc_editor" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "doc_pulled_from_rfc_queue" - }, - { - "fields": { - "cc": [], - "desc": "Recipients when what a document replaces or is replaced by changes", - "to": [ - "doc_authors_expanded" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "doc_replacement_changed" - }, - { - "fields": { - "cc": [], - "desc": "Recipients for suggestions that this doc replaces or is replace by some other document", - "to": [ - "doc_group_chairs", - "doc_group_responsible_directors", - "doc_non_ietf_stream_manager", - "iesg_secretary" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "doc_replacement_suggested" - }, - { - "fields": { - "cc": [], - "desc": "Recipients when a document's state is manually edited", - "to": [ - "doc_ad", - "doc_affecteddoc_authors", - "doc_affecteddoc_group_chairs", - "doc_affecteddoc_notify", - "doc_authors", - "doc_group_chairs", - "doc_group_responsible_directors", - "doc_notify", - "doc_shepherd" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "doc_state_edited" - }, - { - "fields": { - "cc": [], - "desc": "Recipients for notification when a document's stream changes", - "to": [ - "doc_authors", - "doc_notify", - "stream_managers" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "doc_stream_changed" - }, - { - "fields": { - "cc": [], - "desc": "Recipients when the stream state of a document is manually edited", - "to": [ - "doc_authors", - "doc_group_chairs", - "doc_group_delegates", - "doc_shepherd" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "doc_stream_state_edited" - }, - { - "fields": { - "cc": [], - "desc": "Recipients when a document's telechat date or other telechat specific details are changed", - "to": [ - "conflict_review_steering_group", - "conflict_review_stream_manager", - "doc_affecteddoc_authors", - "doc_affecteddoc_group_chairs", - "doc_affecteddoc_notify", - "doc_authors", - "doc_group_chairs", - "doc_notify", - "doc_shepherd", - "iesg", - "iesg_secretary" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "doc_telechat_details_changed" - }, - { - "fields": { - "cc": [], - "desc": "Recipients when a comment is added to a group's history", - "to": [ - "group_chairs", - "group_responsible_directors", - "group_secretaries" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "group_added_comment" - }, - { - "fields": { - "cc": [], - "desc": "Recipients when the set of approved milestones for a group are edited", - "to": [ - "group_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "group_approved_milestones_edited" - }, - { - "fields": { - "cc": [], - "desc": "Recipients for message requesting closure of a group", - "to": [ - "iesg_secretary" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "group_closure_requested" - }, - { - "fields": { - "cc": [], - "desc": "Recipients when any of a group's milestones are edited", - "to": [ - "group_chairs", - "group_responsible_directors" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "group_milestones_edited" - }, - { - "fields": { - "cc": [], - "desc": "Recipients for a message noting changes in a group's personnel", - "to": [ - "group_chairs", - "group_changed_personnel", - "group_responsible_directors", - "group_secretaries", - "iesg_secretary" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "group_personnel_change" - }, - { - "fields": { - "cc": [ - "group_mail_list" - ], - "desc": "Recipients when an interim meeting is announced", - "to": [ - "group_stream_announce", - "ietf_announce" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "interim_announced" - }, - { - "fields": { - "cc": [], - "desc": "Recipients when an interim meeting is approved and an announcement needs to be sent", - "to": [ - "iesg_secretary" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "interim_approved" - }, - { - "fields": { - "cc": [ - "group_chairs", - "group_mail_list", - "logged_in_person" - ], - "desc": "Recipients when an interim meeting is cancelled", - "to": [ - "group_stream_announce", - "ietf_announce" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "interim_cancelled" - }, - { - "fields": { - "cc": [], - "desc": "Recipients when the secretary follows up on an IPR disclosure submission", - "to": [ - "ipr_submitter" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "ipr_disclosure_followup" - }, - { - "fields": { - "cc": [], - "desc": "Recipients when an IPR disclosure is submitted", - "to": [ - "ipr_requests" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "ipr_disclosure_submitted" - }, - { - "fields": { - "cc": [ - "doc_ipr_group_or_ad", - "ipr_announce" - ], - "desc": "Recipients when an IPR disclosure calls out a given document", - "to": [ - "doc_authors" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "ipr_posted_on_doc" - }, - { - "fields": { - "cc": [ - "ipr_updatedipr_contacts", - "ipr_updatedipr_holders" - ], - "desc": "Recipients for a message confirming that a disclosure has been posted", - "to": [ - "ipr_submitter" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "ipr_posting_confirmation" - }, - { - "fields": { - "cc": [ - "iesg_secretary" - ], - "desc": "Recipients when a last call has expired", - "to": [ - "doc_ad", - "doc_authors", - "doc_notify", - "doc_shepherd" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "last_call_expired" - }, - { - "fields": { - "cc": [ - "doc_ad", - "doc_affecteddoc_authors", - "doc_affecteddoc_group_chairs", - "doc_affecteddoc_notify", - "doc_authors", - "doc_group_chairs", - "doc_group_mail_list", - "doc_notify", - "doc_shepherd" - ], - "desc": "Recipients when a last call is issued", - "to": [ - "ietf_announce" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "last_call_issued" - }, - { - "fields": { - "cc": [], - "desc": "Recipients for IANA message when a last call is issued", - "to": [ - "iana_last_call" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "last_call_issued_iana" - }, - { - "fields": { - "cc": [ - "doc_ad", - "doc_notify", - "doc_shepherd" - ], - "desc": "Recipients when AD requests a last call", - "to": [ - "iesg_secretary" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "last_call_requested" - }, - { - "fields": { - "cc": [ - "liaison_admin" - ], - "desc": "Recipients for a message that a pending liaison statement needs approval", - "to": [ - "liaison_approvers" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "liaison_approval_requested" - }, - { - "fields": { - "cc": [ - "liaison_cc", - "liaison_response_contacts", - "liaison_technical_contacts" - ], - "desc": "Recipients for a message about a liaison statement deadline that is approaching.", - "to": [ - "liaison_to_contacts" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "liaison_deadline_soon" - }, - { - "fields": { - "cc": [], - "desc": "Recipients for a message requesting an updated list of authorized individuals", - "to": [ - "liaison_manager" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "liaison_manager_update_request" - }, - { - "fields": { - "cc": [ - "liaison_cc", - "liaison_response_contacts", - "liaison_technical_contacts" - ], - "desc": "Recipient for a message when a new liaison statement is posted", - "to": [ - "liaison_to_contacts" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "liaison_statement_posted" - }, - { - "fields": { - "cc": [], - "desc": "Recipients for a message confirming a comment was made", - "to": [ - "commenter" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "nomcom_comment_receipt_requested" - }, - { - "fields": { - "cc": [], - "desc": "Recipients for the questionairre that nominees should complete", - "to": [ - "nominee" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "nomcom_questionnaire" - }, - { - "fields": { - "cc": [], - "desc": "Recipients for a message reminding a nominee to return a completed questionairre response", - "to": [ - "nominee" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "nomcom_questionnaire_reminder" - }, - { - "fields": { - "cc": [], - "desc": "Recipeints of message reminding a nominee to accept or decline a nomination", - "to": [ - "nominee" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "nomination_accept_reminder" - }, - { - "fields": { - "cc": [], - "desc": "Recipients for a message noting that a nomination caused a new Person record to be created in the datatracker", - "to": [ - "ietf_secretariat", - "nomcom_chair" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "nomination_created_person" - }, - { - "fields": { - "cc": [], - "desc": "Recipients the first time a person is nominated for a position, asking them to accept or decline the nomination", - "to": [ - "nominee" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "nomination_new_nominee" - }, - { - "fields": { - "cc": [], - "desc": "Recipients for a message confirming a nomination was made", - "to": [ - "nominator" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "nomination_receipt_requested" - }, - { - "fields": { - "cc": [], - "desc": "Recipients for a message noting a new nomination has been received", - "to": [ - "nomcom_chair" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "nomination_received" - }, - { - "fields": { - "cc": [], - "desc": "Recipients for a message requesting that duplicated Person records be merged ", - "to": [ - "ietf_secretariat" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "person_merge_requested" - }, - { - "fields": { - "cc": [ - "doc_group_chairs", - "doc_group_mail_list", - "doc_notify", - "doc_shepherd", - "iesg_secretary" - ], - "desc": "Recipients when a draft is submitted to the IESG", - "to": [ - "doc_ad" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "pubreq_iesg" - }, - { - "fields": { - "cc": [], - "desc": "Recipients when a non-IETF stream manager requests publication", - "to": [ - "rfc_editor" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "pubreq_rfced" - }, - { - "fields": { - "cc": [], - "desc": "Recipients for IANA message when a non-IETF stream manager requests publication", - "to": [ - "iana_approve" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "pubreq_rfced_iana" - }, - { - "fields": { - "cc": [], - "desc": "Recipients when a draft resurrection request has been completed", - "to": [ - "doc_ad", - "iesg_secretary" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "resurrection_completed" - }, - { - "fields": { - "cc": [], - "desc": "Recipients of a request to change the state of a draft away from 'Dead'", - "to": [ - "internet_draft_requests" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "resurrection_requested" - }, - { - "fields": { - "cc": [], - "desc": "Recipients for a change to a review assignment", - "to": [ - "review_assignment_reviewer", - "review_assignment_review_req_by", - "review_secretaries" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_assignment_changed" - }, - { - "fields": { - "cc": [], - "desc": "Recipients when an review team secretary send a summary of open review assignments", - "to": [ - "group_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_assignments_summarized" - }, - { - "fields": { - "cc": [], - "desc": "Recipients for a change to a reviewer's availability", - "to": [ - "group_secretaries", - "review_reviewer" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_availability_changed" - }, - { - "fields": { - "cc": [ - "ietf_last_call", - "review_doc_all_parties", - "review_doc_group_mail_list" - ], - "desc": "Default template for recipients when an review is completed - customised mail triggers are used/created per team and review type.", - "to": [ - "review_team_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_completed" - }, - { - "fields": { - "cc": [ - "review_doc_all_parties", - "review_doc_group_mail_list" - ], - "desc": "Recipients when a artart ReviewTypeName object review is completed", - "to": [ - "review_team_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_completed_artart_early" - }, - { - "fields": { - "cc": [ - "ietf_last_call", - "review_doc_all_parties", - "review_doc_group_mail_list" - ], - "desc": "Recipients when a artart ReviewTypeName object review is completed", - "to": [ - "review_team_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_completed_artart_lc" - }, - { - "fields": { - "cc": [ - "ietf_last_call", - "review_doc_all_parties", - "review_doc_group_mail_list" - ], - "desc": "Recipients when a artart ReviewTypeName object review is completed", - "to": [ - "review_team_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_completed_artart_telechat" - }, - { - "fields": { - "cc": [ - "review_doc_all_parties", - "review_doc_group_mail_list" - ], - "desc": "Recipients when a genart ReviewTypeName object review is completed", - "to": [ - "review_team_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_completed_genart_early" - }, - { - "fields": { - "cc": [ - "ietf_last_call", - "review_doc_all_parties", - "review_doc_group_mail_list" - ], - "desc": "Recipients when a genart ReviewTypeName object review is completed", - "to": [ - "review_team_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_completed_genart_lc" - }, - { - "fields": { - "cc": [ - "ietf_last_call", - "review_doc_all_parties", - "review_doc_group_mail_list" - ], - "desc": "Recipients when a genart ReviewTypeName object review is completed", - "to": [ - "review_team_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_completed_genart_telechat" - }, - { - "fields": { - "cc": [ - "review_doc_all_parties", - "review_doc_group_mail_list" - ], - "desc": "Recipients when a i18ndir ReviewTypeName object review is completed", - "to": [ - "review_team_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_completed_i18ndir_early" - }, - { - "fields": { - "cc": [ - "ietf_last_call", - "review_doc_all_parties", - "review_doc_group_mail_list" - ], - "desc": "Recipients when a i18ndir ReviewTypeName object review is completed", - "to": [ - "review_team_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_completed_i18ndir_lc" - }, - { - "fields": { - "cc": [ - "ietf_last_call", - "review_doc_all_parties", - "review_doc_group_mail_list" - ], - "desc": "Recipients when a i18ndir ReviewTypeName object review is completed", - "to": [ - "review_team_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_completed_i18ndir_telechat" - }, - { - "fields": { - "cc": [ - "review_doc_all_parties", - "review_doc_group_mail_list" - ], - "desc": "Recipients when a intdir ReviewTypeName object review is completed", - "to": [ - "review_team_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_completed_intdir_early" - }, - { - "fields": { - "cc": [ - "ietf_last_call", - "review_doc_all_parties", - "review_doc_group_mail_list" - ], - "desc": "Recipients when a intdir ReviewTypeName object review is completed", - "to": [ - "review_team_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_completed_intdir_lc" - }, - { - "fields": { - "cc": [ - "ietf_last_call", - "review_doc_all_parties", - "review_doc_group_mail_list" - ], - "desc": "Recipients when a intdir ReviewTypeName object review is completed", - "to": [ - "review_team_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_completed_intdir_telechat" - }, - { - "fields": { - "cc": [ - "review_doc_all_parties", - "review_doc_group_mail_list" - ], - "desc": "Recipients when a iotdir ReviewTypeName object review is completed", - "to": [ - "review_team_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_completed_iotdir_early" - }, - { - "fields": { - "cc": [ - "ietf_last_call", - "review_doc_all_parties", - "review_doc_group_mail_list" - ], - "desc": "Recipients when a iotdir ReviewTypeName object review is completed", - "to": [ - "review_team_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_completed_iotdir_lc" - }, - { - "fields": { - "cc": [ - "ietf_last_call", - "review_doc_all_parties", - "review_doc_group_mail_list" - ], - "desc": "Recipients when a iotdir ReviewTypeName object review is completed", - "to": [ - "review_team_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_completed_iotdir_telechat" - }, - { - "fields": { - "cc": [ - "review_doc_all_parties", - "review_doc_group_mail_list" - ], - "desc": "Recipients when a opsdir ReviewTypeName object review is completed", - "to": [ - "review_team_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_completed_opsdir_early" - }, - { - "fields": { - "cc": [ - "ietf_last_call", - "review_doc_all_parties", - "review_doc_group_mail_list" - ], - "desc": "Recipients when a opsdir ReviewTypeName object review is completed", - "to": [ - "review_team_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_completed_opsdir_lc" - }, - { - "fields": { - "cc": [ - "ietf_last_call", - "review_doc_all_parties", - "review_doc_group_mail_list" - ], - "desc": "Recipients when a opsdir ReviewTypeName object review is completed", - "to": [ - "review_team_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_completed_opsdir_telechat" - }, - { - "fields": { - "cc": [ - "review_doc_all_parties", - "review_doc_group_mail_list" - ], - "desc": "Recipients when a rtgdir ReviewTypeName object review is completed", - "to": [ - "review_team_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_completed_rtgdir_early" - }, - { - "fields": { - "cc": [ - "ietf_last_call", - "review_doc_all_parties", - "review_doc_group_mail_list" - ], - "desc": "Recipients when a rtgdir ReviewTypeName object review is completed", - "to": [ - "review_team_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_completed_rtgdir_lc" - }, - { - "fields": { - "cc": [ - "ietf_last_call", - "review_doc_all_parties", - "review_doc_group_mail_list" - ], - "desc": "Recipients when a rtgdir ReviewTypeName object review is completed", - "to": [ - "review_team_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_completed_rtgdir_telechat" - }, - { - "fields": { - "cc": [ - "review_doc_all_parties", - "review_doc_group_mail_list" - ], - "desc": "Recipients when a secdir ReviewTypeName object review is completed", - "to": [ - "review_team_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_completed_secdir_early" - }, - { - "fields": { - "cc": [ - "ietf_last_call", - "review_doc_all_parties", - "review_doc_group_mail_list" - ], - "desc": "Recipients when a secdir ReviewTypeName object review is completed", - "to": [ - "review_team_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_completed_secdir_lc" - }, - { - "fields": { - "cc": [ - "ietf_last_call", - "review_doc_all_parties", - "review_doc_group_mail_list" - ], - "desc": "Recipients when a secdir ReviewTypeName object review is completed", - "to": [ - "review_team_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_completed_secdir_telechat" - }, - { - "fields": { - "cc": [ - "review_doc_all_parties", - "review_doc_group_mail_list" - ], - "desc": "Recipients when a tsvart ReviewTypeName object review is completed", - "to": [ - "review_team_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_completed_tsvart_early" - }, - { - "fields": { - "cc": [ - "ietf_last_call", - "review_doc_all_parties", - "review_doc_group_mail_list" - ], - "desc": "Recipients when a tsvart ReviewTypeName object review is completed", - "to": [ - "review_team_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_completed_tsvart_lc" - }, - { - "fields": { - "cc": [ - "ietf_last_call", - "review_doc_all_parties", - "review_doc_group_mail_list" - ], - "desc": "Recipients when a tsvart ReviewTypeName object review is completed", - "to": [ - "review_team_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_completed_tsvart_telechat" - }, - { - "fields": { - "cc": [ - "review_doc_all_parties", - "review_doc_group_mail_list" - ], - "desc": "Recipients when a yangdoctors ReviewTypeName object review is completed", - "to": [ - "review_team_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_completed_yangdoctors_early" - }, - { - "fields": { - "cc": [ - "ietf_last_call", - "review_doc_all_parties", - "review_doc_group_mail_list" - ], - "desc": "Recipients when a yangdoctors ReviewTypeName object review is completed", - "to": [ - "review_team_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_completed_yangdoctors_lc" - }, - { - "fields": { - "cc": [ - "ietf_last_call", - "review_doc_all_parties", - "review_doc_group_mail_list" - ], - "desc": "Recipients when a yangdoctors ReviewTypeName object review is completed", - "to": [ - "review_team_mail_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_completed_yangdoctors_telechat" - }, - { - "fields": { - "cc": [], - "desc": "Recipients when a team notifies area directors when a review with one of a certain set of results (typically results indicating problem) is submitted", - "to": [ - "review_doc_ad", - "review_team_ads" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_notify_ad" - }, - { - "fields": { - "cc": [], - "desc": "Recipients for overdue review assignment reminders", - "to": [ - "group_secretaries" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_reminder_overdue_assignment" - }, - { - "fields": { - "cc": [ - "review_req_requested_by", - "review_secretaries" - ], - "desc": "Recipients for a change to a review request", - "to": [ - "review_req_reviewers" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "review_req_changed" - }, - { - "fields": { - "cc": [ - "group_responsible_directors" - ], - "desc": "Recipients when a group is sent a reminder to submit minutes for a session", - "to": [ - "group_chairs", - "group_secretaries" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "session_minutes_reminder" - }, - { - "fields": { - "cc": [ - "group_chairs", - "group_mail_list", - "group_responsible_directors", - "logged_in_person" - ], - "desc": "Recipients for a message cancelling a session request", - "to": [ - "session_requests" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "session_request_cancelled" - }, - { - "fields": { - "cc": [ - "group_chairs", - "group_mail_list", - "group_responsible_directors", - "logged_in_person" - ], - "desc": "Recipients for a message noting a group plans to not meet", - "to": [ - "session_requests" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "session_request_not_meeting" - }, - { - "fields": { - "cc": [ - "group_chairs", - "group_mail_list", - "group_responsible_directors", - "logged_in_person" - ], - "desc": "Recipients for a normal meeting session request", - "to": [ - "session_requests" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "session_requested" - }, - { - "fields": { - "cc": [ - "group_chairs", - "logged_in_person", - "session_requests" - ], - "desc": "Recipients for a meeting session request for more than 2 sessions", - "to": [ - "group_responsible_directors" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "session_requested_long" - }, - { - "fields": { - "cc": [ - "group_mail_list", - "group_responsible_directors" - ], - "desc": "Recipients for details when a session has been scheduled", - "to": [ - "group_chairs", - "session_requester" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "session_scheduled" - }, - { - "fields": { - "cc": [], - "desc": "Recipients when slides are proposed for a given session", - "to": [ - "group_chairs", - "group_responsible_directors", - "group_secretaries" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "slides_proposed" - }, - { - "fields": { - "cc": [ - "submission_group_mail_list" - ], - "desc": "Recipients for the announcement of a successfully submitted draft", - "to": [ - "id_announce" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "sub_announced" - }, - { - "fields": { - "cc": [], - "desc": "Recipients for the announcement to the authors of a successfully submitted draft", - "to": [ - "submission_authors", - "submission_confirmers" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "sub_announced_to_authors" - }, - { - "fields": { - "cc": [], - "desc": "Recipients for a message requesting group chair approval of a draft submission", - "to": [ - "submission_group_chairs" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "sub_chair_approval_requested" - }, - { - "fields": { - "cc": [], - "desc": "Recipients for a message requesting confirmation of a draft submission", - "to": [ - "submission_confirmers" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "sub_confirmation_requested" - }, - { - "fields": { - "cc": [], - "desc": "Recipients for a message with the full URL for managing a draft submission", - "to": [ - "submission_confirmers" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "sub_management_url_requested" - }, - { - "fields": { - "cc": [ - "submission_authors", - "submission_group_chairs", - "submission_submitter" - ], - "desc": "Recipients for a manual post request for a draft submission", - "to": [ - "internet_draft_requests" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "sub_manual_post_requested" - }, - { - "fields": { - "cc": [], - "desc": "Recipients for notification of a new version of an existing document", - "to": [ - "doc_ad", - "doc_discussing_ads", - "doc_non_ietf_stream_manager", - "doc_notify", - "rfc_editor_if_doc_in_queue" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "sub_new_version" - }, - { - "fields": { - "cc": [], - "desc": "Recipients when a new IETF WG -00 draft is announced", - "to": [ - "new_wg_doc_list" - ] - }, - "model": "mailtrigger.mailtrigger", - "pk": "sub_new_wg_00" - }, - { - "fields": { - "desc": "The person providing a comment to nomcom", - "template": "{{commenter}}" - }, - "model": "mailtrigger.recipient", - "pk": "commenter" - }, - { - "fields": { - "desc": "The steering group (e.g. IRSG) of a document being reviewed for IETF stream conflicts", - "template": null - }, - "model": "mailtrigger.recipient", - "pk": "conflict_review_steering_group" - }, - { - "fields": { - "desc": "The stream manager of a document being reviewed for IETF stream conflicts", - "template": null - }, - "model": "mailtrigger.recipient", - "pk": "conflict_review_stream_manager" - }, - { - "fields": { - "desc": "The document's responsible Area Director", - "template": "{% if doc.ad %}<{{doc.ad.email_address}}>{% endif %}" - }, - "model": "mailtrigger.recipient", - "pk": "doc_ad" - }, - { - "fields": { - "desc": "The authors of the subject documents of a conflict-review or status-change", - "template": null - }, - "model": "mailtrigger.recipient", - "pk": "doc_affecteddoc_authors" - }, - { - "fields": { - "desc": "The chairs of groups of the subject documents of a conflict-review or status-change", - "template": null - }, - "model": "mailtrigger.recipient", - "pk": "doc_affecteddoc_group_chairs" - }, - { - "fields": { - "desc": "The notify field of the subject documents of a conflict-review or status-change", - "template": null - }, - "model": "mailtrigger.recipient", - "pk": "doc_affecteddoc_notify" - }, - { - "fields": { - "desc": "The document's authors", - "template": "{% if doc.type_id == \"draft\" %}<{{doc.name}}@ietf.org>{% endif %}" - }, - "model": "mailtrigger.recipient", - "pk": "doc_authors" - }, - { - "fields": { - "desc": "The authors of the document, without using the draft aliases", - "template": "{{doc.author_list}}" - }, - "model": "mailtrigger.recipient", - "pk": "doc_authors_expanded" - }, - { - "fields": { - "desc": "Any ADs holding an active DISCUSS position on a given document", - "template": null - }, - "model": "mailtrigger.recipient", - "pk": "doc_discussing_ads" - }, - { - "fields": { - "desc": "The document's group chairs (if the document is assigned to a working or research group)", - "template": null - }, - "model": "mailtrigger.recipient", - "pk": "doc_group_chairs" - }, - { - "fields": { - "desc": "The document's group delegates (if the document is assigned to a working or research group)", - "template": null - }, - "model": "mailtrigger.recipient", - "pk": "doc_group_delegates" - }, - { - "fields": { - "desc": "The list address of the document's group", - "template": null - }, - "model": "mailtrigger.recipient", - "pk": "doc_group_mail_list" - }, - { - "fields": { - "desc": "The document's group's responsible AD(s) or IRTF chair", - "template": null - }, - "model": "mailtrigger.recipient", - "pk": "doc_group_responsible_directors" - }, - { - "fields": { - "desc": "Leadership for a document that has a new IPR disclosure", - "template": null - }, - "model": "mailtrigger.recipient", - "pk": "doc_ipr_group_or_ad" - }, - { - "fields": { - "desc": "The document's stream manager if the document is not in the IETF stream", - "template": null - }, - "model": "mailtrigger.recipient", - "pk": "doc_non_ietf_stream_manager" - }, - { - "fields": { - "desc": "The addresses in the document's notify field", - "template": "{{doc.notify}}" - }, - "model": "mailtrigger.recipient", - "pk": "doc_notify" - }, - { - "fields": { - "desc": "The document's shepherd", - "template": "{% if doc.shepherd %}<{{doc.shepherd.address}}>{% endif %}" - }, - "model": "mailtrigger.recipient", - "pk": "doc_shepherd" - }, - { - "fields": { - "desc": "The manager of the document's stream", - "template": null - }, - "model": "mailtrigger.recipient", - "pk": "doc_stream_manager" - }, - { - "fields": { - "desc": "The group's chairs", - "template": "{% if group and group.acronym %}<{{group.acronym}}-chairs@ietf.org>{% endif %}" - }, - "model": "mailtrigger.recipient", - "pk": "group_chairs" - }, - { - "fields": { - "desc": "Any personnel who were added or deleted when a group's personnel changes", - "template": "{% if changed_personnel %} {{ changed_personnel | join:\", \" }} {% endif %}" - }, - "model": "mailtrigger.recipient", - "pk": "group_changed_personnel" - }, - { - "fields": { - "desc": "The group's mailing list", - "template": "{% if group.list_email %}<{{ group.list_email }}>{% endif %}" - }, - "model": "mailtrigger.recipient", - "pk": "group_mail_list" - }, - { - "fields": { - "desc": "The group's responsible AD(s) or IRTF chair", - "template": null - }, - "model": "mailtrigger.recipient", - "pk": "group_responsible_directors" - }, - { - "fields": { - "desc": "The group's secretaries", - "template": null - }, - "model": "mailtrigger.recipient", - "pk": "group_secretaries" - }, - { - "fields": { - "desc": "The group's steering group (IESG or IRSG)", - "template": null - }, - "model": "mailtrigger.recipient", - "pk": "group_steering_group" - }, - { - "fields": { - "desc": "The group's stream's announce list", - "template": "{% if group.type_id == 'wg' %}IETF-Announce {% elif group.type_id == 'rg' %}IRTF-Announce {% endif %}" - }, - "model": "mailtrigger.recipient", - "pk": "group_stream_announce" - }, - { - "fields": { - "desc": "The IAB", - "template": "The IAB " - }, - "model": "mailtrigger.recipient", - "pk": "iab" - }, - { - "fields": { - "desc": "IANA", - "template": "" - }, - "model": "mailtrigger.recipient", - "pk": "iana" - }, - { - "fields": { - "desc": "IANA's draft approval address", - "template": "IANA " - }, - "model": "mailtrigger.recipient", - "pk": "iana_approve" - }, - { - "fields": { - "desc": "IANA's draft evaluation address", - "template": "IANA " - }, - "model": "mailtrigger.recipient", - "pk": "iana_eval" - }, - { - "fields": { - "desc": "IANA's draft last call address", - "template": "IANA " - }, - "model": "mailtrigger.recipient", - "pk": "iana_last_call" - }, - { - "fields": { - "desc": "The I-D-Announce Email List", - "template": "" - }, - "model": "mailtrigger.recipient", - "pk": "id_announce" - }, - { - "fields": { - "desc": "The IESG", - "template": "The IESG " - }, - "model": "mailtrigger.recipient", - "pk": "iesg" - }, - { - "fields": { - "desc": "The Secretariat", - "template": "" - }, - "model": "mailtrigger.recipient", - "pk": "iesg_secretary" - }, - { - "fields": { - "desc": "The IETF Announce list", - "template": "IETF-Announce " - }, - "model": "mailtrigger.recipient", - "pk": "ietf_announce" - }, - { - "fields": { - "desc": "The IETF general discussion list", - "template": "ietf@ietf.org" - }, - "model": "mailtrigger.recipient", - "pk": "ietf_general" - }, - { - "fields": { - "desc": "The IETF Last Call list", - "template": "last-call@ietf.org" - }, - "model": "mailtrigger.recipient", - "pk": "ietf_last_call" - }, - { - "fields": { - "desc": "The Secretariat", - "template": "" - }, - "model": "mailtrigger.recipient", - "pk": "ietf_secretariat" - }, - { - "fields": { - "desc": "The internet drafts ticketing system", - "template": "" - }, - "model": "mailtrigger.recipient", - "pk": "internet_draft_requests" - }, - { - "fields": { - "desc": "The IETF IPR announce list", - "template": "ipr-announce@ietf.org" - }, - "model": "mailtrigger.recipient", - "pk": "ipr_announce" - }, - { - "fields": { - "desc": "The ipr disclosure handling system", - "template": "" - }, - "model": "mailtrigger.recipient", - "pk": "ipr_requests" - }, - { - "fields": { - "desc": "The submitter of an IPR disclosure", - "template": "{% if ipr.submitter_email %}{{ ipr.submitter_email }}{% endif %}" - }, - "model": "mailtrigger.recipient", - "pk": "ipr_submitter" - }, - { - "fields": { - "desc": "The submitter (or ietf participant if the submitter is not available) of all IPR disclosures updated directly by this disclosure, without recursing to what the updated disclosures might have updated.", - "template": null - }, - "model": "mailtrigger.recipient", - "pk": "ipr_updatedipr_contacts" - }, - { - "fields": { - "desc": "The holders of all IPR disclosures updated by disclosure and disclosures updated by those and so on.", - "template": null - }, - "model": "mailtrigger.recipient", - "pk": "ipr_updatedipr_holders" - }, - { - "fields": { - "desc": "Alias for secretariat liaison administration", - "template": "" - }, - "model": "mailtrigger.recipient", - "pk": "liaison_admin" - }, - { - "fields": { - "desc": "The set of people who can approve this liasion statemetns", - "template": "{{liaison.approver_emails|join:\", \"}}" - }, - "model": "mailtrigger.recipient", - "pk": "liaison_approvers" - }, - { - "fields": { - "desc": "The addresses captured in the Cc field of the liaison statement form", - "template": "{{liaison.cc_contacts}}" - }, - "model": "mailtrigger.recipient", - "pk": "liaison_cc" - }, - { - "fields": { - "desc": "The assigned liaison manager for an external group ", - "template": null - }, - "model": "mailtrigger.recipient", - "pk": "liaison_manager" - }, - { - "fields": { - "desc": "The addresses captured in the response contact field of the liaison statement form", - "template": "{{liaison.response_contacts}}" - }, - "model": "mailtrigger.recipient", - "pk": "liaison_response_contacts" - }, - { - "fields": { - "desc": "The addresses captured in the technical contact field of the liaison statement form", - "template": "{{liaison.technical_contacts}}" - }, - "model": "mailtrigger.recipient", - "pk": "liaison_technical_contacts" - }, - { - "fields": { - "desc": "The addresses captured in the To field of the liaison statement form", - "template": "{{liaison.to_contacts}}" - }, - "model": "mailtrigger.recipient", - "pk": "liaison_to_contacts" - }, - { - "fields": { - "desc": "The person currently logged into the datatracker who initiated a given action", - "template": "{% if person and person.email_address %}<{{ person.email_address }}>{% endif %}" - }, - "model": "mailtrigger.recipient", - "pk": "logged_in_person" - }, - { - "fields": { - "desc": "The email list for announcing new WG -00 submissions", - "template": "" - }, - "model": "mailtrigger.recipient", - "pk": "new_wg_doc_list" - }, - { - "fields": { - "desc": "The IETF New Work list", - "template": "" - }, - "model": "mailtrigger.recipient", - "pk": "new_work" - }, - { - "fields": { - "desc": "The chair of a given nomcom", - "template": "{{nomcom.group.get_chair.email.address}}" - }, - "model": "mailtrigger.recipient", - "pk": "nomcom_chair" - }, - { - "fields": { - "desc": "The person that submitted a nomination to nomcom", - "template": "{{nominator}}" - }, - "model": "mailtrigger.recipient", - "pk": "nominator" - }, - { - "fields": { - "desc": "The person nominated for a position", - "template": "{{nominee}}" - }, - "model": "mailtrigger.recipient", - "pk": "nominee" - }, - { - "fields": { - "desc": "The requester of an assigned review", - "template": "{% if not skip_review_requested_by %}{{review_assignment.review_request.requested_by.email_address}}{% endif %}" - }, - "model": "mailtrigger.recipient", - "pk": "review_assignment_review_req_by" - }, - { - "fields": { - "desc": "The reviewer assigned to a review assignment", - "template": "{% if not skip_review_reviewer %}{{review_assignment.reviewer.email_address}}{% endif %}" - }, - "model": "mailtrigger.recipient", - "pk": "review_assignment_reviewer" - }, - { - "fields": { - "desc": "The reviewed document's responsible area director", - "template": "{% if review_req.doc.ad %}{{review_req.doc.ad.email_address}}{% endif %}" - }, - "model": "mailtrigger.recipient", - "pk": "review_doc_ad" - }, - { - "fields": { - "desc": "The .all alias for the document being reviewed", - "template": "{% if review_req.doc.type_id == 'draft' %}<{{review_req.doc.name}}.all@ietf.org>{% endif %}" - }, - "model": "mailtrigger.recipient", - "pk": "review_doc_all_parties" - }, - { - "fields": { - "desc": "The working group list for the document being reviewed", - "template": "{{review_req.doc.group.list_email}}" - }, - "model": "mailtrigger.recipient", - "pk": "review_doc_group_mail_list" - }, - { - "fields": { - "desc": "The requester of a review", - "template": "{% if not skip_review_requested_by %}{{review_req.requested_by.email_address}}{% endif %}" - }, - "model": "mailtrigger.recipient", - "pk": "review_req_requested_by" - }, - { - "fields": { - "desc": "All reviewers assigned to a review request", - "template": null - }, - "model": "mailtrigger.recipient", - "pk": "review_req_reviewers" - }, - { - "fields": { - "desc": "A single reviewer", - "template": "{{reviewer.email_address}}" - }, - "model": "mailtrigger.recipient", - "pk": "review_reviewer" - }, - { - "fields": { - "desc": "The secretaries of the review team of a review request or assignment", - "template": null - }, - "model": "mailtrigger.recipient", - "pk": "review_secretaries" - }, - { - "fields": { - "desc": "The ADs of the team reviewing the document", - "template": null - }, - "model": "mailtrigger.recipient", - "pk": "review_team_ads" - }, - { - "fields": { - "desc": "The review team's email list", - "template": "{{review_req.team.list_email}}" - }, - "model": "mailtrigger.recipient", - "pk": "review_team_mail_list" - }, - { - "fields": { - "desc": "The RFC Editor", - "template": "" - }, - "model": "mailtrigger.recipient", - "pk": "rfc_editor" - }, - { - "fields": { - "desc": "The RFC Editor if a document is in the RFC Editor queue", - "template": null - }, - "model": "mailtrigger.recipient", - "pk": "rfc_editor_if_doc_in_queue" - }, - { - "fields": { - "desc": "The person that requested a meeting slot for a given group", - "template": null - }, - "model": "mailtrigger.recipient", - "pk": "session_requester" - }, - { - "fields": { - "desc": "The session request ticketing system", - "template": "" - }, - "model": "mailtrigger.recipient", - "pk": "session_requests" - }, - { - "fields": { - "desc": "The managers of any related streams", - "template": null - }, - "model": "mailtrigger.recipient", - "pk": "stream_managers" - }, - { - "fields": { - "desc": "The authors of a submitted draft", - "template": null - }, - "model": "mailtrigger.recipient", - "pk": "submission_authors" - }, - { - "fields": { - "desc": "The people who can confirm a draft submission", - "template": null - }, - "model": "mailtrigger.recipient", - "pk": "submission_confirmers" - }, - { - "fields": { - "desc": "The chairs of a submitted draft belonging to a group", - "template": null - }, - "model": "mailtrigger.recipient", - "pk": "submission_group_chairs" - }, - { - "fields": { - "desc": "The mailing list of the group associated with a submitted document", - "template": "" - }, - "model": "mailtrigger.recipient", - "pk": "submission_group_mail_list" - }, - { - "fields": { - "desc": "IETF manual post handling", - "template": "" - }, - "model": "mailtrigger.recipient", - "pk": "submission_manualpost_handling" - }, - { - "fields": { - "desc": "The person that submitted a draft", - "template": "{{submission.submitter}}" - }, - "model": "mailtrigger.recipient", - "pk": "submission_submitter" - }, - { - "fields": { - "desc": "", - "name": "AD Office Hours", - "order": 0, - "used": true - }, - "model": "name.agendatypename", - "pk": "ad" - }, - { - "fields": { - "desc": "", - "name": "IETF Agenda", - "order": 0, - "used": true - }, - "model": "name.agendatypename", - "pk": "ietf" - }, - { - "fields": { - "desc": "", - "name": "Side Meetings", - "order": 0, - "used": true - }, - "model": "name.agendatypename", - "pk": "side" - }, - { - "fields": { - "desc": "", - "name": "Workshops", - "order": 0, - "used": true - }, - "model": "name.agendatypename", - "pk": "workshop" - }, - { - "fields": { - "blocking": false, - "desc": "", - "name": "Abstain", - "order": 4, - "used": true - }, - "model": "name.ballotpositionname", - "pk": "abstain" - }, - { - "fields": { - "blocking": true, - "desc": "", - "name": "Block", - "order": 3, - "used": true - }, - "model": "name.ballotpositionname", - "pk": "block" - }, - { - "fields": { - "blocking": true, - "desc": "", - "name": "Discuss", - "order": 3, - "used": true - }, - "model": "name.ballotpositionname", - "pk": "discuss" - }, - { - "fields": { - "blocking": false, - "desc": "", - "name": "No Objection", - "order": 2, - "used": true - }, - "model": "name.ballotpositionname", - "pk": "noobj" - }, - { - "fields": { - "blocking": false, - "desc": "", - "name": "No Record", - "order": 6, - "used": true - }, - "model": "name.ballotpositionname", - "pk": "norecord" - }, - { - "fields": { - "blocking": false, - "desc": "", - "name": "Recuse", - "order": 5, - "used": true - }, - "model": "name.ballotpositionname", - "pk": "recuse" - }, - { - "fields": { - "blocking": false, - "desc": "", - "name": "Yes", - "order": 1, - "used": true - }, - "model": "name.ballotpositionname", - "pk": "yes" - }, - { - "fields": { - "desc": "", - "name": "Person must be present", - "order": 0, - "penalty": 200000, - "used": true - }, - "model": "name.constraintname", - "pk": "bethere" - }, - { - "fields": { - "desc": "", - "name": "Conflicts with (secondary)", - "order": 0, - "penalty": 10000, - "used": true - }, - "model": "name.constraintname", - "pk": "conflic2" - }, - { - "fields": { - "desc": "", - "name": "Conflicts with (tertiary)", - "order": 0, - "penalty": 1000, - "used": true - }, - "model": "name.constraintname", - "pk": "conflic3" - }, - { - "fields": { - "desc": "", - "name": "Conflicts with", - "order": 0, - "penalty": 100000, - "used": true - }, - "model": "name.constraintname", - "pk": "conflict" - }, - { - "fields": { - "desc": "", - "name": "Africa", - "order": 0, - "used": true - }, - "model": "name.continentname", - "pk": "africa" - }, - { - "fields": { - "desc": "", - "name": "Antarctica", - "order": 0, - "used": true - }, - "model": "name.continentname", - "pk": "antarctica" - }, - { - "fields": { - "desc": "", - "name": "Asia", - "order": 0, - "used": true - }, - "model": "name.continentname", - "pk": "asia" - }, - { - "fields": { - "desc": "", - "name": "Europe", - "order": 0, - "used": true - }, - "model": "name.continentname", - "pk": "europe" - }, - { - "fields": { - "desc": "", - "name": "North America", - "order": 0, - "used": true - }, - "model": "name.continentname", - "pk": "north-america" - }, - { - "fields": { - "desc": "", - "name": "Oceania", - "order": 0, - "used": true - }, - "model": "name.continentname", - "pk": "oceania" - }, - { - "fields": { - "desc": "", - "name": "South America", - "order": 0, - "used": true - }, - "model": "name.continentname", - "pk": "south-america" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": false, - "name": "Andorra", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "AD" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "United Arab Emirates", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "AE" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Afghanistan", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "AF" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Antigua and Barbuda", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "AG" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Anguilla", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "AI" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": false, - "name": "Albania", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "AL" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Armenia", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "AM" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Angola", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "AO" - }, - { - "fields": { - "continent": "antarctica", - "desc": "", - "in_eu": false, - "name": "Antarctica", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "AQ" - }, - { - "fields": { - "continent": "south-america", - "desc": "", - "in_eu": false, - "name": "Argentina", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "AR" - }, - { - "fields": { - "continent": "oceania", - "desc": "", - "in_eu": false, - "name": "American Samoa", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "AS" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": true, - "name": "Austria", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "AT" - }, - { - "fields": { - "continent": "oceania", - "desc": "", - "in_eu": false, - "name": "Australia", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "AU" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Aruba", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "AW" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": false, - "name": "ƅland Islands", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "AX" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Azerbaijan", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "AZ" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": false, - "name": "Bosnia and Herzegovina", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "BA" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Barbados", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "BB" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Bangladesh", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "BD" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": true, - "name": "Belgium", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "BE" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Burkina Faso", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "BF" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": true, - "name": "Bulgaria", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "BG" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Bahrain", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "BH" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Burundi", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "BI" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Benin", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "BJ" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Saint BarthĆ©lemy", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "BL" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Bermuda", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "BM" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Brunei", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "BN" - }, - { - "fields": { - "continent": "south-america", - "desc": "", - "in_eu": false, - "name": "Bolivia", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "BO" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Bonaire, Sint Eustatius and Saba", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "BQ" - }, - { - "fields": { - "continent": "south-america", - "desc": "", - "in_eu": false, - "name": "Brazil", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "BR" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Bahamas", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "BS" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Bhutan", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "BT" - }, - { - "fields": { - "continent": "antarctica", - "desc": "", - "in_eu": false, - "name": "Bouvet Island", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "BV" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Botswana", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "BW" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": false, - "name": "Belarus", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "BY" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Belize", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "BZ" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Canada", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "CA" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Cocos (Keeling) Islands", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "CC" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Congo (the Democratic Republic of the)", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "CD" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Central African Republic", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "CF" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Congo", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "CG" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": false, - "name": "Switzerland", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "CH" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "CĆ“te d'Ivoire", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "CI" - }, - { - "fields": { - "continent": "oceania", - "desc": "", - "in_eu": false, - "name": "Cook Islands", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "CK" - }, - { - "fields": { - "continent": "south-america", - "desc": "", - "in_eu": false, - "name": "Chile", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "CL" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Cameroon", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "CM" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "China", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "CN" - }, - { - "fields": { - "continent": "south-america", - "desc": "", - "in_eu": false, - "name": "Colombia", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "CO" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Costa Rica", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "CR" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Cuba", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "CU" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Cabo Verde", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "CV" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "CuraƧao", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "CW" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Christmas Island", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "CX" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": true, - "name": "Cyprus", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "CY" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": true, - "name": "Czech Republic", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "CZ" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": true, - "name": "Germany", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "DE" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Djibouti", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "DJ" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": true, - "name": "Denmark", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "DK" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Dominica", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "DM" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Dominican Republic", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "DO" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Algeria", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "DZ" - }, - { - "fields": { - "continent": "south-america", - "desc": "", - "in_eu": false, - "name": "Ecuador", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "EC" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": true, - "name": "Estonia", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "EE" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Egypt", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "EG" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Western Sahara", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "EH" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Eritrea", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "ER" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": true, - "name": "Spain", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "ES" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Ethiopia", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "ET" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": true, - "name": "Finland", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "FI" - }, - { - "fields": { - "continent": "oceania", - "desc": "", - "in_eu": false, - "name": "Fiji", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "FJ" - }, - { - "fields": { - "continent": "south-america", - "desc": "", - "in_eu": false, - "name": "Falkland Islands [Malvinas]", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "FK" - }, - { - "fields": { - "continent": "oceania", - "desc": "", - "in_eu": false, - "name": "Micronesia (Federated States of)", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "FM" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": false, - "name": "Faroe Islands", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "FO" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": true, - "name": "France", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "FR" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Gabon", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "GA" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": true, - "name": "United Kingdom", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "GB" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Grenada", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "GD" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Georgia", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "GE" - }, - { - "fields": { - "continent": "south-america", - "desc": "", - "in_eu": false, - "name": "French Guiana", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "GF" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": false, - "name": "Guernsey", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "GG" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Ghana", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "GH" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": false, - "name": "Gibraltar", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "GI" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Greenland", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "GL" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Gambia", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "GM" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Guinea", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "GN" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Guadeloupe", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "GP" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Equatorial Guinea", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "GQ" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": true, - "name": "Greece", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "GR" - }, - { - "fields": { - "continent": "antarctica", - "desc": "", - "in_eu": false, - "name": "South Georgia and the South Sandwich Islands", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "GS" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Guatemala", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "GT" - }, - { - "fields": { - "continent": "oceania", - "desc": "", - "in_eu": false, - "name": "Guam", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "GU" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Guinea-Bissau", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "GW" - }, - { - "fields": { - "continent": "south-america", - "desc": "", - "in_eu": false, - "name": "Guyana", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "GY" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Hong Kong", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "HK" - }, - { - "fields": { - "continent": "antarctica", - "desc": "", - "in_eu": false, - "name": "Heard Island and McDonald Islands", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "HM" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Honduras", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "HN" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": true, - "name": "Croatia", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "HR" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Haiti", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "HT" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": true, - "name": "Hungary", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "HU" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Indonesia", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "ID" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": true, - "name": "Ireland", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "IE" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Israel", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "IL" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": false, - "name": "Isle of Man", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "IM" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "India", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "IN" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "British Indian Ocean Territory", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "IO" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Iraq", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "IQ" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Iran", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "IR" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": false, - "name": "Iceland", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "IS" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": true, - "name": "Italy", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "IT" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": false, - "name": "Jersey", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "JE" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Jamaica", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "JM" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Jordan", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "JO" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Japan", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "JP" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Kenya", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "KE" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Kyrgyzstan", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "KG" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Cambodia", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "KH" - }, - { - "fields": { - "continent": "oceania", - "desc": "", - "in_eu": false, - "name": "Kiribati", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "KI" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Comoros", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "KM" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Saint Kitts and Nevis", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "KN" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "North Korea", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "KP" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "South Korea", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "KR" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Kuwait", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "KW" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Cayman Islands", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "KY" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Kazakhstan", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "KZ" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Laos", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "LA" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Lebanon", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "LB" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Saint Lucia", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "LC" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": false, - "name": "Liechtenstein", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "LI" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Sri Lanka", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "LK" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Liberia", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "LR" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Lesotho", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "LS" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": true, - "name": "Lithuania", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "LT" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": true, - "name": "Luxembourg", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "LU" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": true, - "name": "Latvia", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "LV" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Libya", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "LY" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Morocco", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "MA" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": false, - "name": "Monaco", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "MC" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": false, - "name": "Moldova", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "MD" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": false, - "name": "Montenegro", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "ME" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Saint Martin (French part)", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "MF" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Madagascar", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "MG" - }, - { - "fields": { - "continent": "oceania", - "desc": "", - "in_eu": false, - "name": "Marshall Islands", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "MH" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": false, - "name": "Macedonia", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "MK" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Mali", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "ML" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Myanmar", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "MM" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Mongolia", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "MN" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Macao", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "MO" - }, - { - "fields": { - "continent": "oceania", - "desc": "", - "in_eu": false, - "name": "Northern Mariana Islands", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "MP" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Martinique", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "MQ" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Mauritania", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "MR" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Montserrat", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "MS" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": true, - "name": "Malta", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "MT" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Mauritius", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "MU" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Maldives", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "MV" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Malawi", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "MW" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Mexico", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "MX" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Malaysia", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "MY" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Mozambique", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "MZ" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Namibia", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "NA" - }, - { - "fields": { - "continent": "oceania", - "desc": "", - "in_eu": false, - "name": "New Caledonia", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "NC" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Niger", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "NE" - }, - { - "fields": { - "continent": "oceania", - "desc": "", - "in_eu": false, - "name": "Norfolk Island", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "NF" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Nigeria", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "NG" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Nicaragua", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "NI" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": true, - "name": "Netherlands", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "NL" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": false, - "name": "Norway", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "NO" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Nepal", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "NP" - }, - { - "fields": { - "continent": "oceania", - "desc": "", - "in_eu": false, - "name": "Nauru", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "NR" - }, - { - "fields": { - "continent": "oceania", - "desc": "", - "in_eu": false, - "name": "Niue", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "NU" - }, - { - "fields": { - "continent": "oceania", - "desc": "", - "in_eu": false, - "name": "New Zealand", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "NZ" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Oman", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "OM" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Panama", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "PA" - }, - { - "fields": { - "continent": "south-america", - "desc": "", - "in_eu": false, - "name": "Peru", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "PE" - }, - { - "fields": { - "continent": "oceania", - "desc": "", - "in_eu": false, - "name": "French Polynesia", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "PF" - }, - { - "fields": { - "continent": "oceania", - "desc": "", - "in_eu": false, - "name": "Papua New Guinea", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "PG" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Philippines", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "PH" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Pakistan", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "PK" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": true, - "name": "Poland", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "PL" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Saint Pierre and Miquelon", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "PM" - }, - { - "fields": { - "continent": "oceania", - "desc": "", - "in_eu": false, - "name": "Pitcairn", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "PN" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Puerto Rico", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "PR" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Palestine, State of", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "PS" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": true, - "name": "Portugal", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "PT" - }, - { - "fields": { - "continent": "oceania", - "desc": "", - "in_eu": false, - "name": "Palau", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "PW" - }, - { - "fields": { - "continent": "south-america", - "desc": "", - "in_eu": false, - "name": "Paraguay", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "PY" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Qatar", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "QA" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "RĆ©union", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "RE" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": true, - "name": "Romania", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "RO" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": false, - "name": "Serbia", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "RS" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": false, - "name": "Russia", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "RU" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Rwanda", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "RW" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Saudi Arabia", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "SA" - }, - { - "fields": { - "continent": "oceania", - "desc": "", - "in_eu": false, - "name": "Solomon Islands", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "SB" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Seychelles", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "SC" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Sudan", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "SD" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": true, - "name": "Sweden", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "SE" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Singapore", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "SG" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Saint Helena, Ascension and Tristan da Cunha", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "SH" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": true, - "name": "Slovenia", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "SI" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": false, - "name": "Svalbard and Jan Mayen", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "SJ" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": true, - "name": "Slovakia", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "SK" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Sierra Leone", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "SL" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": false, - "name": "San Marino", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "SM" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Senegal", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "SN" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Somalia", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "SO" - }, - { - "fields": { - "continent": "south-america", - "desc": "", - "in_eu": false, - "name": "Suriname", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "SR" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "South Sudan", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "SS" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Sao Tome and Principe", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "ST" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "El Salvador", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "SV" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Sint Maarten (Dutch part)", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "SX" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Syria", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "SY" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Swaziland", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "SZ" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Turks and Caicos Islands", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "TC" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Chad", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "TD" - }, - { - "fields": { - "continent": "antarctica", - "desc": "", - "in_eu": false, - "name": "French Southern Territories", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "TF" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Togo", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "TG" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Thailand", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "TH" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Tajikistan", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "TJ" - }, - { - "fields": { - "continent": "oceania", - "desc": "", - "in_eu": false, - "name": "Tokelau", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "TK" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Timor-Leste", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "TL" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Turkmenistan", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "TM" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Tunisia", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "TN" - }, - { - "fields": { - "continent": "oceania", - "desc": "", - "in_eu": false, - "name": "Tonga", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "TO" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": false, - "name": "Turkey", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "TR" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Trinidad and Tobago", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "TT" - }, - { - "fields": { - "continent": "oceania", - "desc": "", - "in_eu": false, - "name": "Tuvalu", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "TV" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Taiwan", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "TW" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Tanzania", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "TZ" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": false, - "name": "Ukraine", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "UA" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Uganda", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "UG" - }, - { - "fields": { - "continent": "oceania", - "desc": "", - "in_eu": false, - "name": "United States Minor Outlying Islands", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "UM" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "United States of America", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "US" - }, - { - "fields": { - "continent": "south-america", - "desc": "", - "in_eu": false, - "name": "Uruguay", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "UY" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Uzbekistan", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "UZ" - }, - { - "fields": { - "continent": "europe", - "desc": "", - "in_eu": false, - "name": "Holy See", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "VA" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Saint Vincent and the Grenadines", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "VC" - }, - { - "fields": { - "continent": "south-america", - "desc": "", - "in_eu": false, - "name": "Venezuela", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "VE" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Virgin Islands (British)", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "VG" - }, - { - "fields": { - "continent": "north-america", - "desc": "", - "in_eu": false, - "name": "Virgin Islands (U.S.)", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "VI" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Vietnam", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "VN" - }, - { - "fields": { - "continent": "oceania", - "desc": "", - "in_eu": false, - "name": "Vanuatu", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "VU" - }, - { - "fields": { - "continent": "oceania", - "desc": "", - "in_eu": false, - "name": "Wallis and Futuna", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "WF" - }, - { - "fields": { - "continent": "oceania", - "desc": "", - "in_eu": false, - "name": "Samoa", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "WS" - }, - { - "fields": { - "continent": "asia", - "desc": "", - "in_eu": false, - "name": "Yemen", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "YE" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Mayotte", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "YT" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "South Africa", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "ZA" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Zambia", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "ZM" - }, - { - "fields": { - "continent": "africa", - "desc": "", - "in_eu": false, - "name": "Zimbabwe", - "order": 0, - "used": true - }, - "model": "name.countryname", - "pk": "ZW" - }, - { - "fields": { - "desc": "", - "name": "Django", - "order": 0, - "used": true - }, - "model": "name.dbtemplatetypename", - "pk": "django" - }, - { - "fields": { - "desc": "", - "name": "Plain", - "order": 0, - "used": true - }, - "model": "name.dbtemplatetypename", - "pk": "plain" - }, - { - "fields": { - "desc": "", - "name": "reStructuredText", - "order": 0, - "used": true - }, - "model": "name.dbtemplatetypename", - "pk": "rst" - }, - { - "fields": { - "desc": "", - "name": "conflict reviews", - "order": 0, - "revname": "Conflict reviewed by", - "used": true - }, - "model": "name.docrelationshipname", - "pk": "conflrev" - }, - { - "fields": { - "desc": "Approval for downref", - "name": "approves downref to", - "order": 0, - "revname": "was approved for downref by", - "used": true - }, - "model": "name.docrelationshipname", - "pk": "downref-approval" - }, - { - "fields": { - "desc": "", - "name": "Obsoletes", - "order": 0, - "revname": "Obsoleted by", - "used": true - }, - "model": "name.docrelationshipname", - "pk": "obs" - }, - { - "fields": { - "desc": "", - "name": "Possibly Replaces", - "order": 0, - "revname": "Possibly Replaced By", - "used": true - }, - "model": "name.docrelationshipname", - "pk": "possibly-replaces" - }, - { - "fields": { - "desc": "Informative Reference", - "name": "informatively references", - "order": 0, - "revname": "is informatively referenced by", - "used": true - }, - "model": "name.docrelationshipname", - "pk": "refinfo" - }, - { - "fields": { - "desc": "Normative Reference", - "name": "normatively references", - "order": 0, - "revname": "is normatively referenced by", - "used": true - }, - "model": "name.docrelationshipname", - "pk": "refnorm" - }, - { - "fields": { - "desc": "A reference found in a document which does not have split normative/informative reference sections.", - "name": "Reference", - "order": 0, - "revname": "Referenced by", - "used": true - }, - "model": "name.docrelationshipname", - "pk": "refold" - }, - { - "fields": { - "desc": "Reference of unknown type, likely found in the text of the document.", - "name": "Possible Reference", - "order": 3, - "revname": "Possibly Referenced By", - "used": true - }, - "model": "name.docrelationshipname", - "pk": "refunk" - }, - { - "fields": { - "desc": "", - "name": "Replaces", - "order": 0, - "revname": "Replaced by", - "used": true - }, - "model": "name.docrelationshipname", - "pk": "replaces" - }, - { - "fields": { - "desc": "", - "name": "Moves to BCP", - "order": 0, - "revname": "Moved to BCP by", - "used": true - }, - "model": "name.docrelationshipname", - "pk": "tobcp" - }, - { - "fields": { - "desc": "", - "name": "Moves to Experimental", - "order": 0, - "revname": "Moved to Experimental by", - "used": true - }, - "model": "name.docrelationshipname", - "pk": "toexp" - }, - { - "fields": { - "desc": "", - "name": "Moves to Historic", - "order": 0, - "revname": "Moved to Historic by", - "used": true - }, - "model": "name.docrelationshipname", - "pk": "tohist" - }, - { - "fields": { - "desc": "", - "name": "Moves to Informational", - "order": 0, - "revname": "Moved to Informational by", - "used": true - }, - "model": "name.docrelationshipname", - "pk": "toinf" - }, - { - "fields": { - "desc": "", - "name": "Moves to Internet Standard", - "order": 0, - "revname": "Moved to Internet Standard by", - "used": true - }, - "model": "name.docrelationshipname", - "pk": "tois" - }, - { - "fields": { - "desc": "", - "name": "Moves to Proposed Standard", - "order": 0, - "revname": "Moved to Proposed Standard by", - "used": true - }, - "model": "name.docrelationshipname", - "pk": "tops" - }, - { - "fields": { - "desc": "", - "name": "Updates", - "order": 0, - "revname": "Updated by", - "used": true - }, - "model": "name.docrelationshipname", - "pk": "updates" - }, - { - "fields": { - "desc": "", - "name": "Stream state should change", - "order": 0, - "used": true - }, - "model": "name.docremindertypename", - "pk": "stream-s" - }, - { - "fields": { - "desc": "A generic substate indicating that the shepherding AD has the action item to determine appropriate next steps. In particular, the appropriate steps (and the corresponding next state or substate) depend entirely on the nature of the issues that were raised and can only be decided with active involvement of the shepherding AD. Examples include:\n\n- if another AD raises an issue, the shepherding AD may first iterate with the other AD to get a better understanding of the exact issue. Or, the shepherding AD may attempt to argue that the issue is not serious enough to bring to the attention of the authors/WG.\n\n- if a documented issue is forwarded to a WG, some further iteration may be needed before it can be determined whether a new revision is needed or whether the WG response to an issue clarifies the issue sufficiently.\n\n- when a new revision appears, the shepherding AD will first look at the changes to determine whether they believe all outstanding issues have been raised satisfactorily, prior to asking the ADs who raised the original issues to verify the changes.", - "name": "AD Followup", - "order": 2, - "used": true - }, - "model": "name.doctagname", - "pk": "ad-f-up" - }, - { - "fields": { - "desc": "", - "name": "Approved in minutes", - "order": 0, - "used": true - }, - "model": "name.doctagname", - "pk": "app-min" - }, - { - "fields": { - "desc": "", - "name": "Has errata", - "order": 0, - "used": true - }, - "model": "name.doctagname", - "pk": "errata" - }, - { - "fields": { - "desc": "The document is awaiting review or input from an external party (i.e, someone other than the shepherding AD, the authors, or the WG). See the \"note\" field for more details on who has the action.", - "name": "External Party", - "order": 3, - "used": true - }, - "model": "name.doctagname", - "pk": "extpty" - }, - { - "fields": { - "desc": "The document has IANA actions that are not yet completed.", - "name": "IANA", - "order": 0, - "used": true - }, - "model": "name.doctagname", - "pk": "iana" - }, - { - "fields": { - "desc": "RFC-Editor/IANA Registration Coordination", - "name": "IANA coordination", - "order": 0, - "used": true - }, - "model": "name.doctagname", - "pk": "iana-crd" - }, - { - "fields": { - "desc": "", - "name": "IESG Review Completed", - "order": 0, - "used": true - }, - "model": "name.doctagname", - "pk": "iesg-com" - }, - { - "fields": { - "desc": "Awaiting missing normative reference", - "name": "Missing references", - "order": 0, - "used": true - }, - "model": "name.doctagname", - "pk": "missref" - }, - { - "fields": { - "desc": "", - "name": "Author or Editor Needed", - "order": 4, - "used": true - }, - "model": "name.doctagname", - "pk": "need-aut" - }, - { - "fields": { - "desc": "", - "name": "Editor Needed", - "order": 1, - "used": true - }, - "model": "name.doctagname", - "pk": "need-ed" - }, - { - "fields": { - "desc": "An updated I-D is needed to address the issues that have been raised.", - "name": "Revised I-D Needed", - "order": 5, - "used": true - }, - "model": "name.doctagname", - "pk": "need-rev" - }, - { - "fields": { - "desc": "", - "name": "Shepherd Needed", - "order": 0, - "used": true - }, - "model": "name.doctagname", - "pk": "need-sh" - }, - { - "fields": { - "desc": "", - "name": "Polled for WG adoption but not adopted", - "order": 0, - "used": true - }, - "model": "name.doctagname", - "pk": "no-adopt" - }, - { - "fields": { - "desc": "", - "name": "Other - see Comment Log", - "order": 11, - "used": true - }, - "model": "name.doctagname", - "pk": "other" - }, - { - "fields": { - "desc": "IESG discussions on the document have raised some issues that need to be brought to the attention of the authors/WG, but those issues have not been written down yet. (It is common for discussions during a telechat to result in such situations. An AD may raise a possible issue during a telechat and only decide as a result of that discussion whether the issue is worth formally writing up and bringing to the attention of the authors/WG). A document stays in the \"Point Raised - Writeup Needed\" state until *ALL* IESG comments that have been raised have been documented.", - "name": "Point Raised - writeup needed", - "order": 1, - "used": true - }, - "model": "name.doctagname", - "pk": "point" - }, - { - "fields": { - "desc": "Holding for normative reference", - "name": "Holding for references", - "order": 0, - "used": true - }, - "model": "name.doctagname", - "pk": "ref" - }, - { - "fields": { - "desc": "", - "name": "Revised I-D Needed - Issue raised by AD", - "order": 8, - "used": true - }, - "model": "name.doctagname", - "pk": "rev-ad" - }, - { - "fields": { - "desc": "", - "name": "Revised I-D Needed - Issue raised by IESG", - "order": 9, - "used": true - }, - "model": "name.doctagname", - "pk": "rev-iesg" - }, - { - "fields": { - "desc": "", - "name": "Revised I-D Needed - Issue raised by WG", - "order": 0, - "used": true - }, - "model": "name.doctagname", - "pk": "rev-wg" - }, - { - "fields": { - "desc": "", - "name": "Revised I-D Needed - Issue raised by WGLC", - "order": 7, - "used": true - }, - "model": "name.doctagname", - "pk": "rev-wglc" - }, - { - "fields": { - "desc": "", - "name": "Review by RFC Editor", - "order": 0, - "used": true - }, - "model": "name.doctagname", - "pk": "rfc-rev" - }, - { - "fields": { - "desc": "", - "name": "Document Shepherd Followup", - "order": 4, - "used": true - }, - "model": "name.doctagname", - "pk": "sh-f-up" - }, - { - "fields": { - "desc": "", - "name": "Doc Shepherd Follow-up Underway", - "order": 10, - "used": true - }, - "model": "name.doctagname", - "pk": "sheph-u" - }, - { - "fields": { - "desc": "", - "name": "Via RFC Editor", - "order": 0, - "used": true - }, - "model": "name.doctagname", - "pk": "via-rfc" - }, - { - "fields": { - "desc": "", - "name": "Waiting for Dependency on Other Document", - "order": 0, - "used": true - }, - "model": "name.doctagname", - "pk": "w-dep" - }, - { - "fields": { - "desc": "", - "name": "Awaiting Expert Review/Resolution of Issues Raised", - "order": 1, - "used": true - }, - "model": "name.doctagname", - "pk": "w-expert" - }, - { - "fields": { - "desc": "", - "name": "Awaiting External Review/Resolution of Issues Raised", - "order": 2, - "used": true - }, - "model": "name.doctagname", - "pk": "w-extern" - }, - { - "fields": { - "desc": "", - "name": "Awaiting Merge with Other Document", - "order": 3, - "used": true - }, - "model": "name.doctagname", - "pk": "w-merge" - }, - { - "fields": { - "desc": "", - "name": "Waiting for Partner Feedback", - "order": 2, - "used": true - }, - "model": "name.doctagname", - "pk": "w-part" - }, - { - "fields": { - "desc": "", - "name": "Waiting for Referenced Document", - "order": 5, - "used": true - }, - "model": "name.doctagname", - "pk": "w-refdoc" - }, - { - "fields": { - "desc": "", - "name": "Waiting for Referencing Document", - "order": 6, - "used": true - }, - "model": "name.doctagname", - "pk": "w-refing" - }, - { - "fields": { - "desc": "", - "name": "Awaiting Reviews", - "order": 3, - "used": true - }, - "model": "name.doctagname", - "pk": "w-review" - }, - { - "fields": { - "desc": "", - "name": "Agenda", - "order": 0, - "prefix": "agenda", - "used": true - }, - "model": "name.doctypename", - "pk": "agenda" - }, - { - "fields": { - "desc": "", - "name": "Bluesheets", - "order": 0, - "prefix": "bluesheets", - "used": true - }, - "model": "name.doctypename", - "pk": "bluesheets" - }, - { - "fields": { - "desc": "", - "name": "Charter", - "order": 0, - "prefix": "charter", - "used": true - }, - "model": "name.doctypename", - "pk": "charter" - }, - { - "fields": { - "desc": "", - "name": "Conflict Review", - "order": 0, - "prefix": "conflict-review", - "used": true - }, - "model": "name.doctypename", - "pk": "conflrev" - }, - { - "fields": { - "desc": "", - "name": "Draft", - "order": 0, - "prefix": "draft", - "used": true - }, - "model": "name.doctypename", - "pk": "draft" - }, - { - "fields": { - "desc": "", - "name": "Liaison Attachment", - "order": 0, - "prefix": "liai-att", - "used": true - }, - "model": "name.doctypename", - "pk": "liai-att" - }, - { - "fields": { - "desc": "", - "name": "Liaison", - "order": 0, - "prefix": "liaison", - "used": false - }, - "model": "name.doctypename", - "pk": "liaison" - }, - { - "fields": { - "desc": "", - "name": "Minutes", - "order": 0, - "prefix": "minutes", - "used": true - }, - "model": "name.doctypename", - "pk": "minutes" - }, - { - "fields": { - "desc": "", - "name": "Recording", - "order": 0, - "prefix": "recording", - "used": true - }, - "model": "name.doctypename", - "pk": "recording" - }, - { - "fields": { - "desc": "", - "name": "Review", - "order": 0, - "prefix": "review", - "used": true - }, - "model": "name.doctypename", - "pk": "review" - }, - { - "fields": { - "desc": "", - "name": "Shepherd's writeup", - "order": 0, - "prefix": "shepherd", - "used": false - }, - "model": "name.doctypename", - "pk": "shepwrit" - }, - { - "fields": { - "desc": "", - "name": "Slides", - "order": 0, - "prefix": "slides", - "used": true - }, - "model": "name.doctypename", - "pk": "slides" - }, - { - "fields": { - "desc": "", - "name": "Status Change", - "order": 0, - "prefix": "status-change", - "used": true - }, - "model": "name.doctypename", - "pk": "statchg" - }, - { - "fields": { - "desc": "", - "name": "Document issue tracker", - "order": 0, - "used": true - }, - "model": "name.docurltagname", - "pk": "issues" - }, - { - "fields": { - "desc": "", - "name": "Document source repository", - "order": 0, - "used": true - }, - "model": "name.docurltagname", - "pk": "repository" - }, - { - "fields": { - "desc": "", - "name": "Document wiki", - "order": 0, - "used": true - }, - "model": "name.docurltagname", - "pk": "wiki" - }, - { - "fields": { - "desc": "", - "name": "Yang impact analysis", - "order": 0, - "used": true - }, - "model": "name.docurltagname", - "pk": "yang-impact-analysis" - }, - { - "fields": { - "desc": "", - "name": "Extracted yang module", - "order": 0, - "used": true - }, - "model": "name.docurltagname", - "pk": "yang-module" - }, - { - "fields": { - "desc": "", - "name": "Yang module metadata", - "order": 0, - "used": true - }, - "model": "name.docurltagname", - "pk": "yang-module-metadata" - }, - { - "fields": { - "desc": "", - "name": "Awaiting Approval from Previous Version Authors", - "next_states": [ - "confirmed", - "cancel", - "posted" - ], - "order": 3, - "used": true - }, - "model": "name.draftsubmissionstatename", - "pk": "aut-appr" - }, - { - "fields": { - "desc": "", - "name": "Awaiting Submitter Authentication", - "next_states": [ - "confirmed", - "cancel", - "posted" - ], - "order": 2, - "used": true - }, - "model": "name.draftsubmissionstatename", - "pk": "auth" - }, - { - "fields": { - "desc": "", - "name": "Cancelled", - "next_states": [], - "order": 6, - "used": true - }, - "model": "name.draftsubmissionstatename", - "pk": "cancel" - }, - { - "fields": { - "desc": "", - "name": "Confirmed", - "next_states": [ - "cancel", - "posted" - ], - "order": 0, - "used": true - }, - "model": "name.draftsubmissionstatename", - "pk": "confirmed" - }, - { - "fields": { - "desc": "", - "name": "Awaiting Initial Version Approval", - "next_states": [ - "cancel", - "posted" - ], - "order": 4, - "used": true - }, - "model": "name.draftsubmissionstatename", - "pk": "grp-appr" - }, - { - "fields": { - "desc": "", - "name": "Awaiting Manual Post", - "next_states": [ - "cancel", - "posted" - ], - "order": 5, - "used": true - }, - "model": "name.draftsubmissionstatename", - "pk": "manual" - }, - { - "fields": { - "desc": "", - "name": "Posted", - "next_states": [], - "order": 7, - "used": true - }, - "model": "name.draftsubmissionstatename", - "pk": "posted" - }, - { - "fields": { - "desc": "", - "name": "Uploaded", - "next_states": [ - "auth", - "aut-appr", - "grp-appr", - "manual", - "cancel" - ], - "order": 1, - "used": true - }, - "model": "name.draftsubmissionstatename", - "pk": "uploaded" - }, - { - "fields": { - "desc": "", - "name": "Manual Post Waiting for Draft", - "next_states": [ - "cancel", - "posted" - ], - "order": 8, - "used": true - }, - "model": "name.draftsubmissionstatename", - "pk": "waiting-for-draft" - }, - { - "fields": { - "desc": "", - "name": "Comment", - "order": 0, - "used": true - }, - "model": "name.feedbacktypename", - "pk": "comment" - }, - { - "fields": { - "desc": "", - "name": "Junk", - "order": 0, - "used": true - }, - "model": "name.feedbacktypename", - "pk": "junk" - }, - { - "fields": { - "desc": "", - "name": "Nomination", - "order": 0, - "used": true - }, - "model": "name.feedbacktypename", - "pk": "nomina" - }, - { - "fields": { - "desc": "", - "name": "Questionnaire response", - "order": 0, - "used": true - }, - "model": "name.feedbacktypename", - "pk": "questio" - }, - { - "fields": { - "desc": "", - "name": "Read", - "order": 0, - "used": true - }, - "model": "name.feedbacktypename", - "pk": "read" - }, - { - "fields": { - "desc": "Augmented Backus-Naur Form", - "name": "ABNF", - "order": 1, - "used": true - }, - "model": "name.formallanguagename", - "pk": "abnf" - }, - { - "fields": { - "desc": "Abstract Syntax Notation One", - "name": "ASN.1", - "order": 2, - "used": true - }, - "model": "name.formallanguagename", - "pk": "asn1" - }, - { - "fields": { - "desc": "Concise Binary Object Representation", - "name": "CBOR", - "order": 3, - "used": true - }, - "model": "name.formallanguagename", - "pk": "cbor" - }, - { - "fields": { - "desc": "Code in the C Programming Language", - "name": "C Code", - "order": 4, - "used": true - }, - "model": "name.formallanguagename", - "pk": "ccode" - }, - { - "fields": { - "desc": "Javascript Object Notation", - "name": "JSON", - "order": 5, - "used": true - }, - "model": "name.formallanguagename", - "pk": "json" - }, - { - "fields": { - "desc": "Extensible Markup Language", - "name": "XML", - "order": 6, - "used": true - }, - "model": "name.formallanguagename", - "pk": "xml" - }, - { - "fields": { - "desc": "", - "name": "Active", - "order": 1, - "used": true - }, - "model": "name.groupmilestonestatename", - "pk": "active" - }, - { - "fields": { - "desc": "", - "name": "Chartering/rechartering", - "order": 4, - "used": true - }, - "model": "name.groupmilestonestatename", - "pk": "charter" - }, - { - "fields": { - "desc": "", - "name": "Deleted", - "order": 2, - "used": true - }, - "model": "name.groupmilestonestatename", - "pk": "deleted" - }, - { - "fields": { - "desc": "", - "name": "For review", - "order": 3, - "used": true - }, - "model": "name.groupmilestonestatename", - "pk": "review" - }, - { - "fields": { - "desc": "Formation of the group (most likely a BoF or Proposed WG) was abandoned", - "name": "Abandonded", - "order": 0, - "used": true - }, - "model": "name.groupstatename", - "pk": "abandon" - }, - { - "fields": { - "desc": "", - "name": "Active", - "order": 0, - "used": true - }, - "model": "name.groupstatename", - "pk": "active" - }, - { - "fields": { - "desc": "", - "name": "BOF", - "order": 0, - "used": true - }, - "model": "name.groupstatename", - "pk": "bof" - }, - { - "fields": { - "desc": "", - "name": "BOF Concluded", - "order": 0, - "used": true - }, - "model": "name.groupstatename", - "pk": "bof-conc" - }, - { - "fields": { - "desc": "", - "name": "Concluded", - "order": 0, - "used": true - }, - "model": "name.groupstatename", - "pk": "conclude" - }, - { - "fields": { - "desc": "", - "name": "Dormant", - "order": 0, - "used": true - }, - "model": "name.groupstatename", - "pk": "dormant" - }, - { - "fields": { - "desc": "", - "name": "Proposed", - "order": 0, - "used": true - }, - "model": "name.groupstatename", - "pk": "proposed" - }, - { - "fields": { - "desc": "Replaced by dnssd", - "name": "Replaced", - "order": 0, - "used": true - }, - "model": "name.groupstatename", - "pk": "replaced" - }, - { - "fields": { - "desc": "", - "name": "Unknown", - "order": 0, - "used": true - }, - "model": "name.groupstatename", - "pk": "unknown" - }, - { - "fields": { - "desc": "Ad Hoc schedulable Group Type, for instance HotRfc", - "name": "Ad Hoc", - "order": 0, - "used": true, - "verbose_name": "Ad Hoc Group Type" - }, - "model": "name.grouptypename", - "pk": "adhoc" - }, - { - "fields": { - "desc": "", - "name": "Admin", - "order": 0, - "used": true, - "verbose_name": "Administrative Group" - }, - "model": "name.grouptypename", - "pk": "admin" - }, - { - "fields": { - "desc": "Area group", - "name": "AG", - "order": 0, - "used": true, - "verbose_name": "Area Group" - }, - "model": "name.grouptypename", - "pk": "ag" - }, - { - "fields": { - "desc": "", - "name": "Area", - "order": 0, - "used": true, - "verbose_name": "Area" - }, - "model": "name.grouptypename", - "pk": "area" - }, - { - "fields": { - "desc": "In many areas, the Area Directors have formed an advisory group or directorate. These comprise experienced members of the IETF and the technical community represented by the area. The specific name and the details of the role for each group differ from area to area, but the primary intent is that these groups assist the Area Director(s), e.g., with the review of specifications produced in the area.", - "name": "Directorate", - "order": 0, - "used": true, - "verbose_name": "Area Directorate" - }, - "model": "name.grouptypename", - "pk": "dir" - }, - { - "fields": { - "desc": "", - "name": "IAB", - "order": 0, - "used": true, - "verbose_name": "Internet Architecture Board" - }, - "model": "name.grouptypename", - "pk": "iab" - }, - { - "fields": { - "desc": "", - "name": "IANA", - "order": 0, - "used": true, - "verbose_name": "Internet Assigned Numbers Authority" - }, - "model": "name.grouptypename", - "pk": "iana" - }, - { - "fields": { - "desc": "", - "name": "IESG", - "order": 0, - "used": true, - "verbose_name": "Internet Engineering Steering Group" - }, - "model": "name.grouptypename", - "pk": "iesg" - }, - { - "fields": { - "desc": "", - "name": "IETF", - "order": 0, - "used": true, - "verbose_name": "Internet Engineering Task Force" - }, - "model": "name.grouptypename", - "pk": "ietf" - }, - { - "fields": { - "desc": "", - "name": "Individual", - "order": 0, - "used": true, - "verbose_name": "An Individual" - }, - "model": "name.grouptypename", - "pk": "individ" - }, - { - "fields": { - "desc": "", - "name": "IRTF", - "order": 0, - "used": true, - "verbose_name": "Internet Research Task Force" - }, - "model": "name.grouptypename", - "pk": "irtf" - }, - { - "fields": { - "desc": "", - "name": "ISE", - "order": 0, - "used": true, - "verbose_name": "Independent Stream Editor" - }, - "model": "name.grouptypename", - "pk": "ise" - }, - { - "fields": { - "desc": "", - "name": "ISOC", - "order": 0, - "used": true, - "verbose_name": "The Internet Society" - }, - "model": "name.grouptypename", - "pk": "isoc" - }, - { - "fields": { - "desc": "An IETF/IAB Nominating Committee. Use 'SDO' for external nominating committees.", - "name": "Nomcom", - "order": 0, - "used": true, - "verbose_name": "IETF/IAB Nominating Committee" - }, - "model": "name.grouptypename", - "pk": "nomcom" - }, - { - "fields": { - "desc": "Program", - "name": "Program", - "order": 0, - "used": true, - "verbose_name": "" - }, - "model": "name.grouptypename", - "pk": "program" - }, - { - "fields": { - "desc": "", - "name": "Directorate (with reviews)", - "order": 0, - "used": true, - "verbose_name": "" - }, - "model": "name.grouptypename", - "pk": "review" - }, - { - "fields": { - "desc": "", - "name": "RFC Editor", - "order": 0, - "used": true, - "verbose_name": "The RFC Editor" - }, - "model": "name.grouptypename", - "pk": "rfcedtyp" - }, - { - "fields": { - "desc": "Research group", - "name": "RG", - "order": 0, - "used": true, - "verbose_name": "Research Group" - }, - "model": "name.grouptypename", - "pk": "rg" - }, - { - "fields": { - "desc": "Standards organization", - "name": "SDO", - "order": 0, - "used": true, - "verbose_name": "Standards Organization" - }, - "model": "name.grouptypename", - "pk": "sdo" - }, - { - "fields": { - "desc": "", - "name": "Team", - "order": 0, - "used": true, - "verbose_name": "Team" - }, - "model": "name.grouptypename", - "pk": "team" - }, - { - "fields": { - "desc": "Working group", - "name": "WG", - "order": 0, - "used": true, - "verbose_name": "Working Group" - }, - "model": "name.grouptypename", - "pk": "wg" - }, - { - "fields": { - "default_offset_days": -19, - "desc": "Internet Draft submission cut-off for -00 drafts by UTC 23:59", - "name": "00 ID Cutoff", - "order": 0, - "used": false - }, - "model": "name.importantdatename", - "pk": "00cutoff" - }, - { - "fields": { - "default_offset_days": -12, - "desc": "Internet Draft submission cut-off for revised (-01 and above) drafts by UTC 23:59", - "name": "01 ID Cutoff", - "order": 0, - "used": false - }, - "model": "name.importantdatename", - "pk": "01cutoff" - }, - { - "fields": { - "default_offset_days": -36, - "desc": "Cut-off date for Area Directors to approve BOFs at UTC 23:59", - "name": "Cut-off BOF approval", - "order": 0, - "used": true - }, - "model": "name.importantdatename", - "pk": "cutoffbofapprove" - }, - { - "fields": { - "default_offset_days": -43, - "desc": "Cut-off date for BOF proposal requests to Area Directors at UTC 23:59", - "name": "Cut-off BOF scheduling Requests", - "order": 0, - "used": true - }, - "model": "name.importantdatename", - "pk": "cutoffbofreq" - }, - { - "fields": { - "default_offset_days": -5, - "desc": "Registration cancellation cut-off at UTC 23:59", - "name": "Registration Cancellation Cut-off", - "order": 0, - "used": true - }, - "model": "name.importantdatename", - "pk": "cutoffcancel" - }, - { - "fields": { - "default_offset_days": -1, - "desc": "Final Pre-Registration and Pre-Payment cut-off at 17:00 local meeting time", - "name": "Pre-Registration Cutoff", - "order": 0, - "used": false - }, - "model": "name.importantdatename", - "pk": "cutoffpre" - }, - { - "fields": { - "default_offset_days": -24, - "desc": "Cut-off date for requests to reschedule Working Group or BOF meetings UTC 23:59", - "name": "Cut-off Reschedule Requests", - "order": 0, - "used": true - }, - "model": "name.importantdatename", - "pk": "cutoffresched" - }, - { - "fields": { - "default_offset_days": -43, - "desc": "Cut-off date for requests to schedule Working Group Meetings at UTC 23:59", - "name": "Cut-off WG scheduling Requests", - "order": 0, - "used": true - }, - "model": "name.importantdatename", - "pk": "cutoffwgreq" - }, - { - "fields": { - "default_offset_days": -10, - "desc": "Draft Working Group agendas due by UTC 23:59", - "name": "Draft Working Group Agendas", - "order": 0, - "used": true - }, - "model": "name.importantdatename", - "pk": "draftwgagenda" - }, - { - "fields": { - "default_offset_days": -47, - "desc": "Early Bird registration and payment cut-off at UTC 23:59", - "name": "Earlybird cutoff", - "order": 0, - "used": true - }, - "model": "name.importantdatename", - "pk": "earlybird" - }, - { - "fields": { - "default_offset_days": -22, - "desc": "Final agenda to be published", - "name": "Final Agenda", - "order": 0, - "used": true - }, - "model": "name.importantdatename", - "pk": "finalagenda" - }, - { - "fields": { - "default_offset_days": -12, - "desc": "Internet Draft submission cut-off (for all drafts, including -00) by UTC 23:59", - "name": "ID Cutoff", - "order": 0, - "used": true - }, - "model": "name.importantdatename", - "pk": "idcutoff" - }, - { - "fields": { - "default_offset_days": -82, - "desc": "IETF Online Registration Opens", - "name": "Registration Opens", - "order": 0, - "used": true - }, - "model": "name.importantdatename", - "pk": "openreg" - }, - { - "fields": { - "default_offset_days": -89, - "desc": "Working Group and BOF scheduling begins", - "name": "Scheduling Opens", - "order": 0, - "used": true - }, - "model": "name.importantdatename", - "pk": "opensched" - }, - { - "fields": { - "default_offset_days": -29, - "desc": "Preliminary Agenda published for comment", - "name": "Preliminary Agenda", - "order": 0, - "used": true - }, - "model": "name.importantdatename", - "pk": "prelimagenda" - }, - { - "fields": { - "default_offset_days": 27, - "desc": "Proceedings submission cutoff date by UTC 23:59", - "name": "Proceedings Submission Cut-off", - "order": 0, - "used": true - }, - "model": "name.importantdatename", - "pk": "procsub" - }, - { - "fields": { - "default_offset_days": 51, - "desc": "Proceedings submission corrections cutoff date by UTC 23:59", - "name": "Proceedings Submission Revision Cut-off", - "order": 0, - "used": true - }, - "model": "name.importantdatename", - "pk": "revsub" - }, - { - "fields": { - "default_offset_days": -5, - "desc": "Revised Working Group agendas due by UTC 23:59", - "name": "Revised Working Group Agendas", - "order": 0, - "used": true - }, - "model": "name.importantdatename", - "pk": "revwgagenda" - }, - { - "fields": { - "default_offset_days": -12, - "desc": "Standard rate registration and payment cut-off at UTC 23:59.", - "name": "Standard rate registration ends", - "order": 18, - "used": true - }, - "model": "name.importantdatename", - "pk": "stdratecutoff" - }, - { - "fields": { - "desc": "", - "name": "Best Current Practice", - "order": 4, - "used": true - }, - "model": "name.intendedstdlevelname", - "pk": "bcp" - }, - { - "fields": { - "desc": "", - "name": "Draft Standard", - "order": 2, - "used": false - }, - "model": "name.intendedstdlevelname", - "pk": "ds" - }, - { - "fields": { - "desc": "", - "name": "Experimental", - "order": 6, - "used": true - }, - "model": "name.intendedstdlevelname", - "pk": "exp" - }, - { - "fields": { - "desc": "", - "name": "Historic", - "order": 7, - "used": true - }, - "model": "name.intendedstdlevelname", - "pk": "hist" - }, - { - "fields": { - "desc": "", - "name": "Informational", - "order": 5, - "used": true - }, - "model": "name.intendedstdlevelname", - "pk": "inf" - }, - { - "fields": { - "desc": "", - "name": "Proposed Standard", - "order": 1, - "used": true - }, - "model": "name.intendedstdlevelname", - "pk": "ps" - }, - { - "fields": { - "desc": "", - "name": "Internet Standard", - "order": 3, - "used": true - }, - "model": "name.intendedstdlevelname", - "pk": "std" - }, - { - "fields": { - "desc": "", - "name": "Parked", - "order": 1, - "used": true - }, - "model": "name.iprdisclosurestatename", - "pk": "parked" - }, - { - "fields": { - "desc": "", - "name": "Pending", - "order": 0, - "used": true - }, - "model": "name.iprdisclosurestatename", - "pk": "pending" - }, - { - "fields": { - "desc": "", - "name": "Posted", - "order": 2, - "used": true - }, - "model": "name.iprdisclosurestatename", - "pk": "posted" - }, - { - "fields": { - "desc": "", - "name": "Rejected", - "order": 3, - "used": true - }, - "model": "name.iprdisclosurestatename", - "pk": "rejected" - }, - { - "fields": { - "desc": "", - "name": "Removed", - "order": 4, - "used": true - }, - "model": "name.iprdisclosurestatename", - "pk": "removed" - }, - { - "fields": { - "desc": "", - "name": "Changed disclosure metadata", - "order": 0, - "used": true - }, - "model": "name.ipreventtypename", - "pk": "changed_disclosure" - }, - { - "fields": { - "desc": "", - "name": "Comment", - "order": 0, - "used": true - }, - "model": "name.ipreventtypename", - "pk": "comment" - }, - { - "fields": { - "desc": "", - "name": "Legacy", - "order": 0, - "used": true - }, - "model": "name.ipreventtypename", - "pk": "legacy" - }, - { - "fields": { - "desc": "", - "name": "MsgIn", - "order": 0, - "used": true - }, - "model": "name.ipreventtypename", - "pk": "msgin" - }, - { - "fields": { - "desc": "", - "name": "MsgOut", - "order": 0, - "used": true - }, - "model": "name.ipreventtypename", - "pk": "msgout" - }, - { - "fields": { - "desc": "", - "name": "Parked", - "order": 0, - "used": true - }, - "model": "name.ipreventtypename", - "pk": "parked" - }, - { - "fields": { - "desc": "", - "name": "Pending", - "order": 0, - "used": true - }, - "model": "name.ipreventtypename", - "pk": "pending" - }, - { - "fields": { - "desc": "", - "name": "Posted", - "order": 0, - "used": true - }, - "model": "name.ipreventtypename", - "pk": "posted" - }, - { - "fields": { - "desc": "", - "name": "Private Comment", - "order": 0, - "used": true - }, - "model": "name.ipreventtypename", - "pk": "private_comment" - }, - { - "fields": { - "desc": "", - "name": "Rejected", - "order": 0, - "used": true - }, - "model": "name.ipreventtypename", - "pk": "rejected" - }, - { - "fields": { - "desc": "", - "name": "Removed", - "order": 0, - "used": true - }, - "model": "name.ipreventtypename", - "pk": "removed" - }, - { - "fields": { - "desc": "", - "name": "Submitted", - "order": 0, - "used": true - }, - "model": "name.ipreventtypename", - "pk": "submitted" - }, - { - "fields": { - "desc": "", - "name": "Update Notify", - "order": 0, - "used": true - }, - "model": "name.ipreventtypename", - "pk": "update_notify" - }, - { - "fields": { - "desc": "a) No License Required for Implementers", - "name": "No License", - "order": 1, - "used": true - }, - "model": "name.iprlicensetypename", - "pk": "no-license" - }, - { - "fields": { - "desc": "[None selected]", - "name": "None Selected", - "order": 0, - "used": true - }, - "model": "name.iprlicensetypename", - "pk": "none-selected" - }, - { - "fields": { - "desc": "d) Licensing Declaration to be Provided Later (implies a willingness to commit to the provisions of a), b), or c) above to all implementers; otherwise, the next option 'Unwilling to Commit to the Provisions of a), b), or c) Above'. - must be selected)", - "name": "Provided Later", - "order": 4, - "used": true - }, - "model": "name.iprlicensetypename", - "pk": "provided-later" - }, - { - "fields": { - "desc": "c) Reasonable and Non-Discriminatory License to All Implementers with Possible Royalty/Fee", - "name": "Reasonable", - "order": 3, - "used": true - }, - "model": "name.iprlicensetypename", - "pk": "reasonable" - }, - { - "fields": { - "desc": "b) Royalty-Free, Reasonable and Non-Discriminatory License to All Implementers", - "name": "Royalty Free", - "order": 2, - "used": true - }, - "model": "name.iprlicensetypename", - "pk": "royalty-free" - }, - { - "fields": { - "desc": "f) See Text Below for Licensing Declaration", - "name": "See Below", - "order": 6, - "used": true - }, - "model": "name.iprlicensetypename", - "pk": "see-below" - }, - { - "fields": { - "desc": "e) Unwilling to Commit to the Provisions of a), b), or c) Above", - "name": "Unwilling to Commit", - "order": 5, - "used": true - }, - "model": "name.iprlicensetypename", - "pk": "unwilling-to-commit" - }, - { - "fields": { - "desc": "", - "name": "Approved", - "order": 3, - "used": true - }, - "model": "name.liaisonstatementeventtypename", - "pk": "approved" - }, - { - "fields": { - "desc": "", - "name": "Comment", - "order": 9, - "used": true - }, - "model": "name.liaisonstatementeventtypename", - "pk": "comment" - }, - { - "fields": { - "desc": "", - "name": "Killed", - "order": 5, - "used": true - }, - "model": "name.liaisonstatementeventtypename", - "pk": "killed" - }, - { - "fields": { - "desc": "", - "name": "Modified", - "order": 2, - "used": true - }, - "model": "name.liaisonstatementeventtypename", - "pk": "modified" - }, - { - "fields": { - "desc": "", - "name": "MsgIn", - "order": 7, - "used": true - }, - "model": "name.liaisonstatementeventtypename", - "pk": "msgin" - }, - { - "fields": { - "desc": "", - "name": "MsgOut", - "order": 8, - "used": true - }, - "model": "name.liaisonstatementeventtypename", - "pk": "msgout" - }, - { - "fields": { - "desc": "", - "name": "Posted", - "order": 4, - "used": true - }, - "model": "name.liaisonstatementeventtypename", - "pk": "posted" - }, - { - "fields": { - "desc": "", - "name": "Private Comment", - "order": 10, - "used": true - }, - "model": "name.liaisonstatementeventtypename", - "pk": "private_comment" - }, - { - "fields": { - "desc": "", - "name": "Re-sent", - "order": 11, - "used": true - }, - "model": "name.liaisonstatementeventtypename", - "pk": "resent" - }, - { - "fields": { - "desc": "", - "name": "Resurrected", - "order": 6, - "used": true - }, - "model": "name.liaisonstatementeventtypename", - "pk": "resurrected" - }, - { - "fields": { - "desc": "", - "name": "Submitted", - "order": 1, - "used": true - }, - "model": "name.liaisonstatementeventtypename", - "pk": "submitted" - }, - { - "fields": { - "desc": "", - "name": "For action", - "order": 1, - "used": true - }, - "model": "name.liaisonstatementpurposename", - "pk": "action" - }, - { - "fields": { - "desc": "", - "name": "For comment", - "order": 2, - "used": true - }, - "model": "name.liaisonstatementpurposename", - "pk": "comment" - }, - { - "fields": { - "desc": "", - "name": "For information", - "order": 3, - "used": true - }, - "model": "name.liaisonstatementpurposename", - "pk": "info" - }, - { - "fields": { - "desc": "", - "name": "In response", - "order": 4, - "used": true - }, - "model": "name.liaisonstatementpurposename", - "pk": "response" - }, - { - "fields": { - "desc": "", - "name": "Approved", - "order": 2, - "used": true - }, - "model": "name.liaisonstatementstate", - "pk": "approved" - }, - { - "fields": { - "desc": "", - "name": "Dead", - "order": 4, - "used": true - }, - "model": "name.liaisonstatementstate", - "pk": "dead" - }, - { - "fields": { - "desc": "", - "name": "Pending", - "order": 1, - "used": true - }, - "model": "name.liaisonstatementstate", - "pk": "pending" - }, - { - "fields": { - "desc": "", - "name": "Posted", - "order": 3, - "used": true - }, - "model": "name.liaisonstatementstate", - "pk": "posted" - }, - { - "fields": { - "desc": "", - "name": "Action Required", - "order": 1, - "used": true - }, - "model": "name.liaisonstatementtagname", - "pk": "required" - }, - { - "fields": { - "desc": "", - "name": "Action Taken", - "order": 2, - "used": true - }, - "model": "name.liaisonstatementtagname", - "pk": "taken" - }, - { - "fields": { - "desc": "", - "name": "IETF", - "order": 0, - "used": true - }, - "model": "name.meetingtypename", - "pk": "ietf" - }, - { - "fields": { - "desc": "", - "name": "Interim", - "order": 0, - "used": true - }, - "model": "name.meetingtypename", - "pk": "interim" - }, - { - "fields": { - "desc": "", - "name": "Accepted", - "order": 0, - "used": true - }, - "model": "name.nomineepositionstatename", - "pk": "accepted" - }, - { - "fields": { - "desc": "", - "name": "Declined", - "order": 0, - "used": true - }, - "model": "name.nomineepositionstatename", - "pk": "declined" - }, - { - "fields": { - "desc": "", - "name": "Nominated, pending response", - "order": 0, - "used": true - }, - "model": "name.nomineepositionstatename", - "pk": "pending" - }, - { - "fields": { - "desc": "The reviewer has accepted the assignment", - "name": "Accepted", - "order": 0, - "used": true - }, - "model": "name.reviewassignmentstatename", - "pk": "accepted" - }, - { - "fields": { - "desc": "The review has been assigned to this reviewer", - "name": "Assigned", - "order": 0, - "used": true - }, - "model": "name.reviewassignmentstatename", - "pk": "assigned" - }, - { - "fields": { - "desc": "The reviewer completed the assignment", - "name": "Completed", - "order": 0, - "used": true - }, - "model": "name.reviewassignmentstatename", - "pk": "completed" - }, - { - "fields": { - "desc": "The reviewer did not provide a review by the deadline", - "name": "No Response", - "order": 0, - "used": true - }, - "model": "name.reviewassignmentstatename", - "pk": "no-response" - }, - { - "fields": { - "desc": "The review was abandoned because of circumstances", - "name": "Overtaken By Events", - "order": 0, - "used": true - }, - "model": "name.reviewassignmentstatename", - "pk": "overtaken" - }, - { - "fields": { - "desc": "The reviewer partially completed the assignment", - "name": "Partially Completed", - "order": 0, - "used": true - }, - "model": "name.reviewassignmentstatename", - "pk": "part-completed" - }, - { - "fields": { - "desc": "The reviewer has rejected the assignment", - "name": "Rejected", - "order": 0, - "used": true - }, - "model": "name.reviewassignmentstatename", - "pk": "rejected" - }, - { - "fields": { - "desc": "The assignment is was imported from an earlier database and its state could not be computed", - "name": "Unknown", - "order": 0, - "used": true - }, - "model": "name.reviewassignmentstatename", - "pk": "unknown" - }, - { - "fields": { - "desc": "The team secretary has withdrawn the assignment", - "name": "Withdrawn by Team", - "order": 0, - "used": true - }, - "model": "name.reviewassignmentstatename", - "pk": "withdrawn" - }, - { - "fields": { - "desc": "", - "name": "Least recently used", - "order": 2, - "used": true - }, - "model": "name.reviewerqueuepolicyname", - "pk": "LeastRecentlyUsed" - }, - { - "fields": { - "desc": "", - "name": "Rotate alphabetically", - "order": 1, - "used": true - }, - "model": "name.reviewerqueuepolicyname", - "pk": "RotateAlphabetically" - }, - { - "fields": { - "desc": "", - "name": "Accepted", - "order": 2, - "used": false - }, - "model": "name.reviewrequeststatename", - "pk": "accepted" - }, - { - "fields": { - "desc": "The ReviewRequest has been assigned to at least one reviewer", - "name": "Assigned", - "order": 0, - "used": true - }, - "model": "name.reviewrequeststatename", - "pk": "assigned" - }, - { - "fields": { - "desc": "", - "name": "Completed", - "order": 10, - "used": false - }, - "model": "name.reviewrequeststatename", - "pk": "completed" - }, - { - "fields": { - "desc": "", - "name": "No Response", - "order": 6, - "used": false - }, - "model": "name.reviewrequeststatename", - "pk": "no-response" - }, - { - "fields": { - "desc": "", - "name": "Team Will not Review Document", - "order": 8, - "used": true - }, - "model": "name.reviewrequeststatename", - "pk": "no-review-document" - }, - { - "fields": { - "desc": "", - "name": "Team Will not Review Version", - "order": 7, - "used": true - }, - "model": "name.reviewrequeststatename", - "pk": "no-review-version" - }, - { - "fields": { - "desc": "", - "name": "Overtaken by Events", - "order": 5, - "used": true - }, - "model": "name.reviewrequeststatename", - "pk": "overtaken" - }, - { - "fields": { - "desc": "", - "name": "Partially Completed", - "order": 9, - "used": false - }, - "model": "name.reviewrequeststatename", - "pk": "part-completed" - }, - { - "fields": { - "desc": "", - "name": "Rejected", - "order": 3, - "used": false - }, - "model": "name.reviewrequeststatename", - "pk": "rejected" - }, - { - "fields": { - "desc": "", - "name": "Requested", - "order": 1, - "used": true - }, - "model": "name.reviewrequeststatename", - "pk": "requested" - }, - { - "fields": { - "desc": "", - "name": "Unknown", - "order": 20, - "used": false - }, - "model": "name.reviewrequeststatename", - "pk": "unknown" - }, - { - "fields": { - "desc": "", - "name": "Withdrawn", - "order": 4, - "used": true - }, - "model": "name.reviewrequeststatename", - "pk": "withdrawn" - }, - { - "fields": { - "desc": "", - "name": "Almost Ready", - "order": 6, - "used": true - }, - "model": "name.reviewresultname", - "pk": "almost-ready" - }, - { - "fields": { - "desc": "", - "name": "Has Issues", - "order": 2, - "used": true - }, - "model": "name.reviewresultname", - "pk": "issues" - }, - { - "fields": { - "desc": "", - "name": "Has Nits", - "order": 3, - "used": true - }, - "model": "name.reviewresultname", - "pk": "nits" - }, - { - "fields": { - "desc": "", - "name": "Not Ready", - "order": 4, - "used": true - }, - "model": "name.reviewresultname", - "pk": "not-ready" - }, - { - "fields": { - "desc": "", - "name": "Ready", - "order": 9, - "used": true - }, - "model": "name.reviewresultname", - "pk": "ready" - }, - { - "fields": { - "desc": "", - "name": "Ready with Issues", - "order": 7, - "used": true - }, - "model": "name.reviewresultname", - "pk": "ready-issues" - }, - { - "fields": { - "desc": "", - "name": "Ready with Nits", - "order": 8, - "used": true - }, - "model": "name.reviewresultname", - "pk": "ready-nits" - }, - { - "fields": { - "desc": "", - "name": "On the Right Track", - "order": 5, - "used": true - }, - "model": "name.reviewresultname", - "pk": "right-track" - }, - { - "fields": { - "desc": "", - "name": "Serious Issues", - "order": 1, - "used": true - }, - "model": "name.reviewresultname", - "pk": "serious-issues" - }, - { - "fields": { - "desc": "", - "name": "Early", - "order": 1, - "used": true - }, - "model": "name.reviewtypename", - "pk": "early" - }, - { - "fields": { - "desc": "", - "name": "Last Call", - "order": 2, - "used": true - }, - "model": "name.reviewtypename", - "pk": "lc" - }, - { - "fields": { - "desc": "", - "name": "Telechat", - "order": 3, - "used": true - }, - "model": "name.reviewtypename", - "pk": "telechat" - }, - { - "fields": { - "desc": "", - "name": "Area Director", - "order": 2, - "used": true - }, - "model": "name.rolename", - "pk": "ad" - }, - { - "fields": { - "desc": "", - "name": "Administrative Director", - "order": 3, - "used": true - }, - "model": "name.rolename", - "pk": "admdir" - }, - { - "fields": { - "desc": "Advisor in a group that has explicit membership, such as the NomCom", - "name": "Advisor", - "order": 4, - "used": true - }, - "model": "name.rolename", - "pk": "advisor" - }, - { - "fields": { - "desc": "Authorised to send announcements to the ietf-announce and other lists", - "name": "List Announcer", - "order": 12, - "used": true - }, - "model": "name.rolename", - "pk": "announce" - }, - { - "fields": { - "desc": "", - "name": "At Large Member", - "order": 10, - "used": true - }, - "model": "name.rolename", - "pk": "atlarge" - }, - { - "fields": { - "desc": "", - "name": "Authorized Individual", - "order": 5, - "used": true - }, - "model": "name.rolename", - "pk": "auth" - }, - { - "fields": { - "desc": "", - "name": "CEO", - "order": 0, - "used": true - }, - "model": "name.rolename", - "pk": "ceo" - }, - { - "fields": { - "desc": "", - "name": "Chair", - "order": 1, - "used": true - }, - "model": "name.rolename", - "pk": "chair" - }, - { - "fields": { - "desc": "", - "name": "Co-ordinator", - "order": 0, - "used": true - }, - "model": "name.rolename", - "pk": "coord" - }, - { - "fields": { - "desc": "", - "name": "Delegate", - "order": 6, - "used": true - }, - "model": "name.rolename", - "pk": "delegate" - }, - { - "fields": { - "desc": "", - "name": "Editor", - "order": 5, - "used": true - }, - "model": "name.rolename", - "pk": "editor" - }, - { - "fields": { - "desc": "", - "name": "Executive Director", - "order": 2, - "used": true - }, - "model": "name.rolename", - "pk": "execdir" - }, - { - "fields": { - "desc": "Lead member (such as the Lead of an IAB program)", - "name": "Lead", - "order": 0, - "used": true - }, - "model": "name.rolename", - "pk": "lead" - }, - { - "fields": { - "desc": "", - "name": "Liaison Manager", - "order": 4, - "used": true - }, - "model": "name.rolename", - "pk": "liaiman" - }, - { - "fields": { - "desc": "Liaison group member in a group that has explicit membership, such as the NomCom", - "name": "Liaison Member", - "order": 11, - "used": true - }, - "model": "name.rolename", - "pk": "liaison" - }, - { - "fields": { - "desc": "", - "name": "Materials Manager", - "order": 13, - "used": true - }, - "model": "name.rolename", - "pk": "matman" - }, - { - "fields": { - "desc": "Regular group member in a group that has explicit membership, such as the NomCom", - "name": "Member", - "order": 7, - "used": true - }, - "model": "name.rolename", - "pk": "member" - }, - { - "fields": { - "desc": "", - "name": "Incoming Area Director", - "order": 3, - "used": true - }, - "model": "name.rolename", - "pk": "pre-ad" - }, - { - "fields": { - "desc": "", - "name": "Recording Manager", - "order": 13, - "used": true - }, - "model": "name.rolename", - "pk": "recman" - }, - { - "fields": { - "desc": "", - "name": "Reviewer", - "order": 14, - "used": true - }, - "model": "name.rolename", - "pk": "reviewer" - }, - { - "fields": { - "desc": "", - "name": "Secretary", - "order": 6, - "used": true - }, - "model": "name.rolename", - "pk": "secr" - }, - { - "fields": { - "desc": "", - "name": "Tech Advisor", - "order": 4, - "used": true - }, - "model": "name.rolename", - "pk": "techadv" - }, - { - "fields": { - "desc": "Assigned permission TRAC_ADMIN in datatracker-managed Trac Wiki instances", - "name": "Trac Admin", - "order": 0, - "used": true - }, - "model": "name.rolename", - "pk": "trac-admin" - }, - { - "fields": { - "desc": "Provides log-in permission to restricted Trac instances", - "name": "Trac Editor", - "order": 0, - "used": true - }, - "model": "name.rolename", - "pk": "trac-editor" - }, - { - "fields": { - "desc": "Audio streaming support", - "name": "Audio Stream", - "order": 0, - "used": true - }, - "model": "name.roomresourcename", - "pk": "audiostream" - }, - { - "fields": { - "desc": "Experimental room setup (boardroom and classroom) subject to availability", - "name": "Boardroom Layout", - "order": 0, - "used": false - }, - "model": "name.roomresourcename", - "pk": "boardroom" - }, - { - "fields": { - "desc": "Flipchars", - "name": "Flipcharts", - "order": 0, - "used": true - }, - "model": "name.roomresourcename", - "pk": "flipcharts" - }, - { - "fields": { - "desc": "The room will have a meetecho wrangler", - "name": "Meetecho Support", - "order": 0, - "used": false - }, - "model": "name.roomresourcename", - "pk": "meetecho" - }, - { - "fields": { - "desc": "The room will have a second computer projector", - "name": "second LCD projector", - "order": 0, - "used": false - }, - "model": "name.roomresourcename", - "pk": "proj2" - }, - { - "fields": { - "desc": "The room will have a computer projector", - "name": "LCD projector", - "order": 0, - "used": false - }, - "model": "name.roomresourcename", - "pk": "project" - }, - { - "fields": { - "desc": "Experimental Room Setup (U-Shape and classroom, subject to availability)", - "name": "Experimental Room Setup (U-Shape and classroom)", - "order": 0, - "used": true - }, - "model": "name.roomresourcename", - "pk": "u-shape" - }, - { - "fields": { - "desc": "", - "name": "Approved", - "order": 0, - "used": true - }, - "model": "name.sessionstatusname", - "pk": "appr" - }, - { - "fields": { - "desc": "", - "name": "Waiting for Approval", - "order": 0, - "used": true - }, - "model": "name.sessionstatusname", - "pk": "apprw" - }, - { - "fields": { - "desc": "", - "name": "Cancelled", - "order": 0, - "used": true - }, - "model": "name.sessionstatusname", - "pk": "canceled" - }, - { - "fields": { - "desc": "", - "name": "Cancelled - Pre Announcement", - "order": 0, - "used": true - }, - "model": "name.sessionstatusname", - "pk": "canceledpa" - }, - { - "fields": { - "desc": "", - "name": "Deleted", - "order": 0, - "used": true - }, - "model": "name.sessionstatusname", - "pk": "deleted" - }, - { - "fields": { - "desc": "", - "name": "Disapproved", - "order": 0, - "used": true - }, - "model": "name.sessionstatusname", - "pk": "disappr" - }, - { - "fields": { - "desc": "", - "name": "Not meeting", - "order": 0, - "used": true - }, - "model": "name.sessionstatusname", - "pk": "notmeet" - }, - { - "fields": { - "desc": "", - "name": "Scheduled", - "order": 0, - "used": true - }, - "model": "name.sessionstatusname", - "pk": "sched" - }, - { - "fields": { - "desc": "", - "name": "Scheduled - Announcement to be sent", - "order": 0, - "used": true - }, - "model": "name.sessionstatusname", - "pk": "scheda" - }, - { - "fields": { - "desc": "", - "name": "Waiting for Scheduling", - "order": 0, - "used": true - }, - "model": "name.sessionstatusname", - "pk": "schedw" - }, - { - "fields": { - "desc": "", - "name": "Best Current Practice", - "order": 0, - "used": true - }, - "model": "name.stdlevelname", - "pk": "bcp" - }, - { - "fields": { - "desc": "", - "name": "Draft Standard", - "order": 0, - "used": false - }, - "model": "name.stdlevelname", - "pk": "ds" - }, - { - "fields": { - "desc": "", - "name": "Experimental", - "order": 0, - "used": true - }, - "model": "name.stdlevelname", - "pk": "exp" - }, - { - "fields": { - "desc": "", - "name": "Historic", - "order": 0, - "used": true - }, - "model": "name.stdlevelname", - "pk": "hist" - }, - { - "fields": { - "desc": "", - "name": "Informational", - "order": 0, - "used": true - }, - "model": "name.stdlevelname", - "pk": "inf" - }, - { - "fields": { - "desc": "", - "name": "Proposed Standard", - "order": 0, - "used": true - }, - "model": "name.stdlevelname", - "pk": "ps" - }, - { - "fields": { - "desc": "", - "name": "Internet Standard", - "order": 0, - "used": true - }, - "model": "name.stdlevelname", - "pk": "std" - }, - { - "fields": { - "desc": "", - "name": "Unknown", - "order": 0, - "used": true - }, - "model": "name.stdlevelname", - "pk": "unkn" - }, - { - "fields": { - "desc": "IAB stream", - "name": "IAB", - "order": 4, - "used": true - }, - "model": "name.streamname", - "pk": "iab" - }, - { - "fields": { - "desc": "IETF stream", - "name": "IETF", - "order": 1, - "used": true - }, - "model": "name.streamname", - "pk": "ietf" - }, - { - "fields": { - "desc": "IRTF Stream", - "name": "IRTF", - "order": 3, - "used": true - }, - "model": "name.streamname", - "pk": "irtf" - }, - { - "fields": { - "desc": "Independent Submission Editor stream", - "name": "ISE", - "order": 2, - "used": true - }, - "model": "name.streamname", - "pk": "ise" - }, - { - "fields": { - "desc": "Legacy stream", - "name": "Legacy", - "order": 5, - "used": true - }, - "model": "name.streamname", - "pk": "legacy" - }, - { - "fields": { - "desc": "", - "name": "Break", - "order": 0, - "used": true - }, - "model": "name.timeslottypename", - "pk": "break" - }, - { - "fields": { - "desc": "Leadership Meetings", - "name": "Leadership", - "order": 0, - "used": true - }, - "model": "name.timeslottypename", - "pk": "lead" - }, - { - "fields": { - "desc": "Other Meetings Not Published on Agenda", - "name": "Off Agenda", - "order": 0, - "used": true - }, - "model": "name.timeslottypename", - "pk": "offagenda" - }, - { - "fields": { - "desc": "", - "name": "Other", - "order": 0, - "used": true - }, - "model": "name.timeslottypename", - "pk": "other" - }, - { - "fields": { - "desc": "", - "name": "Plenary", - "order": 0, - "used": true - }, - "model": "name.timeslottypename", - "pk": "plenary" - }, - { - "fields": { - "desc": "", - "name": "Registration", - "order": 0, - "used": true - }, - "model": "name.timeslottypename", - "pk": "reg" - }, - { - "fields": { - "desc": "A room has been reserved for use by another body the timeslot indicated", - "name": "Room Reserved", - "order": 0, - "used": true - }, - "model": "name.timeslottypename", - "pk": "reserved" - }, - { - "fields": { - "desc": "", - "name": "Session", - "order": 0, - "used": true - }, - "model": "name.timeslottypename", - "pk": "session" - }, - { - "fields": { - "desc": "A room was not booked for the timeslot indicated", - "name": "Room Unavailable", - "order": 0, - "used": true - }, - "model": "name.timeslottypename", - "pk": "unavail" - }, - { - "fields": { - "desc": "Anyone who can log in", - "name": "General", - "order": 0, - "used": true - }, - "model": "name.topicaudiencename", - "pk": "general" - }, - { - "fields": { - "desc": "Members of this nomcom", - "name": "Nomcom Members", - "order": 0, - "used": true - }, - "model": "name.topicaudiencename", - "pk": "nomcom" - }, - { - "fields": { - "desc": "Anyone who has accepted a Nomination for an open position", - "name": "Nominees", - "order": 0, - "used": true - }, - "model": "name.topicaudiencename", - "pk": "nominees" - }, - { - "fields": { - "alias": "AD", - "country": "AD" - }, - "model": "stats.countryalias", - "pk": 1 - }, - { - "fields": { - "alias": "AE", - "country": "AE" - }, - "model": "stats.countryalias", - "pk": 2 - }, - { - "fields": { - "alias": "AF", - "country": "AF" - }, - "model": "stats.countryalias", - "pk": 3 - }, - { - "fields": { - "alias": "AG", - "country": "AG" - }, - "model": "stats.countryalias", - "pk": 4 - }, - { - "fields": { - "alias": "AI", - "country": "AI" - }, - "model": "stats.countryalias", - "pk": 5 - }, - { - "fields": { - "alias": "AL", - "country": "AL" - }, - "model": "stats.countryalias", - "pk": 6 - }, - { - "fields": { - "alias": "AM", - "country": "AM" - }, - "model": "stats.countryalias", - "pk": 7 - }, - { - "fields": { - "alias": "AO", - "country": "AO" - }, - "model": "stats.countryalias", - "pk": 8 - }, - { - "fields": { - "alias": "AQ", - "country": "AQ" - }, - "model": "stats.countryalias", - "pk": 9 - }, - { - "fields": { - "alias": "AR", - "country": "AR" - }, - "model": "stats.countryalias", - "pk": 10 - }, - { - "fields": { - "alias": "AS", - "country": "AS" - }, - "model": "stats.countryalias", - "pk": 11 - }, - { - "fields": { - "alias": "AT", - "country": "AT" - }, - "model": "stats.countryalias", - "pk": 12 - }, - { - "fields": { - "alias": "AU", - "country": "AU" - }, - "model": "stats.countryalias", - "pk": 13 - }, - { - "fields": { - "alias": "AW", - "country": "AW" - }, - "model": "stats.countryalias", - "pk": 14 - }, - { - "fields": { - "alias": "AX", - "country": "AX" - }, - "model": "stats.countryalias", - "pk": 15 - }, - { - "fields": { - "alias": "AZ", - "country": "AZ" - }, - "model": "stats.countryalias", - "pk": 16 - }, - { - "fields": { - "alias": "BA", - "country": "BA" - }, - "model": "stats.countryalias", - "pk": 17 - }, - { - "fields": { - "alias": "BB", - "country": "BB" - }, - "model": "stats.countryalias", - "pk": 18 - }, - { - "fields": { - "alias": "BD", - "country": "BD" - }, - "model": "stats.countryalias", - "pk": 19 - }, - { - "fields": { - "alias": "BE", - "country": "BE" - }, - "model": "stats.countryalias", - "pk": 20 - }, - { - "fields": { - "alias": "BF", - "country": "BF" - }, - "model": "stats.countryalias", - "pk": 21 - }, - { - "fields": { - "alias": "BG", - "country": "BG" - }, - "model": "stats.countryalias", - "pk": 22 - }, - { - "fields": { - "alias": "BH", - "country": "BH" - }, - "model": "stats.countryalias", - "pk": 23 - }, - { - "fields": { - "alias": "BI", - "country": "BI" - }, - "model": "stats.countryalias", - "pk": 24 - }, - { - "fields": { - "alias": "BJ", - "country": "BJ" - }, - "model": "stats.countryalias", - "pk": 25 - }, - { - "fields": { - "alias": "BL", - "country": "BL" - }, - "model": "stats.countryalias", - "pk": 26 - }, - { - "fields": { - "alias": "BM", - "country": "BM" - }, - "model": "stats.countryalias", - "pk": 27 - }, - { - "fields": { - "alias": "BN", - "country": "BN" - }, - "model": "stats.countryalias", - "pk": 28 - }, - { - "fields": { - "alias": "BO", - "country": "BO" - }, - "model": "stats.countryalias", - "pk": 29 - }, - { - "fields": { - "alias": "BQ", - "country": "BQ" - }, - "model": "stats.countryalias", - "pk": 30 - }, - { - "fields": { - "alias": "BR", - "country": "BR" - }, - "model": "stats.countryalias", - "pk": 31 - }, - { - "fields": { - "alias": "BS", - "country": "BS" - }, - "model": "stats.countryalias", - "pk": 32 - }, - { - "fields": { - "alias": "BT", - "country": "BT" - }, - "model": "stats.countryalias", - "pk": 33 - }, - { - "fields": { - "alias": "BV", - "country": "BV" - }, - "model": "stats.countryalias", - "pk": 34 - }, - { - "fields": { - "alias": "BW", - "country": "BW" - }, - "model": "stats.countryalias", - "pk": 35 - }, - { - "fields": { - "alias": "BY", - "country": "BY" - }, - "model": "stats.countryalias", - "pk": 36 - }, - { - "fields": { - "alias": "BZ", - "country": "BZ" - }, - "model": "stats.countryalias", - "pk": 37 - }, - { - "fields": { - "alias": "CA", - "country": "CA" - }, - "model": "stats.countryalias", - "pk": 38 - }, - { - "fields": { - "alias": "CC", - "country": "CC" - }, - "model": "stats.countryalias", - "pk": 39 - }, - { - "fields": { - "alias": "CD", - "country": "CD" - }, - "model": "stats.countryalias", - "pk": 40 - }, - { - "fields": { - "alias": "CF", - "country": "CF" - }, - "model": "stats.countryalias", - "pk": 41 - }, - { - "fields": { - "alias": "CG", - "country": "CG" - }, - "model": "stats.countryalias", - "pk": 42 - }, - { - "fields": { - "alias": "CH", - "country": "CH" - }, - "model": "stats.countryalias", - "pk": 43 - }, - { - "fields": { - "alias": "CI", - "country": "CI" - }, - "model": "stats.countryalias", - "pk": 44 - }, - { - "fields": { - "alias": "CK", - "country": "CK" - }, - "model": "stats.countryalias", - "pk": 45 - }, - { - "fields": { - "alias": "CL", - "country": "CL" - }, - "model": "stats.countryalias", - "pk": 46 - }, - { - "fields": { - "alias": "CM", - "country": "CM" - }, - "model": "stats.countryalias", - "pk": 47 - }, - { - "fields": { - "alias": "CN", - "country": "CN" - }, - "model": "stats.countryalias", - "pk": 48 - }, - { - "fields": { - "alias": "CO", - "country": "CO" - }, - "model": "stats.countryalias", - "pk": 49 - }, - { - "fields": { - "alias": "CR", - "country": "CR" - }, - "model": "stats.countryalias", - "pk": 50 - }, - { - "fields": { - "alias": "CU", - "country": "CU" - }, - "model": "stats.countryalias", - "pk": 51 - }, - { - "fields": { - "alias": "CV", - "country": "CV" - }, - "model": "stats.countryalias", - "pk": 52 - }, - { - "fields": { - "alias": "CW", - "country": "CW" - }, - "model": "stats.countryalias", - "pk": 53 - }, - { - "fields": { - "alias": "CX", - "country": "CX" - }, - "model": "stats.countryalias", - "pk": 54 - }, - { - "fields": { - "alias": "CY", - "country": "CY" - }, - "model": "stats.countryalias", - "pk": 55 - }, - { - "fields": { - "alias": "CZ", - "country": "CZ" - }, - "model": "stats.countryalias", - "pk": 56 - }, - { - "fields": { - "alias": "DE", - "country": "DE" - }, - "model": "stats.countryalias", - "pk": 57 - }, - { - "fields": { - "alias": "DJ", - "country": "DJ" - }, - "model": "stats.countryalias", - "pk": 58 - }, - { - "fields": { - "alias": "DK", - "country": "DK" - }, - "model": "stats.countryalias", - "pk": 59 - }, - { - "fields": { - "alias": "DM", - "country": "DM" - }, - "model": "stats.countryalias", - "pk": 60 - }, - { - "fields": { - "alias": "DO", - "country": "DO" - }, - "model": "stats.countryalias", - "pk": 61 - }, - { - "fields": { - "alias": "DZ", - "country": "DZ" - }, - "model": "stats.countryalias", - "pk": 62 - }, - { - "fields": { - "alias": "EC", - "country": "EC" - }, - "model": "stats.countryalias", - "pk": 63 - }, - { - "fields": { - "alias": "EE", - "country": "EE" - }, - "model": "stats.countryalias", - "pk": 64 - }, - { - "fields": { - "alias": "EG", - "country": "EG" - }, - "model": "stats.countryalias", - "pk": 65 - }, - { - "fields": { - "alias": "EH", - "country": "EH" - }, - "model": "stats.countryalias", - "pk": 66 - }, - { - "fields": { - "alias": "ER", - "country": "ER" - }, - "model": "stats.countryalias", - "pk": 67 - }, - { - "fields": { - "alias": "ES", - "country": "ES" - }, - "model": "stats.countryalias", - "pk": 68 - }, - { - "fields": { - "alias": "ET", - "country": "ET" - }, - "model": "stats.countryalias", - "pk": 69 - }, - { - "fields": { - "alias": "FI", - "country": "FI" - }, - "model": "stats.countryalias", - "pk": 70 - }, - { - "fields": { - "alias": "FJ", - "country": "FJ" - }, - "model": "stats.countryalias", - "pk": 71 - }, - { - "fields": { - "alias": "FK", - "country": "FK" - }, - "model": "stats.countryalias", - "pk": 72 - }, - { - "fields": { - "alias": "FM", - "country": "FM" - }, - "model": "stats.countryalias", - "pk": 73 - }, - { - "fields": { - "alias": "FO", - "country": "FO" - }, - "model": "stats.countryalias", - "pk": 74 - }, - { - "fields": { - "alias": "FR", - "country": "FR" - }, - "model": "stats.countryalias", - "pk": 75 - }, - { - "fields": { - "alias": "GA", - "country": "GA" - }, - "model": "stats.countryalias", - "pk": 76 - }, - { - "fields": { - "alias": "GB", - "country": "GB" - }, - "model": "stats.countryalias", - "pk": 77 - }, - { - "fields": { - "alias": "GD", - "country": "GD" - }, - "model": "stats.countryalias", - "pk": 78 - }, - { - "fields": { - "alias": "GE", - "country": "GE" - }, - "model": "stats.countryalias", - "pk": 79 - }, - { - "fields": { - "alias": "GF", - "country": "GF" - }, - "model": "stats.countryalias", - "pk": 80 - }, - { - "fields": { - "alias": "GG", - "country": "GG" - }, - "model": "stats.countryalias", - "pk": 81 - }, - { - "fields": { - "alias": "GH", - "country": "GH" - }, - "model": "stats.countryalias", - "pk": 82 - }, - { - "fields": { - "alias": "GI", - "country": "GI" - }, - "model": "stats.countryalias", - "pk": 83 - }, - { - "fields": { - "alias": "GL", - "country": "GL" - }, - "model": "stats.countryalias", - "pk": 84 - }, - { - "fields": { - "alias": "GM", - "country": "GM" - }, - "model": "stats.countryalias", - "pk": 85 - }, - { - "fields": { - "alias": "GN", - "country": "GN" - }, - "model": "stats.countryalias", - "pk": 86 - }, - { - "fields": { - "alias": "GP", - "country": "GP" - }, - "model": "stats.countryalias", - "pk": 87 - }, - { - "fields": { - "alias": "GQ", - "country": "GQ" - }, - "model": "stats.countryalias", - "pk": 88 - }, - { - "fields": { - "alias": "GR", - "country": "GR" - }, - "model": "stats.countryalias", - "pk": 89 - }, - { - "fields": { - "alias": "GS", - "country": "GS" - }, - "model": "stats.countryalias", - "pk": 90 - }, - { - "fields": { - "alias": "GT", - "country": "GT" - }, - "model": "stats.countryalias", - "pk": 91 - }, - { - "fields": { - "alias": "GU", - "country": "GU" - }, - "model": "stats.countryalias", - "pk": 92 - }, - { - "fields": { - "alias": "GW", - "country": "GW" - }, - "model": "stats.countryalias", - "pk": 93 - }, - { - "fields": { - "alias": "GY", - "country": "GY" - }, - "model": "stats.countryalias", - "pk": 94 - }, - { - "fields": { - "alias": "HK", - "country": "HK" - }, - "model": "stats.countryalias", - "pk": 95 - }, - { - "fields": { - "alias": "HM", - "country": "HM" - }, - "model": "stats.countryalias", - "pk": 96 - }, - { - "fields": { - "alias": "HN", - "country": "HN" - }, - "model": "stats.countryalias", - "pk": 97 - }, - { - "fields": { - "alias": "HR", - "country": "HR" - }, - "model": "stats.countryalias", - "pk": 98 - }, - { - "fields": { - "alias": "HT", - "country": "HT" - }, - "model": "stats.countryalias", - "pk": 99 - }, - { - "fields": { - "alias": "HU", - "country": "HU" - }, - "model": "stats.countryalias", - "pk": 100 - }, - { - "fields": { - "alias": "ID", - "country": "ID" - }, - "model": "stats.countryalias", - "pk": 101 - }, - { - "fields": { - "alias": "IE", - "country": "IE" - }, - "model": "stats.countryalias", - "pk": 102 - }, - { - "fields": { - "alias": "IL", - "country": "IL" - }, - "model": "stats.countryalias", - "pk": 103 - }, - { - "fields": { - "alias": "IM", - "country": "IM" - }, - "model": "stats.countryalias", - "pk": 104 - }, - { - "fields": { - "alias": "IN", - "country": "IN" - }, - "model": "stats.countryalias", - "pk": 105 - }, - { - "fields": { - "alias": "IO", - "country": "IO" - }, - "model": "stats.countryalias", - "pk": 106 - }, - { - "fields": { - "alias": "IQ", - "country": "IQ" - }, - "model": "stats.countryalias", - "pk": 107 - }, - { - "fields": { - "alias": "IR", - "country": "IR" - }, - "model": "stats.countryalias", - "pk": 108 - }, - { - "fields": { - "alias": "IS", - "country": "IS" - }, - "model": "stats.countryalias", - "pk": 109 - }, - { - "fields": { - "alias": "IT", - "country": "IT" - }, - "model": "stats.countryalias", - "pk": 110 - }, - { - "fields": { - "alias": "JE", - "country": "JE" - }, - "model": "stats.countryalias", - "pk": 111 - }, - { - "fields": { - "alias": "JM", - "country": "JM" - }, - "model": "stats.countryalias", - "pk": 112 - }, - { - "fields": { - "alias": "JO", - "country": "JO" - }, - "model": "stats.countryalias", - "pk": 113 - }, - { - "fields": { - "alias": "JP", - "country": "JP" - }, - "model": "stats.countryalias", - "pk": 114 - }, - { - "fields": { - "alias": "KE", - "country": "KE" - }, - "model": "stats.countryalias", - "pk": 115 - }, - { - "fields": { - "alias": "KG", - "country": "KG" - }, - "model": "stats.countryalias", - "pk": 116 - }, - { - "fields": { - "alias": "KH", - "country": "KH" - }, - "model": "stats.countryalias", - "pk": 117 - }, - { - "fields": { - "alias": "KI", - "country": "KI" - }, - "model": "stats.countryalias", - "pk": 118 - }, - { - "fields": { - "alias": "KM", - "country": "KM" - }, - "model": "stats.countryalias", - "pk": 119 - }, - { - "fields": { - "alias": "KN", - "country": "KN" - }, - "model": "stats.countryalias", - "pk": 120 - }, - { - "fields": { - "alias": "KP", - "country": "KP" - }, - "model": "stats.countryalias", - "pk": 121 - }, - { - "fields": { - "alias": "KR", - "country": "KR" - }, - "model": "stats.countryalias", - "pk": 122 - }, - { - "fields": { - "alias": "KW", - "country": "KW" - }, - "model": "stats.countryalias", - "pk": 123 - }, - { - "fields": { - "alias": "KY", - "country": "KY" - }, - "model": "stats.countryalias", - "pk": 124 - }, - { - "fields": { - "alias": "KZ", - "country": "KZ" - }, - "model": "stats.countryalias", - "pk": 125 - }, - { - "fields": { - "alias": "LA", - "country": "LA" - }, - "model": "stats.countryalias", - "pk": 126 - }, - { - "fields": { - "alias": "LB", - "country": "LB" - }, - "model": "stats.countryalias", - "pk": 127 - }, - { - "fields": { - "alias": "LC", - "country": "LC" - }, - "model": "stats.countryalias", - "pk": 128 - }, - { - "fields": { - "alias": "LI", - "country": "LI" - }, - "model": "stats.countryalias", - "pk": 129 - }, - { - "fields": { - "alias": "LK", - "country": "LK" - }, - "model": "stats.countryalias", - "pk": 130 - }, - { - "fields": { - "alias": "LR", - "country": "LR" - }, - "model": "stats.countryalias", - "pk": 131 - }, - { - "fields": { - "alias": "LS", - "country": "LS" - }, - "model": "stats.countryalias", - "pk": 132 - }, - { - "fields": { - "alias": "LT", - "country": "LT" - }, - "model": "stats.countryalias", - "pk": 133 - }, - { - "fields": { - "alias": "LU", - "country": "LU" - }, - "model": "stats.countryalias", - "pk": 134 - }, - { - "fields": { - "alias": "LV", - "country": "LV" - }, - "model": "stats.countryalias", - "pk": 135 - }, - { - "fields": { - "alias": "LY", - "country": "LY" - }, - "model": "stats.countryalias", - "pk": 136 - }, - { - "fields": { - "alias": "MA", - "country": "MA" - }, - "model": "stats.countryalias", - "pk": 137 - }, - { - "fields": { - "alias": "MC", - "country": "MC" - }, - "model": "stats.countryalias", - "pk": 138 - }, - { - "fields": { - "alias": "MD", - "country": "MD" - }, - "model": "stats.countryalias", - "pk": 139 - }, - { - "fields": { - "alias": "ME", - "country": "ME" - }, - "model": "stats.countryalias", - "pk": 140 - }, - { - "fields": { - "alias": "MF", - "country": "MF" - }, - "model": "stats.countryalias", - "pk": 141 - }, - { - "fields": { - "alias": "MG", - "country": "MG" - }, - "model": "stats.countryalias", - "pk": 142 - }, - { - "fields": { - "alias": "MH", - "country": "MH" - }, - "model": "stats.countryalias", - "pk": 143 - }, - { - "fields": { - "alias": "MK", - "country": "MK" - }, - "model": "stats.countryalias", - "pk": 144 - }, - { - "fields": { - "alias": "ML", - "country": "ML" - }, - "model": "stats.countryalias", - "pk": 145 - }, - { - "fields": { - "alias": "MM", - "country": "MM" - }, - "model": "stats.countryalias", - "pk": 146 - }, - { - "fields": { - "alias": "MN", - "country": "MN" - }, - "model": "stats.countryalias", - "pk": 147 - }, - { - "fields": { - "alias": "MO", - "country": "MO" - }, - "model": "stats.countryalias", - "pk": 148 - }, - { - "fields": { - "alias": "MP", - "country": "MP" - }, - "model": "stats.countryalias", - "pk": 149 - }, - { - "fields": { - "alias": "MQ", - "country": "MQ" - }, - "model": "stats.countryalias", - "pk": 150 - }, - { - "fields": { - "alias": "MR", - "country": "MR" - }, - "model": "stats.countryalias", - "pk": 151 - }, - { - "fields": { - "alias": "MS", - "country": "MS" - }, - "model": "stats.countryalias", - "pk": 152 - }, - { - "fields": { - "alias": "MT", - "country": "MT" - }, - "model": "stats.countryalias", - "pk": 153 - }, - { - "fields": { - "alias": "MU", - "country": "MU" - }, - "model": "stats.countryalias", - "pk": 154 - }, - { - "fields": { - "alias": "MV", - "country": "MV" - }, - "model": "stats.countryalias", - "pk": 155 - }, - { - "fields": { - "alias": "MW", - "country": "MW" - }, - "model": "stats.countryalias", - "pk": 156 - }, - { - "fields": { - "alias": "MX", - "country": "MX" - }, - "model": "stats.countryalias", - "pk": 157 - }, - { - "fields": { - "alias": "MY", - "country": "MY" - }, - "model": "stats.countryalias", - "pk": 158 - }, - { - "fields": { - "alias": "MZ", - "country": "MZ" - }, - "model": "stats.countryalias", - "pk": 159 - }, - { - "fields": { - "alias": "NA", - "country": "NA" - }, - "model": "stats.countryalias", - "pk": 160 - }, - { - "fields": { - "alias": "NC", - "country": "NC" - }, - "model": "stats.countryalias", - "pk": 161 - }, - { - "fields": { - "alias": "NE", - "country": "NE" - }, - "model": "stats.countryalias", - "pk": 162 - }, - { - "fields": { - "alias": "NF", - "country": "NF" - }, - "model": "stats.countryalias", - "pk": 163 - }, - { - "fields": { - "alias": "NG", - "country": "NG" - }, - "model": "stats.countryalias", - "pk": 164 - }, - { - "fields": { - "alias": "NI", - "country": "NI" - }, - "model": "stats.countryalias", - "pk": 165 - }, - { - "fields": { - "alias": "NL", - "country": "NL" - }, - "model": "stats.countryalias", - "pk": 166 - }, - { - "fields": { - "alias": "NO", - "country": "NO" - }, - "model": "stats.countryalias", - "pk": 167 - }, - { - "fields": { - "alias": "NP", - "country": "NP" - }, - "model": "stats.countryalias", - "pk": 168 - }, - { - "fields": { - "alias": "NR", - "country": "NR" - }, - "model": "stats.countryalias", - "pk": 169 - }, - { - "fields": { - "alias": "NU", - "country": "NU" - }, - "model": "stats.countryalias", - "pk": 170 - }, - { - "fields": { - "alias": "NZ", - "country": "NZ" - }, - "model": "stats.countryalias", - "pk": 171 - }, - { - "fields": { - "alias": "OM", - "country": "OM" - }, - "model": "stats.countryalias", - "pk": 172 - }, - { - "fields": { - "alias": "PA", - "country": "PA" - }, - "model": "stats.countryalias", - "pk": 173 - }, - { - "fields": { - "alias": "PE", - "country": "PE" - }, - "model": "stats.countryalias", - "pk": 174 - }, - { - "fields": { - "alias": "PF", - "country": "PF" - }, - "model": "stats.countryalias", - "pk": 175 - }, - { - "fields": { - "alias": "PG", - "country": "PG" - }, - "model": "stats.countryalias", - "pk": 176 - }, - { - "fields": { - "alias": "PH", - "country": "PH" - }, - "model": "stats.countryalias", - "pk": 177 - }, - { - "fields": { - "alias": "PK", - "country": "PK" - }, - "model": "stats.countryalias", - "pk": 178 - }, - { - "fields": { - "alias": "PL", - "country": "PL" - }, - "model": "stats.countryalias", - "pk": 179 - }, - { - "fields": { - "alias": "PM", - "country": "PM" - }, - "model": "stats.countryalias", - "pk": 180 - }, - { - "fields": { - "alias": "PN", - "country": "PN" - }, - "model": "stats.countryalias", - "pk": 181 - }, - { - "fields": { - "alias": "PR", - "country": "PR" - }, - "model": "stats.countryalias", - "pk": 182 - }, - { - "fields": { - "alias": "PS", - "country": "PS" - }, - "model": "stats.countryalias", - "pk": 183 - }, - { - "fields": { - "alias": "PT", - "country": "PT" - }, - "model": "stats.countryalias", - "pk": 184 - }, - { - "fields": { - "alias": "PW", - "country": "PW" - }, - "model": "stats.countryalias", - "pk": 185 - }, - { - "fields": { - "alias": "PY", - "country": "PY" - }, - "model": "stats.countryalias", - "pk": 186 - }, - { - "fields": { - "alias": "QA", - "country": "QA" - }, - "model": "stats.countryalias", - "pk": 187 - }, - { - "fields": { - "alias": "RE", - "country": "RE" - }, - "model": "stats.countryalias", - "pk": 188 - }, - { - "fields": { - "alias": "RO", - "country": "RO" - }, - "model": "stats.countryalias", - "pk": 189 - }, - { - "fields": { - "alias": "RS", - "country": "RS" - }, - "model": "stats.countryalias", - "pk": 190 - }, - { - "fields": { - "alias": "RU", - "country": "RU" - }, - "model": "stats.countryalias", - "pk": 191 - }, - { - "fields": { - "alias": "RW", - "country": "RW" - }, - "model": "stats.countryalias", - "pk": 192 - }, - { - "fields": { - "alias": "SA", - "country": "SA" - }, - "model": "stats.countryalias", - "pk": 193 - }, - { - "fields": { - "alias": "SB", - "country": "SB" - }, - "model": "stats.countryalias", - "pk": 194 - }, - { - "fields": { - "alias": "SC", - "country": "SC" - }, - "model": "stats.countryalias", - "pk": 195 - }, - { - "fields": { - "alias": "SD", - "country": "SD" - }, - "model": "stats.countryalias", - "pk": 196 - }, - { - "fields": { - "alias": "SE", - "country": "SE" - }, - "model": "stats.countryalias", - "pk": 197 - }, - { - "fields": { - "alias": "SG", - "country": "SG" - }, - "model": "stats.countryalias", - "pk": 198 - }, - { - "fields": { - "alias": "SH", - "country": "SH" - }, - "model": "stats.countryalias", - "pk": 199 - }, - { - "fields": { - "alias": "SI", - "country": "SI" - }, - "model": "stats.countryalias", - "pk": 200 - }, - { - "fields": { - "alias": "SJ", - "country": "SJ" - }, - "model": "stats.countryalias", - "pk": 201 - }, - { - "fields": { - "alias": "SK", - "country": "SK" - }, - "model": "stats.countryalias", - "pk": 202 - }, - { - "fields": { - "alias": "SL", - "country": "SL" - }, - "model": "stats.countryalias", - "pk": 203 - }, - { - "fields": { - "alias": "SM", - "country": "SM" - }, - "model": "stats.countryalias", - "pk": 204 - }, - { - "fields": { - "alias": "SN", - "country": "SN" - }, - "model": "stats.countryalias", - "pk": 205 - }, - { - "fields": { - "alias": "SO", - "country": "SO" - }, - "model": "stats.countryalias", - "pk": 206 - }, - { - "fields": { - "alias": "SR", - "country": "SR" - }, - "model": "stats.countryalias", - "pk": 207 - }, - { - "fields": { - "alias": "SS", - "country": "SS" - }, - "model": "stats.countryalias", - "pk": 208 - }, - { - "fields": { - "alias": "ST", - "country": "ST" - }, - "model": "stats.countryalias", - "pk": 209 - }, - { - "fields": { - "alias": "SV", - "country": "SV" - }, - "model": "stats.countryalias", - "pk": 210 - }, - { - "fields": { - "alias": "SX", - "country": "SX" - }, - "model": "stats.countryalias", - "pk": 211 - }, - { - "fields": { - "alias": "SY", - "country": "SY" - }, - "model": "stats.countryalias", - "pk": 212 - }, - { - "fields": { - "alias": "SZ", - "country": "SZ" - }, - "model": "stats.countryalias", - "pk": 213 - }, - { - "fields": { - "alias": "TC", - "country": "TC" - }, - "model": "stats.countryalias", - "pk": 214 - }, - { - "fields": { - "alias": "TD", - "country": "TD" - }, - "model": "stats.countryalias", - "pk": 215 - }, - { - "fields": { - "alias": "TF", - "country": "TF" - }, - "model": "stats.countryalias", - "pk": 216 - }, - { - "fields": { - "alias": "TG", - "country": "TG" - }, - "model": "stats.countryalias", - "pk": 217 - }, - { - "fields": { - "alias": "TH", - "country": "TH" - }, - "model": "stats.countryalias", - "pk": 218 - }, - { - "fields": { - "alias": "TJ", - "country": "TJ" - }, - "model": "stats.countryalias", - "pk": 219 - }, - { - "fields": { - "alias": "TK", - "country": "TK" - }, - "model": "stats.countryalias", - "pk": 220 - }, - { - "fields": { - "alias": "TL", - "country": "TL" - }, - "model": "stats.countryalias", - "pk": 221 - }, - { - "fields": { - "alias": "TM", - "country": "TM" - }, - "model": "stats.countryalias", - "pk": 222 - }, - { - "fields": { - "alias": "TN", - "country": "TN" - }, - "model": "stats.countryalias", - "pk": 223 - }, - { - "fields": { - "alias": "TO", - "country": "TO" - }, - "model": "stats.countryalias", - "pk": 224 - }, - { - "fields": { - "alias": "TR", - "country": "TR" - }, - "model": "stats.countryalias", - "pk": 225 - }, - { - "fields": { - "alias": "TT", - "country": "TT" - }, - "model": "stats.countryalias", - "pk": 226 - }, - { - "fields": { - "alias": "TV", - "country": "TV" - }, - "model": "stats.countryalias", - "pk": 227 - }, - { - "fields": { - "alias": "TW", - "country": "TW" - }, - "model": "stats.countryalias", - "pk": 228 - }, - { - "fields": { - "alias": "TZ", - "country": "TZ" - }, - "model": "stats.countryalias", - "pk": 229 - }, - { - "fields": { - "alias": "UA", - "country": "UA" - }, - "model": "stats.countryalias", - "pk": 230 - }, - { - "fields": { - "alias": "UG", - "country": "UG" - }, - "model": "stats.countryalias", - "pk": 231 - }, - { - "fields": { - "alias": "UM", - "country": "UM" - }, - "model": "stats.countryalias", - "pk": 232 - }, - { - "fields": { - "alias": "US", - "country": "US" - }, - "model": "stats.countryalias", - "pk": 233 - }, - { - "fields": { - "alias": "UY", - "country": "UY" - }, - "model": "stats.countryalias", - "pk": 234 - }, - { - "fields": { - "alias": "UZ", - "country": "UZ" - }, - "model": "stats.countryalias", - "pk": 235 - }, - { - "fields": { - "alias": "VA", - "country": "VA" - }, - "model": "stats.countryalias", - "pk": 236 - }, - { - "fields": { - "alias": "VC", - "country": "VC" - }, - "model": "stats.countryalias", - "pk": 237 - }, - { - "fields": { - "alias": "VE", - "country": "VE" - }, - "model": "stats.countryalias", - "pk": 238 - }, - { - "fields": { - "alias": "VG", - "country": "VG" - }, - "model": "stats.countryalias", - "pk": 239 - }, - { - "fields": { - "alias": "VI", - "country": "VI" - }, - "model": "stats.countryalias", - "pk": 240 - }, - { - "fields": { - "alias": "VN", - "country": "VN" - }, - "model": "stats.countryalias", - "pk": 241 - }, - { - "fields": { - "alias": "VU", - "country": "VU" - }, - "model": "stats.countryalias", - "pk": 242 - }, - { - "fields": { - "alias": "WF", - "country": "WF" - }, - "model": "stats.countryalias", - "pk": 243 - }, - { - "fields": { - "alias": "WS", - "country": "WS" - }, - "model": "stats.countryalias", - "pk": 244 - }, - { - "fields": { - "alias": "YE", - "country": "YE" - }, - "model": "stats.countryalias", - "pk": 245 - }, - { - "fields": { - "alias": "YT", - "country": "YT" - }, - "model": "stats.countryalias", - "pk": 246 - }, - { - "fields": { - "alias": "ZA", - "country": "ZA" - }, - "model": "stats.countryalias", - "pk": 247 - }, - { - "fields": { - "alias": "ZM", - "country": "ZM" - }, - "model": "stats.countryalias", - "pk": 248 - }, - { - "fields": { - "alias": "ZW", - "country": "ZW" - }, - "model": "stats.countryalias", - "pk": 249 - }, - { - "fields": { - "alias": "russian federation", - "country": "RU" - }, - "model": "stats.countryalias", - "pk": 250 - }, - { - "fields": { - "alias": "p. r. china", - "country": "CN" - }, - "model": "stats.countryalias", - "pk": 251 - }, - { - "fields": { - "alias": "p.r. china", - "country": "CN" - }, - "model": "stats.countryalias", - "pk": 252 - }, - { - "fields": { - "alias": "p.r.china", - "country": "CN" - }, - "model": "stats.countryalias", - "pk": 253 - }, - { - "fields": { - "alias": "p.r china", - "country": "CN" - }, - "model": "stats.countryalias", - "pk": 254 - }, - { - "fields": { - "alias": "p.r. of china", - "country": "CN" - }, - "model": "stats.countryalias", - "pk": 255 - }, - { - "fields": { - "alias": "PRC", - "country": "CN" - }, - "model": "stats.countryalias", - "pk": 256 - }, - { - "fields": { - "alias": "P.R.C", - "country": "CN" - }, - "model": "stats.countryalias", - "pk": 257 - }, - { - "fields": { - "alias": "P.R.C.", - "country": "CN" - }, - "model": "stats.countryalias", - "pk": 258 - }, - { - "fields": { - "alias": "beijing", - "country": "CN" - }, - "model": "stats.countryalias", - "pk": 259 - }, - { - "fields": { - "alias": "shenzhen", - "country": "CN" - }, - "model": "stats.countryalias", - "pk": 260 - }, - { - "fields": { - "alias": "R.O.C.", - "country": "TW" - }, - "model": "stats.countryalias", - "pk": 261 - }, - { - "fields": { - "alias": "usa", - "country": "US" - }, - "model": "stats.countryalias", - "pk": 262 - }, - { - "fields": { - "alias": "UAS", - "country": "US" - }, - "model": "stats.countryalias", - "pk": 263 - }, - { - "fields": { - "alias": "USA.", - "country": "US" - }, - "model": "stats.countryalias", - "pk": 264 - }, - { - "fields": { - "alias": "u.s.a.", - "country": "US" - }, - "model": "stats.countryalias", - "pk": 265 - }, - { - "fields": { - "alias": "u. s. a.", - "country": "US" - }, - "model": "stats.countryalias", - "pk": 266 - }, - { - "fields": { - "alias": "u.s.a", - "country": "US" - }, - "model": "stats.countryalias", - "pk": 267 - }, - { - "fields": { - "alias": "u.s.", - "country": "US" - }, - "model": "stats.countryalias", - "pk": 268 - }, - { - "fields": { - "alias": "U.S", - "country": "GB" - }, - "model": "stats.countryalias", - "pk": 269 - }, - { - "fields": { - "alias": "US of A", - "country": "US" - }, - "model": "stats.countryalias", - "pk": 270 - }, - { - "fields": { - "alias": "united sates", - "country": "US" - }, - "model": "stats.countryalias", - "pk": 271 - }, - { - "fields": { - "alias": "united state", - "country": "US" - }, - "model": "stats.countryalias", - "pk": 272 - }, - { - "fields": { - "alias": "united states", - "country": "US" - }, - "model": "stats.countryalias", - "pk": 273 - }, - { - "fields": { - "alias": "unites states", - "country": "US" - }, - "model": "stats.countryalias", - "pk": 274 - }, - { - "fields": { - "alias": "texas", - "country": "US" - }, - "model": "stats.countryalias", - "pk": 275 - }, - { - "fields": { - "alias": "UK", - "country": "GB" - }, - "model": "stats.countryalias", - "pk": 276 - }, - { - "fields": { - "alias": "united kingcom", - "country": "GB" - }, - "model": "stats.countryalias", - "pk": 277 - }, - { - "fields": { - "alias": "great britain", - "country": "GB" - }, - "model": "stats.countryalias", - "pk": 278 - }, - { - "fields": { - "alias": "england", - "country": "GB" - }, - "model": "stats.countryalias", - "pk": 279 - }, - { - "fields": { - "alias": "U.K.", - "country": "GB" - }, - "model": "stats.countryalias", - "pk": 280 - }, - { - "fields": { - "alias": "U.K", - "country": "GB" - }, - "model": "stats.countryalias", - "pk": 281 - }, - { - "fields": { - "alias": "scotland", - "country": "GB" - }, - "model": "stats.countryalias", - "pk": 282 - }, - { - "fields": { - "alias": "republic of korea", - "country": "KR" - }, - "model": "stats.countryalias", - "pk": 283 - }, - { - "fields": { - "alias": "korea", - "country": "KR" - }, - "model": "stats.countryalias", - "pk": 284 - }, - { - "fields": { - "alias": "korea rep", - "country": "KR" - }, - "model": "stats.countryalias", - "pk": 285 - }, - { - "fields": { - "alias": "korea (the republic of)", - "country": "KR" - }, - "model": "stats.countryalias", - "pk": 286 - }, - { - "fields": { - "alias": "the netherlands", - "country": "NL" - }, - "model": "stats.countryalias", - "pk": 287 - }, - { - "fields": { - "alias": "netherland", - "country": "NL" - }, - "model": "stats.countryalias", - "pk": 288 - }, - { - "fields": { - "alias": "danmark", - "country": "DK" - }, - "model": "stats.countryalias", - "pk": 289 - }, - { - "fields": { - "alias": "sweeden", - "country": "SE" - }, - "model": "stats.countryalias", - "pk": 290 - }, - { - "fields": { - "alias": "swede", - "country": "SE" - }, - "model": "stats.countryalias", - "pk": 291 - }, - { - "fields": { - "alias": "belgique", - "country": "BE" - }, - "model": "stats.countryalias", - "pk": 292 - }, - { - "fields": { - "alias": "madrid", - "country": "ES" - }, - "model": "stats.countryalias", - "pk": 293 - }, - { - "fields": { - "alias": "espana", - "country": "ES" - }, - "model": "stats.countryalias", - "pk": 294 - }, - { - "fields": { - "alias": "hellas", - "country": "GR" - }, - "model": "stats.countryalias", - "pk": 295 - }, - { - "fields": { - "alias": "gemany", - "country": "DE" - }, - "model": "stats.countryalias", - "pk": 296 - }, - { - "fields": { - "alias": "deutschland", - "country": "DE" - }, - "model": "stats.countryalias", - "pk": 297 - }, - { - "fields": { - "alias": "italia", - "country": "IT" - }, - "model": "stats.countryalias", - "pk": 298 - }, - { - "fields": { - "alias": "isreal", - "country": "IL" - }, - "model": "stats.countryalias", - "pk": 299 - }, - { - "fields": { - "alias": "tel aviv", - "country": "IL" - }, - "model": "stats.countryalias", - "pk": 300 - }, - { - "fields": { - "alias": "UAE", - "country": "AE" - }, - "model": "stats.countryalias", - "pk": 301 - }, - { - "fields": { - "alias": "grand-duchy of luxembourg", - "country": "LU" - }, - "model": "stats.countryalias", - "pk": 302 - }, - { - "fields": { - "alias": "brasil", - "country": "BR" - }, - "model": "stats.countryalias", - "pk": 303 - }, - { - "fields": { - "command": "xym", - "switch": "--version", - "time": "2019-11-20T00:13:04.660", - "used": true, - "version": "xym 0.4" - }, - "model": "utils.versioninfo", - "pk": 1 - }, - { - "fields": { - "command": "pyang", - "switch": "--version", - "time": "2019-11-20T00:13:05.501", - "used": true, - "version": "pyang 2.1" - }, - "model": "utils.versioninfo", - "pk": 2 - }, - { - "fields": { - "command": "yanglint", - "switch": "--version", - "time": "2019-11-20T00:13:05.643", - "used": true, - "version": "yanglint 0.14.80" - }, - "model": "utils.versioninfo", - "pk": 3 - }, - { - "fields": { - "command": "xml2rfc", - "switch": "--version", - "time": "2019-11-20T00:13:06.676", - "used": true, - "version": "xml2rfc 2.35.0" - }, - "model": "utils.versioninfo", - "pk": 4 - } +{ + "fields": { + "content": "{{ assigner.ascii }} has assigned {{ reviewer.person.ascii }} as a reviewer for this document.\n\n{% if prev_team_reviews %}This team has completed other reviews of this document:{% endif %}{% for assignment in prev_team_reviews %}\n- {{ assignment.completed_on }} {{ assignment.reviewer.person.ascii }} -{% if assignment.reviewed_rev %}{{ assignment.reviewed_rev }}{% else %}{{ assignment.review_request.requested_rev }}{% endif %} {{ assignment.result.name }} \n{% endfor %}\n", + "group": null, + "path": "/group/defaults/email/review_assigned.txt", + "title": "Default template for review assignment email", + "type": "django", + "variables": null + }, + "model": "dbtemplate.dbtemplate", + "pk": 354 +}, +{ + "fields": { + "doc_type": "charter", + "name": "Ready for external review", + "order": 1, + "positions": [ + "yes", + "noobj", + "block", + "abstain", + "norecord" + ], + "question": "Is this charter ready for external review?", + "slug": "r-extrev", + "used": true + }, + "model": "doc.ballottype", + "pk": 1 +}, +{ + "fields": { + "doc_type": "charter", + "name": "Ready w/o external review", + "order": 2, + "positions": [ + "yes", + "noobj", + "block", + "abstain", + "norecord" + ], + "question": "Is this charter ready for external review? Is this charter ready for approval without external review?", + "slug": "r-wo-ext", + "used": true + }, + "model": "doc.ballottype", + "pk": 2 +}, +{ + "fields": { + "doc_type": "charter", + "name": "Approve", + "order": 3, + "positions": [ + "yes", + "noobj", + "block", + "abstain", + "norecord" + ], + "question": "Do we approve of this charter?", + "slug": "approve", + "used": true + }, + "model": "doc.ballottype", + "pk": 3 +}, +{ + "fields": { + "doc_type": "draft", + "name": "Approve", + "order": 1, + "positions": [ + "yes", + "noobj", + "discuss", + "abstain", + "recuse", + "norecord" + ], + "question": "", + "slug": "approve", + "used": true + }, + "model": "doc.ballottype", + "pk": 4 +}, +{ + "fields": { + "doc_type": "conflrev", + "name": "Approve", + "order": 0, + "positions": [ + "yes", + "noobj", + "discuss", + "abstain", + "recuse", + "norecord" + ], + "question": "Is this the correct conflict review response?", + "slug": "conflrev", + "used": true + }, + "model": "doc.ballottype", + "pk": 5 +}, +{ + "fields": { + "doc_type": "statchg", + "name": "Approve", + "order": 0, + "positions": [ + "yes", + "noobj", + "discuss", + "abstain", + "recuse", + "norecord" + ], + "question": "Do we approve these RFC status changes?", + "slug": "statchg", + "used": true + }, + "model": "doc.ballottype", + "pk": 6 +}, +{ + "fields": { + "doc_type": "draft", + "name": "IRSG Approve", + "order": 0, + "positions": [ + "moretime", + "notready", + "yes", + "noobj", + "recuse" + ], + "question": "Is this draft ready for publication in the IRTF stream?", + "slug": "irsg-approve", + "used": true + }, + "model": "doc.ballottype", + "pk": 7 +}, +{ + "fields": { + "desc": "", + "name": "Active", + "next_states": [], + "order": 1, + "slug": "active", + "type": "draft", + "used": true + }, + "model": "doc.state", + "pk": 1 +}, +{ + "fields": { + "desc": "", + "name": "Expired", + "next_states": [], + "order": 2, + "slug": "expired", + "type": "draft", + "used": true + }, + "model": "doc.state", + "pk": 2 +}, +{ + "fields": { + "desc": "", + "name": "RFC", + "next_states": [], + "order": 3, + "slug": "rfc", + "type": "draft", + "used": true + }, + "model": "doc.state", + "pk": 3 +}, +{ + "fields": { + "desc": "", + "name": "Replaced", + "next_states": [], + "order": 4, + "slug": "repl", + "type": "draft", + "used": true + }, + "model": "doc.state", + "pk": 4 +}, +{ + "fields": { + "desc": "", + "name": "Withdrawn by Submitter", + "next_states": [], + "order": 5, + "slug": "auth-rm", + "type": "draft", + "used": true + }, + "model": "doc.state", + "pk": 5 +}, +{ + "fields": { + "desc": "", + "name": "Withdrawn by IETF", + "next_states": [], + "order": 6, + "slug": "ietf-rm", + "type": "draft", + "used": true + }, + "model": "doc.state", + "pk": 6 +}, +{ + "fields": { + "desc": "The ID has been published as an RFC.", + "name": "RFC Published", + "next_states": [ + 8 + ], + "order": 32, + "slug": "pub", + "type": "draft-iesg", + "used": true + }, + "model": "doc.state", + "pk": 7 +}, +{ + "fields": { + "desc": "Document is \"dead\" and is no longer being tracked. (E.g., it has been replaced by another document with a different name, it has been withdrawn, etc.)", + "name": "Dead", + "next_states": [ + 16 + ], + "order": 99, + "slug": "dead", + "type": "draft-iesg", + "used": true + }, + "model": "doc.state", + "pk": 8 +}, +{ + "fields": { + "desc": "The IESG has approved the document for publication, but the Secretariat has not yet sent out on official approval message.", + "name": "Approved-announcement to be sent", + "next_states": [ + 10 + ], + "order": 27, + "slug": "approved", + "type": "draft-iesg", + "used": true + }, + "model": "doc.state", + "pk": 9 +}, +{ + "fields": { + "desc": "The IESG has approved the document for publication, and the Secretariat has sent out the official approval message to the RFC editor.", + "name": "Approved-announcement sent", + "next_states": [ + 17 + ], + "order": 30, + "slug": "ann", + "type": "draft-iesg", + "used": true + }, + "model": "doc.state", + "pk": 10 +}, +{ + "fields": { + "desc": "An AD is aware of the document and has chosen to place the document in a separate state in order to keep a closer eye on it (for whatever reason). Documents in this state are still not being actively tracked in the sense that no formal request has been made to publish or advance the document. The sole difference between this state and \"I-D Exists\" is that an AD has chosen to put it in a separate state, to make it easier to keep track of (for the AD's own reasons).", + "name": "AD is watching", + "next_states": [ + 16 + ], + "order": 42, + "slug": "watching", + "type": "draft-iesg", + "used": true + }, + "model": "doc.state", + "pk": 11 +}, +{ + "fields": { + "desc": "The document is now (finally!) being formally reviewed by the entire IESG. Documents are discussed in email or during a bi-weekly IESG telechat. In this phase, each AD reviews the document and airs any issues they may have. Unresolvable issues are documented as \"discuss\" comments that can be forwarded to the authors/WG. See the description of substates for additional details about the current state of the IESG discussion.", + "name": "IESG Evaluation", + "next_states": [ + 18, + 9, + 22 + ], + "order": 20, + "slug": "iesg-eva", + "type": "draft-iesg", + "used": true + }, + "model": "doc.state", + "pk": 12 +}, +{ + "fields": { + "desc": "A specific AD (e.g., the Area Advisor for the WG) has begun reviewing the document to verify that it is ready for advancement. The shepherding AD is responsible for doing any necessary review before starting an IETF Last Call or sending the document directly to the IESG as a whole.", + "name": "AD Evaluation", + "next_states": [ + 21, + 14, + 12, + 11 + ], + "order": 11, + "slug": "ad-eval", + "type": "draft-iesg", + "used": true + }, + "model": "doc.state", + "pk": 13 +}, +{ + "fields": { + "desc": "The AD has requested that the Secretariat start an IETF Last Call, but the the actual Last Call message has not been sent yet.", + "name": "Last Call Requested", + "next_states": [ + 15 + ], + "order": 15, + "slug": "lc-req", + "type": "draft-iesg", + "used": true + }, + "model": "doc.state", + "pk": 14 +}, +{ + "fields": { + "desc": "The document is currently waiting for IETF Last Call to complete. Last Calls for WG documents typically last 2 weeks, those for individual submissions last 4 weeks.", + "name": "In Last Call", + "next_states": [ + 19, + 20 + ], + "order": 16, + "slug": "lc", + "type": "draft-iesg", + "used": true + }, + "model": "doc.state", + "pk": 15 +}, +{ + "fields": { + "desc": "A formal request has been made to advance/publish the document, following the procedures in Section 7.5 of RFC 2418. The request could be from a WG chair, from an individual through the RFC Editor, etc. (The Secretariat (iesg-secretary@ietf.org) is copied on these requests to ensure that the request makes it into the ID tracker.) A document in this state has not (yet) been reviewed by an AD nor has any official action been taken on it yet (other than to note that its publication has been requested.", + "name": "Publication Requested", + "next_states": [ + 13, + 11, + 8 + ], + "order": 10, + "slug": "pub-req", + "type": "draft-iesg", + "used": true + }, + "model": "doc.state", + "pk": 16 +}, +{ + "fields": { + "desc": "The document is in the RFC editor Queue (as confirmed by http://www.rfc-editor.org/queue.html).", + "name": "RFC Ed Queue", + "next_states": [ + 7 + ], + "order": 31, + "slug": "rfcqueue", + "type": "draft-iesg", + "used": true + }, + "model": "doc.state", + "pk": 17 +}, +{ + "fields": { + "desc": "During a telechat, one or more ADs requested an additional 2 weeks to review the document. A defer is designed to be an exception mechanism, and can only be invoked once, the first time the document comes up for discussion during a telechat.", + "name": "IESG Evaluation - Defer", + "next_states": [ + 12 + ], + "order": 21, + "slug": "defer", + "type": "draft-iesg", + "used": true + }, + "model": "doc.state", + "pk": 18 +}, +{ + "fields": { + "desc": "Before a standards-track or BCP document is formally considered by the entire IESG, the AD must write up a protocol action. The protocol action is included in the approval message that the Secretariat sends out when the document is approved for publication as an RFC.", + "name": "Waiting for Writeup", + "next_states": [ + 20 + ], + "order": 18, + "slug": "writeupw", + "type": "draft-iesg", + "used": true + }, + "model": "doc.state", + "pk": 19 +}, +{ + "fields": { + "desc": "As a result of the IETF Last Call, comments may need to be responded to and a revision of the ID may be needed as well. The AD is responsible for verifying that all Last Call comments have been adequately addressed and that the (possibly revised) document is in the ID directory and ready for consideration by the IESG as a whole.", + "name": "Waiting for AD Go-Ahead", + "next_states": [ + 12 + ], + "order": 19, + "slug": "goaheadw", + "type": "draft-iesg", + "used": true + }, + "model": "doc.state", + "pk": 20 +}, +{ + "fields": { + "desc": "An AD sometimes asks for an external review by an outside party as part of evaluating whether a document is ready for advancement. MIBs, for example, are reviewed by the \"MIB doctors\". Other types of reviews may also be requested (e.g., security, operations impact, etc.). Documents stay in this state until the review is complete and possibly until the issues raised in the review are addressed. See the \"note\" field for specific details on the nature of the review.", + "name": "Expert Review", + "next_states": [ + 13 + ], + "order": 12, + "slug": "review-e", + "type": "draft-iesg", + "used": true + }, + "model": "doc.state", + "pk": 21 +}, +{ + "fields": { + "desc": "Do Not Publish: The IESG recommends against publishing the document, but the writeup explaining its reasoning has not yet been produced. DNPs apply primarily to individual submissions received through the RFC editor. See the \"note\" field for more details on who has the action item.", + "name": "DNP-waiting for AD note", + "next_states": [ + 23 + ], + "order": 33, + "slug": "nopubadw", + "type": "draft-iesg", + "used": true + }, + "model": "doc.state", + "pk": 22 +}, +{ + "fields": { + "desc": "The IESG recommends against publishing the document, the writeup explaining its reasoning has been produced, but the Secretariat has not yet sent out the official \"do not publish\" recommendation message.", + "name": "DNP-announcement to be sent", + "next_states": [ + 8 + ], + "order": 34, + "slug": "nopubanw", + "type": "draft-iesg", + "used": true + }, + "model": "doc.state", + "pk": 23 +}, +{ + "fields": { + "desc": "Awaiting author action", + "name": "AUTH", + "next_states": [], + "order": 0, + "slug": "auth", + "type": "draft-rfceditor", + "used": true + }, + "model": "doc.state", + "pk": 24 +}, +{ + "fields": { + "desc": "Awaiting final author approval", + "name": "AUTH48", + "next_states": [], + "order": 0, + "slug": "auth48", + "type": "draft-rfceditor", + "used": true + }, + "model": "doc.state", + "pk": 25 +}, +{ + "fields": { + "desc": "Approved by the stream manager (e.g., IESG, IAB, IRSG, ISE), awaiting processing and publishing", + "name": "EDIT", + "next_states": [], + "order": 0, + "slug": "edit", + "type": "draft-rfceditor", + "used": false + }, + "model": "doc.state", + "pk": 26 +}, +{ + "fields": { + "desc": "Document has been edited, but is holding for completion of IANA actions", + "name": "IANA", + "next_states": [], + "order": 0, + "slug": "iana", + "type": "draft-rfceditor", + "used": true + }, + "model": "doc.state", + "pk": 27 +}, +{ + "fields": { + "desc": "Awaiting IESG action", + "name": "IESG", + "next_states": [], + "order": 0, + "slug": "iesg", + "type": "draft-rfceditor", + "used": false + }, + "model": "doc.state", + "pk": 28 +}, +{ + "fields": { + "desc": "Independent Submission Review by the ISE ", + "name": "ISR", + "next_states": [], + "order": 0, + "slug": "isr", + "type": "draft-rfceditor", + "used": true + }, + "model": "doc.state", + "pk": 29 +}, +{ + "fields": { + "desc": "Independent submission awaiting author action, or in discussion between author and ISE", + "name": "ISR-AUTH", + "next_states": [], + "order": 0, + "slug": "isr-auth", + "type": "draft-rfceditor", + "used": false + }, + "model": "doc.state", + "pk": 30 +}, +{ + "fields": { + "desc": "Holding for normative reference", + "name": "REF", + "next_states": [], + "order": 0, + "slug": "ref", + "type": "draft-rfceditor", + "used": true + }, + "model": "doc.state", + "pk": 31 +}, +{ + "fields": { + "desc": "Awaiting final RFC Editor review before AUTH48", + "name": "RFC-EDITOR", + "next_states": [], + "order": 0, + "slug": "rfc-edit", + "type": "draft-rfceditor", + "used": true + }, + "model": "doc.state", + "pk": 32 +}, +{ + "fields": { + "desc": "Time-out period during which the IESG reviews document for conflict/concurrence with other IETF working group work", + "name": "TO", + "next_states": [], + "order": 0, + "slug": "timeout", + "type": "draft-rfceditor", + "used": true + }, + "model": "doc.state", + "pk": 33 +}, +{ + "fields": { + "desc": "Awaiting missing normative reference", + "name": "MISSREF", + "next_states": [], + "order": 0, + "slug": "missref", + "type": "draft-rfceditor", + "used": true + }, + "model": "doc.state", + "pk": 34 +}, +{ + "fields": { + "desc": "4.2.1. Call for Adoption by WG Issued\n\n The \"Call for Adoption by WG Issued\" state should be used to indicate when an I-D is being considered for adoption by an IETF WG. An I-D that is in this state is actively being considered for adoption and has not yet achieved consensus, preference, or selection in the WG.\n\n This state may be used to describe an I-D that someone has asked a WG to consider for adoption, if the WG Chair has agreed with the request. This state may also be used to identify an I-D that a WG Chair asked an author to write specifically for consideration as a candidate WG item [WGDTSPEC], and/or an I-D that is listed as a 'candidate draft' in the WG's charter.\n\n Under normal conditions, it should not be possible for an I-D to be in the \"Call for Adoption by WG Issued\" state in more than one working group at the same time. This said, it is not uncommon for authors to \"shop\" their I-Ds to more than one WG at a time, with the hope of getting their documents adopted somewhere.\n\n After this state is implemented in the Datatracker, an I-D that is in the \"Call for Adoption by WG Issued\" state will not be able to be \"shopped\" to any other WG without the consent of the WG Chairs and the responsible ADs impacted by the shopping.\n\n Note that Figure 1 includes an arc leading from this state to outside of the WG state machine. This illustrates that some I-Ds that are considered do not get adopted as WG drafts. An I-D that is not adopted as a WG draft will transition out of the WG state machine and revert back to having no stream-specific state; however, the status change history log of the I-D will record that the I-D was previously in the \"Call for Adoption by WG Issued\" state.", + "name": "Call For Adoption By WG Issued", + "next_states": [ + 36, + 37 + ], + "order": 1, + "slug": "c-adopt", + "type": "draft-stream-ietf", + "used": true + }, + "model": "doc.state", + "pk": 35 +}, +{ + "fields": { + "desc": "4.2.2. Adopted by a WG\n\n The \"Adopted by a WG\" state describes an individual submission I-D that an IETF WG has agreed to adopt as one of its WG drafts.\n\n WG Chairs who use this state will be able to clearly indicate when their WGs adopt individual submission I-Ds. This will facilitate the Datatracker's ability to correctly capture \"Replaces\" information for WG drafts and correct \"Replaced by\" information for individual submission I-Ds that have been replaced by WG drafts.\n\n This state is needed because the Datatracker uses the filename of an I-D as a key to search its database for status information about the I-D, and because the filename of a WG I-D is supposed to be different from the filename of an individual submission I-D. The filename of an individual submission I-D will typically be formatted as 'draft-author-wgname-topic-nn'.\n\n The filename of a WG document is supposed to be formatted as 'draft- ietf-wgname-topic-nn'.\n\n An individual I-D that is adopted by a WG may take weeks or months to be resubmitted by the author as a new (version-00) WG draft. If the \"Adopted by a WG\" state is not used, the Datatracker has no way to determine that an I-D has been adopted until a new version of the I-D is submitted to the WG by the author and until the I-D is approved for posting by a WG Chair.", + "name": "Adopted by a WG", + "next_states": [ + 38 + ], + "order": 2, + "slug": "adopt-wg", + "type": "draft-stream-ietf", + "used": true + }, + "model": "doc.state", + "pk": 36 +}, +{ + "fields": { + "desc": "4.2.3. Adopted for WG Info Only\n\n The \"Adopted for WG Info Only\" state describes a document that contains useful information for the WG that adopted it, but the document is not intended to be published as an RFC. The WG will not actively develop the contents of the I-D or progress it for publication as an RFC. The only purpose of the I-D is to provide information for internal use by the WG.", + "name": "Adopted for WG Info Only", + "next_states": [], + "order": 3, + "slug": "info", + "type": "draft-stream-ietf", + "used": true + }, + "model": "doc.state", + "pk": 37 +}, +{ + "fields": { + "desc": "4.2.4. WG Document\n\n The \"WG Document\" state describes an I-D that has been adopted by an IETF WG and is being actively developed.\n\n A WG Chair may transition an I-D into the \"WG Document\" state at any time as long as the I-D is not being considered or developed in any other WG.\n\n Alternatively, WG Chairs may rely upon new functionality to be added to the Datatracker to automatically move version-00 drafts into the \"WG Document\" state as described in Section 4.1.\n\n Under normal conditions, it should not be possible for an I-D to be in the \"WG Document\" state in more than one WG at a time. This said, I-Ds may be transferred from one WG to another with the consent of the WG Chairs and the responsible ADs.", + "name": "WG Document", + "next_states": [ + 39, + 40, + 41, + 43 + ], + "order": 4, + "slug": "wg-doc", + "type": "draft-stream-ietf", + "used": true + }, + "model": "doc.state", + "pk": 38 +}, +{ + "fields": { + "desc": "4.2.5. Parked WG Document\n\n A \"Parked WG Document\" is an I-D that has lost its author or editor, is waiting for another document to be written or for a review to be completed, or cannot be progressed by the working group for some other reason.\n\n Some of the annotation tags described in Section 4.3 may be used in conjunction with this state to indicate why an I-D has been parked, and/or what may need to happen for the I-D to be un-parked.\n\n Parking a WG draft will not prevent it from expiring; however, this state can be used to indicate why the I-D has stopped progressing in the WG.\n\n A \"Parked WG Document\" that is not expired may be transferred from one WG to another with the consent of the WG Chairs and the responsible ADs.", + "name": "Parked WG Document", + "next_states": [ + 38 + ], + "order": 5, + "slug": "parked", + "type": "draft-stream-ietf", + "used": true + }, + "model": "doc.state", + "pk": 39 +}, +{ + "fields": { + "desc": "4.2.6. Dead WG Document\n\n A \"Dead WG Document\" is an I-D that has been abandoned. Note that 'Dead' is not always a final state for a WG I-D. If consensus is subsequently achieved, a \"Dead WG Document\" may be resurrected. A \"Dead WG Document\" that is not resurrected will eventually expire.\n\n Note that an I-D that is declared to be \"Dead\" in one WG and that is not expired may be transferred to a non-dead state in another WG with the consent of the WG Chairs and the responsible ADs.", + "name": "Dead WG Document", + "next_states": [ + 38 + ], + "order": 6, + "slug": "dead", + "type": "draft-stream-ietf", + "used": true + }, + "model": "doc.state", + "pk": 40 +}, +{ + "fields": { + "desc": "4.2.7. In WG Last Call\n\n A document \"In WG Last Call\" is an I-D for which a WG Last Call (WGLC) has been issued and is in progress.\n\n Note that conducting a WGLC is an optional part of the IETF WG process, per Section 7.4 of RFC 2418 [RFC2418].\n\n If a WG Chair decides to conduct a WGLC on an I-D, the \"In WG Last Call\" state can be used to track the progress of the WGLC. The Chair may configure the Datatracker to send a WGLC message to one or more mailing lists when the Chair moves the I-D into this state. The WG Chair may also be able to select a different set of mailing lists for a different document undergoing a WGLC; some documents may deserve coordination with other WGs.\n\n A WG I-D in this state should remain \"In WG Last Call\" until the WG Chair moves it to another state. The WG Chair may configure the Datatracker to send an e-mail after a specified period of time to remind or 'nudge' the Chair to conclude the WGLC and to determine the next state for the document.\n\n It is possible for one WGLC to lead into another WGLC for the same document. For example, an I-D that completed a WGLC as an \"Informational\" document may need another WGLC if a decision is taken to convert the I-D into a Standards Track document.", + "name": "In WG Last Call", + "next_states": [ + 38, + 42, + 43 + ], + "order": 7, + "slug": "wg-lc", + "type": "draft-stream-ietf", + "used": true + }, + "model": "doc.state", + "pk": 41 +}, +{ + "fields": { + "desc": "4.2.8. Waiting for WG Chair Go-Ahead\n\n A WG Chair may wish to place an I-D that receives a lot of comments during a WGLC into the \"Waiting for WG Chair Go-Ahead\" state. This state describes an I-D that has undergone a WGLC; however, the Chair is not yet ready to call consensus on the document.\n\n If comments from the WGLC need to be responded to, or a revision to the I-D is needed, the Chair may place an I-D into this state until all of the WGLC comments are adequately addressed and the (possibly revised) document is in the I-D repository.", + "name": "Waiting for WG Chair Go-Ahead", + "next_states": [ + 41, + 43 + ], + "order": 10, + "slug": "chair-w", + "type": "draft-stream-ietf", + "used": true + }, + "model": "doc.state", + "pk": 42 +}, +{ + "fields": { + "desc": "4.2.9. WG Consensus: Waiting for Writeup\n\n A document in the \"WG Consensus: Waiting for Writeup\" state has essentially completed its development within the working group, and is nearly ready to be sent to the IESG for publication. The last thing to be done is the preparation of a protocol writeup by a Document Shepherd. The IESG requires that a document shepherd writeup be completed before publication of the I-D is requested. The IETF document shepherding process and the role of a WG Document Shepherd is described in RFC 4858 [RFC4858]\n\n A WG Chair may call consensus on an I-D without a formal WGLC and transition an I-D that was in the \"WG Document\" state directly into this state.\n\n The name of this state includes the words \"Waiting for Writeup\" because a good document shepherd writeup takes time to prepare.", + "name": "WG Consensus: Waiting for Write-Up", + "next_states": [ + 44 + ], + "order": 11, + "slug": "writeupw", + "type": "draft-stream-ietf", + "used": true + }, + "model": "doc.state", + "pk": 43 +}, +{ + "fields": { + "desc": "4.2.10. Submitted to IESG for Publication\n\n This state describes a WG document that has been submitted to the IESG for publication and that has not been sent back to the working group for revision.\n\n An I-D in this state may be under review by the IESG, it may have been approved and be in the RFC Editor's queue, or it may have been published as an RFC. Other possibilities exist too. The document may be \"Dead\" (in the IESG state machine) or in a \"Do Not Publish\" state.", + "name": "Submitted to IESG for Publication", + "next_states": [ + 38 + ], + "order": 12, + "slug": "sub-pub", + "type": "draft-stream-ietf", + "used": true + }, + "model": "doc.state", + "pk": 44 +}, +{ + "fields": { + "desc": "A document being considered for the IAB stream.", + "name": "Candidate IAB Document", + "next_states": [], + "order": 1, + "slug": "candidat", + "type": "draft-stream-iab", + "used": true + }, + "model": "doc.state", + "pk": 45 +}, +{ + "fields": { + "desc": "This document has been adopted by the IAB and is being actively developed.", + "name": "Active IAB Document", + "next_states": [], + "order": 2, + "slug": "active", + "type": "draft-stream-iab", + "used": true + }, + "model": "doc.state", + "pk": 46 +}, +{ + "fields": { + "desc": "This document has lost its author or editor, is waiting for another document to be written, or cannot currently be worked on by the IAB for some other reason. Annotations probably explain why this document is parked.", + "name": "Parked IAB Document", + "next_states": [], + "order": 3, + "slug": "parked", + "type": "draft-stream-iab", + "used": true + }, + "model": "doc.state", + "pk": 47 +}, +{ + "fields": { + "desc": "This document is awaiting the IAB itself to come to internal consensus.", + "name": "IAB Review", + "next_states": [], + "order": 4, + "slug": "review-i", + "type": "draft-stream-iab", + "used": true + }, + "model": "doc.state", + "pk": 48 +}, +{ + "fields": { + "desc": "This document has completed internal consensus within the IAB and is now under community review.", + "name": "Community Review", + "next_states": [], + "order": 5, + "slug": "review-c", + "type": "draft-stream-iab", + "used": true + }, + "model": "doc.state", + "pk": 49 +}, +{ + "fields": { + "desc": "The consideration of this document is complete, but it has not yet been sent to the RFC Editor for publication (although that is going to happen soon).", + "name": "Approved by IAB, To Be Sent to RFC Editor", + "next_states": [], + "order": 6, + "slug": "approved", + "type": "draft-stream-iab", + "used": true + }, + "model": "doc.state", + "pk": 50 +}, +{ + "fields": { + "desc": "The IAB does not expect to publish the document itself, but has passed it on to a different organization that might continue work on the document. The expectation is that the other organization will eventually publish the document.", + "name": "Sent to a Different Organization for Publication", + "next_states": [], + "order": 7, + "slug": "diff-org", + "type": "draft-stream-iab", + "used": true + }, + "model": "doc.state", + "pk": 51 +}, +{ + "fields": { + "desc": "The IAB processing of this document is complete and it has been sent to the RFC Editor for publication. The document may be in the RFC Editor's queue, or it may have been published as an RFC; this state doesn't distinguish between different states occurring after the document has left the IAB.", + "name": "Sent to the RFC Editor", + "next_states": [], + "order": 8, + "slug": "rfc-edit", + "type": "draft-stream-iab", + "used": true + }, + "model": "doc.state", + "pk": 52 +}, +{ + "fields": { + "desc": "The document has been published as an RFC.", + "name": "Published RFC", + "next_states": [], + "order": 9, + "slug": "pub", + "type": "draft-stream-iab", + "used": true + }, + "model": "doc.state", + "pk": 53 +}, +{ + "fields": { + "desc": "This document was an active IAB document, but for some reason it is no longer being pursued for the IAB stream. It is possible that the document might be revived later, possibly in another stream.", + "name": "Dead IAB Document", + "next_states": [], + "order": 10, + "slug": "dead", + "type": "draft-stream-iab", + "used": true + }, + "model": "doc.state", + "pk": 54 +}, +{ + "fields": { + "desc": "This document is under consideration in an RG for becoming an IRTF document. A document in this state does not imply any RG consensus and does not imply any precedence or selection. It's simply a way to indicate that somebody has asked for a document to be considered for adoption by an RG.", + "name": "Candidate RG Document", + "next_states": [], + "order": 1, + "slug": "candidat", + "type": "draft-stream-irtf", + "used": true + }, + "model": "doc.state", + "pk": 55 +}, +{ + "fields": { + "desc": "This document has been adopted by the RG and is being actively developed.", + "name": "Active RG Document", + "next_states": [], + "order": 2, + "slug": "active", + "type": "draft-stream-irtf", + "used": true + }, + "model": "doc.state", + "pk": 56 +}, +{ + "fields": { + "desc": "This document has lost its author or editor, is waiting for another document to be written, or cannot currently be worked on by the RG for some other reason.", + "name": "Parked RG Document", + "next_states": [], + "order": 3, + "slug": "parked", + "type": "draft-stream-irtf", + "used": true + }, + "model": "doc.state", + "pk": 57 +}, +{ + "fields": { + "desc": "The document is in its final review in the RG.", + "name": "In RG Last Call", + "next_states": [], + "order": 4, + "slug": "rg-lc", + "type": "draft-stream-irtf", + "used": true + }, + "model": "doc.state", + "pk": 58 +}, +{ + "fields": { + "desc": "IRTF documents have document shepherds who help RG documents through the process after the RG has finished with the document.", + "name": "Waiting for Document Shepherd", + "next_states": [], + "order": 5, + "slug": "sheph-w", + "type": "draft-stream-irtf", + "used": true + }, + "model": "doc.state", + "pk": 59 +}, +{ + "fields": { + "desc": "The IRTF Chair is meant to be performing some task such as sending a request for IESG Review.", + "name": "Waiting for IRTF Chair", + "next_states": [], + "order": 6, + "slug": "chair-w", + "type": "draft-stream-irtf", + "used": true + }, + "model": "doc.state", + "pk": 60 +}, +{ + "fields": { + "desc": "The document shepherd has taken the document to the IRSG and solicited reviews from one or more IRSG members.", + "name": "Awaiting IRSG Reviews", + "next_states": [], + "order": 7, + "slug": "irsg-w", + "type": "draft-stream-irtf", + "used": true + }, + "model": "doc.state", + "pk": 61 +}, +{ + "fields": { + "desc": "The IRSG is taking a poll on whether or not the document is ready to be published.", + "name": "In IRSG Poll", + "next_states": [], + "order": 8, + "slug": "irsgpoll", + "type": "draft-stream-irtf", + "used": true + }, + "model": "doc.state", + "pk": 62 +}, +{ + "fields": { + "desc": "The IRSG has asked the IESG to do a review of the document, as described in RFC5742.", + "name": "In IESG Review", + "next_states": [], + "order": 9, + "slug": "iesg-rev", + "type": "draft-stream-irtf", + "used": true + }, + "model": "doc.state", + "pk": 63 +}, +{ + "fields": { + "desc": "The RG processing of this document is complete and it has been sent to the RFC Editor for publication. The document may be in the RFC Editor's queue, or it may have been published as an RFC; this state doesn't distinguish between different states occurring after the document has left the RG.", + "name": "Sent to the RFC Editor", + "next_states": [], + "order": 10, + "slug": "rfc-edit", + "type": "draft-stream-irtf", + "used": true + }, + "model": "doc.state", + "pk": 64 +}, +{ + "fields": { + "desc": "The document has been published as an RFC.", + "name": "Published RFC", + "next_states": [], + "order": 11, + "slug": "pub", + "type": "draft-stream-irtf", + "used": true + }, + "model": "doc.state", + "pk": 65 +}, +{ + "fields": { + "desc": "The IESG has requested that the document be held pending further review, as specified in RFC 5742, and the IRTF has agreed to such a hold.", + "name": "Document on Hold Based On IESG Request", + "next_states": [], + "order": 12, + "slug": "iesghold", + "type": "draft-stream-irtf", + "used": true + }, + "model": "doc.state", + "pk": 66 +}, +{ + "fields": { + "desc": "This document was an active IRTF document, but for some reason it is no longer being pursued for the IRTF stream. It is possible that the document might be revived later, possibly in another stream.", + "name": "Dead IRTF Document", + "next_states": [], + "order": 13, + "slug": "dead", + "type": "draft-stream-irtf", + "used": true + }, + "model": "doc.state", + "pk": 67 +}, +{ + "fields": { + "desc": "The draft has been sent to the ISE with a request for publication.", + "name": "Submission Received", + "next_states": [], + "order": 1, + "slug": "receive", + "type": "draft-stream-ise", + "used": true + }, + "model": "doc.state", + "pk": 68 +}, +{ + "fields": { + "desc": " The ISE is finding initial reviewers for the document.", + "name": "Finding Reviewers", + "next_states": [], + "order": 2, + "slug": "find-rev", + "type": "draft-stream-ise", + "used": true + }, + "model": "doc.state", + "pk": 69 +}, +{ + "fields": { + "desc": "The ISE is actively working on the document.", + "name": "In ISE Review", + "next_states": [], + "order": 3, + "slug": "ise-rev", + "type": "draft-stream-ise", + "used": true + }, + "model": "doc.state", + "pk": 70 +}, +{ + "fields": { + "desc": " One or more reviews have been sent to the author, and the ISE is awaiting response.", + "name": "Response to Review Needed", + "next_states": [], + "order": 4, + "slug": "need-res", + "type": "draft-stream-ise", + "used": true + }, + "model": "doc.state", + "pk": 71 +}, +{ + "fields": { + "desc": "The ISE has asked the IESG to do a review of the document, as described in RFC5742.", + "name": "In IESG Review", + "next_states": [], + "order": 5, + "slug": "iesg-rev", + "type": "draft-stream-ise", + "used": true + }, + "model": "doc.state", + "pk": 72 +}, +{ + "fields": { + "desc": "The ISE processing of this document is complete and it has been sent to the RFC Editor for publication. The document may be in the RFC Editor's queue, or it may have been published as an RFC; this state doesn't distinguish between different states occurring after the document has left the ISE.", + "name": "Sent to the RFC Editor", + "next_states": [], + "order": 6, + "slug": "rfc-edit", + "type": "draft-stream-ise", + "used": true + }, + "model": "doc.state", + "pk": 73 +}, +{ + "fields": { + "desc": "The document has been published as an RFC.", + "name": "Published RFC", + "next_states": [], + "order": 7, + "slug": "pub", + "type": "draft-stream-ise", + "used": true + }, + "model": "doc.state", + "pk": 74 +}, +{ + "fields": { + "desc": "This document was actively considered in the Independent Submission stream, but the ISE chose not to publish it. It is possible that the document might be revived later. A document in this state may have a comment explaining the reasoning of the ISE (such as if the document was going to move to a different stream).", + "name": "No Longer In Independent Submission Stream", + "next_states": [], + "order": 8, + "slug": "dead", + "type": "draft-stream-ise", + "used": true + }, + "model": "doc.state", + "pk": 75 +}, +{ + "fields": { + "desc": "The IESG has requested that the document be held pending further review, as specified in RFC 5742, and the ISE has agreed to such a hold.", + "name": "Document on Hold Based On IESG Request", + "next_states": [], + "order": 9, + "slug": "iesghold", + "type": "draft-stream-ise", + "used": true + }, + "model": "doc.state", + "pk": 76 +}, +{ + "fields": { + "desc": "", + "name": "Active", + "next_states": [], + "order": 1, + "slug": "active", + "type": "slides", + "used": true + }, + "model": "doc.state", + "pk": 77 +}, +{ + "fields": { + "desc": "", + "name": "Deleted", + "next_states": [], + "order": 4, + "slug": "deleted", + "type": "slides", + "used": true + }, + "model": "doc.state", + "pk": 78 +}, +{ + "fields": { + "desc": "", + "name": "Active", + "next_states": [], + "order": 1, + "slug": "active", + "type": "minutes", + "used": true + }, + "model": "doc.state", + "pk": 79 +}, +{ + "fields": { + "desc": "", + "name": "Deleted", + "next_states": [], + "order": 2, + "slug": "deleted", + "type": "minutes", + "used": true + }, + "model": "doc.state", + "pk": 80 +}, +{ + "fields": { + "desc": "", + "name": "Active", + "next_states": [], + "order": 1, + "slug": "active", + "type": "agenda", + "used": true + }, + "model": "doc.state", + "pk": 81 +}, +{ + "fields": { + "desc": "", + "name": "Deleted", + "next_states": [], + "order": 2, + "slug": "deleted", + "type": "agenda", + "used": true + }, + "model": "doc.state", + "pk": 82 +}, +{ + "fields": { + "desc": "The proposed charter is not being considered at this time. A proposed charter will remain in this state until an AD moves it to Informal IESG review.", + "name": "Not currently under review", + "next_states": [], + "order": 0, + "slug": "notrev", + "type": "charter", + "used": true + }, + "model": "doc.state", + "pk": 83 +}, +{ + "fields": { + "desc": "The proposed charter is not being considered at this time. A proposed charter will remain in this state until an AD moves it to Start Chartering/Rechartering (Internal IESG/IAB Review). This state is useful for drafting the charter, discussing with chairs, etc.", + "name": "Draft Charter", + "next_states": [], + "order": 0, + "slug": "infrev", + "type": "charter", + "used": true + }, + "model": "doc.state", + "pk": 84 +}, +{ + "fields": { + "desc": "This is the state when you'd like to propose the charter / new charter. This state also allows you to ask whether external review can be skipped in ballot. After you select this state, the Secretariat takes over and drives the rest of the process.", + "name": "Start Chartering/Rechartering (Internal IESG/IAB Review)", + "next_states": [], + "order": 0, + "slug": "intrev", + "type": "charter", + "used": true + }, + "model": "doc.state", + "pk": 85 +}, +{ + "fields": { + "desc": "This state is selected by the Secretariat (AD's, keep yer grubby mits off this!) when it has been decided that the charter needs external review.", + "name": "External Review (Message to Community, Selected by Secretariat)", + "next_states": [], + "order": 0, + "slug": "extrev", + "type": "charter", + "used": true + }, + "model": "doc.state", + "pk": 86 +}, +{ + "fields": { + "desc": "This state is selected by the Secretariat (AD's, keep yer grubby mits off this!) when the IESG is reviewing the discussion from the external review of the proposed charter (this is similar to the IESG Evaluation state for a draft).", + "name": "IESG Review (Charter for Approval, Selected by Secretariat)", + "next_states": [], + "order": 0, + "slug": "iesgrev", + "type": "charter", + "used": true + }, + "model": "doc.state", + "pk": 87 +}, +{ + "fields": { + "desc": "The charter is approved by the IESG.", + "name": "Approved", + "next_states": [], + "order": 0, + "slug": "approved", + "type": "charter", + "used": true + }, + "model": "doc.state", + "pk": 88 +}, +{ + "fields": { + "desc": "Final approvals are complete", + "name": "AUTH48-DONE", + "next_states": [ + 74 + ], + "order": 0, + "slug": "auth48done", + "type": "draft-rfceditor", + "used": false + }, + "model": "doc.state", + "pk": 89 +}, +{ + "fields": { + "desc": "A conflict review has been requested, but a shepherding AD has not yet been assigned", + "name": "Needs Shepherd", + "next_states": [ + 91, + 98, + 99 + ], + "order": 1, + "slug": "needshep", + "type": "conflrev", + "used": true + }, + "model": "doc.state", + "pk": 90 +}, +{ + "fields": { + "desc": "The sponsoring AD is reviewing the document and preparing a proposed response", + "name": "AD Review", + "next_states": [ + 92, + 98, + 99 + ], + "order": 2, + "slug": "adrev", + "type": "conflrev", + "used": true + }, + "model": "doc.state", + "pk": 91 +}, +{ + "fields": { + "desc": "The IESG is considering the proposed conflict review response", + "name": "IESG Evaluation", + "next_states": [ + 93, + 94, + 95, + 98, + 99 + ], + "order": 3, + "slug": "iesgeval", + "type": "conflrev", + "used": true + }, + "model": "doc.state", + "pk": 92 +}, +{ + "fields": { + "desc": "The evaluation of the proposed conflict review response has been deferred to the next telechat", + "name": "IESG Evaluation - Defer", + "next_states": [ + 92, + 94, + 95, + 98, + 99 + ], + "order": 4, + "slug": "defer", + "type": "conflrev", + "used": true + }, + "model": "doc.state", + "pk": 93 +}, +{ + "fields": { + "desc": "The IESG has approved the conflict review response (a request to not publish), but the secretariat has not yet sent the response", + "name": "Approved Request to Not Publish - announcement to be sent", + "next_states": [ + 96, + 98 + ], + "order": 7, + "slug": "appr-reqnopub-pend", + "type": "conflrev", + "used": true + }, + "model": "doc.state", + "pk": 94 +}, +{ + "fields": { + "desc": "The IESG has approved the conflict review response, but the secretariat has not yet sent the response", + "name": "Approved No Problem - announcement to be sent", + "next_states": [ + 97, + 98 + ], + "order": 8, + "slug": "appr-noprob-pend", + "type": "conflrev", + "used": true + }, + "model": "doc.state", + "pk": 95 +}, +{ + "fields": { + "desc": "The secretariat has delivered the IESG's approved conflict review response (a request to not publish) to the requester", + "name": "Approved Request to Not Publish - announcement sent", + "next_states": [ + 96 + ], + "order": 9, + "slug": "appr-reqnopub-sent", + "type": "conflrev", + "used": true + }, + "model": "doc.state", + "pk": 96 +}, +{ + "fields": { + "desc": "The secretariat has delivered the IESG's approved conflict review response to the requester", + "name": "Approved No Problem - announcement sent", + "next_states": [ + 97 + ], + "order": 10, + "slug": "appr-noprob-sent", + "type": "conflrev", + "used": true + }, + "model": "doc.state", + "pk": 97 +}, +{ + "fields": { + "desc": "The request for conflict review was withdrawn", + "name": "Withdrawn", + "next_states": [ + 90 + ], + "order": 11, + "slug": "withdraw", + "type": "conflrev", + "used": true + }, + "model": "doc.state", + "pk": 98 +}, +{ + "fields": { + "desc": "The conflict review has been abandoned", + "name": "Dead", + "next_states": [ + 90 + ], + "order": 12, + "slug": "dead", + "type": "conflrev", + "used": true + }, + "model": "doc.state", + "pk": 99 +}, +{ + "fields": { + "desc": "The IESG has approved the conflict review response (a request to not publish), but a point has been raised that should be cleared before moving to announcement to be sent", + "name": "Approved Request to Not Publish - point raised", + "next_states": [ + 94 + ], + "order": 5, + "slug": "appr-reqnopub-pr", + "type": "conflrev", + "used": true + }, + "model": "doc.state", + "pk": 100 +}, +{ + "fields": { + "desc": "The IESG has approved the conflict review response, but a point has been raised that should be cleared before proceeding to announcement to be sent", + "name": "Approved No Problem - point raised", + "next_states": [ + 95 + ], + "order": 6, + "slug": "appr-noprob-pr", + "type": "conflrev", + "used": true + }, + "model": "doc.state", + "pk": 101 +}, +{ + "fields": { + "desc": "A new document has been received by IANA, but no actions have been taken", + "name": "New Document", + "next_states": [], + "order": 1, + "slug": "newdoc", + "type": "draft-iana-action", + "used": true + }, + "model": "doc.state", + "pk": 102 +}, +{ + "fields": { + "desc": "IANA is currently processing the actions for this document", + "name": "In Progress", + "next_states": [], + "order": 2, + "slug": "inprog", + "type": "draft-iana-action", + "used": true + }, + "model": "doc.state", + "pk": 103 +}, +{ + "fields": { + "desc": "IANA is waiting on the document's authors to respond", + "name": "Waiting on Authors", + "next_states": [], + "order": 3, + "slug": "waitauth", + "type": "draft-iana-action", + "used": true + }, + "model": "doc.state", + "pk": 104 +}, +{ + "fields": { + "desc": "IANA is waiting on the IETF Area Directors to respond", + "name": "Waiting on ADs", + "next_states": [], + "order": 4, + "slug": "waitad", + "type": "draft-iana-action", + "used": true + }, + "model": "doc.state", + "pk": 105 +}, +{ + "fields": { + "desc": "IANA is waiting on the IETF Working Group Chairs to respond", + "name": "Waiting on WGC", + "next_states": [], + "order": 5, + "slug": "waitwgc", + "type": "draft-iana-action", + "used": true + }, + "model": "doc.state", + "pk": 106 +}, +{ + "fields": { + "desc": "IANA has notified the RFC Editor that the actions have been completed", + "name": "Waiting on RFC Editor", + "next_states": [], + "order": 6, + "slug": "waitrfc", + "type": "draft-iana-action", + "used": true + }, + "model": "doc.state", + "pk": 107 +}, +{ + "fields": { + "desc": "Request completed. The RFC Editor has acknowledged receipt of IANA's message that the actions have been completed", + "name": "RFC-Ed-Ack", + "next_states": [], + "order": 7, + "slug": "rfcedack", + "type": "draft-iana-action", + "used": true + }, + "model": "doc.state", + "pk": 108 +}, +{ + "fields": { + "desc": "IANA has suspended work on the document", + "name": "On Hold", + "next_states": [], + "order": 8, + "slug": "onhold", + "type": "draft-iana-action", + "used": true + }, + "model": "doc.state", + "pk": 109 +}, +{ + "fields": { + "desc": "Request completed. There were no IANA actions for this document", + "name": "No IANA Actions", + "next_states": [], + "order": 9, + "slug": "noic", + "type": "draft-iana-action", + "used": true + }, + "model": "doc.state", + "pk": 110 +}, +{ + "fields": { + "desc": "Document has not yet been reviewed by IANA.", + "name": "IANA - Review Needed", + "next_states": [], + "order": 1, + "slug": "need-rev", + "type": "draft-iana-review", + "used": true + }, + "model": "doc.state", + "pk": 111 +}, +{ + "fields": { + "desc": "Document requires IANA actions, and the IANA Considerations section indicates the details of the actions correctly.", + "name": "IANA OK - Actions Needed", + "next_states": [], + "order": 2, + "slug": "ok-act", + "type": "draft-iana-review", + "used": true + }, + "model": "doc.state", + "pk": 112 +}, +{ + "fields": { + "desc": "Document requires no IANA action, and the IANA Considerations section indicates this correctly.", + "name": "IANA OK - No Actions Needed", + "next_states": [], + "order": 3, + "slug": "ok-noact", + "type": "draft-iana-review", + "used": true + }, + "model": "doc.state", + "pk": 113 +}, +{ + "fields": { + "desc": "IANA has issues with the text of the IANA Considerations section of the document.", + "name": "IANA - Not OK", + "next_states": [], + "order": 4, + "slug": "not-ok", + "type": "draft-iana-review", + "used": true + }, + "model": "doc.state", + "pk": 114 +}, +{ + "fields": { + "desc": "Document revision has changed after review by IANA.", + "name": "Version Changed - Review Needed", + "next_states": [], + "order": 5, + "slug": "changed", + "type": "draft-iana-review", + "used": true + }, + "model": "doc.state", + "pk": 115 +}, +{ + "fields": { + "desc": "Final approvals are complete", + "name": "AUTH48-DONE", + "next_states": [], + "order": 0, + "slug": "auth48-done", + "type": "draft-rfceditor", + "used": true + }, + "model": "doc.state", + "pk": 116 +}, +{ + "fields": { + "desc": "Approved by the stream manager (e.g., IESG, IAB, IRSG, ISE), awaiting processing and publishing", + "name": "EDIT", + "next_states": [], + "order": 0, + "slug": "edit", + "type": "draft-rfceditor", + "used": true + }, + "model": "doc.state", + "pk": 117 +}, +{ + "fields": { + "desc": "RFC-Editor/IANA Registration Coordination", + "name": "IANA", + "next_states": [], + "order": 0, + "slug": "iana-crd", + "type": "draft-rfceditor", + "used": true + }, + "model": "doc.state", + "pk": 118 +}, +{ + "fields": { + "desc": "Holding for IESG action", + "name": "IESG", + "next_states": [], + "order": 0, + "slug": "iesg", + "type": "draft-rfceditor", + "used": true + }, + "model": "doc.state", + "pk": 119 +}, +{ + "fields": { + "desc": "Independent Submission awaiting author update, or in discussion between author and ISE", + "name": "ISR-AUTH", + "next_states": [], + "order": 0, + "slug": "isr-auth", + "type": "draft-rfceditor", + "used": true + }, + "model": "doc.state", + "pk": 120 +}, +{ + "fields": { + "desc": "An RFC status change has been requested, but a shepherding AD has not yet been assigned", + "name": "Needs Shepherd", + "next_states": [ + 122, + 129 + ], + "order": 1, + "slug": "needshep", + "type": "statchg", + "used": true + }, + "model": "doc.state", + "pk": 121 +}, +{ + "fields": { + "desc": "The sponsoring AD is preparing an RFC status change document", + "name": "AD Review", + "next_states": [ + 130, + 123, + 129 + ], + "order": 2, + "slug": "adrev", + "type": "statchg", + "used": true + }, + "model": "doc.state", + "pk": 122 +}, +{ + "fields": { + "desc": "The IESG is considering the proposed RFC status changes", + "name": "IESG Evaluation", + "next_states": [ + 124, + 125, + 126, + 129 + ], + "order": 6, + "slug": "iesgeval", + "type": "statchg", + "used": true + }, + "model": "doc.state", + "pk": 123 +}, +{ + "fields": { + "desc": "The evaluation of the proposed RFC status changes have been deferred to the next telechat", + "name": "IESG Evaluation - Defer", + "next_states": [ + 123, + 125, + 126, + 129 + ], + "order": 7, + "slug": "defer", + "type": "statchg", + "used": true + }, + "model": "doc.state", + "pk": 124 +}, +{ + "fields": { + "desc": "The IESG has approved the RFC status changes, but a point has been raised that should be cleared before proceeding to announcement to be sent", + "name": "Approved - point raised", + "next_states": [ + 126, + 127 + ], + "order": 8, + "slug": "appr-pr", + "type": "statchg", + "used": true + }, + "model": "doc.state", + "pk": 125 +}, +{ + "fields": { + "desc": "The IESG has approved the RFC status changes, but the secretariat has not yet sent the announcement", + "name": "Approved - announcement to be sent", + "next_states": [ + 127 + ], + "order": 9, + "slug": "appr-pend", + "type": "statchg", + "used": true + }, + "model": "doc.state", + "pk": 126 +}, +{ + "fields": { + "desc": "The secretariat has announced the IESG's approved RFC status changes", + "name": "Approved - announcement sent", + "next_states": [], + "order": 10, + "slug": "appr-sent", + "type": "statchg", + "used": true + }, + "model": "doc.state", + "pk": 127 +}, +{ + "fields": { + "desc": "The RFC status changes have been abandoned", + "name": "Dead", + "next_states": [ + 121 + ], + "order": 11, + "slug": "dead", + "type": "statchg", + "used": true + }, + "model": "doc.state", + "pk": 129 +}, +{ + "fields": { + "desc": "Last Call has been requested for this proposed status change", + "name": "Last Call Requested", + "next_states": [ + 131 + ], + "order": 3, + "slug": "lc-req", + "type": "statchg", + "used": true + }, + "model": "doc.state", + "pk": 130 +}, +{ + "fields": { + "desc": "This proposed status change is in IETF Last Call", + "name": "In Last Call", + "next_states": [ + 132 + ], + "order": 4, + "slug": "in-lc", + "type": "statchg", + "used": true + }, + "model": "doc.state", + "pk": 131 +}, +{ + "fields": { + "desc": "The AD is following up on IETF LC comments", + "name": "Waiting for AD Go-Ahead", + "next_states": [ + 123, + 129 + ], + "order": 5, + "slug": "goahead", + "type": "statchg", + "used": true + }, + "model": "doc.state", + "pk": 132 +}, +{ + "fields": { + "desc": "", + "name": "Pending", + "next_states": [], + "order": 0, + "slug": "pending", + "type": "draft-rfceditor", + "used": true + }, + "model": "doc.state", + "pk": 133 +}, +{ + "fields": { + "desc": "The document has been marked as a candidate for WG adoption by the WG Chair. This state can be used before a call for adoption is issued (and the document is put in the \"Call For Adoption By WG Issued\" state), to indicate that the document is in the queue for a call for adoption, even if none has been issued yet.", + "name": "Candidate for WG Adoption", + "next_states": [ + 35 + ], + "order": 0, + "slug": "wg-cand", + "type": "draft-stream-ietf", + "used": true + }, + "model": "doc.state", + "pk": 134 +}, +{ + "fields": { + "desc": "", + "name": "Active", + "next_states": [], + "order": 0, + "slug": "active", + "type": "recording", + "used": true + }, + "model": "doc.state", + "pk": 135 +}, +{ + "fields": { + "desc": "", + "name": "Deleted", + "next_states": [], + "order": 0, + "slug": "deleted", + "type": "recording", + "used": true + }, + "model": "doc.state", + "pk": 136 +}, +{ + "fields": { + "desc": "This document is not active, but is available in the archives", + "name": "Archived", + "next_states": [], + "order": 3, + "slug": "archived", + "type": "slides", + "used": true + }, + "model": "doc.state", + "pk": 138 +}, +{ + "fields": { + "desc": "", + "name": "Active", + "next_states": [], + "order": 0, + "slug": "active", + "type": "bluesheets", + "used": true + }, + "model": "doc.state", + "pk": 139 +}, +{ + "fields": { + "desc": "", + "name": "Deleted", + "next_states": [], + "order": 0, + "slug": "deleted", + "type": "bluesheets", + "used": true + }, + "model": "doc.state", + "pk": 140 +}, +{ + "fields": { + "desc": "", + "name": "Single Meeting", + "next_states": [], + "order": 0, + "slug": "single", + "type": "reuse_policy", + "used": true + }, + "model": "doc.state", + "pk": 141 +}, +{ + "fields": { + "desc": "", + "name": "Multiple Meetings", + "next_states": [], + "order": 0, + "slug": "multiple", + "type": "reuse_policy", + "used": true + }, + "model": "doc.state", + "pk": 142 +}, +{ + "fields": { + "desc": "", + "name": "Active", + "next_states": [], + "order": 1, + "slug": "active", + "type": "review", + "used": true + }, + "model": "doc.state", + "pk": 143 +}, +{ + "fields": { + "desc": "", + "name": "Deleted", + "next_states": [], + "order": 2, + "slug": "deleted", + "type": "review", + "used": true + }, + "model": "doc.state", + "pk": 144 +}, +{ + "fields": { + "desc": "In some areas, it can be desirable to wait for multiple interoperable implementations before progressing a draft to be an RFC, and in some WGs this is required. This state should be entered after WG Last Call has completed.", + "name": "Waiting for Implementation", + "next_states": [], + "order": 8, + "slug": "waiting-for-implementation", + "type": "draft-stream-ietf", + "used": true + }, + "model": "doc.state", + "pk": 145 +}, +{ + "fields": { + "desc": "Held by WG, see document history for details.", + "name": "Held by WG", + "next_states": [], + "order": 9, + "slug": "held-by-wg", + "type": "draft-stream-ietf", + "used": true + }, + "model": "doc.state", + "pk": 146 +}, +{ + "fields": { + "desc": "Replaced", + "name": "Replaced", + "next_states": [], + "order": 0, + "slug": "repl", + "type": "draft-stream-iab", + "used": true + }, + "model": "doc.state", + "pk": 147 +}, +{ + "fields": { + "desc": "Replaced", + "name": "Replaced", + "next_states": [], + "order": 0, + "slug": "repl", + "type": "draft-stream-ise", + "used": true + }, + "model": "doc.state", + "pk": 148 +}, +{ + "fields": { + "desc": "Replaced", + "name": "Replaced", + "next_states": [], + "order": 0, + "slug": "repl", + "type": "draft-stream-irtf", + "used": true + }, + "model": "doc.state", + "pk": 149 +}, +{ + "fields": { + "desc": "The IESG has not started processing this draft, or has stopped processing it without publicastion.", + "name": "I-D Exists", + "next_states": [ + 16, + 11 + ], + "order": 0, + "slug": "idexists", + "type": "draft-iesg", + "used": true + }, + "model": "doc.state", + "pk": 150 +}, +{ + "fields": { + "desc": "One or more registries need experts assigned", + "name": "Need IANA Expert(s)", + "next_states": [], + "order": 0, + "slug": "need-experts", + "type": "draft-iana-experts", + "used": true + }, + "model": "doc.state", + "pk": 151 +}, +{ + "fields": { + "desc": "One or more expert reviews have been assigned", + "name": "Reviews assigned", + "next_states": [], + "order": 1, + "slug": "reviews-assigned", + "type": "draft-iana-experts", + "used": true + }, + "model": "doc.state", + "pk": 152 +}, +{ + "fields": { + "desc": "Some expert reviewers have identified issues", + "name": "Issues identified", + "next_states": [], + "order": 2, + "slug": "expert-issues", + "type": "draft-iana-experts", + "used": true + }, + "model": "doc.state", + "pk": 153 +}, +{ + "fields": { + "desc": "All expert reviews have been completed with no blocking issues", + "name": "Expert Reviews OK", + "next_states": [], + "order": 2, + "slug": "reviewers-ok", + "type": "draft-iana-experts", + "used": true + }, + "model": "doc.state", + "pk": 154 +}, +{ + "fields": { + "desc": "Tooling Issue; an update is needed to one or more of the tools in the publication pipeline before this document can be published", + "name": "TI", + "next_states": [], + "order": 0, + "slug": "tooling-issue", + "type": "draft-rfceditor", + "used": true + }, + "model": "doc.state", + "pk": 155 +}, +{ + "fields": { + "desc": "IRSG Review", + "name": "IRSG Review", + "next_states": [], + "order": 0, + "slug": "irsg_review", + "type": "draft-stream-irtf", + "used": true + }, + "model": "doc.state", + "pk": 156 +}, +{ + "fields": { + "label": "State" + }, + "model": "doc.statetype", + "pk": "agenda" +}, +{ + "fields": { + "label": "State" + }, + "model": "doc.statetype", + "pk": "bluesheets" +}, +{ + "fields": { + "label": "State" + }, + "model": "doc.statetype", + "pk": "charter" +}, +{ + "fields": { + "label": "Conflict Review State" + }, + "model": "doc.statetype", + "pk": "conflrev" +}, +{ + "fields": { + "label": "State" + }, + "model": "doc.statetype", + "pk": "draft" +}, +{ + "fields": { + "label": "IANA state" + }, + "model": "doc.statetype", + "pk": "draft-iana" +}, +{ + "fields": { + "label": "IANA Action state" + }, + "model": "doc.statetype", + "pk": "draft-iana-action" +}, +{ + "fields": { + "label": "IANA Experts State" + }, + "model": "doc.statetype", + "pk": "draft-iana-experts" +}, +{ + "fields": { + "label": "IANA Review state" + }, + "model": "doc.statetype", + "pk": "draft-iana-review" +}, +{ + "fields": { + "label": "IESG state" + }, + "model": "doc.statetype", + "pk": "draft-iesg" +}, +{ + "fields": { + "label": "RFC Editor state" + }, + "model": "doc.statetype", + "pk": "draft-rfceditor" +}, +{ + "fields": { + "label": "IAB state" + }, + "model": "doc.statetype", + "pk": "draft-stream-iab" +}, +{ + "fields": { + "label": "IETF WG state" + }, + "model": "doc.statetype", + "pk": "draft-stream-ietf" +}, +{ + "fields": { + "label": "IRTF state" + }, + "model": "doc.statetype", + "pk": "draft-stream-irtf" +}, +{ + "fields": { + "label": "ISE state" + }, + "model": "doc.statetype", + "pk": "draft-stream-ise" +}, +{ + "fields": { + "label": "State" + }, + "model": "doc.statetype", + "pk": "liai-att" +}, +{ + "fields": { + "label": "Liason Statement State" + }, + "model": "doc.statetype", + "pk": "liaison" +}, +{ + "fields": { + "label": "State" + }, + "model": "doc.statetype", + "pk": "minutes" +}, +{ + "fields": { + "label": "State" + }, + "model": "doc.statetype", + "pk": "recording" +}, +{ + "fields": { + "label": "Policy" + }, + "model": "doc.statetype", + "pk": "reuse_policy" +}, +{ + "fields": { + "label": "Review" + }, + "model": "doc.statetype", + "pk": "review" +}, +{ + "fields": { + "label": "Shepherd's Writeup State" + }, + "model": "doc.statetype", + "pk": "shepwrit" +}, +{ + "fields": { + "label": "State" + }, + "model": "doc.statetype", + "pk": "slides" +}, +{ + "fields": { + "label": "RFC Status Change state" + }, + "model": "doc.statetype", + "pk": "statchg" +}, +{ + "fields": { + "about_page": "ietf.group.views.group_about", + "acts_like_wg": false, + "admin_roles": "[\"chair\"]", + "agenda_type": "ietf", + "create_wiki": true, + "custom_group_roles": false, + "customize_workflow": false, + "default_tab": "ietf.group.views.group_about", + "docman_roles": "[\"chair\"]", + "groupman_roles": "[\"chair\",\"lead\",\"delegate\"]", + "has_chartering_process": false, + "has_default_jabber": true, + "has_documents": false, + "has_meetings": true, + "has_milestones": false, + "has_nonsession_materials": false, + "has_reviews": false, + "has_session_materials": true, + "is_schedulable": true, + "material_types": "[\"slides\"]", + "matman_roles": "[\"chair\",\"lead\",\"delegate\",\"matman\"]", + "req_subm_approval": true, + "role_order": "[\"chair\",\"lead\",\"delegate\",\"matman\"]", + "show_on_agenda": true + }, + "model": "group.groupfeatures", + "pk": "adhoc" +}, +{ + "fields": { + "about_page": "ietf.group.views.group_about", + "acts_like_wg": false, + "admin_roles": "[\"chair\"]", + "agenda_type": "ietf", + "create_wiki": false, + "custom_group_roles": false, + "customize_workflow": false, + "default_tab": "ietf.group.views.group_about", + "docman_roles": "[\"chair\"]", + "groupman_roles": "[\"chair\"]", + "has_chartering_process": false, + "has_default_jabber": false, + "has_documents": false, + "has_meetings": false, + "has_milestones": false, + "has_nonsession_materials": false, + "has_reviews": false, + "has_session_materials": false, + "is_schedulable": false, + "material_types": "[\"slides\"]", + "matman_roles": "[\"chair\"]", + "req_subm_approval": false, + "role_order": "[\"chair\"]", + "show_on_agenda": false + }, + "model": "group.groupfeatures", + "pk": "admin" +}, +{ + "fields": { + "about_page": "ietf.group.views.group_about", + "acts_like_wg": true, + "admin_roles": "[\"chair\"]", + "agenda_type": "ietf", + "create_wiki": true, + "custom_group_roles": true, + "customize_workflow": false, + "default_tab": "ietf.group.views.group_about", + "docman_roles": "[\"chair\",\"delegate\",\"secr\"]", + "groupman_roles": "[\"ad\",\"chair\",\"delegate\"]", + "has_chartering_process": false, + "has_default_jabber": false, + "has_documents": true, + "has_meetings": true, + "has_milestones": false, + "has_nonsession_materials": false, + "has_reviews": false, + "has_session_materials": true, + "is_schedulable": true, + "material_types": "[\"slides\"]", + "matman_roles": "[\"ad\",\"chair\",\"delegate\",\"secr\"]", + "req_subm_approval": true, + "role_order": "[\"chair\",\"secr\"]", + "show_on_agenda": true + }, + "model": "group.groupfeatures", + "pk": "ag" +}, +{ + "fields": { + "about_page": "ietf.group.views.group_about", + "acts_like_wg": false, + "admin_roles": "[\"ad\"]", + "agenda_type": "ietf", + "create_wiki": true, + "custom_group_roles": true, + "customize_workflow": false, + "default_tab": "ietf.group.views.group_about", + "docman_roles": "[\"ad\",\"delegate\",\"secr\"]", + "groupman_roles": "[\"ad\"]", + "has_chartering_process": false, + "has_default_jabber": false, + "has_documents": false, + "has_meetings": false, + "has_milestones": false, + "has_nonsession_materials": false, + "has_reviews": false, + "has_session_materials": false, + "is_schedulable": false, + "material_types": "[\"slides\"]", + "matman_roles": "[\"ad\",\"chair\",\"delegate\",\"secr\"]", + "req_subm_approval": true, + "role_order": "[\"chair\",\"secr\"]", + "show_on_agenda": false + }, + "model": "group.groupfeatures", + "pk": "area" +}, +{ + "fields": { + "about_page": "ietf.group.views.group_about", + "acts_like_wg": false, + "admin_roles": "[\"chair\",\"secr\"]", + "agenda_type": null, + "create_wiki": true, + "custom_group_roles": true, + "customize_workflow": false, + "default_tab": "ietf.group.views.group_about", + "docman_roles": "[]", + "groupman_roles": "[\"ad\",\"secr\"]", + "has_chartering_process": false, + "has_default_jabber": false, + "has_documents": false, + "has_meetings": false, + "has_milestones": false, + "has_nonsession_materials": false, + "has_reviews": false, + "has_session_materials": false, + "is_schedulable": false, + "material_types": "[\"slides\"]", + "matman_roles": "[\"ad\",\"chair\",\"delegate\",\"secr\"]", + "req_subm_approval": true, + "role_order": "[\"chair\",\"secr\"]", + "show_on_agenda": false + }, + "model": "group.groupfeatures", + "pk": "dir" +}, +{ + "fields": { + "about_page": "ietf.group.views.group_about", + "acts_like_wg": false, + "admin_roles": "[\"chair\",\"secr\"]", + "agenda_type": null, + "create_wiki": true, + "custom_group_roles": true, + "customize_workflow": false, + "default_tab": "ietf.group.views.review_requests", + "docman_roles": "[\"secr\"]", + "groupman_roles": "[\"ad\",\"secr\"]", + "has_chartering_process": false, + "has_default_jabber": false, + "has_documents": false, + "has_meetings": false, + "has_milestones": false, + "has_nonsession_materials": false, + "has_reviews": true, + "has_session_materials": false, + "is_schedulable": false, + "material_types": "[\"slides\"]", + "matman_roles": "[\"ad\",\"secr\"]", + "req_subm_approval": true, + "role_order": "[\"chair\",\"secr\"]", + "show_on_agenda": false + }, + "model": "group.groupfeatures", + "pk": "review" +}, +{ + "fields": { + "about_page": "ietf.group.views.group_about", + "acts_like_wg": false, + "admin_roles": "[\"chair\"]", + "agenda_type": "ietf", + "create_wiki": false, + "custom_group_roles": true, + "customize_workflow": false, + "default_tab": "ietf.group.views.group_about", + "docman_roles": "[\"chair\"]", + "groupman_roles": "[]", + "has_chartering_process": false, + "has_default_jabber": false, + "has_documents": false, + "has_meetings": true, + "has_milestones": false, + "has_nonsession_materials": false, + "has_reviews": false, + "has_session_materials": false, + "is_schedulable": false, + "material_types": "[\"slides\"]", + "matman_roles": "[\"chair\",\"delegate\"]", + "req_subm_approval": true, + "role_order": "[\"chair\",\"secr\"]", + "show_on_agenda": true + }, + "model": "group.groupfeatures", + "pk": "iab" +}, +{ + "fields": { + "about_page": "ietf.group.views.group_about", + "acts_like_wg": false, + "admin_roles": "[\"chair\"]", + "agenda_type": "ietf", + "create_wiki": false, + "custom_group_roles": false, + "customize_workflow": false, + "default_tab": "ietf.group.views.group_about", + "docman_roles": "[\"chair\"]", + "groupman_roles": "[\"chair\"]", + "has_chartering_process": false, + "has_default_jabber": false, + "has_documents": false, + "has_meetings": false, + "has_milestones": false, + "has_nonsession_materials": false, + "has_reviews": false, + "has_session_materials": false, + "is_schedulable": false, + "material_types": "[\"slides\"]", + "matman_roles": "[\"chair\"]", + "req_subm_approval": false, + "role_order": "[\"chair\"]", + "show_on_agenda": false + }, + "model": "group.groupfeatures", + "pk": "iana" +}, +{ + "fields": { + "about_page": "ietf.group.views.group_about", + "acts_like_wg": false, + "admin_roles": "[\"chair\"]", + "agenda_type": "ad", + "create_wiki": false, + "custom_group_roles": true, + "customize_workflow": false, + "default_tab": "ietf.group.views.group_about", + "docman_roles": "[\"chair\"]", + "groupman_roles": "[\"chair\",\"delegate\"]", + "has_chartering_process": false, + "has_default_jabber": false, + "has_documents": false, + "has_meetings": false, + "has_milestones": false, + "has_nonsession_materials": false, + "has_reviews": false, + "has_session_materials": false, + "is_schedulable": false, + "material_types": "\"[]\"", + "matman_roles": "[\"chair\",\"delegate\",\"member\"]", + "req_subm_approval": true, + "role_order": "[\"chair\",\"delegate\",\"member\"]", + "show_on_agenda": false + }, + "model": "group.groupfeatures", + "pk": "iesg" +}, +{ + "fields": { + "about_page": "ietf.group.views.group_about", + "acts_like_wg": false, + "admin_roles": "[\"chair\",\"lead\"]", + "agenda_type": "ietf", + "create_wiki": false, + "custom_group_roles": true, + "customize_workflow": false, + "default_tab": "ietf.group.views.group_about", + "docman_roles": "[\"chair\"]", + "groupman_roles": "[\"chair\",\"delegate\"]", + "has_chartering_process": false, + "has_default_jabber": false, + "has_documents": false, + "has_meetings": true, + "has_milestones": false, + "has_nonsession_materials": false, + "has_reviews": false, + "has_session_materials": true, + "is_schedulable": false, + "material_types": "[\"slides\"]", + "matman_roles": "[\"chair\",\"delegate\"]", + "req_subm_approval": true, + "role_order": "[\"chair\",\"secr\"]", + "show_on_agenda": false + }, + "model": "group.groupfeatures", + "pk": "ietf" +}, +{ + "fields": { + "about_page": "ietf.group.views.group_about", + "acts_like_wg": false, + "admin_roles": "[\"chair\"]", + "agenda_type": null, + "create_wiki": false, + "custom_group_roles": true, + "customize_workflow": false, + "default_tab": "ietf.group.views.group_about", + "docman_roles": "[\"auth\"]", + "groupman_roles": "[]", + "has_chartering_process": false, + "has_default_jabber": false, + "has_documents": false, + "has_meetings": false, + "has_milestones": false, + "has_nonsession_materials": false, + "has_reviews": false, + "has_session_materials": false, + "is_schedulable": false, + "material_types": "[\"slides\"]", + "matman_roles": "[]", + "req_subm_approval": false, + "role_order": "[\"chair\",\"secr\"]", + "show_on_agenda": false + }, + "model": "group.groupfeatures", + "pk": "individ" +}, +{ + "fields": { + "about_page": "ietf.group.views.group_about", + "acts_like_wg": false, + "admin_roles": "[\"chair\"]", + "agenda_type": "ietf", + "create_wiki": false, + "custom_group_roles": true, + "customize_workflow": false, + "default_tab": "ietf.group.views.group_about", + "docman_roles": "[]", + "groupman_roles": "[\"chair\",\"delegate\"]", + "has_chartering_process": false, + "has_default_jabber": false, + "has_documents": false, + "has_meetings": false, + "has_milestones": false, + "has_nonsession_materials": false, + "has_reviews": false, + "has_session_materials": false, + "is_schedulable": false, + "material_types": "[\"slides\"]", + "matman_roles": "[\"chair\",\"delegate\",\"secr\"]", + "req_subm_approval": true, + "role_order": "[\"chair\",\"secr\"]", + "show_on_agenda": false + }, + "model": "group.groupfeatures", + "pk": "irtf" +}, +{ + "fields": { + "about_page": "ietf.group.views.group_about", + "acts_like_wg": false, + "admin_roles": "[\"chair\",\"lead\"]", + "agenda_type": "ad", + "create_wiki": false, + "custom_group_roles": true, + "customize_workflow": false, + "default_tab": "ietf.group.views.group_about", + "docman_roles": "[\"chair\"]", + "groupman_roles": "[\"chair\",\"delegate\"]", + "has_chartering_process": false, + "has_default_jabber": false, + "has_documents": true, + "has_meetings": false, + "has_milestones": false, + "has_nonsession_materials": false, + "has_reviews": false, + "has_session_materials": false, + "is_schedulable": false, + "material_types": "[\"slides\"]", + "matman_roles": "[\"chair\",\"delegate\"]", + "req_subm_approval": true, + "role_order": "[\"chair\",\"delegate\"]", + "show_on_agenda": false + }, + "model": "group.groupfeatures", + "pk": "ise" +}, +{ + "fields": { + "about_page": "ietf.group.views.group_about", + "acts_like_wg": false, + "admin_roles": "[\"chair\"]", + "agenda_type": null, + "create_wiki": false, + "custom_group_roles": true, + "customize_workflow": false, + "default_tab": "ietf.group.views.group_about", + "docman_roles": "[]", + "groupman_roles": "[\"chair\"]", + "has_chartering_process": false, + "has_default_jabber": false, + "has_documents": false, + "has_meetings": false, + "has_milestones": false, + "has_nonsession_materials": false, + "has_reviews": false, + "has_session_materials": false, + "is_schedulable": false, + "material_types": "[\"slides\"]", + "matman_roles": "[\"chair\",\"secr\"]", + "req_subm_approval": true, + "role_order": "[\"chair\",\"secr\"]", + "show_on_agenda": false + }, + "model": "group.groupfeatures", + "pk": "isoc" +}, +{ + "fields": { + "about_page": "ietf.group.views.group_about", + "acts_like_wg": false, + "admin_roles": "[\"chair\",\"advisor\"]", + "agenda_type": "side", + "create_wiki": true, + "custom_group_roles": true, + "customize_workflow": false, + "default_tab": "ietf.group.views.group_about", + "docman_roles": "[\"chair\"]", + "groupman_roles": "[\"chair\",\"advisor\"]", + "has_chartering_process": false, + "has_default_jabber": false, + "has_documents": false, + "has_meetings": false, + "has_milestones": false, + "has_nonsession_materials": false, + "has_reviews": false, + "has_session_materials": false, + "is_schedulable": false, + "material_types": "[\"slides\"]", + "matman_roles": "[\"chair\"]", + "req_subm_approval": true, + "role_order": "[\"chair\",\"member\",\"advisor\"]", + "show_on_agenda": false + }, + "model": "group.groupfeatures", + "pk": "nomcom" +}, +{ + "fields": { + "about_page": "ietf.group.views.group_about", + "acts_like_wg": false, + "admin_roles": "[\"lead\"]", + "agenda_type": "ad", + "create_wiki": false, + "custom_group_roles": true, + "customize_workflow": false, + "default_tab": "ietf.group.views.group_about", + "docman_roles": "[\"lead\",\"secr\"]", + "groupman_roles": "[\"lead\",\"secr\"]", + "has_chartering_process": false, + "has_default_jabber": false, + "has_documents": true, + "has_meetings": false, + "has_milestones": true, + "has_nonsession_materials": false, + "has_reviews": false, + "has_session_materials": false, + "is_schedulable": false, + "material_types": "[\"slides\"]", + "matman_roles": "[\"lead\",\"secr\"]", + "req_subm_approval": false, + "role_order": "[\"lead\",\"secr\"]", + "show_on_agenda": false + }, + "model": "group.groupfeatures", + "pk": "program" +}, +{ + "fields": { + "about_page": "ietf.group.views.group_about", + "acts_like_wg": false, + "admin_roles": "[\"chair\"]", + "agenda_type": "side", + "create_wiki": false, + "custom_group_roles": true, + "customize_workflow": false, + "default_tab": "ietf.group.views.group_about", + "docman_roles": "[]", + "groupman_roles": "[]", + "has_chartering_process": false, + "has_default_jabber": false, + "has_documents": false, + "has_meetings": false, + "has_milestones": false, + "has_nonsession_materials": false, + "has_reviews": false, + "has_session_materials": false, + "is_schedulable": false, + "material_types": "[\"slides\"]", + "matman_roles": "[]", + "req_subm_approval": true, + "role_order": "[\"chair\",\"secr\"]", + "show_on_agenda": false + }, + "model": "group.groupfeatures", + "pk": "rfcedtyp" +}, +{ + "fields": { + "about_page": "ietf.group.views.group_about", + "acts_like_wg": true, + "admin_roles": "[\"chair\"]", + "agenda_type": "ietf", + "create_wiki": true, + "custom_group_roles": false, + "customize_workflow": true, + "default_tab": "ietf.group.views.group_documents", + "docman_roles": "[\"chair\",\"delegate\",\"secr\"]", + "groupman_roles": "[\"chair\",\"delegate\"]", + "has_chartering_process": true, + "has_default_jabber": true, + "has_documents": true, + "has_meetings": true, + "has_milestones": true, + "has_nonsession_materials": false, + "has_reviews": false, + "has_session_materials": true, + "is_schedulable": true, + "material_types": "[\"slides\"]", + "matman_roles": "[\"chair\",\"delegate\",\"secr\"]", + "req_subm_approval": true, + "role_order": "[\"chair\",\"delegate\",\"secr\"]", + "show_on_agenda": true + }, + "model": "group.groupfeatures", + "pk": "rg" +}, +{ + "fields": { + "about_page": "ietf.group.views.group_about", + "acts_like_wg": false, + "admin_roles": "[\"chair\"]", + "agenda_type": null, + "create_wiki": false, + "custom_group_roles": true, + "customize_workflow": false, + "default_tab": "ietf.group.views.group_about", + "docman_roles": "[\"liaiman\",\"matman\"]", + "groupman_roles": "[]", + "has_chartering_process": false, + "has_default_jabber": false, + "has_documents": false, + "has_meetings": false, + "has_milestones": false, + "has_nonsession_materials": false, + "has_reviews": false, + "has_session_materials": false, + "is_schedulable": false, + "material_types": "[\"slides\"]", + "matman_roles": "[]", + "req_subm_approval": true, + "role_order": "[\"liaiman\"]", + "show_on_agenda": false + }, + "model": "group.groupfeatures", + "pk": "sdo" +}, +{ + "fields": { + "about_page": "ietf.group.views.group_about", + "acts_like_wg": false, + "admin_roles": "[\"chair\"]", + "agenda_type": "ietf", + "create_wiki": true, + "custom_group_roles": true, + "customize_workflow": false, + "default_tab": "ietf.group.views.group_about", + "docman_roles": "[\"chair\"]", + "groupman_roles": "[\"chair\"]", + "has_chartering_process": false, + "has_default_jabber": false, + "has_documents": false, + "has_meetings": true, + "has_milestones": false, + "has_nonsession_materials": true, + "has_reviews": false, + "has_session_materials": false, + "is_schedulable": false, + "material_types": "[\"slides\"]", + "matman_roles": "[\"chair\",\"matman\"]", + "req_subm_approval": false, + "role_order": "[\"chair\",\"member\",\"matman\"]", + "show_on_agenda": false + }, + "model": "group.groupfeatures", + "pk": "team" +}, +{ + "fields": { + "about_page": "ietf.group.views.group_about", + "acts_like_wg": true, + "admin_roles": "[\"chair\"]", + "agenda_type": "ietf", + "create_wiki": true, + "custom_group_roles": false, + "customize_workflow": true, + "default_tab": "ietf.group.views.group_documents", + "docman_roles": "[\"chair\",\"delegate\",\"secr\"]", + "groupman_roles": "[\"ad\",\"chair\",\"delegate\",\"secr\"]", + "has_chartering_process": true, + "has_default_jabber": true, + "has_documents": true, + "has_meetings": true, + "has_milestones": true, + "has_nonsession_materials": false, + "has_reviews": false, + "has_session_materials": true, + "is_schedulable": true, + "material_types": "[\"slides\"]", + "matman_roles": "[\"ad\",\"chair\",\"delegate\",\"secr\"]", + "req_subm_approval": true, + "role_order": "[\"chair\",\"secr\",\"delegate\"]", + "show_on_agenda": true + }, + "model": "group.groupfeatures", + "pk": "wg" +}, +{ + "fields": { + "cc": [ + "doc_notify", + "group_chairs", + "group_mail_list", + "group_steering_group" + ], + "desc": "Recipients when a charter is approved", + "to": [ + "ietf_announce" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "ballot_approved_charter" +}, +{ + "fields": { + "cc": [ + "iana", + "iesg", + "ietf_announce" + ], + "desc": "Recipients when a conflict review ballot is approved", + "to": [ + "conflict_review_steering_group", + "conflict_review_stream_manager", + "doc_affecteddoc_authors", + "doc_affecteddoc_group_chairs", + "doc_affecteddoc_notify", + "doc_notify" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "ballot_approved_conflrev" +}, +{ + "fields": { + "cc": [ + "doc_ad", + "doc_authors", + "doc_group_chairs", + "doc_group_mail_list", + "doc_notify", + "doc_shepherd", + "iesg", + "rfc_editor" + ], + "desc": "Recipients when an IETF stream document ballot is approved", + "to": [ + "ietf_announce" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "ballot_approved_ietf_stream" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients for IANA message when an IETF stream document ballot is approved", + "to": [ + "iana_approve" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "ballot_approved_ietf_stream_iana" +}, +{ + "fields": { + "cc": [ + "doc_affecteddoc_authors", + "doc_affecteddoc_group_chairs", + "doc_affecteddoc_notify", + "doc_notify", + "iana", + "iesg", + "rfc_editor" + ], + "desc": "Recipients when a status change is approved", + "to": [ + "ietf_announce" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "ballot_approved_status_change" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients when a ballot is deferred to or undeferred from a future telechat", + "to": [ + "conflict_review_stream_manager", + "doc_affecteddoc_authors", + "doc_affecteddoc_group_chairs", + "doc_affecteddoc_notify", + "doc_authors", + "doc_group_chairs", + "doc_notify", + "doc_shepherd", + "iesg", + "iesg_secretary" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "ballot_deferred" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients when the RFC Editor note for a document is changed after the document has been approved", + "to": [ + "iesg", + "rfc_editor" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "ballot_ednote_changed_late" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients when a ballot is issued", + "to": [ + "iesg", + "iesg_secretary" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "ballot_issued" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients for IANA message when a ballot is issued", + "to": [ + "iana_eval" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "ballot_issued_iana" +}, +{ + "fields": { + "cc": [ + "group_mail_list" + ], + "desc": "Recipients for a charter external review", + "to": [ + "ietf_announce" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "charter_external_review" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients for a message to new-work about a charter review", + "to": [ + "new_work" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "charter_external_review_new_work" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients for message noting that internal review has started on a charter", + "to": [ + "iab", + "iesg" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "charter_internal_review" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients for message to adminstrators when a charter state edit needs followon administrative action", + "to": [ + "iesg_secretary" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "charter_state_edit_admin_needed" +}, +{ + "fields": { + "cc": [ + "conflict_review_steering_group", + "conflict_review_stream_manager", + "doc_affecteddoc_authors", + "doc_affecteddoc_group_chairs", + "doc_affecteddoc_notify", + "doc_notify", + "iesg" + ], + "desc": "Recipients when the responsible AD for a conflict review is changed", + "to": [] + }, + "model": "mailtrigger.mailtrigger", + "pk": "conflrev_ad_changed" +}, +{ + "fields": { + "cc": [ + "conflict_review_steering_group", + "conflict_review_stream_manager", + "doc_affecteddoc_authors", + "doc_affecteddoc_group_chairs", + "doc_affecteddoc_notify", + "doc_notify", + "iesg" + ], + "desc": "Recipients for a stream manager's request for an IETF conflict review", + "to": [ + "iesg_secretary" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "conflrev_requested" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients for IANA message when a stream manager requests an IETF conflict review", + "to": [ + "iana_eval" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "conflrev_requested_iana" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients for a message when a new comment is manually entered into the document's history", + "to": [ + "doc_authors", + "doc_group_chairs", + "doc_group_responsible_directors", + "doc_non_ietf_stream_manager", + "doc_shepherd" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "doc_added_comment" +}, +{ + "fields": { + "cc": [ + "doc_ad", + "doc_notify", + "doc_shepherd" + ], + "desc": "Recipients for notification that a document has been adopted by a group", + "to": [ + "doc_authors", + "doc_group_chairs", + "doc_group_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "doc_adopted_by_group" +}, +{ + "fields": { + "cc": [ + "doc_group_chairs", + "doc_group_responsible_directors", + "doc_notify", + "doc_shepherd" + ], + "desc": "Recipients for notification of a document's expiration", + "to": [ + "doc_authors" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "doc_expired" +}, +{ + "fields": { + "cc": [ + "doc_group_chairs", + "doc_group_responsible_directors", + "doc_notify", + "doc_shepherd" + ], + "desc": "Recipients for notification of impending expiration of a document", + "to": [ + "doc_authors" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "doc_expires_soon" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients when IANA state information for a document changes ", + "to": [ + "doc_ad", + "doc_affecteddoc_authors", + "doc_affecteddoc_group_chairs", + "doc_affecteddoc_notify", + "doc_authors", + "doc_group_chairs", + "doc_notify", + "doc_shepherd" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "doc_iana_state_changed" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients for a message when the IESG begins processing a document ", + "to": [ + "doc_ad", + "doc_authors", + "doc_group_chairs", + "doc_shepherd" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "doc_iesg_processing_started" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients for a message when a document's intended publication status changes", + "to": [ + "doc_authors", + "doc_group_chairs", + "doc_group_responsible_directors", + "doc_non_ietf_stream_manager", + "doc_shepherd" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "doc_intended_status_changed" +}, +{ + "fields": { + "cc": [ + "doc_authors", + "doc_group_chairs", + "doc_notify", + "doc_shepherd", + "iesg", + "iesg_secretary" + ], + "desc": "Recipients when a document is taken out of the RFC's editor queue before publication", + "to": [ + "iana", + "rfc_editor" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "doc_pulled_from_rfc_queue" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients when what a document replaces or is replaced by changes", + "to": [ + "doc_authors_expanded" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "doc_replacement_changed" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients for suggestions that this doc replaces or is replace by some other document", + "to": [ + "doc_group_chairs", + "doc_group_responsible_directors", + "doc_non_ietf_stream_manager", + "iesg_secretary" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "doc_replacement_suggested" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients when a document's state is manually edited", + "to": [ + "doc_ad", + "doc_affecteddoc_authors", + "doc_affecteddoc_group_chairs", + "doc_affecteddoc_notify", + "doc_authors", + "doc_group_chairs", + "doc_group_responsible_directors", + "doc_notify", + "doc_shepherd" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "doc_state_edited" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients for notification when a document's stream changes", + "to": [ + "doc_authors", + "doc_notify", + "stream_managers" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "doc_stream_changed" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients when the stream state of a document is manually edited", + "to": [ + "doc_authors", + "doc_group_chairs", + "doc_group_delegates", + "doc_shepherd" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "doc_stream_state_edited" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients when a document's telechat date or other telechat specific details are changed", + "to": [ + "conflict_review_steering_group", + "conflict_review_stream_manager", + "doc_affecteddoc_authors", + "doc_affecteddoc_group_chairs", + "doc_affecteddoc_notify", + "doc_authors", + "doc_group_chairs", + "doc_notify", + "doc_shepherd", + "iesg", + "iesg_secretary" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "doc_telechat_details_changed" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients when a comment is added to a group's history", + "to": [ + "group_chairs", + "group_responsible_directors", + "group_secretaries" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "group_added_comment" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients when the set of approved milestones for a group are edited", + "to": [ + "group_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "group_approved_milestones_edited" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients for message requesting closure of a group", + "to": [ + "iesg_secretary" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "group_closure_requested" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients when any of a group's milestones are edited", + "to": [ + "group_chairs", + "group_responsible_directors" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "group_milestones_edited" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients for a message noting changes in a group's personnel", + "to": [ + "group_chairs", + "group_changed_personnel", + "group_responsible_directors", + "group_secretaries", + "iesg_secretary" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "group_personnel_change" +}, +{ + "fields": { + "cc": [ + "conflict_review_stream_manager", + "doc_affecteddoc_authors", + "doc_affecteddoc_group_chairs", + "doc_affecteddoc_notify", + "doc_authors", + "doc_group_chairs", + "doc_group_mail_list", + "doc_notify", + "doc_shepherd" + ], + "desc": "Recipients when a new ballot position (with discusses, other blocking positions, or comments) is saved", + "to": [ + "iesg" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "iesg_ballot_saved" +}, +{ + "fields": { + "cc": [ + "group_mail_list" + ], + "desc": "Recipients when an interim meeting is announced", + "to": [ + "group_stream_announce", + "ietf_announce" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "interim_announced" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients when an interim meeting is approved and an announcement needs to be sent", + "to": [ + "iesg_secretary" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "interim_approved" +}, +{ + "fields": { + "cc": [ + "group_chairs", + "group_mail_list", + "logged_in_person" + ], + "desc": "Recipients when an interim meeting is cancelled", + "to": [ + "group_stream_announce", + "ietf_announce" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "interim_cancelled" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients when the secretary follows up on an IPR disclosure submission", + "to": [ + "ipr_submitter" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "ipr_disclosure_followup" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients when an IPR disclosure is submitted", + "to": [ + "ipr_requests" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "ipr_disclosure_submitted" +}, +{ + "fields": { + "cc": [ + "doc_ipr_group_or_ad", + "ipr_announce" + ], + "desc": "Recipients when an IPR disclosure calls out a given document", + "to": [ + "doc_authors" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "ipr_posted_on_doc" +}, +{ + "fields": { + "cc": [ + "ipr_updatedipr_contacts", + "ipr_updatedipr_holders" + ], + "desc": "Recipients for a message confirming that a disclosure has been posted", + "to": [ + "ipr_submitter" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "ipr_posting_confirmation" +}, +{ + "fields": { + "cc": [ + "doc_affecteddoc_authors", + "doc_affecteddoc_group_chairs", + "doc_affecteddoc_notify", + "doc_authors", + "doc_group_chairs", + "doc_group_mail_list", + "doc_notify", + "doc_shepherd" + ], + "desc": "Recipients when a new IRSG ballot position with comments is saved", + "to": [ + "irsg" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "irsg_ballot_saved" +}, +{ + "fields": { + "cc": [ + "iesg_secretary" + ], + "desc": "Recipients when a last call has expired", + "to": [ + "doc_ad", + "doc_authors", + "doc_notify", + "doc_shepherd" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "last_call_expired" +}, +{ + "fields": { + "cc": [ + "doc_ad", + "doc_affecteddoc_authors", + "doc_affecteddoc_group_chairs", + "doc_affecteddoc_notify", + "doc_authors", + "doc_group_chairs", + "doc_group_mail_list", + "doc_notify", + "doc_shepherd" + ], + "desc": "Recipients when a last call is issued", + "to": [ + "ietf_announce" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "last_call_issued" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients for IANA message when a last call is issued", + "to": [ + "iana_last_call" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "last_call_issued_iana" +}, +{ + "fields": { + "cc": [ + "doc_ad", + "doc_notify", + "doc_shepherd" + ], + "desc": "Recipients when AD requests a last call", + "to": [ + "iesg_secretary" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "last_call_requested" +}, +{ + "fields": { + "cc": [ + "liaison_admin" + ], + "desc": "Recipients for a message that a pending liaison statement needs approval", + "to": [ + "liaison_approvers" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "liaison_approval_requested" +}, +{ + "fields": { + "cc": [ + "liaison_cc", + "liaison_response_contacts", + "liaison_technical_contacts" + ], + "desc": "Recipients for a message about a liaison statement deadline that is approaching.", + "to": [ + "liaison_to_contacts" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "liaison_deadline_soon" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients for a message requesting an updated list of authorized individuals", + "to": [ + "liaison_manager" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "liaison_manager_update_request" +}, +{ + "fields": { + "cc": [ + "liaison_cc", + "liaison_response_contacts", + "liaison_technical_contacts" + ], + "desc": "Recipient for a message when a new liaison statement is posted", + "to": [ + "liaison_to_contacts" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "liaison_statement_posted" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients for a message confirming a comment was made", + "to": [ + "commenter" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "nomcom_comment_receipt_requested" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients for the questionairre that nominees should complete", + "to": [ + "nominee" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "nomcom_questionnaire" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients for a message reminding a nominee to return a completed questionairre response", + "to": [ + "nominee" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "nomcom_questionnaire_reminder" +}, +{ + "fields": { + "cc": [], + "desc": "Recipeints of message reminding a nominee to accept or decline a nomination", + "to": [ + "nominee" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "nomination_accept_reminder" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients for a message noting that a nomination caused a new Person record to be created in the datatracker", + "to": [ + "ietf_secretariat", + "nomcom_chair" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "nomination_created_person" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients the first time a person is nominated for a position, asking them to accept or decline the nomination", + "to": [ + "nominee" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "nomination_new_nominee" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients for a message confirming a nomination was made", + "to": [ + "nominator" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "nomination_receipt_requested" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients for a message noting a new nomination has been received", + "to": [ + "nomcom_chair" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "nomination_received" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients for a message requesting that duplicated Person records be merged ", + "to": [ + "ietf_secretariat" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "person_merge_requested" +}, +{ + "fields": { + "cc": [ + "doc_group_chairs", + "doc_group_mail_list", + "doc_notify", + "doc_shepherd", + "iesg_secretary" + ], + "desc": "Recipients when a draft is submitted to the IESG", + "to": [ + "doc_ad" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "pubreq_iesg" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients when a non-IETF stream manager requests publication", + "to": [ + "rfc_editor" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "pubreq_rfced" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients for IANA message when a non-IETF stream manager requests publication", + "to": [ + "iana_approve" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "pubreq_rfced_iana" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients when a draft resurrection request has been completed", + "to": [ + "doc_ad", + "iesg_secretary" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "resurrection_completed" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients of a request to change the state of a draft away from 'Dead'", + "to": [ + "internet_draft_requests" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "resurrection_requested" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients when an review team secretary send a summary of open review assignments", + "to": [ + "group_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_assignments_summarized" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients for a change to a review assignment", + "to": [ + "review_assignment_reviewer", + "review_assignment_review_req_by", + "review_secretaries" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_assignment_changed" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients for a change to a reviewer's availability", + "to": [ + "group_secretaries", + "review_reviewer" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_availability_changed" +}, +{ + "fields": { + "cc": [ + "ietf_last_call", + "review_doc_all_parties", + "review_doc_group_mail_list" + ], + "desc": "Default template for recipients when an review is completed - customised mail triggers are used/created per team and review type.", + "to": [ + "review_team_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_completed" +}, +{ + "fields": { + "cc": [ + "review_doc_all_parties", + "review_doc_group_mail_list" + ], + "desc": "Recipients when a artart ReviewTypeName object review is completed", + "to": [ + "review_team_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_completed_artart_early" +}, +{ + "fields": { + "cc": [ + "ietf_last_call", + "review_doc_all_parties", + "review_doc_group_mail_list" + ], + "desc": "Recipients when a artart ReviewTypeName object review is completed", + "to": [ + "review_team_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_completed_artart_lc" +}, +{ + "fields": { + "cc": [ + "ietf_last_call", + "review_doc_all_parties", + "review_doc_group_mail_list" + ], + "desc": "Recipients when a artart ReviewTypeName object review is completed", + "to": [ + "review_team_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_completed_artart_telechat" +}, +{ + "fields": { + "cc": [ + "review_doc_all_parties", + "review_doc_group_mail_list" + ], + "desc": "Recipients when a genart ReviewTypeName object review is completed", + "to": [ + "review_team_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_completed_genart_early" +}, +{ + "fields": { + "cc": [ + "ietf_last_call", + "review_doc_all_parties", + "review_doc_group_mail_list" + ], + "desc": "Recipients when a genart ReviewTypeName object review is completed", + "to": [ + "review_team_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_completed_genart_lc" +}, +{ + "fields": { + "cc": [ + "ietf_last_call", + "review_doc_all_parties", + "review_doc_group_mail_list" + ], + "desc": "Recipients when a genart ReviewTypeName object review is completed", + "to": [ + "review_team_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_completed_genart_telechat" +}, +{ + "fields": { + "cc": [ + "review_doc_all_parties", + "review_doc_group_mail_list" + ], + "desc": "Recipients when a i18ndir ReviewTypeName object review is completed", + "to": [ + "review_team_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_completed_i18ndir_early" +}, +{ + "fields": { + "cc": [ + "ietf_last_call", + "review_doc_all_parties", + "review_doc_group_mail_list" + ], + "desc": "Recipients when a i18ndir ReviewTypeName object review is completed", + "to": [ + "review_team_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_completed_i18ndir_lc" +}, +{ + "fields": { + "cc": [ + "ietf_last_call", + "review_doc_all_parties", + "review_doc_group_mail_list" + ], + "desc": "Recipients when a i18ndir ReviewTypeName object review is completed", + "to": [ + "review_team_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_completed_i18ndir_telechat" +}, +{ + "fields": { + "cc": [ + "review_doc_all_parties", + "review_doc_group_mail_list" + ], + "desc": "Recipients when a intdir ReviewTypeName object review is completed", + "to": [ + "review_team_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_completed_intdir_early" +}, +{ + "fields": { + "cc": [ + "ietf_last_call", + "review_doc_all_parties", + "review_doc_group_mail_list" + ], + "desc": "Recipients when a intdir ReviewTypeName object review is completed", + "to": [ + "review_team_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_completed_intdir_lc" +}, +{ + "fields": { + "cc": [ + "ietf_last_call", + "review_doc_all_parties", + "review_doc_group_mail_list" + ], + "desc": "Recipients when a intdir ReviewTypeName object review is completed", + "to": [ + "review_team_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_completed_intdir_telechat" +}, +{ + "fields": { + "cc": [ + "review_doc_all_parties", + "review_doc_group_mail_list" + ], + "desc": "Recipients when a iotdir ReviewTypeName object review is completed", + "to": [ + "review_team_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_completed_iotdir_early" +}, +{ + "fields": { + "cc": [ + "ietf_last_call", + "review_doc_all_parties", + "review_doc_group_mail_list" + ], + "desc": "Recipients when a iotdir ReviewTypeName object review is completed", + "to": [ + "review_team_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_completed_iotdir_lc" +}, +{ + "fields": { + "cc": [ + "ietf_last_call", + "review_doc_all_parties", + "review_doc_group_mail_list" + ], + "desc": "Recipients when a iotdir ReviewTypeName object review is completed", + "to": [ + "review_team_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_completed_iotdir_telechat" +}, +{ + "fields": { + "cc": [ + "review_doc_all_parties", + "review_doc_group_mail_list" + ], + "desc": "Recipients when a opsdir ReviewTypeName object review is completed", + "to": [ + "review_team_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_completed_opsdir_early" +}, +{ + "fields": { + "cc": [ + "ietf_last_call", + "review_doc_all_parties", + "review_doc_group_mail_list" + ], + "desc": "Recipients when a opsdir ReviewTypeName object review is completed", + "to": [ + "review_team_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_completed_opsdir_lc" +}, +{ + "fields": { + "cc": [ + "ietf_last_call", + "review_doc_all_parties", + "review_doc_group_mail_list" + ], + "desc": "Recipients when a opsdir ReviewTypeName object review is completed", + "to": [ + "review_team_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_completed_opsdir_telechat" +}, +{ + "fields": { + "cc": [ + "review_doc_all_parties", + "review_doc_group_mail_list" + ], + "desc": "Recipients when a rtgdir ReviewTypeName object review is completed", + "to": [ + "review_team_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_completed_rtgdir_early" +}, +{ + "fields": { + "cc": [ + "ietf_last_call", + "review_doc_all_parties", + "review_doc_group_mail_list" + ], + "desc": "Recipients when a rtgdir ReviewTypeName object review is completed", + "to": [ + "review_team_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_completed_rtgdir_lc" +}, +{ + "fields": { + "cc": [ + "ietf_last_call", + "review_doc_all_parties", + "review_doc_group_mail_list" + ], + "desc": "Recipients when a rtgdir ReviewTypeName object review is completed", + "to": [ + "review_team_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_completed_rtgdir_telechat" +}, +{ + "fields": { + "cc": [ + "review_doc_all_parties", + "review_doc_group_mail_list" + ], + "desc": "Recipients when a secdir ReviewTypeName object review is completed", + "to": [ + "review_team_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_completed_secdir_early" +}, +{ + "fields": { + "cc": [ + "ietf_last_call", + "review_doc_all_parties", + "review_doc_group_mail_list" + ], + "desc": "Recipients when a secdir ReviewTypeName object review is completed", + "to": [ + "review_team_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_completed_secdir_lc" +}, +{ + "fields": { + "cc": [ + "ietf_last_call", + "review_doc_all_parties", + "review_doc_group_mail_list" + ], + "desc": "Recipients when a secdir ReviewTypeName object review is completed", + "to": [ + "review_team_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_completed_secdir_telechat" +}, +{ + "fields": { + "cc": [ + "review_doc_all_parties", + "review_doc_group_mail_list" + ], + "desc": "Recipients when a tsvart ReviewTypeName object review is completed", + "to": [ + "review_team_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_completed_tsvart_early" +}, +{ + "fields": { + "cc": [ + "ietf_last_call", + "review_doc_all_parties", + "review_doc_group_mail_list" + ], + "desc": "Recipients when a tsvart ReviewTypeName object review is completed", + "to": [ + "review_team_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_completed_tsvart_lc" +}, +{ + "fields": { + "cc": [ + "ietf_last_call", + "review_doc_all_parties", + "review_doc_group_mail_list" + ], + "desc": "Recipients when a tsvart ReviewTypeName object review is completed", + "to": [ + "review_team_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_completed_tsvart_telechat" +}, +{ + "fields": { + "cc": [ + "review_doc_all_parties", + "review_doc_group_mail_list" + ], + "desc": "Recipients when a yangdoctors ReviewTypeName object review is completed", + "to": [ + "review_team_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_completed_yangdoctors_early" +}, +{ + "fields": { + "cc": [ + "ietf_last_call", + "review_doc_all_parties", + "review_doc_group_mail_list" + ], + "desc": "Recipients when a yangdoctors ReviewTypeName object review is completed", + "to": [ + "review_team_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_completed_yangdoctors_lc" +}, +{ + "fields": { + "cc": [ + "ietf_last_call", + "review_doc_all_parties", + "review_doc_group_mail_list" + ], + "desc": "Recipients when a yangdoctors ReviewTypeName object review is completed", + "to": [ + "review_team_mail_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_completed_yangdoctors_telechat" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients when a team notifies area directors when a review with one of a certain set of results (typically results indicating problem) is submitted", + "to": [ + "review_doc_ad", + "review_team_ads" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_notify_ad" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients for overdue review assignment reminders", + "to": [ + "group_secretaries" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_reminder_overdue_assignment" +}, +{ + "fields": { + "cc": [ + "review_req_requested_by", + "review_secretaries" + ], + "desc": "Recipients for a change to a review request", + "to": [ + "review_req_reviewers" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "review_req_changed" +}, +{ + "fields": { + "cc": [ + "group_responsible_directors" + ], + "desc": "Recipients when a group is sent a reminder to submit minutes for a session", + "to": [ + "group_chairs", + "group_secretaries" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "session_minutes_reminder" +}, +{ + "fields": { + "cc": [ + "group_chairs", + "group_mail_list", + "group_responsible_directors", + "logged_in_person" + ], + "desc": "Recipients for a normal meeting session request", + "to": [ + "session_requests" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "session_requested" +}, +{ + "fields": { + "cc": [ + "group_chairs", + "logged_in_person", + "session_requests" + ], + "desc": "Recipients for a meeting session request for more than 2 sessions", + "to": [ + "group_responsible_directors" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "session_requested_long" +}, +{ + "fields": { + "cc": [ + "group_chairs", + "group_mail_list", + "group_responsible_directors", + "logged_in_person" + ], + "desc": "Recipients for a message cancelling a session request", + "to": [ + "session_requests" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "session_request_cancelled" +}, +{ + "fields": { + "cc": [ + "group_chairs", + "group_mail_list", + "group_responsible_directors", + "logged_in_person" + ], + "desc": "Recipients for a message noting a group plans to not meet", + "to": [ + "session_requests" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "session_request_not_meeting" +}, +{ + "fields": { + "cc": [ + "group_mail_list", + "group_responsible_directors" + ], + "desc": "Recipients for details when a session has been scheduled", + "to": [ + "group_chairs", + "session_requester" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "session_scheduled" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients when slides are proposed for a given session", + "to": [ + "group_chairs", + "group_responsible_directors", + "group_secretaries" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "slides_proposed" +}, +{ + "fields": { + "cc": [ + "submission_group_mail_list" + ], + "desc": "Recipients for the announcement of a successfully submitted draft", + "to": [ + "id_announce" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "sub_announced" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients for the announcement to the authors of a successfully submitted draft", + "to": [ + "submission_authors", + "submission_confirmers" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "sub_announced_to_authors" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients for a message requesting group chair approval of a draft submission", + "to": [ + "submission_group_chairs" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "sub_chair_approval_requested" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients for a message requesting confirmation of a draft submission", + "to": [ + "submission_confirmers" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "sub_confirmation_requested" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients for a message with the full URL for managing a draft submission", + "to": [ + "submission_confirmers" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "sub_management_url_requested" +}, +{ + "fields": { + "cc": [ + "submission_authors", + "submission_group_chairs", + "submission_submitter" + ], + "desc": "Recipients for a manual post request for a draft submission", + "to": [ + "internet_draft_requests" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "sub_manual_post_requested" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients for notification of a new version of an existing document", + "to": [ + "doc_ad", + "doc_discussing_ads", + "doc_non_ietf_stream_manager", + "doc_notify", + "rfc_editor_if_doc_in_queue" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "sub_new_version" +}, +{ + "fields": { + "cc": [], + "desc": "Recipients when a new IETF WG -00 draft is announced", + "to": [ + "new_wg_doc_list" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "sub_new_wg_00" +}, +{ + "fields": { + "desc": "The person providing a comment to nomcom", + "template": "{{commenter}}" + }, + "model": "mailtrigger.recipient", + "pk": "commenter" +}, +{ + "fields": { + "desc": "The steering group (e.g. IRSG) of a document being reviewed for IETF stream conflicts", + "template": null + }, + "model": "mailtrigger.recipient", + "pk": "conflict_review_steering_group" +}, +{ + "fields": { + "desc": "The stream manager of a document being reviewed for IETF stream conflicts", + "template": null + }, + "model": "mailtrigger.recipient", + "pk": "conflict_review_stream_manager" +}, +{ + "fields": { + "desc": "The document's responsible Area Director", + "template": "{% if doc.ad %}<{{doc.ad.email_address}}>{% endif %}" + }, + "model": "mailtrigger.recipient", + "pk": "doc_ad" +}, +{ + "fields": { + "desc": "The authors of the subject documents of a conflict-review or status-change", + "template": null + }, + "model": "mailtrigger.recipient", + "pk": "doc_affecteddoc_authors" +}, +{ + "fields": { + "desc": "The chairs of groups of the subject documents of a conflict-review or status-change", + "template": null + }, + "model": "mailtrigger.recipient", + "pk": "doc_affecteddoc_group_chairs" +}, +{ + "fields": { + "desc": "The notify field of the subject documents of a conflict-review or status-change", + "template": null + }, + "model": "mailtrigger.recipient", + "pk": "doc_affecteddoc_notify" +}, +{ + "fields": { + "desc": "The document's authors", + "template": "{% if doc.type_id == \"draft\" %}<{{doc.name}}@ietf.org>{% endif %}" + }, + "model": "mailtrigger.recipient", + "pk": "doc_authors" +}, +{ + "fields": { + "desc": "The authors of the document, without using the draft aliases", + "template": "{{doc.author_list}}" + }, + "model": "mailtrigger.recipient", + "pk": "doc_authors_expanded" +}, +{ + "fields": { + "desc": "Any ADs holding an active DISCUSS position on a given document", + "template": null + }, + "model": "mailtrigger.recipient", + "pk": "doc_discussing_ads" +}, +{ + "fields": { + "desc": "The document's group chairs (if the document is assigned to a working or research group)", + "template": null + }, + "model": "mailtrigger.recipient", + "pk": "doc_group_chairs" +}, +{ + "fields": { + "desc": "The document's group delegates (if the document is assigned to a working or research group)", + "template": null + }, + "model": "mailtrigger.recipient", + "pk": "doc_group_delegates" +}, +{ + "fields": { + "desc": "The list address of the document's group", + "template": null + }, + "model": "mailtrigger.recipient", + "pk": "doc_group_mail_list" +}, +{ + "fields": { + "desc": "The document's group's responsible AD(s) or IRTF chair", + "template": null + }, + "model": "mailtrigger.recipient", + "pk": "doc_group_responsible_directors" +}, +{ + "fields": { + "desc": "Leadership for a document that has a new IPR disclosure", + "template": null + }, + "model": "mailtrigger.recipient", + "pk": "doc_ipr_group_or_ad" +}, +{ + "fields": { + "desc": "The document's stream manager if the document is not in the IETF stream", + "template": null + }, + "model": "mailtrigger.recipient", + "pk": "doc_non_ietf_stream_manager" +}, +{ + "fields": { + "desc": "The addresses in the document's notify field", + "template": "{{doc.notify}}" + }, + "model": "mailtrigger.recipient", + "pk": "doc_notify" +}, +{ + "fields": { + "desc": "The document's shepherd", + "template": "{% if doc.shepherd %}<{{doc.shepherd.address}}>{% endif %}" + }, + "model": "mailtrigger.recipient", + "pk": "doc_shepherd" +}, +{ + "fields": { + "desc": "The manager of the document's stream", + "template": null + }, + "model": "mailtrigger.recipient", + "pk": "doc_stream_manager" +}, +{ + "fields": { + "desc": "The group's chairs", + "template": "{% if group and group.acronym %}<{{group.acronym}}-chairs@ietf.org>{% endif %}" + }, + "model": "mailtrigger.recipient", + "pk": "group_chairs" +}, +{ + "fields": { + "desc": "Any personnel who were added or deleted when a group's personnel changes", + "template": "{% if changed_personnel %} {{ changed_personnel | join:\", \" }} {% endif %}" + }, + "model": "mailtrigger.recipient", + "pk": "group_changed_personnel" +}, +{ + "fields": { + "desc": "The group's mailing list", + "template": "{% if group.list_email %}<{{ group.list_email }}>{% endif %}" + }, + "model": "mailtrigger.recipient", + "pk": "group_mail_list" +}, +{ + "fields": { + "desc": "The group's responsible AD(s) or IRTF chair", + "template": null + }, + "model": "mailtrigger.recipient", + "pk": "group_responsible_directors" +}, +{ + "fields": { + "desc": "The group's secretaries", + "template": null + }, + "model": "mailtrigger.recipient", + "pk": "group_secretaries" +}, +{ + "fields": { + "desc": "The group's steering group (IESG or IRSG)", + "template": null + }, + "model": "mailtrigger.recipient", + "pk": "group_steering_group" +}, +{ + "fields": { + "desc": "The group's stream's announce list", + "template": "{% if group.type_id == 'wg' %}IETF-Announce {% elif group.type_id == 'rg' %}IRTF-Announce {% endif %}" + }, + "model": "mailtrigger.recipient", + "pk": "group_stream_announce" +}, +{ + "fields": { + "desc": "The IAB", + "template": "The IAB " + }, + "model": "mailtrigger.recipient", + "pk": "iab" +}, +{ + "fields": { + "desc": "IANA", + "template": "" + }, + "model": "mailtrigger.recipient", + "pk": "iana" +}, +{ + "fields": { + "desc": "IANA's draft approval address", + "template": "IANA " + }, + "model": "mailtrigger.recipient", + "pk": "iana_approve" +}, +{ + "fields": { + "desc": "IANA's draft evaluation address", + "template": "IANA " + }, + "model": "mailtrigger.recipient", + "pk": "iana_eval" +}, +{ + "fields": { + "desc": "IANA's draft last call address", + "template": "IANA " + }, + "model": "mailtrigger.recipient", + "pk": "iana_last_call" +}, +{ + "fields": { + "desc": "The I-D-Announce Email List", + "template": "" + }, + "model": "mailtrigger.recipient", + "pk": "id_announce" +}, +{ + "fields": { + "desc": "The IESG", + "template": "The IESG " + }, + "model": "mailtrigger.recipient", + "pk": "iesg" +}, +{ + "fields": { + "desc": "The Secretariat", + "template": "" + }, + "model": "mailtrigger.recipient", + "pk": "iesg_secretary" +}, +{ + "fields": { + "desc": "The IETF Announce list", + "template": "IETF-Announce " + }, + "model": "mailtrigger.recipient", + "pk": "ietf_announce" +}, +{ + "fields": { + "desc": "The IETF general discussion list", + "template": "ietf@ietf.org" + }, + "model": "mailtrigger.recipient", + "pk": "ietf_general" +}, +{ + "fields": { + "desc": "The IETF Last Call list", + "template": "last-call@ietf.org" + }, + "model": "mailtrigger.recipient", + "pk": "ietf_last_call" +}, +{ + "fields": { + "desc": "The Secretariat", + "template": "" + }, + "model": "mailtrigger.recipient", + "pk": "ietf_secretariat" +}, +{ + "fields": { + "desc": "The internet drafts ticketing system", + "template": "" + }, + "model": "mailtrigger.recipient", + "pk": "internet_draft_requests" +}, +{ + "fields": { + "desc": "The IETF IPR announce list", + "template": "ipr-announce@ietf.org" + }, + "model": "mailtrigger.recipient", + "pk": "ipr_announce" +}, +{ + "fields": { + "desc": "The ipr disclosure handling system", + "template": "" + }, + "model": "mailtrigger.recipient", + "pk": "ipr_requests" +}, +{ + "fields": { + "desc": "The submitter of an IPR disclosure", + "template": "{% if ipr.submitter_email %}{{ ipr.submitter_email }}{% endif %}" + }, + "model": "mailtrigger.recipient", + "pk": "ipr_submitter" +}, +{ + "fields": { + "desc": "The submitter (or ietf participant if the submitter is not available) of all IPR disclosures updated directly by this disclosure, without recursing to what the updated disclosures might have updated.", + "template": null + }, + "model": "mailtrigger.recipient", + "pk": "ipr_updatedipr_contacts" +}, +{ + "fields": { + "desc": "The holders of all IPR disclosures updated by disclosure and disclosures updated by those and so on.", + "template": null + }, + "model": "mailtrigger.recipient", + "pk": "ipr_updatedipr_holders" +}, +{ + "fields": { + "desc": "The IRSG", + "template": "The IRSG " + }, + "model": "mailtrigger.recipient", + "pk": "irsg" +}, +{ + "fields": { + "desc": "Alias for secretariat liaison administration", + "template": "" + }, + "model": "mailtrigger.recipient", + "pk": "liaison_admin" +}, +{ + "fields": { + "desc": "The set of people who can approve this liasion statemetns", + "template": "{{liaison.approver_emails|join:\", \"}}" + }, + "model": "mailtrigger.recipient", + "pk": "liaison_approvers" +}, +{ + "fields": { + "desc": "The addresses captured in the Cc field of the liaison statement form", + "template": "{{liaison.cc_contacts}}" + }, + "model": "mailtrigger.recipient", + "pk": "liaison_cc" +}, +{ + "fields": { + "desc": "The assigned liaison manager for an external group ", + "template": null + }, + "model": "mailtrigger.recipient", + "pk": "liaison_manager" +}, +{ + "fields": { + "desc": "The addresses captured in the response contact field of the liaison statement form", + "template": "{{liaison.response_contacts}}" + }, + "model": "mailtrigger.recipient", + "pk": "liaison_response_contacts" +}, +{ + "fields": { + "desc": "The addresses captured in the technical contact field of the liaison statement form", + "template": "{{liaison.technical_contacts}}" + }, + "model": "mailtrigger.recipient", + "pk": "liaison_technical_contacts" +}, +{ + "fields": { + "desc": "The addresses captured in the To field of the liaison statement form", + "template": "{{liaison.to_contacts}}" + }, + "model": "mailtrigger.recipient", + "pk": "liaison_to_contacts" +}, +{ + "fields": { + "desc": "The person currently logged into the datatracker who initiated a given action", + "template": "{% if person and person.email_address %}<{{ person.email_address }}>{% endif %}" + }, + "model": "mailtrigger.recipient", + "pk": "logged_in_person" +}, +{ + "fields": { + "desc": "The email list for announcing new WG -00 submissions", + "template": "" + }, + "model": "mailtrigger.recipient", + "pk": "new_wg_doc_list" +}, +{ + "fields": { + "desc": "The IETF New Work list", + "template": "" + }, + "model": "mailtrigger.recipient", + "pk": "new_work" +}, +{ + "fields": { + "desc": "The chair of a given nomcom", + "template": "{{nomcom.group.get_chair.email.address}}" + }, + "model": "mailtrigger.recipient", + "pk": "nomcom_chair" +}, +{ + "fields": { + "desc": "The person that submitted a nomination to nomcom", + "template": "{{nominator}}" + }, + "model": "mailtrigger.recipient", + "pk": "nominator" +}, +{ + "fields": { + "desc": "The person nominated for a position", + "template": "{{nominee}}" + }, + "model": "mailtrigger.recipient", + "pk": "nominee" +}, +{ + "fields": { + "desc": "The reviewer assigned to a review assignment", + "template": "{% if not skip_review_reviewer %}{{review_assignment.reviewer.email_address}}{% endif %}" + }, + "model": "mailtrigger.recipient", + "pk": "review_assignment_reviewer" +}, +{ + "fields": { + "desc": "The requester of an assigned review", + "template": "{% if not skip_review_requested_by %}{{review_assignment.review_request.requested_by.email_address}}{% endif %}" + }, + "model": "mailtrigger.recipient", + "pk": "review_assignment_review_req_by" +}, +{ + "fields": { + "desc": "The reviewed document's responsible area director", + "template": "{% if review_req.doc.ad %}{{review_req.doc.ad.email_address}}{% endif %}" + }, + "model": "mailtrigger.recipient", + "pk": "review_doc_ad" +}, +{ + "fields": { + "desc": "The .all alias for the document being reviewed", + "template": "{% if review_req.doc.type_id == 'draft' %}<{{review_req.doc.name}}.all@ietf.org>{% endif %}" + }, + "model": "mailtrigger.recipient", + "pk": "review_doc_all_parties" +}, +{ + "fields": { + "desc": "The working group list for the document being reviewed", + "template": "{{review_req.doc.group.list_email}}" + }, + "model": "mailtrigger.recipient", + "pk": "review_doc_group_mail_list" +}, +{ + "fields": { + "desc": "The requester of a review", + "template": "{% if not skip_review_requested_by %}{{review_req.requested_by.email_address}}{% endif %}" + }, + "model": "mailtrigger.recipient", + "pk": "review_req_requested_by" +}, +{ + "fields": { + "desc": "All reviewers assigned to a review request", + "template": null + }, + "model": "mailtrigger.recipient", + "pk": "review_req_reviewers" +}, +{ + "fields": { + "desc": "A single reviewer", + "template": "{{reviewer.email_address}}" + }, + "model": "mailtrigger.recipient", + "pk": "review_reviewer" +}, +{ + "fields": { + "desc": "The secretaries of the review team of a review request or assignment", + "template": null + }, + "model": "mailtrigger.recipient", + "pk": "review_secretaries" +}, +{ + "fields": { + "desc": "The ADs of the team reviewing the document", + "template": null + }, + "model": "mailtrigger.recipient", + "pk": "review_team_ads" +}, +{ + "fields": { + "desc": "The review team's email list", + "template": "{{review_req.team.list_email}}" + }, + "model": "mailtrigger.recipient", + "pk": "review_team_mail_list" +}, +{ + "fields": { + "desc": "The RFC Editor", + "template": "" + }, + "model": "mailtrigger.recipient", + "pk": "rfc_editor" +}, +{ + "fields": { + "desc": "The RFC Editor if a document is in the RFC Editor queue", + "template": null + }, + "model": "mailtrigger.recipient", + "pk": "rfc_editor_if_doc_in_queue" +}, +{ + "fields": { + "desc": "The person that requested a meeting slot for a given group", + "template": null + }, + "model": "mailtrigger.recipient", + "pk": "session_requester" +}, +{ + "fields": { + "desc": "The session request ticketing system", + "template": "" + }, + "model": "mailtrigger.recipient", + "pk": "session_requests" +}, +{ + "fields": { + "desc": "The managers of any related streams", + "template": null + }, + "model": "mailtrigger.recipient", + "pk": "stream_managers" +}, +{ + "fields": { + "desc": "The authors of a submitted draft", + "template": null + }, + "model": "mailtrigger.recipient", + "pk": "submission_authors" +}, +{ + "fields": { + "desc": "The people who can confirm a draft submission", + "template": null + }, + "model": "mailtrigger.recipient", + "pk": "submission_confirmers" +}, +{ + "fields": { + "desc": "The chairs of a submitted draft belonging to a group", + "template": null + }, + "model": "mailtrigger.recipient", + "pk": "submission_group_chairs" +}, +{ + "fields": { + "desc": "The mailing list of the group associated with a submitted document", + "template": "" + }, + "model": "mailtrigger.recipient", + "pk": "submission_group_mail_list" +}, +{ + "fields": { + "desc": "IETF manual post handling", + "template": "" + }, + "model": "mailtrigger.recipient", + "pk": "submission_manualpost_handling" +}, +{ + "fields": { + "desc": "The person that submitted a draft", + "template": "{{submission.submitter}}" + }, + "model": "mailtrigger.recipient", + "pk": "submission_submitter" +}, +{ + "fields": { + "desc": "", + "name": "AD Office Hours", + "order": 0, + "used": true + }, + "model": "name.agendatypename", + "pk": "ad" +}, +{ + "fields": { + "desc": "", + "name": "IETF Agenda", + "order": 0, + "used": true + }, + "model": "name.agendatypename", + "pk": "ietf" +}, +{ + "fields": { + "desc": "", + "name": "Side Meetings", + "order": 0, + "used": true + }, + "model": "name.agendatypename", + "pk": "side" +}, +{ + "fields": { + "desc": "", + "name": "Workshops", + "order": 0, + "used": true + }, + "model": "name.agendatypename", + "pk": "workshop" +}, +{ + "fields": { + "blocking": false, + "desc": "", + "name": "Abstain", + "order": 4, + "used": true + }, + "model": "name.ballotpositionname", + "pk": "abstain" +}, +{ + "fields": { + "blocking": true, + "desc": "", + "name": "Block", + "order": 3, + "used": true + }, + "model": "name.ballotpositionname", + "pk": "block" +}, +{ + "fields": { + "blocking": true, + "desc": "", + "name": "Discuss", + "order": 3, + "used": true + }, + "model": "name.ballotpositionname", + "pk": "discuss" +}, +{ + "fields": { + "blocking": false, + "desc": "", + "name": "Need More Time", + "order": 0, + "used": true + }, + "model": "name.ballotpositionname", + "pk": "moretime" +}, +{ + "fields": { + "blocking": false, + "desc": "", + "name": "No Objection", + "order": 2, + "used": true + }, + "model": "name.ballotpositionname", + "pk": "noobj" +}, +{ + "fields": { + "blocking": false, + "desc": "", + "name": "No Record", + "order": 6, + "used": true + }, + "model": "name.ballotpositionname", + "pk": "norecord" +}, +{ + "fields": { + "blocking": false, + "desc": "", + "name": "Not Ready", + "order": 0, + "used": true + }, + "model": "name.ballotpositionname", + "pk": "notready" +}, +{ + "fields": { + "blocking": false, + "desc": "", + "name": "Recuse", + "order": 5, + "used": true + }, + "model": "name.ballotpositionname", + "pk": "recuse" +}, +{ + "fields": { + "blocking": false, + "desc": "", + "name": "Yes", + "order": 1, + "used": true + }, + "model": "name.ballotpositionname", + "pk": "yes" +}, +{ + "fields": { + "desc": "", + "name": "Person must be present", + "order": 0, + "penalty": 200000, + "used": true + }, + "model": "name.constraintname", + "pk": "bethere" +}, +{ + "fields": { + "desc": "", + "name": "Conflicts with (secondary)", + "order": 0, + "penalty": 10000, + "used": true + }, + "model": "name.constraintname", + "pk": "conflic2" +}, +{ + "fields": { + "desc": "", + "name": "Conflicts with (tertiary)", + "order": 0, + "penalty": 1000, + "used": true + }, + "model": "name.constraintname", + "pk": "conflic3" +}, +{ + "fields": { + "desc": "", + "name": "Conflicts with", + "order": 0, + "penalty": 100000, + "used": true + }, + "model": "name.constraintname", + "pk": "conflict" +}, +{ + "fields": { + "desc": "", + "name": "Africa", + "order": 0, + "used": true + }, + "model": "name.continentname", + "pk": "africa" +}, +{ + "fields": { + "desc": "", + "name": "Antarctica", + "order": 0, + "used": true + }, + "model": "name.continentname", + "pk": "antarctica" +}, +{ + "fields": { + "desc": "", + "name": "Asia", + "order": 0, + "used": true + }, + "model": "name.continentname", + "pk": "asia" +}, +{ + "fields": { + "desc": "", + "name": "Europe", + "order": 0, + "used": true + }, + "model": "name.continentname", + "pk": "europe" +}, +{ + "fields": { + "desc": "", + "name": "North America", + "order": 0, + "used": true + }, + "model": "name.continentname", + "pk": "north-america" +}, +{ + "fields": { + "desc": "", + "name": "Oceania", + "order": 0, + "used": true + }, + "model": "name.continentname", + "pk": "oceania" +}, +{ + "fields": { + "desc": "", + "name": "South America", + "order": 0, + "used": true + }, + "model": "name.continentname", + "pk": "south-america" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": false, + "name": "Andorra", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "AD" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "United Arab Emirates", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "AE" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Afghanistan", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "AF" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Antigua and Barbuda", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "AG" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Anguilla", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "AI" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": false, + "name": "Albania", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "AL" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Armenia", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "AM" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Angola", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "AO" +}, +{ + "fields": { + "continent": "antarctica", + "desc": "", + "in_eu": false, + "name": "Antarctica", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "AQ" +}, +{ + "fields": { + "continent": "south-america", + "desc": "", + "in_eu": false, + "name": "Argentina", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "AR" +}, +{ + "fields": { + "continent": "oceania", + "desc": "", + "in_eu": false, + "name": "American Samoa", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "AS" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": true, + "name": "Austria", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "AT" +}, +{ + "fields": { + "continent": "oceania", + "desc": "", + "in_eu": false, + "name": "Australia", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "AU" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Aruba", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "AW" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": false, + "name": "\u00c5land Islands", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "AX" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Azerbaijan", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "AZ" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": false, + "name": "Bosnia and Herzegovina", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "BA" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Barbados", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "BB" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Bangladesh", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "BD" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": true, + "name": "Belgium", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "BE" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Burkina Faso", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "BF" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": true, + "name": "Bulgaria", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "BG" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Bahrain", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "BH" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Burundi", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "BI" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Benin", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "BJ" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Saint Barth\u00e9lemy", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "BL" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Bermuda", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "BM" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Brunei", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "BN" +}, +{ + "fields": { + "continent": "south-america", + "desc": "", + "in_eu": false, + "name": "Bolivia", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "BO" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Bonaire, Sint Eustatius and Saba", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "BQ" +}, +{ + "fields": { + "continent": "south-america", + "desc": "", + "in_eu": false, + "name": "Brazil", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "BR" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Bahamas", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "BS" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Bhutan", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "BT" +}, +{ + "fields": { + "continent": "antarctica", + "desc": "", + "in_eu": false, + "name": "Bouvet Island", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "BV" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Botswana", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "BW" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": false, + "name": "Belarus", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "BY" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Belize", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "BZ" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Canada", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "CA" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Cocos (Keeling) Islands", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "CC" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Congo (the Democratic Republic of the)", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "CD" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Central African Republic", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "CF" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Congo", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "CG" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": false, + "name": "Switzerland", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "CH" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "C\u00f4te d'Ivoire", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "CI" +}, +{ + "fields": { + "continent": "oceania", + "desc": "", + "in_eu": false, + "name": "Cook Islands", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "CK" +}, +{ + "fields": { + "continent": "south-america", + "desc": "", + "in_eu": false, + "name": "Chile", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "CL" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Cameroon", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "CM" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "China", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "CN" +}, +{ + "fields": { + "continent": "south-america", + "desc": "", + "in_eu": false, + "name": "Colombia", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "CO" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Costa Rica", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "CR" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Cuba", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "CU" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Cabo Verde", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "CV" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Cura\u00e7ao", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "CW" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Christmas Island", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "CX" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": true, + "name": "Cyprus", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "CY" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": true, + "name": "Czech Republic", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "CZ" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": true, + "name": "Germany", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "DE" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Djibouti", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "DJ" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": true, + "name": "Denmark", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "DK" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Dominica", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "DM" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Dominican Republic", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "DO" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Algeria", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "DZ" +}, +{ + "fields": { + "continent": "south-america", + "desc": "", + "in_eu": false, + "name": "Ecuador", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "EC" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": true, + "name": "Estonia", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "EE" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Egypt", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "EG" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Western Sahara", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "EH" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Eritrea", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "ER" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": true, + "name": "Spain", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "ES" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Ethiopia", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "ET" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": true, + "name": "Finland", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "FI" +}, +{ + "fields": { + "continent": "oceania", + "desc": "", + "in_eu": false, + "name": "Fiji", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "FJ" +}, +{ + "fields": { + "continent": "south-america", + "desc": "", + "in_eu": false, + "name": "Falkland Islands [Malvinas]", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "FK" +}, +{ + "fields": { + "continent": "oceania", + "desc": "", + "in_eu": false, + "name": "Micronesia (Federated States of)", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "FM" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": false, + "name": "Faroe Islands", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "FO" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": true, + "name": "France", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "FR" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Gabon", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "GA" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": true, + "name": "United Kingdom", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "GB" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Grenada", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "GD" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Georgia", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "GE" +}, +{ + "fields": { + "continent": "south-america", + "desc": "", + "in_eu": false, + "name": "French Guiana", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "GF" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": false, + "name": "Guernsey", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "GG" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Ghana", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "GH" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": false, + "name": "Gibraltar", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "GI" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Greenland", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "GL" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Gambia", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "GM" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Guinea", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "GN" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Guadeloupe", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "GP" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Equatorial Guinea", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "GQ" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": true, + "name": "Greece", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "GR" +}, +{ + "fields": { + "continent": "antarctica", + "desc": "", + "in_eu": false, + "name": "South Georgia and the South Sandwich Islands", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "GS" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Guatemala", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "GT" +}, +{ + "fields": { + "continent": "oceania", + "desc": "", + "in_eu": false, + "name": "Guam", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "GU" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Guinea-Bissau", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "GW" +}, +{ + "fields": { + "continent": "south-america", + "desc": "", + "in_eu": false, + "name": "Guyana", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "GY" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Hong Kong", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "HK" +}, +{ + "fields": { + "continent": "antarctica", + "desc": "", + "in_eu": false, + "name": "Heard Island and McDonald Islands", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "HM" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Honduras", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "HN" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": true, + "name": "Croatia", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "HR" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Haiti", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "HT" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": true, + "name": "Hungary", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "HU" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Indonesia", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "ID" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": true, + "name": "Ireland", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "IE" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Israel", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "IL" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": false, + "name": "Isle of Man", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "IM" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "India", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "IN" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "British Indian Ocean Territory", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "IO" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Iraq", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "IQ" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Iran", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "IR" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": false, + "name": "Iceland", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "IS" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": true, + "name": "Italy", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "IT" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": false, + "name": "Jersey", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "JE" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Jamaica", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "JM" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Jordan", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "JO" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Japan", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "JP" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Kenya", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "KE" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Kyrgyzstan", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "KG" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Cambodia", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "KH" +}, +{ + "fields": { + "continent": "oceania", + "desc": "", + "in_eu": false, + "name": "Kiribati", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "KI" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Comoros", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "KM" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Saint Kitts and Nevis", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "KN" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "North Korea", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "KP" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "South Korea", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "KR" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Kuwait", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "KW" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Cayman Islands", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "KY" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Kazakhstan", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "KZ" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Laos", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "LA" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Lebanon", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "LB" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Saint Lucia", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "LC" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": false, + "name": "Liechtenstein", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "LI" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Sri Lanka", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "LK" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Liberia", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "LR" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Lesotho", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "LS" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": true, + "name": "Lithuania", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "LT" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": true, + "name": "Luxembourg", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "LU" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": true, + "name": "Latvia", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "LV" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Libya", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "LY" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Morocco", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "MA" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": false, + "name": "Monaco", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "MC" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": false, + "name": "Moldova", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "MD" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": false, + "name": "Montenegro", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "ME" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Saint Martin (French part)", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "MF" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Madagascar", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "MG" +}, +{ + "fields": { + "continent": "oceania", + "desc": "", + "in_eu": false, + "name": "Marshall Islands", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "MH" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": false, + "name": "Macedonia", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "MK" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Mali", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "ML" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Myanmar", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "MM" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Mongolia", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "MN" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Macao", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "MO" +}, +{ + "fields": { + "continent": "oceania", + "desc": "", + "in_eu": false, + "name": "Northern Mariana Islands", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "MP" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Martinique", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "MQ" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Mauritania", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "MR" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Montserrat", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "MS" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": true, + "name": "Malta", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "MT" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Mauritius", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "MU" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Maldives", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "MV" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Malawi", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "MW" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Mexico", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "MX" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Malaysia", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "MY" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Mozambique", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "MZ" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Namibia", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "NA" +}, +{ + "fields": { + "continent": "oceania", + "desc": "", + "in_eu": false, + "name": "New Caledonia", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "NC" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Niger", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "NE" +}, +{ + "fields": { + "continent": "oceania", + "desc": "", + "in_eu": false, + "name": "Norfolk Island", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "NF" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Nigeria", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "NG" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Nicaragua", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "NI" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": true, + "name": "Netherlands", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "NL" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": false, + "name": "Norway", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "NO" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Nepal", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "NP" +}, +{ + "fields": { + "continent": "oceania", + "desc": "", + "in_eu": false, + "name": "Nauru", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "NR" +}, +{ + "fields": { + "continent": "oceania", + "desc": "", + "in_eu": false, + "name": "Niue", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "NU" +}, +{ + "fields": { + "continent": "oceania", + "desc": "", + "in_eu": false, + "name": "New Zealand", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "NZ" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Oman", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "OM" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Panama", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "PA" +}, +{ + "fields": { + "continent": "south-america", + "desc": "", + "in_eu": false, + "name": "Peru", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "PE" +}, +{ + "fields": { + "continent": "oceania", + "desc": "", + "in_eu": false, + "name": "French Polynesia", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "PF" +}, +{ + "fields": { + "continent": "oceania", + "desc": "", + "in_eu": false, + "name": "Papua New Guinea", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "PG" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Philippines", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "PH" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Pakistan", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "PK" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": true, + "name": "Poland", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "PL" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Saint Pierre and Miquelon", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "PM" +}, +{ + "fields": { + "continent": "oceania", + "desc": "", + "in_eu": false, + "name": "Pitcairn", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "PN" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Puerto Rico", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "PR" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Palestine, State of", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "PS" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": true, + "name": "Portugal", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "PT" +}, +{ + "fields": { + "continent": "oceania", + "desc": "", + "in_eu": false, + "name": "Palau", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "PW" +}, +{ + "fields": { + "continent": "south-america", + "desc": "", + "in_eu": false, + "name": "Paraguay", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "PY" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Qatar", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "QA" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "R\u00e9union", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "RE" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": true, + "name": "Romania", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "RO" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": false, + "name": "Serbia", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "RS" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": false, + "name": "Russia", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "RU" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Rwanda", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "RW" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Saudi Arabia", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "SA" +}, +{ + "fields": { + "continent": "oceania", + "desc": "", + "in_eu": false, + "name": "Solomon Islands", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "SB" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Seychelles", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "SC" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Sudan", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "SD" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": true, + "name": "Sweden", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "SE" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Singapore", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "SG" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Saint Helena, Ascension and Tristan da Cunha", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "SH" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": true, + "name": "Slovenia", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "SI" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": false, + "name": "Svalbard and Jan Mayen", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "SJ" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": true, + "name": "Slovakia", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "SK" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Sierra Leone", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "SL" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": false, + "name": "San Marino", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "SM" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Senegal", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "SN" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Somalia", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "SO" +}, +{ + "fields": { + "continent": "south-america", + "desc": "", + "in_eu": false, + "name": "Suriname", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "SR" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "South Sudan", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "SS" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Sao Tome and Principe", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "ST" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "El Salvador", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "SV" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Sint Maarten (Dutch part)", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "SX" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Syria", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "SY" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Swaziland", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "SZ" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Turks and Caicos Islands", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "TC" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Chad", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "TD" +}, +{ + "fields": { + "continent": "antarctica", + "desc": "", + "in_eu": false, + "name": "French Southern Territories", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "TF" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Togo", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "TG" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Thailand", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "TH" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Tajikistan", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "TJ" +}, +{ + "fields": { + "continent": "oceania", + "desc": "", + "in_eu": false, + "name": "Tokelau", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "TK" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Timor-Leste", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "TL" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Turkmenistan", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "TM" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Tunisia", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "TN" +}, +{ + "fields": { + "continent": "oceania", + "desc": "", + "in_eu": false, + "name": "Tonga", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "TO" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": false, + "name": "Turkey", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "TR" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Trinidad and Tobago", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "TT" +}, +{ + "fields": { + "continent": "oceania", + "desc": "", + "in_eu": false, + "name": "Tuvalu", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "TV" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Taiwan", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "TW" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Tanzania", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "TZ" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": false, + "name": "Ukraine", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "UA" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Uganda", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "UG" +}, +{ + "fields": { + "continent": "oceania", + "desc": "", + "in_eu": false, + "name": "United States Minor Outlying Islands", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "UM" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "United States of America", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "US" +}, +{ + "fields": { + "continent": "south-america", + "desc": "", + "in_eu": false, + "name": "Uruguay", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "UY" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Uzbekistan", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "UZ" +}, +{ + "fields": { + "continent": "europe", + "desc": "", + "in_eu": false, + "name": "Holy See", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "VA" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Saint Vincent and the Grenadines", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "VC" +}, +{ + "fields": { + "continent": "south-america", + "desc": "", + "in_eu": false, + "name": "Venezuela", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "VE" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Virgin Islands (British)", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "VG" +}, +{ + "fields": { + "continent": "north-america", + "desc": "", + "in_eu": false, + "name": "Virgin Islands (U.S.)", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "VI" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Vietnam", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "VN" +}, +{ + "fields": { + "continent": "oceania", + "desc": "", + "in_eu": false, + "name": "Vanuatu", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "VU" +}, +{ + "fields": { + "continent": "oceania", + "desc": "", + "in_eu": false, + "name": "Wallis and Futuna", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "WF" +}, +{ + "fields": { + "continent": "oceania", + "desc": "", + "in_eu": false, + "name": "Samoa", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "WS" +}, +{ + "fields": { + "continent": "asia", + "desc": "", + "in_eu": false, + "name": "Yemen", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "YE" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Mayotte", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "YT" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "South Africa", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "ZA" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Zambia", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "ZM" +}, +{ + "fields": { + "continent": "africa", + "desc": "", + "in_eu": false, + "name": "Zimbabwe", + "order": 0, + "used": true + }, + "model": "name.countryname", + "pk": "ZW" +}, +{ + "fields": { + "desc": "", + "name": "Django", + "order": 0, + "used": true + }, + "model": "name.dbtemplatetypename", + "pk": "django" +}, +{ + "fields": { + "desc": "", + "name": "Plain", + "order": 0, + "used": true + }, + "model": "name.dbtemplatetypename", + "pk": "plain" +}, +{ + "fields": { + "desc": "", + "name": "reStructuredText", + "order": 0, + "used": true + }, + "model": "name.dbtemplatetypename", + "pk": "rst" +}, +{ + "fields": { + "desc": "", + "name": "conflict reviews", + "order": 0, + "revname": "Conflict reviewed by", + "used": true + }, + "model": "name.docrelationshipname", + "pk": "conflrev" +}, +{ + "fields": { + "desc": "Approval for downref", + "name": "approves downref to", + "order": 0, + "revname": "was approved for downref by", + "used": true + }, + "model": "name.docrelationshipname", + "pk": "downref-approval" +}, +{ + "fields": { + "desc": "", + "name": "Obsoletes", + "order": 0, + "revname": "Obsoleted by", + "used": true + }, + "model": "name.docrelationshipname", + "pk": "obs" +}, +{ + "fields": { + "desc": "", + "name": "Possibly Replaces", + "order": 0, + "revname": "Possibly Replaced By", + "used": true + }, + "model": "name.docrelationshipname", + "pk": "possibly-replaces" +}, +{ + "fields": { + "desc": "Informative Reference", + "name": "informatively references", + "order": 0, + "revname": "is informatively referenced by", + "used": true + }, + "model": "name.docrelationshipname", + "pk": "refinfo" +}, +{ + "fields": { + "desc": "Normative Reference", + "name": "normatively references", + "order": 0, + "revname": "is normatively referenced by", + "used": true + }, + "model": "name.docrelationshipname", + "pk": "refnorm" +}, +{ + "fields": { + "desc": "A reference found in a document which does not have split normative/informative reference sections.", + "name": "Reference", + "order": 0, + "revname": "Referenced by", + "used": true + }, + "model": "name.docrelationshipname", + "pk": "refold" +}, +{ + "fields": { + "desc": "Reference of unknown type, likely found in the text of the document.", + "name": "Possible Reference", + "order": 3, + "revname": "Possibly Referenced By", + "used": true + }, + "model": "name.docrelationshipname", + "pk": "refunk" +}, +{ + "fields": { + "desc": "", + "name": "Replaces", + "order": 0, + "revname": "Replaced by", + "used": true + }, + "model": "name.docrelationshipname", + "pk": "replaces" +}, +{ + "fields": { + "desc": "", + "name": "Moves to BCP", + "order": 0, + "revname": "Moved to BCP by", + "used": true + }, + "model": "name.docrelationshipname", + "pk": "tobcp" +}, +{ + "fields": { + "desc": "", + "name": "Moves to Experimental", + "order": 0, + "revname": "Moved to Experimental by", + "used": true + }, + "model": "name.docrelationshipname", + "pk": "toexp" +}, +{ + "fields": { + "desc": "", + "name": "Moves to Historic", + "order": 0, + "revname": "Moved to Historic by", + "used": true + }, + "model": "name.docrelationshipname", + "pk": "tohist" +}, +{ + "fields": { + "desc": "", + "name": "Moves to Informational", + "order": 0, + "revname": "Moved to Informational by", + "used": true + }, + "model": "name.docrelationshipname", + "pk": "toinf" +}, +{ + "fields": { + "desc": "", + "name": "Moves to Internet Standard", + "order": 0, + "revname": "Moved to Internet Standard by", + "used": true + }, + "model": "name.docrelationshipname", + "pk": "tois" +}, +{ + "fields": { + "desc": "", + "name": "Moves to Proposed Standard", + "order": 0, + "revname": "Moved to Proposed Standard by", + "used": true + }, + "model": "name.docrelationshipname", + "pk": "tops" +}, +{ + "fields": { + "desc": "", + "name": "Updates", + "order": 0, + "revname": "Updated by", + "used": true + }, + "model": "name.docrelationshipname", + "pk": "updates" +}, +{ + "fields": { + "desc": "", + "name": "Stream state should change", + "order": 0, + "used": true + }, + "model": "name.docremindertypename", + "pk": "stream-s" +}, +{ + "fields": { + "desc": "A generic substate indicating that the shepherding AD has the action item to determine appropriate next steps. In particular, the appropriate steps (and the corresponding next state or substate) depend entirely on the nature of the issues that were raised and can only be decided with active involvement of the shepherding AD. Examples include:\n\n- if another AD raises an issue, the shepherding AD may first iterate with the other AD to get a better understanding of the exact issue. Or, the shepherding AD may attempt to argue that the issue is not serious enough to bring to the attention of the authors/WG.\n\n- if a documented issue is forwarded to a WG, some further iteration may be needed before it can be determined whether a new revision is needed or whether the WG response to an issue clarifies the issue sufficiently.\n\n- when a new revision appears, the shepherding AD will first look at the changes to determine whether they believe all outstanding issues have been raised satisfactorily, prior to asking the ADs who raised the original issues to verify the changes.", + "name": "AD Followup", + "order": 2, + "used": true + }, + "model": "name.doctagname", + "pk": "ad-f-up" +}, +{ + "fields": { + "desc": "", + "name": "Approved in minutes", + "order": 0, + "used": true + }, + "model": "name.doctagname", + "pk": "app-min" +}, +{ + "fields": { + "desc": "", + "name": "Has errata", + "order": 0, + "used": true + }, + "model": "name.doctagname", + "pk": "errata" +}, +{ + "fields": { + "desc": "The document is awaiting review or input from an external party (i.e, someone other than the shepherding AD, the authors, or the WG). See the \"note\" field for more details on who has the action.", + "name": "External Party", + "order": 3, + "used": true + }, + "model": "name.doctagname", + "pk": "extpty" +}, +{ + "fields": { + "desc": "The document has IANA actions that are not yet completed.", + "name": "IANA", + "order": 0, + "used": true + }, + "model": "name.doctagname", + "pk": "iana" +}, +{ + "fields": { + "desc": "RFC-Editor/IANA Registration Coordination", + "name": "IANA coordination", + "order": 0, + "used": true + }, + "model": "name.doctagname", + "pk": "iana-crd" +}, +{ + "fields": { + "desc": "", + "name": "IESG Review Completed", + "order": 0, + "used": true + }, + "model": "name.doctagname", + "pk": "iesg-com" +}, +{ + "fields": { + "desc": "Awaiting missing normative reference", + "name": "Missing references", + "order": 0, + "used": true + }, + "model": "name.doctagname", + "pk": "missref" +}, +{ + "fields": { + "desc": "", + "name": "Author or Editor Needed", + "order": 4, + "used": true + }, + "model": "name.doctagname", + "pk": "need-aut" +}, +{ + "fields": { + "desc": "", + "name": "Editor Needed", + "order": 1, + "used": true + }, + "model": "name.doctagname", + "pk": "need-ed" +}, +{ + "fields": { + "desc": "An updated I-D is needed to address the issues that have been raised.", + "name": "Revised I-D Needed", + "order": 5, + "used": true + }, + "model": "name.doctagname", + "pk": "need-rev" +}, +{ + "fields": { + "desc": "", + "name": "Shepherd Needed", + "order": 0, + "used": true + }, + "model": "name.doctagname", + "pk": "need-sh" +}, +{ + "fields": { + "desc": "", + "name": "Polled for WG adoption but not adopted", + "order": 0, + "used": true + }, + "model": "name.doctagname", + "pk": "no-adopt" +}, +{ + "fields": { + "desc": "", + "name": "Other - see Comment Log", + "order": 11, + "used": true + }, + "model": "name.doctagname", + "pk": "other" +}, +{ + "fields": { + "desc": "IESG discussions on the document have raised some issues that need to be brought to the attention of the authors/WG, but those issues have not been written down yet. (It is common for discussions during a telechat to result in such situations. An AD may raise a possible issue during a telechat and only decide as a result of that discussion whether the issue is worth formally writing up and bringing to the attention of the authors/WG). A document stays in the \"Point Raised - Writeup Needed\" state until *ALL* IESG comments that have been raised have been documented.", + "name": "Point Raised - writeup needed", + "order": 1, + "used": true + }, + "model": "name.doctagname", + "pk": "point" +}, +{ + "fields": { + "desc": "Holding for normative reference", + "name": "Holding for references", + "order": 0, + "used": true + }, + "model": "name.doctagname", + "pk": "ref" +}, +{ + "fields": { + "desc": "", + "name": "Revised I-D Needed - Issue raised by AD", + "order": 8, + "used": true + }, + "model": "name.doctagname", + "pk": "rev-ad" +}, +{ + "fields": { + "desc": "", + "name": "Revised I-D Needed - Issue raised by IESG", + "order": 9, + "used": true + }, + "model": "name.doctagname", + "pk": "rev-iesg" +}, +{ + "fields": { + "desc": "", + "name": "Revised I-D Needed - Issue raised by WG", + "order": 0, + "used": true + }, + "model": "name.doctagname", + "pk": "rev-wg" +}, +{ + "fields": { + "desc": "", + "name": "Revised I-D Needed - Issue raised by WGLC", + "order": 7, + "used": true + }, + "model": "name.doctagname", + "pk": "rev-wglc" +}, +{ + "fields": { + "desc": "", + "name": "Review by RFC Editor", + "order": 0, + "used": true + }, + "model": "name.doctagname", + "pk": "rfc-rev" +}, +{ + "fields": { + "desc": "", + "name": "Document Shepherd Followup", + "order": 4, + "used": true + }, + "model": "name.doctagname", + "pk": "sh-f-up" +}, +{ + "fields": { + "desc": "", + "name": "Doc Shepherd Follow-up Underway", + "order": 10, + "used": true + }, + "model": "name.doctagname", + "pk": "sheph-u" +}, +{ + "fields": { + "desc": "", + "name": "Via RFC Editor", + "order": 0, + "used": true + }, + "model": "name.doctagname", + "pk": "via-rfc" +}, +{ + "fields": { + "desc": "", + "name": "Waiting for Dependency on Other Document", + "order": 0, + "used": true + }, + "model": "name.doctagname", + "pk": "w-dep" +}, +{ + "fields": { + "desc": "", + "name": "Awaiting Expert Review/Resolution of Issues Raised", + "order": 1, + "used": true + }, + "model": "name.doctagname", + "pk": "w-expert" +}, +{ + "fields": { + "desc": "", + "name": "Awaiting External Review/Resolution of Issues Raised", + "order": 2, + "used": true + }, + "model": "name.doctagname", + "pk": "w-extern" +}, +{ + "fields": { + "desc": "", + "name": "Awaiting Merge with Other Document", + "order": 3, + "used": true + }, + "model": "name.doctagname", + "pk": "w-merge" +}, +{ + "fields": { + "desc": "", + "name": "Waiting for Partner Feedback", + "order": 2, + "used": true + }, + "model": "name.doctagname", + "pk": "w-part" +}, +{ + "fields": { + "desc": "", + "name": "Waiting for Referenced Document", + "order": 5, + "used": true + }, + "model": "name.doctagname", + "pk": "w-refdoc" +}, +{ + "fields": { + "desc": "", + "name": "Waiting for Referencing Document", + "order": 6, + "used": true + }, + "model": "name.doctagname", + "pk": "w-refing" +}, +{ + "fields": { + "desc": "", + "name": "Awaiting Reviews", + "order": 3, + "used": true + }, + "model": "name.doctagname", + "pk": "w-review" +}, +{ + "fields": { + "desc": "", + "name": "Agenda", + "order": 0, + "prefix": "agenda", + "used": true + }, + "model": "name.doctypename", + "pk": "agenda" +}, +{ + "fields": { + "desc": "", + "name": "Bluesheets", + "order": 0, + "prefix": "bluesheets", + "used": true + }, + "model": "name.doctypename", + "pk": "bluesheets" +}, +{ + "fields": { + "desc": "", + "name": "Charter", + "order": 0, + "prefix": "charter", + "used": true + }, + "model": "name.doctypename", + "pk": "charter" +}, +{ + "fields": { + "desc": "", + "name": "Conflict Review", + "order": 0, + "prefix": "conflict-review", + "used": true + }, + "model": "name.doctypename", + "pk": "conflrev" +}, +{ + "fields": { + "desc": "", + "name": "Draft", + "order": 0, + "prefix": "draft", + "used": true + }, + "model": "name.doctypename", + "pk": "draft" +}, +{ + "fields": { + "desc": "", + "name": "Liaison Attachment", + "order": 0, + "prefix": "liai-att", + "used": true + }, + "model": "name.doctypename", + "pk": "liai-att" +}, +{ + "fields": { + "desc": "", + "name": "Liaison", + "order": 0, + "prefix": "liaison", + "used": false + }, + "model": "name.doctypename", + "pk": "liaison" +}, +{ + "fields": { + "desc": "", + "name": "Minutes", + "order": 0, + "prefix": "minutes", + "used": true + }, + "model": "name.doctypename", + "pk": "minutes" +}, +{ + "fields": { + "desc": "", + "name": "Recording", + "order": 0, + "prefix": "recording", + "used": true + }, + "model": "name.doctypename", + "pk": "recording" +}, +{ + "fields": { + "desc": "", + "name": "Review", + "order": 0, + "prefix": "review", + "used": true + }, + "model": "name.doctypename", + "pk": "review" +}, +{ + "fields": { + "desc": "", + "name": "Shepherd's writeup", + "order": 0, + "prefix": "shepherd", + "used": false + }, + "model": "name.doctypename", + "pk": "shepwrit" +}, +{ + "fields": { + "desc": "", + "name": "Slides", + "order": 0, + "prefix": "slides", + "used": true + }, + "model": "name.doctypename", + "pk": "slides" +}, +{ + "fields": { + "desc": "", + "name": "Status Change", + "order": 0, + "prefix": "status-change", + "used": true + }, + "model": "name.doctypename", + "pk": "statchg" +}, +{ + "fields": { + "desc": "", + "name": "Document issue tracker", + "order": 0, + "used": true + }, + "model": "name.docurltagname", + "pk": "issues" +}, +{ + "fields": { + "desc": "", + "name": "Document source repository", + "order": 0, + "used": true + }, + "model": "name.docurltagname", + "pk": "repository" +}, +{ + "fields": { + "desc": "", + "name": "Document wiki", + "order": 0, + "used": true + }, + "model": "name.docurltagname", + "pk": "wiki" +}, +{ + "fields": { + "desc": "", + "name": "Yang impact analysis", + "order": 0, + "used": true + }, + "model": "name.docurltagname", + "pk": "yang-impact-analysis" +}, +{ + "fields": { + "desc": "", + "name": "Extracted yang module", + "order": 0, + "used": true + }, + "model": "name.docurltagname", + "pk": "yang-module" +}, +{ + "fields": { + "desc": "", + "name": "Yang module metadata", + "order": 0, + "used": true + }, + "model": "name.docurltagname", + "pk": "yang-module-metadata" +}, +{ + "fields": { + "desc": "", + "name": "Awaiting Approval from Previous Version Authors", + "next_states": [ + "confirmed", + "cancel", + "posted" + ], + "order": 3, + "used": true + }, + "model": "name.draftsubmissionstatename", + "pk": "aut-appr" +}, +{ + "fields": { + "desc": "", + "name": "Awaiting Submitter Authentication", + "next_states": [ + "confirmed", + "cancel", + "posted" + ], + "order": 2, + "used": true + }, + "model": "name.draftsubmissionstatename", + "pk": "auth" +}, +{ + "fields": { + "desc": "", + "name": "Cancelled", + "next_states": [], + "order": 6, + "used": true + }, + "model": "name.draftsubmissionstatename", + "pk": "cancel" +}, +{ + "fields": { + "desc": "", + "name": "Confirmed", + "next_states": [ + "cancel", + "posted" + ], + "order": 0, + "used": true + }, + "model": "name.draftsubmissionstatename", + "pk": "confirmed" +}, +{ + "fields": { + "desc": "", + "name": "Awaiting Initial Version Approval", + "next_states": [ + "cancel", + "posted" + ], + "order": 4, + "used": true + }, + "model": "name.draftsubmissionstatename", + "pk": "grp-appr" +}, +{ + "fields": { + "desc": "", + "name": "Awaiting Manual Post", + "next_states": [ + "cancel", + "posted" + ], + "order": 5, + "used": true + }, + "model": "name.draftsubmissionstatename", + "pk": "manual" +}, +{ + "fields": { + "desc": "", + "name": "Posted", + "next_states": [], + "order": 7, + "used": true + }, + "model": "name.draftsubmissionstatename", + "pk": "posted" +}, +{ + "fields": { + "desc": "", + "name": "Uploaded", + "next_states": [ + "auth", + "aut-appr", + "grp-appr", + "manual", + "cancel" + ], + "order": 1, + "used": true + }, + "model": "name.draftsubmissionstatename", + "pk": "uploaded" +}, +{ + "fields": { + "desc": "", + "name": "Manual Post Waiting for Draft", + "next_states": [ + "cancel", + "posted" + ], + "order": 8, + "used": true + }, + "model": "name.draftsubmissionstatename", + "pk": "waiting-for-draft" +}, +{ + "fields": { + "desc": "", + "name": "Comment", + "order": 0, + "used": true + }, + "model": "name.feedbacktypename", + "pk": "comment" +}, +{ + "fields": { + "desc": "", + "name": "Junk", + "order": 0, + "used": true + }, + "model": "name.feedbacktypename", + "pk": "junk" +}, +{ + "fields": { + "desc": "", + "name": "Nomination", + "order": 0, + "used": true + }, + "model": "name.feedbacktypename", + "pk": "nomina" +}, +{ + "fields": { + "desc": "", + "name": "Questionnaire response", + "order": 0, + "used": true + }, + "model": "name.feedbacktypename", + "pk": "questio" +}, +{ + "fields": { + "desc": "", + "name": "Read", + "order": 0, + "used": true + }, + "model": "name.feedbacktypename", + "pk": "read" +}, +{ + "fields": { + "desc": "Augmented Backus-Naur Form", + "name": "ABNF", + "order": 1, + "used": true + }, + "model": "name.formallanguagename", + "pk": "abnf" +}, +{ + "fields": { + "desc": "Abstract Syntax Notation One", + "name": "ASN.1", + "order": 2, + "used": true + }, + "model": "name.formallanguagename", + "pk": "asn1" +}, +{ + "fields": { + "desc": "Concise Binary Object Representation", + "name": "CBOR", + "order": 3, + "used": true + }, + "model": "name.formallanguagename", + "pk": "cbor" +}, +{ + "fields": { + "desc": "Code in the C Programming Language", + "name": "C Code", + "order": 4, + "used": true + }, + "model": "name.formallanguagename", + "pk": "ccode" +}, +{ + "fields": { + "desc": "Javascript Object Notation", + "name": "JSON", + "order": 5, + "used": true + }, + "model": "name.formallanguagename", + "pk": "json" +}, +{ + "fields": { + "desc": "Extensible Markup Language", + "name": "XML", + "order": 6, + "used": true + }, + "model": "name.formallanguagename", + "pk": "xml" +}, +{ + "fields": { + "desc": "", + "name": "Active", + "order": 1, + "used": true + }, + "model": "name.groupmilestonestatename", + "pk": "active" +}, +{ + "fields": { + "desc": "", + "name": "Chartering/rechartering", + "order": 4, + "used": true + }, + "model": "name.groupmilestonestatename", + "pk": "charter" +}, +{ + "fields": { + "desc": "", + "name": "Deleted", + "order": 2, + "used": true + }, + "model": "name.groupmilestonestatename", + "pk": "deleted" +}, +{ + "fields": { + "desc": "", + "name": "For review", + "order": 3, + "used": true + }, + "model": "name.groupmilestonestatename", + "pk": "review" +}, +{ + "fields": { + "desc": "Formation of the group (most likely a BoF or Proposed WG) was abandoned", + "name": "Abandonded", + "order": 0, + "used": true + }, + "model": "name.groupstatename", + "pk": "abandon" +}, +{ + "fields": { + "desc": "", + "name": "Active", + "order": 0, + "used": true + }, + "model": "name.groupstatename", + "pk": "active" +}, +{ + "fields": { + "desc": "", + "name": "BOF", + "order": 0, + "used": true + }, + "model": "name.groupstatename", + "pk": "bof" +}, +{ + "fields": { + "desc": "", + "name": "BOF Concluded", + "order": 0, + "used": true + }, + "model": "name.groupstatename", + "pk": "bof-conc" +}, +{ + "fields": { + "desc": "", + "name": "Concluded", + "order": 0, + "used": true + }, + "model": "name.groupstatename", + "pk": "conclude" +}, +{ + "fields": { + "desc": "", + "name": "Dormant", + "order": 0, + "used": true + }, + "model": "name.groupstatename", + "pk": "dormant" +}, +{ + "fields": { + "desc": "", + "name": "Proposed", + "order": 0, + "used": true + }, + "model": "name.groupstatename", + "pk": "proposed" +}, +{ + "fields": { + "desc": "Replaced by dnssd", + "name": "Replaced", + "order": 0, + "used": true + }, + "model": "name.groupstatename", + "pk": "replaced" +}, +{ + "fields": { + "desc": "", + "name": "Unknown", + "order": 0, + "used": true + }, + "model": "name.groupstatename", + "pk": "unknown" +}, +{ + "fields": { + "desc": "Ad Hoc schedulable Group Type, for instance HotRfc", + "name": "Ad Hoc", + "order": 0, + "used": true, + "verbose_name": "Ad Hoc Group Type" + }, + "model": "name.grouptypename", + "pk": "adhoc" +}, +{ + "fields": { + "desc": "", + "name": "Admin", + "order": 0, + "used": true, + "verbose_name": "Administrative Group" + }, + "model": "name.grouptypename", + "pk": "admin" +}, +{ + "fields": { + "desc": "Area group", + "name": "AG", + "order": 0, + "used": true, + "verbose_name": "Area Group" + }, + "model": "name.grouptypename", + "pk": "ag" +}, +{ + "fields": { + "desc": "", + "name": "Area", + "order": 0, + "used": true, + "verbose_name": "Area" + }, + "model": "name.grouptypename", + "pk": "area" +}, +{ + "fields": { + "desc": "In many areas, the Area Directors have formed an advisory group or directorate. These comprise experienced members of the IETF and the technical community represented by the area. The specific name and the details of the role for each group differ from area to area, but the primary intent is that these groups assist the Area Director(s), e.g., with the review of specifications produced in the area.", + "name": "Directorate", + "order": 0, + "used": true, + "verbose_name": "Area Directorate" + }, + "model": "name.grouptypename", + "pk": "dir" +}, +{ + "fields": { + "desc": "", + "name": "IAB", + "order": 0, + "used": true, + "verbose_name": "Internet Architecture Board" + }, + "model": "name.grouptypename", + "pk": "iab" +}, +{ + "fields": { + "desc": "", + "name": "IANA", + "order": 0, + "used": true, + "verbose_name": "Internet Assigned Numbers Authority" + }, + "model": "name.grouptypename", + "pk": "iana" +}, +{ + "fields": { + "desc": "", + "name": "IESG", + "order": 0, + "used": true, + "verbose_name": "Internet Engineering Steering Group" + }, + "model": "name.grouptypename", + "pk": "iesg" +}, +{ + "fields": { + "desc": "", + "name": "IETF", + "order": 0, + "used": true, + "verbose_name": "Internet Engineering Task Force" + }, + "model": "name.grouptypename", + "pk": "ietf" +}, +{ + "fields": { + "desc": "", + "name": "Individual", + "order": 0, + "used": true, + "verbose_name": "An Individual" + }, + "model": "name.grouptypename", + "pk": "individ" +}, +{ + "fields": { + "desc": "", + "name": "IRTF", + "order": 0, + "used": true, + "verbose_name": "Internet Research Task Force" + }, + "model": "name.grouptypename", + "pk": "irtf" +}, +{ + "fields": { + "desc": "", + "name": "ISE", + "order": 0, + "used": true, + "verbose_name": "Independent Stream Editor" + }, + "model": "name.grouptypename", + "pk": "ise" +}, +{ + "fields": { + "desc": "", + "name": "ISOC", + "order": 0, + "used": true, + "verbose_name": "The Internet Society" + }, + "model": "name.grouptypename", + "pk": "isoc" +}, +{ + "fields": { + "desc": "An IETF/IAB Nominating Committee. Use 'SDO' for external nominating committees.", + "name": "Nomcom", + "order": 0, + "used": true, + "verbose_name": "IETF/IAB Nominating Committee" + }, + "model": "name.grouptypename", + "pk": "nomcom" +}, +{ + "fields": { + "desc": "Program", + "name": "Program", + "order": 0, + "used": true, + "verbose_name": "" + }, + "model": "name.grouptypename", + "pk": "program" +}, +{ + "fields": { + "desc": "", + "name": "Directorate (with reviews)", + "order": 0, + "used": true, + "verbose_name": "" + }, + "model": "name.grouptypename", + "pk": "review" +}, +{ + "fields": { + "desc": "", + "name": "RFC Editor", + "order": 0, + "used": true, + "verbose_name": "The RFC Editor" + }, + "model": "name.grouptypename", + "pk": "rfcedtyp" +}, +{ + "fields": { + "desc": "Research group", + "name": "RG", + "order": 0, + "used": true, + "verbose_name": "Research Group" + }, + "model": "name.grouptypename", + "pk": "rg" +}, +{ + "fields": { + "desc": "Standards organization", + "name": "SDO", + "order": 0, + "used": true, + "verbose_name": "Standards Organization" + }, + "model": "name.grouptypename", + "pk": "sdo" +}, +{ + "fields": { + "desc": "", + "name": "Team", + "order": 0, + "used": true, + "verbose_name": "Team" + }, + "model": "name.grouptypename", + "pk": "team" +}, +{ + "fields": { + "desc": "Working group", + "name": "WG", + "order": 0, + "used": true, + "verbose_name": "Working Group" + }, + "model": "name.grouptypename", + "pk": "wg" +}, +{ + "fields": { + "default_offset_days": -19, + "desc": "Internet Draft submission cut-off for -00 drafts by UTC 23:59", + "name": "00 ID Cutoff", + "order": 0, + "used": false + }, + "model": "name.importantdatename", + "pk": "00cutoff" +}, +{ + "fields": { + "default_offset_days": -12, + "desc": "Internet Draft submission cut-off for revised (-01 and above) drafts by UTC 23:59", + "name": "01 ID Cutoff", + "order": 0, + "used": false + }, + "model": "name.importantdatename", + "pk": "01cutoff" +}, +{ + "fields": { + "default_offset_days": -36, + "desc": "Cut-off date for Area Directors to approve BOFs at UTC 23:59", + "name": "Cut-off BOF approval", + "order": 0, + "used": true + }, + "model": "name.importantdatename", + "pk": "cutoffbofapprove" +}, +{ + "fields": { + "default_offset_days": -43, + "desc": "Cut-off date for BOF proposal requests to Area Directors at UTC 23:59", + "name": "Cut-off BOF scheduling Requests", + "order": 0, + "used": true + }, + "model": "name.importantdatename", + "pk": "cutoffbofreq" +}, +{ + "fields": { + "default_offset_days": -5, + "desc": "Registration cancellation cut-off at UTC 23:59", + "name": "Registration Cancellation Cut-off", + "order": 0, + "used": true + }, + "model": "name.importantdatename", + "pk": "cutoffcancel" +}, +{ + "fields": { + "default_offset_days": -1, + "desc": "Final Pre-Registration and Pre-Payment cut-off at 17:00 local meeting time", + "name": "Pre-Registration Cutoff", + "order": 0, + "used": false + }, + "model": "name.importantdatename", + "pk": "cutoffpre" +}, +{ + "fields": { + "default_offset_days": -24, + "desc": "Cut-off date for requests to reschedule Working Group or BOF meetings UTC 23:59", + "name": "Cut-off Reschedule Requests", + "order": 0, + "used": true + }, + "model": "name.importantdatename", + "pk": "cutoffresched" +}, +{ + "fields": { + "default_offset_days": -43, + "desc": "Cut-off date for requests to schedule Working Group Meetings at UTC 23:59", + "name": "Cut-off WG scheduling Requests", + "order": 0, + "used": true + }, + "model": "name.importantdatename", + "pk": "cutoffwgreq" +}, +{ + "fields": { + "default_offset_days": -10, + "desc": "Draft Working Group agendas due by UTC 23:59", + "name": "Draft Working Group Agendas", + "order": 0, + "used": true + }, + "model": "name.importantdatename", + "pk": "draftwgagenda" +}, +{ + "fields": { + "default_offset_days": -47, + "desc": "Early Bird registration and payment cut-off at UTC 23:59", + "name": "Earlybird cutoff", + "order": 0, + "used": true + }, + "model": "name.importantdatename", + "pk": "earlybird" +}, +{ + "fields": { + "default_offset_days": -22, + "desc": "Final agenda to be published", + "name": "Final Agenda", + "order": 0, + "used": true + }, + "model": "name.importantdatename", + "pk": "finalagenda" +}, +{ + "fields": { + "default_offset_days": -12, + "desc": "Internet Draft submission cut-off (for all drafts, including -00) by UTC 23:59", + "name": "ID Cutoff", + "order": 0, + "used": true + }, + "model": "name.importantdatename", + "pk": "idcutoff" +}, +{ + "fields": { + "default_offset_days": -82, + "desc": "IETF Online Registration Opens", + "name": "Registration Opens", + "order": 0, + "used": true + }, + "model": "name.importantdatename", + "pk": "openreg" +}, +{ + "fields": { + "default_offset_days": -89, + "desc": "Working Group and BOF scheduling begins", + "name": "Scheduling Opens", + "order": 0, + "used": true + }, + "model": "name.importantdatename", + "pk": "opensched" +}, +{ + "fields": { + "default_offset_days": -29, + "desc": "Preliminary Agenda published for comment", + "name": "Preliminary Agenda", + "order": 0, + "used": true + }, + "model": "name.importantdatename", + "pk": "prelimagenda" +}, +{ + "fields": { + "default_offset_days": 27, + "desc": "Proceedings submission cutoff date by UTC 23:59", + "name": "Proceedings Submission Cut-off", + "order": 0, + "used": true + }, + "model": "name.importantdatename", + "pk": "procsub" +}, +{ + "fields": { + "default_offset_days": 51, + "desc": "Proceedings submission corrections cutoff date by UTC 23:59", + "name": "Proceedings Submission Revision Cut-off", + "order": 0, + "used": true + }, + "model": "name.importantdatename", + "pk": "revsub" +}, +{ + "fields": { + "default_offset_days": -5, + "desc": "Revised Working Group agendas due by UTC 23:59", + "name": "Revised Working Group Agendas", + "order": 0, + "used": true + }, + "model": "name.importantdatename", + "pk": "revwgagenda" +}, +{ + "fields": { + "default_offset_days": -12, + "desc": "Standard rate registration and payment cut-off at UTC 23:59.", + "name": "Standard rate registration ends", + "order": 18, + "used": true + }, + "model": "name.importantdatename", + "pk": "stdratecutoff" +}, +{ + "fields": { + "desc": "", + "name": "Best Current Practice", + "order": 4, + "used": true + }, + "model": "name.intendedstdlevelname", + "pk": "bcp" +}, +{ + "fields": { + "desc": "", + "name": "Draft Standard", + "order": 2, + "used": false + }, + "model": "name.intendedstdlevelname", + "pk": "ds" +}, +{ + "fields": { + "desc": "", + "name": "Experimental", + "order": 6, + "used": true + }, + "model": "name.intendedstdlevelname", + "pk": "exp" +}, +{ + "fields": { + "desc": "", + "name": "Historic", + "order": 7, + "used": true + }, + "model": "name.intendedstdlevelname", + "pk": "hist" +}, +{ + "fields": { + "desc": "", + "name": "Informational", + "order": 5, + "used": true + }, + "model": "name.intendedstdlevelname", + "pk": "inf" +}, +{ + "fields": { + "desc": "", + "name": "Proposed Standard", + "order": 1, + "used": true + }, + "model": "name.intendedstdlevelname", + "pk": "ps" +}, +{ + "fields": { + "desc": "", + "name": "Internet Standard", + "order": 3, + "used": true + }, + "model": "name.intendedstdlevelname", + "pk": "std" +}, +{ + "fields": { + "desc": "", + "name": "Parked", + "order": 1, + "used": true + }, + "model": "name.iprdisclosurestatename", + "pk": "parked" +}, +{ + "fields": { + "desc": "", + "name": "Pending", + "order": 0, + "used": true + }, + "model": "name.iprdisclosurestatename", + "pk": "pending" +}, +{ + "fields": { + "desc": "", + "name": "Posted", + "order": 2, + "used": true + }, + "model": "name.iprdisclosurestatename", + "pk": "posted" +}, +{ + "fields": { + "desc": "", + "name": "Rejected", + "order": 3, + "used": true + }, + "model": "name.iprdisclosurestatename", + "pk": "rejected" +}, +{ + "fields": { + "desc": "", + "name": "Removed", + "order": 4, + "used": true + }, + "model": "name.iprdisclosurestatename", + "pk": "removed" +}, +{ + "fields": { + "desc": "", + "name": "Changed disclosure metadata", + "order": 0, + "used": true + }, + "model": "name.ipreventtypename", + "pk": "changed_disclosure" +}, +{ + "fields": { + "desc": "", + "name": "Comment", + "order": 0, + "used": true + }, + "model": "name.ipreventtypename", + "pk": "comment" +}, +{ + "fields": { + "desc": "", + "name": "Legacy", + "order": 0, + "used": true + }, + "model": "name.ipreventtypename", + "pk": "legacy" +}, +{ + "fields": { + "desc": "", + "name": "MsgIn", + "order": 0, + "used": true + }, + "model": "name.ipreventtypename", + "pk": "msgin" +}, +{ + "fields": { + "desc": "", + "name": "MsgOut", + "order": 0, + "used": true + }, + "model": "name.ipreventtypename", + "pk": "msgout" +}, +{ + "fields": { + "desc": "", + "name": "Parked", + "order": 0, + "used": true + }, + "model": "name.ipreventtypename", + "pk": "parked" +}, +{ + "fields": { + "desc": "", + "name": "Pending", + "order": 0, + "used": true + }, + "model": "name.ipreventtypename", + "pk": "pending" +}, +{ + "fields": { + "desc": "", + "name": "Posted", + "order": 0, + "used": true + }, + "model": "name.ipreventtypename", + "pk": "posted" +}, +{ + "fields": { + "desc": "", + "name": "Private Comment", + "order": 0, + "used": true + }, + "model": "name.ipreventtypename", + "pk": "private_comment" +}, +{ + "fields": { + "desc": "", + "name": "Rejected", + "order": 0, + "used": true + }, + "model": "name.ipreventtypename", + "pk": "rejected" +}, +{ + "fields": { + "desc": "", + "name": "Removed", + "order": 0, + "used": true + }, + "model": "name.ipreventtypename", + "pk": "removed" +}, +{ + "fields": { + "desc": "", + "name": "Submitted", + "order": 0, + "used": true + }, + "model": "name.ipreventtypename", + "pk": "submitted" +}, +{ + "fields": { + "desc": "", + "name": "Update Notify", + "order": 0, + "used": true + }, + "model": "name.ipreventtypename", + "pk": "update_notify" +}, +{ + "fields": { + "desc": "a) No License Required for Implementers", + "name": "No License", + "order": 1, + "used": true + }, + "model": "name.iprlicensetypename", + "pk": "no-license" +}, +{ + "fields": { + "desc": "[None selected]", + "name": "None Selected", + "order": 0, + "used": true + }, + "model": "name.iprlicensetypename", + "pk": "none-selected" +}, +{ + "fields": { + "desc": "d) Licensing Declaration to be Provided Later (implies a willingness to commit to the provisions of a), b), or c) above to all implementers; otherwise, the next option 'Unwilling to Commit to the Provisions of a), b), or c) Above'. - must be selected)", + "name": "Provided Later", + "order": 4, + "used": true + }, + "model": "name.iprlicensetypename", + "pk": "provided-later" +}, +{ + "fields": { + "desc": "c) Reasonable and Non-Discriminatory License to All Implementers with Possible Royalty/Fee", + "name": "Reasonable", + "order": 3, + "used": true + }, + "model": "name.iprlicensetypename", + "pk": "reasonable" +}, +{ + "fields": { + "desc": "b) Royalty-Free, Reasonable and Non-Discriminatory License to All Implementers", + "name": "Royalty Free", + "order": 2, + "used": true + }, + "model": "name.iprlicensetypename", + "pk": "royalty-free" +}, +{ + "fields": { + "desc": "f) See Text Below for Licensing Declaration", + "name": "See Below", + "order": 6, + "used": true + }, + "model": "name.iprlicensetypename", + "pk": "see-below" +}, +{ + "fields": { + "desc": "e) Unwilling to Commit to the Provisions of a), b), or c) Above", + "name": "Unwilling to Commit", + "order": 5, + "used": true + }, + "model": "name.iprlicensetypename", + "pk": "unwilling-to-commit" +}, +{ + "fields": { + "desc": "", + "name": "Approved", + "order": 3, + "used": true + }, + "model": "name.liaisonstatementeventtypename", + "pk": "approved" +}, +{ + "fields": { + "desc": "", + "name": "Comment", + "order": 9, + "used": true + }, + "model": "name.liaisonstatementeventtypename", + "pk": "comment" +}, +{ + "fields": { + "desc": "", + "name": "Killed", + "order": 5, + "used": true + }, + "model": "name.liaisonstatementeventtypename", + "pk": "killed" +}, +{ + "fields": { + "desc": "", + "name": "Modified", + "order": 2, + "used": true + }, + "model": "name.liaisonstatementeventtypename", + "pk": "modified" +}, +{ + "fields": { + "desc": "", + "name": "MsgIn", + "order": 7, + "used": true + }, + "model": "name.liaisonstatementeventtypename", + "pk": "msgin" +}, +{ + "fields": { + "desc": "", + "name": "MsgOut", + "order": 8, + "used": true + }, + "model": "name.liaisonstatementeventtypename", + "pk": "msgout" +}, +{ + "fields": { + "desc": "", + "name": "Posted", + "order": 4, + "used": true + }, + "model": "name.liaisonstatementeventtypename", + "pk": "posted" +}, +{ + "fields": { + "desc": "", + "name": "Private Comment", + "order": 10, + "used": true + }, + "model": "name.liaisonstatementeventtypename", + "pk": "private_comment" +}, +{ + "fields": { + "desc": "", + "name": "Re-sent", + "order": 11, + "used": true + }, + "model": "name.liaisonstatementeventtypename", + "pk": "resent" +}, +{ + "fields": { + "desc": "", + "name": "Resurrected", + "order": 6, + "used": true + }, + "model": "name.liaisonstatementeventtypename", + "pk": "resurrected" +}, +{ + "fields": { + "desc": "", + "name": "Submitted", + "order": 1, + "used": true + }, + "model": "name.liaisonstatementeventtypename", + "pk": "submitted" +}, +{ + "fields": { + "desc": "", + "name": "For action", + "order": 1, + "used": true + }, + "model": "name.liaisonstatementpurposename", + "pk": "action" +}, +{ + "fields": { + "desc": "", + "name": "For comment", + "order": 2, + "used": true + }, + "model": "name.liaisonstatementpurposename", + "pk": "comment" +}, +{ + "fields": { + "desc": "", + "name": "For information", + "order": 3, + "used": true + }, + "model": "name.liaisonstatementpurposename", + "pk": "info" +}, +{ + "fields": { + "desc": "", + "name": "In response", + "order": 4, + "used": true + }, + "model": "name.liaisonstatementpurposename", + "pk": "response" +}, +{ + "fields": { + "desc": "", + "name": "Approved", + "order": 2, + "used": true + }, + "model": "name.liaisonstatementstate", + "pk": "approved" +}, +{ + "fields": { + "desc": "", + "name": "Dead", + "order": 4, + "used": true + }, + "model": "name.liaisonstatementstate", + "pk": "dead" +}, +{ + "fields": { + "desc": "", + "name": "Pending", + "order": 1, + "used": true + }, + "model": "name.liaisonstatementstate", + "pk": "pending" +}, +{ + "fields": { + "desc": "", + "name": "Posted", + "order": 3, + "used": true + }, + "model": "name.liaisonstatementstate", + "pk": "posted" +}, +{ + "fields": { + "desc": "", + "name": "Action Required", + "order": 1, + "used": true + }, + "model": "name.liaisonstatementtagname", + "pk": "required" +}, +{ + "fields": { + "desc": "", + "name": "Action Taken", + "order": 2, + "used": true + }, + "model": "name.liaisonstatementtagname", + "pk": "taken" +}, +{ + "fields": { + "desc": "", + "name": "IETF", + "order": 0, + "used": true + }, + "model": "name.meetingtypename", + "pk": "ietf" +}, +{ + "fields": { + "desc": "", + "name": "Interim", + "order": 0, + "used": true + }, + "model": "name.meetingtypename", + "pk": "interim" +}, +{ + "fields": { + "desc": "", + "name": "Accepted", + "order": 0, + "used": true + }, + "model": "name.nomineepositionstatename", + "pk": "accepted" +}, +{ + "fields": { + "desc": "", + "name": "Declined", + "order": 0, + "used": true + }, + "model": "name.nomineepositionstatename", + "pk": "declined" +}, +{ + "fields": { + "desc": "", + "name": "Nominated, pending response", + "order": 0, + "used": true + }, + "model": "name.nomineepositionstatename", + "pk": "pending" +}, +{ + "fields": { + "desc": "The reviewer has accepted the assignment", + "name": "Accepted", + "order": 0, + "used": true + }, + "model": "name.reviewassignmentstatename", + "pk": "accepted" +}, +{ + "fields": { + "desc": "The review has been assigned to this reviewer", + "name": "Assigned", + "order": 0, + "used": true + }, + "model": "name.reviewassignmentstatename", + "pk": "assigned" +}, +{ + "fields": { + "desc": "The reviewer completed the assignment", + "name": "Completed", + "order": 0, + "used": true + }, + "model": "name.reviewassignmentstatename", + "pk": "completed" +}, +{ + "fields": { + "desc": "The reviewer did not provide a review by the deadline", + "name": "No Response", + "order": 0, + "used": true + }, + "model": "name.reviewassignmentstatename", + "pk": "no-response" +}, +{ + "fields": { + "desc": "The review was abandoned because of circumstances", + "name": "Overtaken By Events", + "order": 0, + "used": true + }, + "model": "name.reviewassignmentstatename", + "pk": "overtaken" +}, +{ + "fields": { + "desc": "The reviewer partially completed the assignment", + "name": "Partially Completed", + "order": 0, + "used": true + }, + "model": "name.reviewassignmentstatename", + "pk": "part-completed" +}, +{ + "fields": { + "desc": "The reviewer has rejected the assignment", + "name": "Rejected", + "order": 0, + "used": true + }, + "model": "name.reviewassignmentstatename", + "pk": "rejected" +}, +{ + "fields": { + "desc": "The assignment is was imported from an earlier database and its state could not be computed", + "name": "Unknown", + "order": 0, + "used": true + }, + "model": "name.reviewassignmentstatename", + "pk": "unknown" +}, +{ + "fields": { + "desc": "The team secretary has withdrawn the assignment", + "name": "Withdrawn by Team", + "order": 0, + "used": true + }, + "model": "name.reviewassignmentstatename", + "pk": "withdrawn" +}, +{ + "fields": { + "desc": "", + "name": "Accepted", + "order": 2, + "used": false + }, + "model": "name.reviewrequeststatename", + "pk": "accepted" +}, +{ + "fields": { + "desc": "The ReviewRequest has been assigned to at least one reviewer", + "name": "Assigned", + "order": 0, + "used": true + }, + "model": "name.reviewrequeststatename", + "pk": "assigned" +}, +{ + "fields": { + "desc": "", + "name": "Completed", + "order": 10, + "used": false + }, + "model": "name.reviewrequeststatename", + "pk": "completed" +}, +{ + "fields": { + "desc": "", + "name": "No Response", + "order": 6, + "used": false + }, + "model": "name.reviewrequeststatename", + "pk": "no-response" +}, +{ + "fields": { + "desc": "", + "name": "Team Will not Review Document", + "order": 8, + "used": true + }, + "model": "name.reviewrequeststatename", + "pk": "no-review-document" +}, +{ + "fields": { + "desc": "", + "name": "Team Will not Review Version", + "order": 7, + "used": true + }, + "model": "name.reviewrequeststatename", + "pk": "no-review-version" +}, +{ + "fields": { + "desc": "", + "name": "Overtaken by Events", + "order": 5, + "used": true + }, + "model": "name.reviewrequeststatename", + "pk": "overtaken" +}, +{ + "fields": { + "desc": "", + "name": "Partially Completed", + "order": 9, + "used": false + }, + "model": "name.reviewrequeststatename", + "pk": "part-completed" +}, +{ + "fields": { + "desc": "", + "name": "Rejected", + "order": 3, + "used": false + }, + "model": "name.reviewrequeststatename", + "pk": "rejected" +}, +{ + "fields": { + "desc": "", + "name": "Requested", + "order": 1, + "used": true + }, + "model": "name.reviewrequeststatename", + "pk": "requested" +}, +{ + "fields": { + "desc": "", + "name": "Unknown", + "order": 20, + "used": false + }, + "model": "name.reviewrequeststatename", + "pk": "unknown" +}, +{ + "fields": { + "desc": "", + "name": "Withdrawn", + "order": 4, + "used": true + }, + "model": "name.reviewrequeststatename", + "pk": "withdrawn" +}, +{ + "fields": { + "desc": "", + "name": "Almost Ready", + "order": 6, + "used": true + }, + "model": "name.reviewresultname", + "pk": "almost-ready" +}, +{ + "fields": { + "desc": "", + "name": "Has Issues", + "order": 2, + "used": true + }, + "model": "name.reviewresultname", + "pk": "issues" +}, +{ + "fields": { + "desc": "", + "name": "Has Nits", + "order": 3, + "used": true + }, + "model": "name.reviewresultname", + "pk": "nits" +}, +{ + "fields": { + "desc": "", + "name": "Not Ready", + "order": 4, + "used": true + }, + "model": "name.reviewresultname", + "pk": "not-ready" +}, +{ + "fields": { + "desc": "", + "name": "Ready", + "order": 9, + "used": true + }, + "model": "name.reviewresultname", + "pk": "ready" +}, +{ + "fields": { + "desc": "", + "name": "Ready with Issues", + "order": 7, + "used": true + }, + "model": "name.reviewresultname", + "pk": "ready-issues" +}, +{ + "fields": { + "desc": "", + "name": "Ready with Nits", + "order": 8, + "used": true + }, + "model": "name.reviewresultname", + "pk": "ready-nits" +}, +{ + "fields": { + "desc": "", + "name": "On the Right Track", + "order": 5, + "used": true + }, + "model": "name.reviewresultname", + "pk": "right-track" +}, +{ + "fields": { + "desc": "", + "name": "Serious Issues", + "order": 1, + "used": true + }, + "model": "name.reviewresultname", + "pk": "serious-issues" +}, +{ + "fields": { + "desc": "", + "name": "Early", + "order": 1, + "used": true + }, + "model": "name.reviewtypename", + "pk": "early" +}, +{ + "fields": { + "desc": "", + "name": "Last Call", + "order": 2, + "used": true + }, + "model": "name.reviewtypename", + "pk": "lc" +}, +{ + "fields": { + "desc": "", + "name": "Telechat", + "order": 3, + "used": true + }, + "model": "name.reviewtypename", + "pk": "telechat" +}, +{ + "fields": { + "desc": "", + "name": "Least recently used", + "order": 0, + "used": true + }, + "model": "name.reviewerqueuepolicyname", + "pk": "LeastRecentlyUsed" +}, +{ + "fields": { + "desc": "", + "name": "Rotate alphabetically", + "order": 0, + "used": true + }, + "model": "name.reviewerqueuepolicyname", + "pk": "RotateAlphabetically" +}, +{ + "fields": { + "desc": "", + "name": "Area Director", + "order": 2, + "used": true + }, + "model": "name.rolename", + "pk": "ad" +}, +{ + "fields": { + "desc": "", + "name": "Administrative Director", + "order": 3, + "used": true + }, + "model": "name.rolename", + "pk": "admdir" +}, +{ + "fields": { + "desc": "Advisor in a group that has explicit membership, such as the NomCom", + "name": "Advisor", + "order": 4, + "used": true + }, + "model": "name.rolename", + "pk": "advisor" +}, +{ + "fields": { + "desc": "Authorised to send announcements to the ietf-announce and other lists", + "name": "List Announcer", + "order": 12, + "used": true + }, + "model": "name.rolename", + "pk": "announce" +}, +{ + "fields": { + "desc": "", + "name": "At Large Member", + "order": 10, + "used": true + }, + "model": "name.rolename", + "pk": "atlarge" +}, +{ + "fields": { + "desc": "", + "name": "Authorized Individual", + "order": 5, + "used": true + }, + "model": "name.rolename", + "pk": "auth" +}, +{ + "fields": { + "desc": "", + "name": "CEO", + "order": 0, + "used": true + }, + "model": "name.rolename", + "pk": "ceo" +}, +{ + "fields": { + "desc": "", + "name": "Chair", + "order": 1, + "used": true + }, + "model": "name.rolename", + "pk": "chair" +}, +{ + "fields": { + "desc": "", + "name": "Co-ordinator", + "order": 0, + "used": true + }, + "model": "name.rolename", + "pk": "coord" +}, +{ + "fields": { + "desc": "", + "name": "Delegate", + "order": 6, + "used": true + }, + "model": "name.rolename", + "pk": "delegate" +}, +{ + "fields": { + "desc": "", + "name": "Editor", + "order": 5, + "used": true + }, + "model": "name.rolename", + "pk": "editor" +}, +{ + "fields": { + "desc": "", + "name": "Executive Director", + "order": 2, + "used": true + }, + "model": "name.rolename", + "pk": "execdir" +}, +{ + "fields": { + "desc": "Lead member (such as the Lead of an IAB program)", + "name": "Lead", + "order": 0, + "used": true + }, + "model": "name.rolename", + "pk": "lead" +}, +{ + "fields": { + "desc": "", + "name": "Liaison Manager", + "order": 4, + "used": true + }, + "model": "name.rolename", + "pk": "liaiman" +}, +{ + "fields": { + "desc": "Liaison group member in a group that has explicit membership, such as the NomCom", + "name": "Liaison Member", + "order": 11, + "used": true + }, + "model": "name.rolename", + "pk": "liaison" +}, +{ + "fields": { + "desc": "", + "name": "Materials Manager", + "order": 13, + "used": true + }, + "model": "name.rolename", + "pk": "matman" +}, +{ + "fields": { + "desc": "Regular group member in a group that has explicit membership, such as the NomCom", + "name": "Member", + "order": 7, + "used": true + }, + "model": "name.rolename", + "pk": "member" +}, +{ + "fields": { + "desc": "", + "name": "Incoming Area Director", + "order": 3, + "used": true + }, + "model": "name.rolename", + "pk": "pre-ad" +}, +{ + "fields": { + "desc": "", + "name": "Recording Manager", + "order": 13, + "used": true + }, + "model": "name.rolename", + "pk": "recman" +}, +{ + "fields": { + "desc": "", + "name": "Reviewer", + "order": 14, + "used": true + }, + "model": "name.rolename", + "pk": "reviewer" +}, +{ + "fields": { + "desc": "", + "name": "Secretary", + "order": 6, + "used": true + }, + "model": "name.rolename", + "pk": "secr" +}, +{ + "fields": { + "desc": "", + "name": "Tech Advisor", + "order": 4, + "used": true + }, + "model": "name.rolename", + "pk": "techadv" +}, +{ + "fields": { + "desc": "Assigned permission TRAC_ADMIN in datatracker-managed Trac Wiki instances", + "name": "Trac Admin", + "order": 0, + "used": true + }, + "model": "name.rolename", + "pk": "trac-admin" +}, +{ + "fields": { + "desc": "Provides log-in permission to restricted Trac instances", + "name": "Trac Editor", + "order": 0, + "used": true + }, + "model": "name.rolename", + "pk": "trac-editor" +}, +{ + "fields": { + "desc": "Audio streaming support", + "name": "Audio Stream", + "order": 0, + "used": true + }, + "model": "name.roomresourcename", + "pk": "audiostream" +}, +{ + "fields": { + "desc": "Experimental room setup (boardroom and classroom) subject to availability", + "name": "Boardroom Layout", + "order": 0, + "used": false + }, + "model": "name.roomresourcename", + "pk": "boardroom" +}, +{ + "fields": { + "desc": "Flipchars", + "name": "Flipcharts", + "order": 0, + "used": true + }, + "model": "name.roomresourcename", + "pk": "flipcharts" +}, +{ + "fields": { + "desc": "The room will have a meetecho wrangler", + "name": "Meetecho Support", + "order": 0, + "used": false + }, + "model": "name.roomresourcename", + "pk": "meetecho" +}, +{ + "fields": { + "desc": "The room will have a second computer projector", + "name": "second LCD projector", + "order": 0, + "used": false + }, + "model": "name.roomresourcename", + "pk": "proj2" +}, +{ + "fields": { + "desc": "The room will have a computer projector", + "name": "LCD projector", + "order": 0, + "used": false + }, + "model": "name.roomresourcename", + "pk": "project" +}, +{ + "fields": { + "desc": "Experimental Room Setup (U-Shape and classroom, subject to availability)", + "name": "Experimental Room Setup (U-Shape and classroom)", + "order": 0, + "used": true + }, + "model": "name.roomresourcename", + "pk": "u-shape" +}, +{ + "fields": { + "desc": "", + "name": "Approved", + "order": 0, + "used": true + }, + "model": "name.sessionstatusname", + "pk": "appr" +}, +{ + "fields": { + "desc": "", + "name": "Waiting for Approval", + "order": 0, + "used": true + }, + "model": "name.sessionstatusname", + "pk": "apprw" +}, +{ + "fields": { + "desc": "", + "name": "Cancelled", + "order": 0, + "used": true + }, + "model": "name.sessionstatusname", + "pk": "canceled" +}, +{ + "fields": { + "desc": "", + "name": "Cancelled - Pre Announcement", + "order": 0, + "used": true + }, + "model": "name.sessionstatusname", + "pk": "canceledpa" +}, +{ + "fields": { + "desc": "", + "name": "Deleted", + "order": 0, + "used": true + }, + "model": "name.sessionstatusname", + "pk": "deleted" +}, +{ + "fields": { + "desc": "", + "name": "Disapproved", + "order": 0, + "used": true + }, + "model": "name.sessionstatusname", + "pk": "disappr" +}, +{ + "fields": { + "desc": "", + "name": "Not meeting", + "order": 0, + "used": true + }, + "model": "name.sessionstatusname", + "pk": "notmeet" +}, +{ + "fields": { + "desc": "", + "name": "Scheduled", + "order": 0, + "used": true + }, + "model": "name.sessionstatusname", + "pk": "sched" +}, +{ + "fields": { + "desc": "", + "name": "Scheduled - Announcement to be sent", + "order": 0, + "used": true + }, + "model": "name.sessionstatusname", + "pk": "scheda" +}, +{ + "fields": { + "desc": "", + "name": "Waiting for Scheduling", + "order": 0, + "used": true + }, + "model": "name.sessionstatusname", + "pk": "schedw" +}, +{ + "fields": { + "desc": "", + "name": "Best Current Practice", + "order": 0, + "used": true + }, + "model": "name.stdlevelname", + "pk": "bcp" +}, +{ + "fields": { + "desc": "", + "name": "Draft Standard", + "order": 0, + "used": false + }, + "model": "name.stdlevelname", + "pk": "ds" +}, +{ + "fields": { + "desc": "", + "name": "Experimental", + "order": 0, + "used": true + }, + "model": "name.stdlevelname", + "pk": "exp" +}, +{ + "fields": { + "desc": "", + "name": "Historic", + "order": 0, + "used": true + }, + "model": "name.stdlevelname", + "pk": "hist" +}, +{ + "fields": { + "desc": "", + "name": "Informational", + "order": 0, + "used": true + }, + "model": "name.stdlevelname", + "pk": "inf" +}, +{ + "fields": { + "desc": "", + "name": "Proposed Standard", + "order": 0, + "used": true + }, + "model": "name.stdlevelname", + "pk": "ps" +}, +{ + "fields": { + "desc": "", + "name": "Internet Standard", + "order": 0, + "used": true + }, + "model": "name.stdlevelname", + "pk": "std" +}, +{ + "fields": { + "desc": "", + "name": "Unknown", + "order": 0, + "used": true + }, + "model": "name.stdlevelname", + "pk": "unkn" +}, +{ + "fields": { + "desc": "IAB stream", + "name": "IAB", + "order": 4, + "used": true + }, + "model": "name.streamname", + "pk": "iab" +}, +{ + "fields": { + "desc": "IETF stream", + "name": "IETF", + "order": 1, + "used": true + }, + "model": "name.streamname", + "pk": "ietf" +}, +{ + "fields": { + "desc": "IRTF Stream", + "name": "IRTF", + "order": 3, + "used": true + }, + "model": "name.streamname", + "pk": "irtf" +}, +{ + "fields": { + "desc": "Independent Submission Editor stream", + "name": "ISE", + "order": 2, + "used": true + }, + "model": "name.streamname", + "pk": "ise" +}, +{ + "fields": { + "desc": "Legacy stream", + "name": "Legacy", + "order": 5, + "used": true + }, + "model": "name.streamname", + "pk": "legacy" +}, +{ + "fields": { + "desc": "", + "name": "Break", + "order": 0, + "used": true + }, + "model": "name.timeslottypename", + "pk": "break" +}, +{ + "fields": { + "desc": "Leadership Meetings", + "name": "Leadership", + "order": 0, + "used": true + }, + "model": "name.timeslottypename", + "pk": "lead" +}, +{ + "fields": { + "desc": "Other Meetings Not Published on Agenda", + "name": "Off Agenda", + "order": 0, + "used": true + }, + "model": "name.timeslottypename", + "pk": "offagenda" +}, +{ + "fields": { + "desc": "", + "name": "Other", + "order": 0, + "used": true + }, + "model": "name.timeslottypename", + "pk": "other" +}, +{ + "fields": { + "desc": "", + "name": "Plenary", + "order": 0, + "used": true + }, + "model": "name.timeslottypename", + "pk": "plenary" +}, +{ + "fields": { + "desc": "", + "name": "Registration", + "order": 0, + "used": true + }, + "model": "name.timeslottypename", + "pk": "reg" +}, +{ + "fields": { + "desc": "A room has been reserved for use by another body the timeslot indicated", + "name": "Room Reserved", + "order": 0, + "used": true + }, + "model": "name.timeslottypename", + "pk": "reserved" +}, +{ + "fields": { + "desc": "", + "name": "Session", + "order": 0, + "used": true + }, + "model": "name.timeslottypename", + "pk": "session" +}, +{ + "fields": { + "desc": "A room was not booked for the timeslot indicated", + "name": "Room Unavailable", + "order": 0, + "used": true + }, + "model": "name.timeslottypename", + "pk": "unavail" +}, +{ + "fields": { + "desc": "Anyone who can log in", + "name": "General", + "order": 0, + "used": true + }, + "model": "name.topicaudiencename", + "pk": "general" +}, +{ + "fields": { + "desc": "Members of this nomcom", + "name": "Nomcom Members", + "order": 0, + "used": true + }, + "model": "name.topicaudiencename", + "pk": "nomcom" +}, +{ + "fields": { + "desc": "Anyone who has accepted a Nomination for an open position", + "name": "Nominees", + "order": 0, + "used": true + }, + "model": "name.topicaudiencename", + "pk": "nominees" +}, +{ + "fields": { + "alias": "AD", + "country": "AD" + }, + "model": "stats.countryalias", + "pk": 1 +}, +{ + "fields": { + "alias": "AE", + "country": "AE" + }, + "model": "stats.countryalias", + "pk": 2 +}, +{ + "fields": { + "alias": "AF", + "country": "AF" + }, + "model": "stats.countryalias", + "pk": 3 +}, +{ + "fields": { + "alias": "AG", + "country": "AG" + }, + "model": "stats.countryalias", + "pk": 4 +}, +{ + "fields": { + "alias": "AI", + "country": "AI" + }, + "model": "stats.countryalias", + "pk": 5 +}, +{ + "fields": { + "alias": "AL", + "country": "AL" + }, + "model": "stats.countryalias", + "pk": 6 +}, +{ + "fields": { + "alias": "AM", + "country": "AM" + }, + "model": "stats.countryalias", + "pk": 7 +}, +{ + "fields": { + "alias": "AO", + "country": "AO" + }, + "model": "stats.countryalias", + "pk": 8 +}, +{ + "fields": { + "alias": "AQ", + "country": "AQ" + }, + "model": "stats.countryalias", + "pk": 9 +}, +{ + "fields": { + "alias": "AR", + "country": "AR" + }, + "model": "stats.countryalias", + "pk": 10 +}, +{ + "fields": { + "alias": "AS", + "country": "AS" + }, + "model": "stats.countryalias", + "pk": 11 +}, +{ + "fields": { + "alias": "AT", + "country": "AT" + }, + "model": "stats.countryalias", + "pk": 12 +}, +{ + "fields": { + "alias": "AU", + "country": "AU" + }, + "model": "stats.countryalias", + "pk": 13 +}, +{ + "fields": { + "alias": "AW", + "country": "AW" + }, + "model": "stats.countryalias", + "pk": 14 +}, +{ + "fields": { + "alias": "AX", + "country": "AX" + }, + "model": "stats.countryalias", + "pk": 15 +}, +{ + "fields": { + "alias": "AZ", + "country": "AZ" + }, + "model": "stats.countryalias", + "pk": 16 +}, +{ + "fields": { + "alias": "BA", + "country": "BA" + }, + "model": "stats.countryalias", + "pk": 17 +}, +{ + "fields": { + "alias": "BB", + "country": "BB" + }, + "model": "stats.countryalias", + "pk": 18 +}, +{ + "fields": { + "alias": "BD", + "country": "BD" + }, + "model": "stats.countryalias", + "pk": 19 +}, +{ + "fields": { + "alias": "BE", + "country": "BE" + }, + "model": "stats.countryalias", + "pk": 20 +}, +{ + "fields": { + "alias": "BF", + "country": "BF" + }, + "model": "stats.countryalias", + "pk": 21 +}, +{ + "fields": { + "alias": "BG", + "country": "BG" + }, + "model": "stats.countryalias", + "pk": 22 +}, +{ + "fields": { + "alias": "BH", + "country": "BH" + }, + "model": "stats.countryalias", + "pk": 23 +}, +{ + "fields": { + "alias": "BI", + "country": "BI" + }, + "model": "stats.countryalias", + "pk": 24 +}, +{ + "fields": { + "alias": "BJ", + "country": "BJ" + }, + "model": "stats.countryalias", + "pk": 25 +}, +{ + "fields": { + "alias": "BL", + "country": "BL" + }, + "model": "stats.countryalias", + "pk": 26 +}, +{ + "fields": { + "alias": "BM", + "country": "BM" + }, + "model": "stats.countryalias", + "pk": 27 +}, +{ + "fields": { + "alias": "BN", + "country": "BN" + }, + "model": "stats.countryalias", + "pk": 28 +}, +{ + "fields": { + "alias": "BO", + "country": "BO" + }, + "model": "stats.countryalias", + "pk": 29 +}, +{ + "fields": { + "alias": "BQ", + "country": "BQ" + }, + "model": "stats.countryalias", + "pk": 30 +}, +{ + "fields": { + "alias": "BR", + "country": "BR" + }, + "model": "stats.countryalias", + "pk": 31 +}, +{ + "fields": { + "alias": "BS", + "country": "BS" + }, + "model": "stats.countryalias", + "pk": 32 +}, +{ + "fields": { + "alias": "BT", + "country": "BT" + }, + "model": "stats.countryalias", + "pk": 33 +}, +{ + "fields": { + "alias": "BV", + "country": "BV" + }, + "model": "stats.countryalias", + "pk": 34 +}, +{ + "fields": { + "alias": "BW", + "country": "BW" + }, + "model": "stats.countryalias", + "pk": 35 +}, +{ + "fields": { + "alias": "BY", + "country": "BY" + }, + "model": "stats.countryalias", + "pk": 36 +}, +{ + "fields": { + "alias": "BZ", + "country": "BZ" + }, + "model": "stats.countryalias", + "pk": 37 +}, +{ + "fields": { + "alias": "CA", + "country": "CA" + }, + "model": "stats.countryalias", + "pk": 38 +}, +{ + "fields": { + "alias": "CC", + "country": "CC" + }, + "model": "stats.countryalias", + "pk": 39 +}, +{ + "fields": { + "alias": "CD", + "country": "CD" + }, + "model": "stats.countryalias", + "pk": 40 +}, +{ + "fields": { + "alias": "CF", + "country": "CF" + }, + "model": "stats.countryalias", + "pk": 41 +}, +{ + "fields": { + "alias": "CG", + "country": "CG" + }, + "model": "stats.countryalias", + "pk": 42 +}, +{ + "fields": { + "alias": "CH", + "country": "CH" + }, + "model": "stats.countryalias", + "pk": 43 +}, +{ + "fields": { + "alias": "CI", + "country": "CI" + }, + "model": "stats.countryalias", + "pk": 44 +}, +{ + "fields": { + "alias": "CK", + "country": "CK" + }, + "model": "stats.countryalias", + "pk": 45 +}, +{ + "fields": { + "alias": "CL", + "country": "CL" + }, + "model": "stats.countryalias", + "pk": 46 +}, +{ + "fields": { + "alias": "CM", + "country": "CM" + }, + "model": "stats.countryalias", + "pk": 47 +}, +{ + "fields": { + "alias": "CN", + "country": "CN" + }, + "model": "stats.countryalias", + "pk": 48 +}, +{ + "fields": { + "alias": "CO", + "country": "CO" + }, + "model": "stats.countryalias", + "pk": 49 +}, +{ + "fields": { + "alias": "CR", + "country": "CR" + }, + "model": "stats.countryalias", + "pk": 50 +}, +{ + "fields": { + "alias": "CU", + "country": "CU" + }, + "model": "stats.countryalias", + "pk": 51 +}, +{ + "fields": { + "alias": "CV", + "country": "CV" + }, + "model": "stats.countryalias", + "pk": 52 +}, +{ + "fields": { + "alias": "CW", + "country": "CW" + }, + "model": "stats.countryalias", + "pk": 53 +}, +{ + "fields": { + "alias": "CX", + "country": "CX" + }, + "model": "stats.countryalias", + "pk": 54 +}, +{ + "fields": { + "alias": "CY", + "country": "CY" + }, + "model": "stats.countryalias", + "pk": 55 +}, +{ + "fields": { + "alias": "CZ", + "country": "CZ" + }, + "model": "stats.countryalias", + "pk": 56 +}, +{ + "fields": { + "alias": "DE", + "country": "DE" + }, + "model": "stats.countryalias", + "pk": 57 +}, +{ + "fields": { + "alias": "DJ", + "country": "DJ" + }, + "model": "stats.countryalias", + "pk": 58 +}, +{ + "fields": { + "alias": "DK", + "country": "DK" + }, + "model": "stats.countryalias", + "pk": 59 +}, +{ + "fields": { + "alias": "DM", + "country": "DM" + }, + "model": "stats.countryalias", + "pk": 60 +}, +{ + "fields": { + "alias": "DO", + "country": "DO" + }, + "model": "stats.countryalias", + "pk": 61 +}, +{ + "fields": { + "alias": "DZ", + "country": "DZ" + }, + "model": "stats.countryalias", + "pk": 62 +}, +{ + "fields": { + "alias": "EC", + "country": "EC" + }, + "model": "stats.countryalias", + "pk": 63 +}, +{ + "fields": { + "alias": "EE", + "country": "EE" + }, + "model": "stats.countryalias", + "pk": 64 +}, +{ + "fields": { + "alias": "EG", + "country": "EG" + }, + "model": "stats.countryalias", + "pk": 65 +}, +{ + "fields": { + "alias": "EH", + "country": "EH" + }, + "model": "stats.countryalias", + "pk": 66 +}, +{ + "fields": { + "alias": "ER", + "country": "ER" + }, + "model": "stats.countryalias", + "pk": 67 +}, +{ + "fields": { + "alias": "ES", + "country": "ES" + }, + "model": "stats.countryalias", + "pk": 68 +}, +{ + "fields": { + "alias": "ET", + "country": "ET" + }, + "model": "stats.countryalias", + "pk": 69 +}, +{ + "fields": { + "alias": "FI", + "country": "FI" + }, + "model": "stats.countryalias", + "pk": 70 +}, +{ + "fields": { + "alias": "FJ", + "country": "FJ" + }, + "model": "stats.countryalias", + "pk": 71 +}, +{ + "fields": { + "alias": "FK", + "country": "FK" + }, + "model": "stats.countryalias", + "pk": 72 +}, +{ + "fields": { + "alias": "FM", + "country": "FM" + }, + "model": "stats.countryalias", + "pk": 73 +}, +{ + "fields": { + "alias": "FO", + "country": "FO" + }, + "model": "stats.countryalias", + "pk": 74 +}, +{ + "fields": { + "alias": "FR", + "country": "FR" + }, + "model": "stats.countryalias", + "pk": 75 +}, +{ + "fields": { + "alias": "GA", + "country": "GA" + }, + "model": "stats.countryalias", + "pk": 76 +}, +{ + "fields": { + "alias": "GB", + "country": "GB" + }, + "model": "stats.countryalias", + "pk": 77 +}, +{ + "fields": { + "alias": "GD", + "country": "GD" + }, + "model": "stats.countryalias", + "pk": 78 +}, +{ + "fields": { + "alias": "GE", + "country": "GE" + }, + "model": "stats.countryalias", + "pk": 79 +}, +{ + "fields": { + "alias": "GF", + "country": "GF" + }, + "model": "stats.countryalias", + "pk": 80 +}, +{ + "fields": { + "alias": "GG", + "country": "GG" + }, + "model": "stats.countryalias", + "pk": 81 +}, +{ + "fields": { + "alias": "GH", + "country": "GH" + }, + "model": "stats.countryalias", + "pk": 82 +}, +{ + "fields": { + "alias": "GI", + "country": "GI" + }, + "model": "stats.countryalias", + "pk": 83 +}, +{ + "fields": { + "alias": "GL", + "country": "GL" + }, + "model": "stats.countryalias", + "pk": 84 +}, +{ + "fields": { + "alias": "GM", + "country": "GM" + }, + "model": "stats.countryalias", + "pk": 85 +}, +{ + "fields": { + "alias": "GN", + "country": "GN" + }, + "model": "stats.countryalias", + "pk": 86 +}, +{ + "fields": { + "alias": "GP", + "country": "GP" + }, + "model": "stats.countryalias", + "pk": 87 +}, +{ + "fields": { + "alias": "GQ", + "country": "GQ" + }, + "model": "stats.countryalias", + "pk": 88 +}, +{ + "fields": { + "alias": "GR", + "country": "GR" + }, + "model": "stats.countryalias", + "pk": 89 +}, +{ + "fields": { + "alias": "GS", + "country": "GS" + }, + "model": "stats.countryalias", + "pk": 90 +}, +{ + "fields": { + "alias": "GT", + "country": "GT" + }, + "model": "stats.countryalias", + "pk": 91 +}, +{ + "fields": { + "alias": "GU", + "country": "GU" + }, + "model": "stats.countryalias", + "pk": 92 +}, +{ + "fields": { + "alias": "GW", + "country": "GW" + }, + "model": "stats.countryalias", + "pk": 93 +}, +{ + "fields": { + "alias": "GY", + "country": "GY" + }, + "model": "stats.countryalias", + "pk": 94 +}, +{ + "fields": { + "alias": "HK", + "country": "HK" + }, + "model": "stats.countryalias", + "pk": 95 +}, +{ + "fields": { + "alias": "HM", + "country": "HM" + }, + "model": "stats.countryalias", + "pk": 96 +}, +{ + "fields": { + "alias": "HN", + "country": "HN" + }, + "model": "stats.countryalias", + "pk": 97 +}, +{ + "fields": { + "alias": "HR", + "country": "HR" + }, + "model": "stats.countryalias", + "pk": 98 +}, +{ + "fields": { + "alias": "HT", + "country": "HT" + }, + "model": "stats.countryalias", + "pk": 99 +}, +{ + "fields": { + "alias": "HU", + "country": "HU" + }, + "model": "stats.countryalias", + "pk": 100 +}, +{ + "fields": { + "alias": "ID", + "country": "ID" + }, + "model": "stats.countryalias", + "pk": 101 +}, +{ + "fields": { + "alias": "IE", + "country": "IE" + }, + "model": "stats.countryalias", + "pk": 102 +}, +{ + "fields": { + "alias": "IL", + "country": "IL" + }, + "model": "stats.countryalias", + "pk": 103 +}, +{ + "fields": { + "alias": "IM", + "country": "IM" + }, + "model": "stats.countryalias", + "pk": 104 +}, +{ + "fields": { + "alias": "IN", + "country": "IN" + }, + "model": "stats.countryalias", + "pk": 105 +}, +{ + "fields": { + "alias": "IO", + "country": "IO" + }, + "model": "stats.countryalias", + "pk": 106 +}, +{ + "fields": { + "alias": "IQ", + "country": "IQ" + }, + "model": "stats.countryalias", + "pk": 107 +}, +{ + "fields": { + "alias": "IR", + "country": "IR" + }, + "model": "stats.countryalias", + "pk": 108 +}, +{ + "fields": { + "alias": "IS", + "country": "IS" + }, + "model": "stats.countryalias", + "pk": 109 +}, +{ + "fields": { + "alias": "IT", + "country": "IT" + }, + "model": "stats.countryalias", + "pk": 110 +}, +{ + "fields": { + "alias": "JE", + "country": "JE" + }, + "model": "stats.countryalias", + "pk": 111 +}, +{ + "fields": { + "alias": "JM", + "country": "JM" + }, + "model": "stats.countryalias", + "pk": 112 +}, +{ + "fields": { + "alias": "JO", + "country": "JO" + }, + "model": "stats.countryalias", + "pk": 113 +}, +{ + "fields": { + "alias": "JP", + "country": "JP" + }, + "model": "stats.countryalias", + "pk": 114 +}, +{ + "fields": { + "alias": "KE", + "country": "KE" + }, + "model": "stats.countryalias", + "pk": 115 +}, +{ + "fields": { + "alias": "KG", + "country": "KG" + }, + "model": "stats.countryalias", + "pk": 116 +}, +{ + "fields": { + "alias": "KH", + "country": "KH" + }, + "model": "stats.countryalias", + "pk": 117 +}, +{ + "fields": { + "alias": "KI", + "country": "KI" + }, + "model": "stats.countryalias", + "pk": 118 +}, +{ + "fields": { + "alias": "KM", + "country": "KM" + }, + "model": "stats.countryalias", + "pk": 119 +}, +{ + "fields": { + "alias": "KN", + "country": "KN" + }, + "model": "stats.countryalias", + "pk": 120 +}, +{ + "fields": { + "alias": "KP", + "country": "KP" + }, + "model": "stats.countryalias", + "pk": 121 +}, +{ + "fields": { + "alias": "KR", + "country": "KR" + }, + "model": "stats.countryalias", + "pk": 122 +}, +{ + "fields": { + "alias": "KW", + "country": "KW" + }, + "model": "stats.countryalias", + "pk": 123 +}, +{ + "fields": { + "alias": "KY", + "country": "KY" + }, + "model": "stats.countryalias", + "pk": 124 +}, +{ + "fields": { + "alias": "KZ", + "country": "KZ" + }, + "model": "stats.countryalias", + "pk": 125 +}, +{ + "fields": { + "alias": "LA", + "country": "LA" + }, + "model": "stats.countryalias", + "pk": 126 +}, +{ + "fields": { + "alias": "LB", + "country": "LB" + }, + "model": "stats.countryalias", + "pk": 127 +}, +{ + "fields": { + "alias": "LC", + "country": "LC" + }, + "model": "stats.countryalias", + "pk": 128 +}, +{ + "fields": { + "alias": "LI", + "country": "LI" + }, + "model": "stats.countryalias", + "pk": 129 +}, +{ + "fields": { + "alias": "LK", + "country": "LK" + }, + "model": "stats.countryalias", + "pk": 130 +}, +{ + "fields": { + "alias": "LR", + "country": "LR" + }, + "model": "stats.countryalias", + "pk": 131 +}, +{ + "fields": { + "alias": "LS", + "country": "LS" + }, + "model": "stats.countryalias", + "pk": 132 +}, +{ + "fields": { + "alias": "LT", + "country": "LT" + }, + "model": "stats.countryalias", + "pk": 133 +}, +{ + "fields": { + "alias": "LU", + "country": "LU" + }, + "model": "stats.countryalias", + "pk": 134 +}, +{ + "fields": { + "alias": "LV", + "country": "LV" + }, + "model": "stats.countryalias", + "pk": 135 +}, +{ + "fields": { + "alias": "LY", + "country": "LY" + }, + "model": "stats.countryalias", + "pk": 136 +}, +{ + "fields": { + "alias": "MA", + "country": "MA" + }, + "model": "stats.countryalias", + "pk": 137 +}, +{ + "fields": { + "alias": "MC", + "country": "MC" + }, + "model": "stats.countryalias", + "pk": 138 +}, +{ + "fields": { + "alias": "MD", + "country": "MD" + }, + "model": "stats.countryalias", + "pk": 139 +}, +{ + "fields": { + "alias": "ME", + "country": "ME" + }, + "model": "stats.countryalias", + "pk": 140 +}, +{ + "fields": { + "alias": "MF", + "country": "MF" + }, + "model": "stats.countryalias", + "pk": 141 +}, +{ + "fields": { + "alias": "MG", + "country": "MG" + }, + "model": "stats.countryalias", + "pk": 142 +}, +{ + "fields": { + "alias": "MH", + "country": "MH" + }, + "model": "stats.countryalias", + "pk": 143 +}, +{ + "fields": { + "alias": "MK", + "country": "MK" + }, + "model": "stats.countryalias", + "pk": 144 +}, +{ + "fields": { + "alias": "ML", + "country": "ML" + }, + "model": "stats.countryalias", + "pk": 145 +}, +{ + "fields": { + "alias": "MM", + "country": "MM" + }, + "model": "stats.countryalias", + "pk": 146 +}, +{ + "fields": { + "alias": "MN", + "country": "MN" + }, + "model": "stats.countryalias", + "pk": 147 +}, +{ + "fields": { + "alias": "MO", + "country": "MO" + }, + "model": "stats.countryalias", + "pk": 148 +}, +{ + "fields": { + "alias": "MP", + "country": "MP" + }, + "model": "stats.countryalias", + "pk": 149 +}, +{ + "fields": { + "alias": "MQ", + "country": "MQ" + }, + "model": "stats.countryalias", + "pk": 150 +}, +{ + "fields": { + "alias": "MR", + "country": "MR" + }, + "model": "stats.countryalias", + "pk": 151 +}, +{ + "fields": { + "alias": "MS", + "country": "MS" + }, + "model": "stats.countryalias", + "pk": 152 +}, +{ + "fields": { + "alias": "MT", + "country": "MT" + }, + "model": "stats.countryalias", + "pk": 153 +}, +{ + "fields": { + "alias": "MU", + "country": "MU" + }, + "model": "stats.countryalias", + "pk": 154 +}, +{ + "fields": { + "alias": "MV", + "country": "MV" + }, + "model": "stats.countryalias", + "pk": 155 +}, +{ + "fields": { + "alias": "MW", + "country": "MW" + }, + "model": "stats.countryalias", + "pk": 156 +}, +{ + "fields": { + "alias": "MX", + "country": "MX" + }, + "model": "stats.countryalias", + "pk": 157 +}, +{ + "fields": { + "alias": "MY", + "country": "MY" + }, + "model": "stats.countryalias", + "pk": 158 +}, +{ + "fields": { + "alias": "MZ", + "country": "MZ" + }, + "model": "stats.countryalias", + "pk": 159 +}, +{ + "fields": { + "alias": "NA", + "country": "NA" + }, + "model": "stats.countryalias", + "pk": 160 +}, +{ + "fields": { + "alias": "NC", + "country": "NC" + }, + "model": "stats.countryalias", + "pk": 161 +}, +{ + "fields": { + "alias": "NE", + "country": "NE" + }, + "model": "stats.countryalias", + "pk": 162 +}, +{ + "fields": { + "alias": "NF", + "country": "NF" + }, + "model": "stats.countryalias", + "pk": 163 +}, +{ + "fields": { + "alias": "NG", + "country": "NG" + }, + "model": "stats.countryalias", + "pk": 164 +}, +{ + "fields": { + "alias": "NI", + "country": "NI" + }, + "model": "stats.countryalias", + "pk": 165 +}, +{ + "fields": { + "alias": "NL", + "country": "NL" + }, + "model": "stats.countryalias", + "pk": 166 +}, +{ + "fields": { + "alias": "NO", + "country": "NO" + }, + "model": "stats.countryalias", + "pk": 167 +}, +{ + "fields": { + "alias": "NP", + "country": "NP" + }, + "model": "stats.countryalias", + "pk": 168 +}, +{ + "fields": { + "alias": "NR", + "country": "NR" + }, + "model": "stats.countryalias", + "pk": 169 +}, +{ + "fields": { + "alias": "NU", + "country": "NU" + }, + "model": "stats.countryalias", + "pk": 170 +}, +{ + "fields": { + "alias": "NZ", + "country": "NZ" + }, + "model": "stats.countryalias", + "pk": 171 +}, +{ + "fields": { + "alias": "OM", + "country": "OM" + }, + "model": "stats.countryalias", + "pk": 172 +}, +{ + "fields": { + "alias": "PA", + "country": "PA" + }, + "model": "stats.countryalias", + "pk": 173 +}, +{ + "fields": { + "alias": "PE", + "country": "PE" + }, + "model": "stats.countryalias", + "pk": 174 +}, +{ + "fields": { + "alias": "PF", + "country": "PF" + }, + "model": "stats.countryalias", + "pk": 175 +}, +{ + "fields": { + "alias": "PG", + "country": "PG" + }, + "model": "stats.countryalias", + "pk": 176 +}, +{ + "fields": { + "alias": "PH", + "country": "PH" + }, + "model": "stats.countryalias", + "pk": 177 +}, +{ + "fields": { + "alias": "PK", + "country": "PK" + }, + "model": "stats.countryalias", + "pk": 178 +}, +{ + "fields": { + "alias": "PL", + "country": "PL" + }, + "model": "stats.countryalias", + "pk": 179 +}, +{ + "fields": { + "alias": "PM", + "country": "PM" + }, + "model": "stats.countryalias", + "pk": 180 +}, +{ + "fields": { + "alias": "PN", + "country": "PN" + }, + "model": "stats.countryalias", + "pk": 181 +}, +{ + "fields": { + "alias": "PR", + "country": "PR" + }, + "model": "stats.countryalias", + "pk": 182 +}, +{ + "fields": { + "alias": "PS", + "country": "PS" + }, + "model": "stats.countryalias", + "pk": 183 +}, +{ + "fields": { + "alias": "PT", + "country": "PT" + }, + "model": "stats.countryalias", + "pk": 184 +}, +{ + "fields": { + "alias": "PW", + "country": "PW" + }, + "model": "stats.countryalias", + "pk": 185 +}, +{ + "fields": { + "alias": "PY", + "country": "PY" + }, + "model": "stats.countryalias", + "pk": 186 +}, +{ + "fields": { + "alias": "QA", + "country": "QA" + }, + "model": "stats.countryalias", + "pk": 187 +}, +{ + "fields": { + "alias": "RE", + "country": "RE" + }, + "model": "stats.countryalias", + "pk": 188 +}, +{ + "fields": { + "alias": "RO", + "country": "RO" + }, + "model": "stats.countryalias", + "pk": 189 +}, +{ + "fields": { + "alias": "RS", + "country": "RS" + }, + "model": "stats.countryalias", + "pk": 190 +}, +{ + "fields": { + "alias": "RU", + "country": "RU" + }, + "model": "stats.countryalias", + "pk": 191 +}, +{ + "fields": { + "alias": "RW", + "country": "RW" + }, + "model": "stats.countryalias", + "pk": 192 +}, +{ + "fields": { + "alias": "SA", + "country": "SA" + }, + "model": "stats.countryalias", + "pk": 193 +}, +{ + "fields": { + "alias": "SB", + "country": "SB" + }, + "model": "stats.countryalias", + "pk": 194 +}, +{ + "fields": { + "alias": "SC", + "country": "SC" + }, + "model": "stats.countryalias", + "pk": 195 +}, +{ + "fields": { + "alias": "SD", + "country": "SD" + }, + "model": "stats.countryalias", + "pk": 196 +}, +{ + "fields": { + "alias": "SE", + "country": "SE" + }, + "model": "stats.countryalias", + "pk": 197 +}, +{ + "fields": { + "alias": "SG", + "country": "SG" + }, + "model": "stats.countryalias", + "pk": 198 +}, +{ + "fields": { + "alias": "SH", + "country": "SH" + }, + "model": "stats.countryalias", + "pk": 199 +}, +{ + "fields": { + "alias": "SI", + "country": "SI" + }, + "model": "stats.countryalias", + "pk": 200 +}, +{ + "fields": { + "alias": "SJ", + "country": "SJ" + }, + "model": "stats.countryalias", + "pk": 201 +}, +{ + "fields": { + "alias": "SK", + "country": "SK" + }, + "model": "stats.countryalias", + "pk": 202 +}, +{ + "fields": { + "alias": "SL", + "country": "SL" + }, + "model": "stats.countryalias", + "pk": 203 +}, +{ + "fields": { + "alias": "SM", + "country": "SM" + }, + "model": "stats.countryalias", + "pk": 204 +}, +{ + "fields": { + "alias": "SN", + "country": "SN" + }, + "model": "stats.countryalias", + "pk": 205 +}, +{ + "fields": { + "alias": "SO", + "country": "SO" + }, + "model": "stats.countryalias", + "pk": 206 +}, +{ + "fields": { + "alias": "SR", + "country": "SR" + }, + "model": "stats.countryalias", + "pk": 207 +}, +{ + "fields": { + "alias": "SS", + "country": "SS" + }, + "model": "stats.countryalias", + "pk": 208 +}, +{ + "fields": { + "alias": "ST", + "country": "ST" + }, + "model": "stats.countryalias", + "pk": 209 +}, +{ + "fields": { + "alias": "SV", + "country": "SV" + }, + "model": "stats.countryalias", + "pk": 210 +}, +{ + "fields": { + "alias": "SX", + "country": "SX" + }, + "model": "stats.countryalias", + "pk": 211 +}, +{ + "fields": { + "alias": "SY", + "country": "SY" + }, + "model": "stats.countryalias", + "pk": 212 +}, +{ + "fields": { + "alias": "SZ", + "country": "SZ" + }, + "model": "stats.countryalias", + "pk": 213 +}, +{ + "fields": { + "alias": "TC", + "country": "TC" + }, + "model": "stats.countryalias", + "pk": 214 +}, +{ + "fields": { + "alias": "TD", + "country": "TD" + }, + "model": "stats.countryalias", + "pk": 215 +}, +{ + "fields": { + "alias": "TF", + "country": "TF" + }, + "model": "stats.countryalias", + "pk": 216 +}, +{ + "fields": { + "alias": "TG", + "country": "TG" + }, + "model": "stats.countryalias", + "pk": 217 +}, +{ + "fields": { + "alias": "TH", + "country": "TH" + }, + "model": "stats.countryalias", + "pk": 218 +}, +{ + "fields": { + "alias": "TJ", + "country": "TJ" + }, + "model": "stats.countryalias", + "pk": 219 +}, +{ + "fields": { + "alias": "TK", + "country": "TK" + }, + "model": "stats.countryalias", + "pk": 220 +}, +{ + "fields": { + "alias": "TL", + "country": "TL" + }, + "model": "stats.countryalias", + "pk": 221 +}, +{ + "fields": { + "alias": "TM", + "country": "TM" + }, + "model": "stats.countryalias", + "pk": 222 +}, +{ + "fields": { + "alias": "TN", + "country": "TN" + }, + "model": "stats.countryalias", + "pk": 223 +}, +{ + "fields": { + "alias": "TO", + "country": "TO" + }, + "model": "stats.countryalias", + "pk": 224 +}, +{ + "fields": { + "alias": "TR", + "country": "TR" + }, + "model": "stats.countryalias", + "pk": 225 +}, +{ + "fields": { + "alias": "TT", + "country": "TT" + }, + "model": "stats.countryalias", + "pk": 226 +}, +{ + "fields": { + "alias": "TV", + "country": "TV" + }, + "model": "stats.countryalias", + "pk": 227 +}, +{ + "fields": { + "alias": "TW", + "country": "TW" + }, + "model": "stats.countryalias", + "pk": 228 +}, +{ + "fields": { + "alias": "TZ", + "country": "TZ" + }, + "model": "stats.countryalias", + "pk": 229 +}, +{ + "fields": { + "alias": "UA", + "country": "UA" + }, + "model": "stats.countryalias", + "pk": 230 +}, +{ + "fields": { + "alias": "UG", + "country": "UG" + }, + "model": "stats.countryalias", + "pk": 231 +}, +{ + "fields": { + "alias": "UM", + "country": "UM" + }, + "model": "stats.countryalias", + "pk": 232 +}, +{ + "fields": { + "alias": "US", + "country": "US" + }, + "model": "stats.countryalias", + "pk": 233 +}, +{ + "fields": { + "alias": "UY", + "country": "UY" + }, + "model": "stats.countryalias", + "pk": 234 +}, +{ + "fields": { + "alias": "UZ", + "country": "UZ" + }, + "model": "stats.countryalias", + "pk": 235 +}, +{ + "fields": { + "alias": "VA", + "country": "VA" + }, + "model": "stats.countryalias", + "pk": 236 +}, +{ + "fields": { + "alias": "VC", + "country": "VC" + }, + "model": "stats.countryalias", + "pk": 237 +}, +{ + "fields": { + "alias": "VE", + "country": "VE" + }, + "model": "stats.countryalias", + "pk": 238 +}, +{ + "fields": { + "alias": "VG", + "country": "VG" + }, + "model": "stats.countryalias", + "pk": 239 +}, +{ + "fields": { + "alias": "VI", + "country": "VI" + }, + "model": "stats.countryalias", + "pk": 240 +}, +{ + "fields": { + "alias": "VN", + "country": "VN" + }, + "model": "stats.countryalias", + "pk": 241 +}, +{ + "fields": { + "alias": "VU", + "country": "VU" + }, + "model": "stats.countryalias", + "pk": 242 +}, +{ + "fields": { + "alias": "WF", + "country": "WF" + }, + "model": "stats.countryalias", + "pk": 243 +}, +{ + "fields": { + "alias": "WS", + "country": "WS" + }, + "model": "stats.countryalias", + "pk": 244 +}, +{ + "fields": { + "alias": "YE", + "country": "YE" + }, + "model": "stats.countryalias", + "pk": 245 +}, +{ + "fields": { + "alias": "YT", + "country": "YT" + }, + "model": "stats.countryalias", + "pk": 246 +}, +{ + "fields": { + "alias": "ZA", + "country": "ZA" + }, + "model": "stats.countryalias", + "pk": 247 +}, +{ + "fields": { + "alias": "ZM", + "country": "ZM" + }, + "model": "stats.countryalias", + "pk": 248 +}, +{ + "fields": { + "alias": "ZW", + "country": "ZW" + }, + "model": "stats.countryalias", + "pk": 249 +}, +{ + "fields": { + "alias": "russian federation", + "country": "RU" + }, + "model": "stats.countryalias", + "pk": 250 +}, +{ + "fields": { + "alias": "p. r. china", + "country": "CN" + }, + "model": "stats.countryalias", + "pk": 251 +}, +{ + "fields": { + "alias": "p.r. china", + "country": "CN" + }, + "model": "stats.countryalias", + "pk": 252 +}, +{ + "fields": { + "alias": "p.r.china", + "country": "CN" + }, + "model": "stats.countryalias", + "pk": 253 +}, +{ + "fields": { + "alias": "p.r china", + "country": "CN" + }, + "model": "stats.countryalias", + "pk": 254 +}, +{ + "fields": { + "alias": "p.r. of china", + "country": "CN" + }, + "model": "stats.countryalias", + "pk": 255 +}, +{ + "fields": { + "alias": "PRC", + "country": "CN" + }, + "model": "stats.countryalias", + "pk": 256 +}, +{ + "fields": { + "alias": "P.R.C", + "country": "CN" + }, + "model": "stats.countryalias", + "pk": 257 +}, +{ + "fields": { + "alias": "P.R.C.", + "country": "CN" + }, + "model": "stats.countryalias", + "pk": 258 +}, +{ + "fields": { + "alias": "beijing", + "country": "CN" + }, + "model": "stats.countryalias", + "pk": 259 +}, +{ + "fields": { + "alias": "shenzhen", + "country": "CN" + }, + "model": "stats.countryalias", + "pk": 260 +}, +{ + "fields": { + "alias": "R.O.C.", + "country": "TW" + }, + "model": "stats.countryalias", + "pk": 261 +}, +{ + "fields": { + "alias": "usa", + "country": "US" + }, + "model": "stats.countryalias", + "pk": 262 +}, +{ + "fields": { + "alias": "UAS", + "country": "US" + }, + "model": "stats.countryalias", + "pk": 263 +}, +{ + "fields": { + "alias": "USA.", + "country": "US" + }, + "model": "stats.countryalias", + "pk": 264 +}, +{ + "fields": { + "alias": "u.s.a.", + "country": "US" + }, + "model": "stats.countryalias", + "pk": 265 +}, +{ + "fields": { + "alias": "u. s. a.", + "country": "US" + }, + "model": "stats.countryalias", + "pk": 266 +}, +{ + "fields": { + "alias": "u.s.a", + "country": "US" + }, + "model": "stats.countryalias", + "pk": 267 +}, +{ + "fields": { + "alias": "u.s.", + "country": "US" + }, + "model": "stats.countryalias", + "pk": 268 +}, +{ + "fields": { + "alias": "U.S", + "country": "GB" + }, + "model": "stats.countryalias", + "pk": 269 +}, +{ + "fields": { + "alias": "US of A", + "country": "US" + }, + "model": "stats.countryalias", + "pk": 270 +}, +{ + "fields": { + "alias": "united sates", + "country": "US" + }, + "model": "stats.countryalias", + "pk": 271 +}, +{ + "fields": { + "alias": "united state", + "country": "US" + }, + "model": "stats.countryalias", + "pk": 272 +}, +{ + "fields": { + "alias": "united states", + "country": "US" + }, + "model": "stats.countryalias", + "pk": 273 +}, +{ + "fields": { + "alias": "unites states", + "country": "US" + }, + "model": "stats.countryalias", + "pk": 274 +}, +{ + "fields": { + "alias": "texas", + "country": "US" + }, + "model": "stats.countryalias", + "pk": 275 +}, +{ + "fields": { + "alias": "UK", + "country": "GB" + }, + "model": "stats.countryalias", + "pk": 276 +}, +{ + "fields": { + "alias": "united kingcom", + "country": "GB" + }, + "model": "stats.countryalias", + "pk": 277 +}, +{ + "fields": { + "alias": "great britain", + "country": "GB" + }, + "model": "stats.countryalias", + "pk": 278 +}, +{ + "fields": { + "alias": "england", + "country": "GB" + }, + "model": "stats.countryalias", + "pk": 279 +}, +{ + "fields": { + "alias": "U.K.", + "country": "GB" + }, + "model": "stats.countryalias", + "pk": 280 +}, +{ + "fields": { + "alias": "U.K", + "country": "GB" + }, + "model": "stats.countryalias", + "pk": 281 +}, +{ + "fields": { + "alias": "scotland", + "country": "GB" + }, + "model": "stats.countryalias", + "pk": 282 +}, +{ + "fields": { + "alias": "republic of korea", + "country": "KR" + }, + "model": "stats.countryalias", + "pk": 283 +}, +{ + "fields": { + "alias": "korea", + "country": "KR" + }, + "model": "stats.countryalias", + "pk": 284 +}, +{ + "fields": { + "alias": "korea rep", + "country": "KR" + }, + "model": "stats.countryalias", + "pk": 285 +}, +{ + "fields": { + "alias": "korea (the republic of)", + "country": "KR" + }, + "model": "stats.countryalias", + "pk": 286 +}, +{ + "fields": { + "alias": "the netherlands", + "country": "NL" + }, + "model": "stats.countryalias", + "pk": 287 +}, +{ + "fields": { + "alias": "netherland", + "country": "NL" + }, + "model": "stats.countryalias", + "pk": 288 +}, +{ + "fields": { + "alias": "danmark", + "country": "DK" + }, + "model": "stats.countryalias", + "pk": 289 +}, +{ + "fields": { + "alias": "sweeden", + "country": "SE" + }, + "model": "stats.countryalias", + "pk": 290 +}, +{ + "fields": { + "alias": "swede", + "country": "SE" + }, + "model": "stats.countryalias", + "pk": 291 +}, +{ + "fields": { + "alias": "belgique", + "country": "BE" + }, + "model": "stats.countryalias", + "pk": 292 +}, +{ + "fields": { + "alias": "madrid", + "country": "ES" + }, + "model": "stats.countryalias", + "pk": 293 +}, +{ + "fields": { + "alias": "espana", + "country": "ES" + }, + "model": "stats.countryalias", + "pk": 294 +}, +{ + "fields": { + "alias": "hellas", + "country": "GR" + }, + "model": "stats.countryalias", + "pk": 295 +}, +{ + "fields": { + "alias": "gemany", + "country": "DE" + }, + "model": "stats.countryalias", + "pk": 296 +}, +{ + "fields": { + "alias": "deutschland", + "country": "DE" + }, + "model": "stats.countryalias", + "pk": 297 +}, +{ + "fields": { + "alias": "italia", + "country": "IT" + }, + "model": "stats.countryalias", + "pk": 298 +}, +{ + "fields": { + "alias": "isreal", + "country": "IL" + }, + "model": "stats.countryalias", + "pk": 299 +}, +{ + "fields": { + "alias": "tel aviv", + "country": "IL" + }, + "model": "stats.countryalias", + "pk": 300 +}, +{ + "fields": { + "alias": "UAE", + "country": "AE" + }, + "model": "stats.countryalias", + "pk": 301 +}, +{ + "fields": { + "alias": "grand-duchy of luxembourg", + "country": "LU" + }, + "model": "stats.countryalias", + "pk": 302 +}, +{ + "fields": { + "alias": "brasil", + "country": "BR" + }, + "model": "stats.countryalias", + "pk": 303 +}, +{ + "fields": { + "command": "xym", + "switch": "--version", + "time": "2019-12-11T00:13:15.374", + "used": true, + "version": "xym 0.4" + }, + "model": "utils.versioninfo", + "pk": 1 +}, +{ + "fields": { + "command": "pyang", + "switch": "--version", + "time": "2019-12-11T00:13:16.166", + "used": true, + "version": "pyang 2.1" + }, + "model": "utils.versioninfo", + "pk": 2 +}, +{ + "fields": { + "command": "yanglint", + "switch": "--version", + "time": "2019-12-11T00:13:16.307", + "used": true, + "version": "yanglint 0.14.80" + }, + "model": "utils.versioninfo", + "pk": 3 +}, +{ + "fields": { + "command": "xml2rfc", + "switch": "--version", + "time": "2019-12-11T00:13:17.454", + "used": true, + "version": "xml2rfc 2.36.0" + }, + "model": "utils.versioninfo", + "pk": 4 +} ] diff --git a/ietf/name/models.py b/ietf/name/models.py index 7b3c364ac..a521e8588 100644 --- a/ietf/name/models.py +++ b/ietf/name/models.py @@ -59,7 +59,8 @@ class FormalLanguageName(NameModel): class DocReminderTypeName(NameModel): "Stream state" class BallotPositionName(NameModel): - """ Yes, No Objection, Abstain, Discuss, Block, Recuse """ + """ Yes, No Objection, Abstain, Discuss, Block, Recuse, Need More Time, + Not Ready """ blocking = models.BooleanField(default=False) class MeetingTypeName(NameModel): """IETF, Interim""" diff --git a/ietf/person/utils.py b/ietf/person/utils.py index d496f8c70..27cdad1b2 100755 --- a/ietf/person/utils.py +++ b/ietf/person/utils.py @@ -189,6 +189,13 @@ def determine_merge_order(source,target): source,target = sorted([source,target],key=lambda a: a.user.last_login if a.user.last_login else datetime.datetime.min) return source,target +def get_active_balloteers(ballot_type): + if (ballot_type.slug != "irsg-approve"): + active_balloteers = get_active_ads() + else: + active_balloteers = get_active_irsg() + return active_balloteers + def get_active_ads(): from ietf.person.models import Person cache_key = "doc:active_ads" @@ -197,3 +204,13 @@ def get_active_ads(): active_ads = list(Person.objects.filter(role__name="ad", role__group__state="active", role__group__type="area").distinct()) cache.set(cache_key, active_ads) return active_ads + +def get_active_irsg(): + from ietf.person.models import Person + cache_key = "doc:active_irsg_balloteers" + active_irsg_balloteers = cache.get(cache_key) + if not active_irsg_balloteers: + active_irsg_balloteers = list(Person.objects.filter(role__group__acronym='irsg',role__name__in=['chair','member','atlarge']).distinct()) + cache.set(cache_key, active_irsg_balloteers) + return active_irsg_balloteers + diff --git a/ietf/secr/telechat/tests.py b/ietf/secr/telechat/tests.py index 0b6aa524e..55befc661 100644 --- a/ietf/secr/telechat/tests.py +++ b/ietf/secr/telechat/tests.py @@ -158,7 +158,7 @@ class SecrTelechatTestCase(TestCase): } ) self.assertEqual(response.status_code,302) - self.assertTrue(BallotPositionDocEvent.objects.filter(doc=charter, ad_id=13, pos__slug='noobj').exists()) + self.assertTrue(BallotPositionDocEvent.objects.filter(doc=charter, pos_by_id=13, pos__slug='noobj').exists()) def test_doc_detail_post_update_state(self): by=Person.objects.get(name="(System)") diff --git a/ietf/secr/telechat/views.py b/ietf/secr/telechat/views.py index d78dde653..18bb661a4 100644 --- a/ietf/secr/telechat/views.py +++ b/ietf/secr/telechat/views.py @@ -35,7 +35,7 @@ x consolidate views (get rid of get_group_header,group,group_navigate) ''' active_ballot_positions: takes one argument, doc. returns a dictionary with a key for each ad Person object NOTE: this function has been deprecated as of Datatracker 4.34. Should now use methods on the Document. -For example: doc.active_ballot().active_ad_positions() +For example: doc.active_ballot().active_balloteer_positions() agenda_data: takes a date string in the format YYYY-MM-DD. ''' @@ -191,7 +191,7 @@ def doc_detail(request, date, name): login = request.user.person if doc.active_ballot(): - ballots = doc.active_ballot().active_ad_positions() # returns dict of ad:ballotpositiondocevent + ballots = doc.active_ballot().active_balloteer_positions() # returns dict of ad:ballotpositiondocevent else: ballots = [] @@ -246,16 +246,16 @@ def doc_detail(request, date, name): if form.is_valid() and form.changed_data: # create new BallotPositionDocEvent clean = form.cleaned_data - ad = Person.objects.get(id=clean['id']) + pos_by = Person.objects.get(id=clean['id']) pos = BallotPositionDocEvent(doc=doc, rev=doc.rev, by=login) pos.type = "changed_ballot_position" - pos.ad = ad + pos.pos_by = pos_by pos.ballot = doc.latest_event(BallotDocEvent, type="created_ballot") pos.pos = clean['position'] if form.initial['position'] == None: - pos.desc = '[Ballot Position Update] New position, %s, has been recorded for %s by %s' % (pos.pos.name, ad.name, login.name) + pos.desc = '[Ballot Position Update] New position, %s, has been recorded for %s by %s' % (pos.pos.name, pos_by.name, login.name) else: - pos.desc = '[Ballot Position Update] Position for %s has been changed to %s by %s' % (ad.name, pos.pos.name, login.name) + pos.desc = '[Ballot Position Update] Position for %s has been changed to %s by %s' % (pos_by.name, pos.pos.name, login.name) pos.save() has_changed = True diff --git a/ietf/static/ietf/css/ietf.css b/ietf/static/ietf/css/ietf.css index 8fab42d0d..3b593a0e4 100644 --- a/ietf/static/ietf/css/ietf.css +++ b/ietf/static/ietf/css/ietf.css @@ -461,7 +461,7 @@ td.area-director div { border-bottom: solid #ccc 1px; } .milestone { font-style: italic; } -.areadirector-name { padding-bottom: .5em; line-height: 1em;} +.balloteer-name { padding-bottom: .5em; line-height: 1em;} .changebar { width: 0.3em; } diff --git a/ietf/submit/tests.py b/ietf/submit/tests.py index d13e3e86d..47ef40014 100644 --- a/ietf/submit/tests.py +++ b/ietf/submit/tests.py @@ -365,7 +365,7 @@ class SubmitTests(TestCase): ballot_position.type = "changed_ballot_position" ballot_position.doc = draft ballot_position.rev = draft.rev - ballot_position.ad = ballot_position.by = Person.objects.get(user__username="ad2") + ballot_position.pos_by = ballot_position.by = Person.objects.get(user__username="ad2") ballot_position.save() elif stream_type == 'irtf': @@ -508,7 +508,7 @@ class SubmitTests(TestCase): self.assertTrue(interesting_address in force_text(outbox[-2].as_string())) if draft.stream_id == 'ietf': self.assertTrue(draft.ad.role_email("ad").address in force_text(outbox[-2].as_string())) - self.assertTrue(ballot_position.ad.role_email("ad").address in force_text(outbox[-2].as_string())) + self.assertTrue(ballot_position.pos_by.role_email("ad").address in force_text(outbox[-2].as_string())) self.assertTrue("New Version Notification" in outbox[-1]["Subject"]) self.assertTrue(name in get_payload(outbox[-1])) r = self.client.get(urlreverse('ietf.doc.views_search.recent_drafts')) diff --git a/ietf/templates/base/menu.html b/ietf/templates/base/menu.html index 6f4549a30..5d9544c08 100644 --- a/ietf/templates/base/menu.html +++ b/ietf/templates/base/menu.html @@ -55,6 +55,11 @@
  • RFC status changes
  • {% endif %} + {% if user|has_role:"IRTF Chair,Secretariat" %} + {% if flavor == "top" %}{% endif %} +
  • IRSG ballot status
  • + {% endif %} + {% if user|has_role:"WG Chair,RG Chair" %} {% if flavor == "top" %}{% endif %}
  • WG chair
  • diff --git a/ietf/templates/doc/ballot/ballot_comment_mail.txt b/ietf/templates/doc/ballot/ballot_comment_mail.txt index 196edca7c..33457d4bd 100644 --- a/ietf/templates/doc/ballot/ballot_comment_mail.txt +++ b/ietf/templates/doc/ballot/ballot_comment_mail.txt @@ -1,11 +1,11 @@ -{% load ietf_filters %}{% autoescape off %}{{ ad }} has entered the following ballot position for +{% load ietf_filters %}{% autoescape off %}{{ pos_by }} has entered the following ballot position for {{ doc.name }}-{{ doc.rev }}: {{ pos.name }} When responding, please keep the subject line intact and reply to all email addresses included in the To and CC lines. (Feel free to cut this introductory paragraph, however.) -{% if doc.type_id == "draft" %} +{% if doc.type_id == "draft" and doc.stream_id != "irtf" %} Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html for more information about IESG DISCUSS and COMMENT positions. {% endif %} diff --git a/ietf/templates/doc/ballot/edit_position.html b/ietf/templates/doc/ballot/edit_position.html index b9407be5d..cee259f0d 100644 --- a/ietf/templates/doc/ballot/edit_position.html +++ b/ietf/templates/doc/ballot/edit_position.html @@ -3,11 +3,11 @@ {% load origin %} {% load bootstrap3 %} -{% block title %}Change position for {{ ad.plain_name }}{% endblock %} +{% block title %}Change position for {{ pos_by.plain_name }}{% endblock %} {% block content %} {% origin %} -

    Change position for {{ ad.plain_name }} regarding
    {{ doc }}

    +

    Change position for {{ pos_by.plain_name }} regarding
    {{ doc }}

    {{ ballot.ballot_type.question }}
    @@ -36,9 +36,9 @@ {% if doc.type_id == "draft" or doc.type_id == "conflrev" %} - {% if ballot_deferred %} + {% if ballot_deferred and doc.stream.slug != "irtf" %} - {% else %} + {% elif doc.stream.slug != "irtf" %} {% endif %} {% endif %} diff --git a/ietf/templates/doc/ballot/irsg_ballot_approve.html b/ietf/templates/doc/ballot/irsg_ballot_approve.html new file mode 100644 index 000000000..ea35f86ab --- /dev/null +++ b/ietf/templates/doc/ballot/irsg_ballot_approve.html @@ -0,0 +1,26 @@ +{% extends "base.html" %} +{# Copyright The IETF Trust 2019, All Rights Reserved #} +{% load origin %} + +{% load bootstrap3 %} + +{% block title %}Issue ballot for {{ doc }}?{% endblock %} + +{% block content %} + {% origin %} +

    {{ question }}

    + +
    + {% csrf_token %} + {# curly percent bootstrap_form approval_text_form curly percent #} + + Due date for this ballot: + + + {% buttons %} + + + {% endbuttons %} +
    + +{% endblock %} diff --git a/ietf/templates/doc/ballot/irsg_ballot_close.html b/ietf/templates/doc/ballot/irsg_ballot_close.html new file mode 100644 index 000000000..507f669f5 --- /dev/null +++ b/ietf/templates/doc/ballot/irsg_ballot_close.html @@ -0,0 +1,23 @@ +{% extends "base.html" %} +{# Copyright The IETF Trust 2019, All Rights Reserved #} +{% load origin %} + +{% load bootstrap3 %} + +{% block title %}Close ballot for {{ doc }}?{% endblock %} + +{% block content %} + {% origin %} +

    {{ question }}

    + +
    + {% csrf_token %} + {# curly percent bootstrap_form approval_text_form curly percent #} + + {% buttons %} + + + {% endbuttons %} +
    + +{% endblock %} diff --git a/ietf/templates/doc/ballot/send_ballot_comment.html b/ietf/templates/doc/ballot/send_ballot_comment.html index cdd337797..dbfc47fee 100644 --- a/ietf/templates/doc/ballot/send_ballot_comment.html +++ b/ietf/templates/doc/ballot/send_ballot_comment.html @@ -6,11 +6,11 @@ {% load ietf_filters %} -{% block title %}Send ballot position for {{ ad }}{% endblock %} +{% block title %}Send ballot position for {{ pos_by }}{% endblock %} {% block content %} {% origin %} -

    Send ballot position for {{ ad }} on {{ doc }}

    +

    Send ballot position for {{ pos_by }} on {{ doc }}

    {% csrf_token %} diff --git a/ietf/templates/doc/ballot_popup.html b/ietf/templates/doc/ballot_popup.html index d783d5b23..044ac82e3 100644 --- a/ietf/templates/doc/ballot_popup.html +++ b/ietf/templates/doc/ballot_popup.html @@ -25,19 +25,19 @@