Introduce generic states, not fully incorporated yet, and rename tag
name model - Legacy-Id: 3616
This commit is contained in:
parent
f6261a9a49
commit
e01ba98af1
|
@ -10,7 +10,7 @@ from ietf.idtracker.models import InternetDraft, IDDates, IDStatus, IDState, Doc
|
|||
from ietf.utils.mail import send_mail, send_mail_subj
|
||||
from ietf.idrfc.utils import log_state_changed, add_document_comment
|
||||
from doc.models import Document, DocEvent, save_document_in_history
|
||||
from name.models import IesgDocStateName, DocStateName, DocInfoTagName
|
||||
from name.models import IesgDocStateName, DocStateName, DocTagName
|
||||
from person.models import Person, Email
|
||||
|
||||
INTERNET_DRAFT_DAYS_TO_EXPIRE = 185
|
||||
|
@ -349,7 +349,7 @@ def clean_up_id_filesREDESIGN():
|
|||
# revert version after having deleted tombstone
|
||||
doc.rev = "%02d" % (int(revision) - 1) # FIXME: messed up
|
||||
doc.save()
|
||||
doc.tags.add(DocInfoTagName.objects.get(slug='exp-tomb'))
|
||||
doc.tags.add(DocTagName.objects.get(slug='exp-tomb'))
|
||||
else:
|
||||
move_file_to("expired_without_tombstone")
|
||||
|
||||
|
|
|
@ -196,14 +196,14 @@ def insert_into_database(drafts, refs):
|
|||
import django.db.transaction
|
||||
|
||||
def get_rfc_tag_mapping():
|
||||
"""Return dict with RFC Editor state name -> DocInfoTagName"""
|
||||
from name.models import DocInfoTagName
|
||||
"""Return dict with RFC Editor state name -> DocTagName"""
|
||||
from name.models import DocTagName
|
||||
from name.utils import name
|
||||
|
||||
return {
|
||||
'IANA': name(DocInfoTagName, 'iana-crd', 'IANA coordination', "RFC-Editor/IANA Registration Coordination"),
|
||||
'REF': name(DocInfoTagName, 'ref', 'Holding for references', "Holding for normative reference"),
|
||||
'MISSREF': name(DocInfoTagName, 'missref', 'Missing references', "Awaiting missing normative reference"),
|
||||
'IANA': name(DocTagName, 'iana-crd', 'IANA coordination', "RFC-Editor/IANA Registration Coordination"),
|
||||
'REF': name(DocTagName, 'ref', 'Holding for references', "Holding for normative reference"),
|
||||
'MISSREF': name(DocTagName, 'missref', 'Missing references', "Awaiting missing normative reference"),
|
||||
}
|
||||
|
||||
def get_rfc_state_mapping():
|
||||
|
@ -229,7 +229,7 @@ def get_rfc_state_mapping():
|
|||
@django.db.transaction.commit_on_success
|
||||
def insert_into_databaseREDESIGN(drafts, refs):
|
||||
from doc.models import Document
|
||||
from name.models import DocInfoTagName
|
||||
from name.models import DocTagName
|
||||
|
||||
tags = get_rfc_tag_mapping()
|
||||
states = get_rfc_state_mapping()
|
||||
|
|
|
@ -168,7 +168,7 @@ def get_stream_mapping():
|
|||
return {
|
||||
"Legacy": name(DocStreamName, "legacy", "Legacy"),
|
||||
"IETF": name(DocStreamName, "ietf", "IETF"),
|
||||
"INDEPENDENT": name(DocStreamName, "ise", "Independent Submission"),
|
||||
"INDEPENDENT": name(DocStreamName, "ise", "ISE", desc="Independent submission editor stream"),
|
||||
"IAB": name(DocStreamName, "iab", "IAB"),
|
||||
"IRTF": name(DocStreamName, "irtf", "IRTF"),
|
||||
}
|
||||
|
@ -181,13 +181,13 @@ def insert_to_databaseREDESIGN(data):
|
|||
from person.models import Person
|
||||
from doc.models import Document, DocAlias, DocEvent, RelatedDocument
|
||||
from group.models import Group
|
||||
from name.models import DocInfoTagName, DocRelationshipName
|
||||
from name.models import DocTagName, DocRelationshipName
|
||||
from name.utils import name
|
||||
|
||||
system = Person.objects.get(name="(System)")
|
||||
std_level_mapping = get_std_level_mapping()
|
||||
stream_mapping = get_stream_mapping()
|
||||
tag_has_errata = name(DocInfoTagName, 'errata', "Has errata")
|
||||
tag_has_errata = name(DocTagName, 'errata', "Has errata")
|
||||
relationship_obsoletes = name(DocRelationshipName, "obs", "Obsoletes")
|
||||
relationship_updates = name(DocRelationshipName, "updates", "Updates")
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ from ietf.idrfc.utils import *
|
|||
from ietf.idrfc.lastcall import request_last_call
|
||||
|
||||
from doc.models import Document, DocEvent, StatusDateDocEvent, TelechatDocEvent, save_document_in_history, DocHistory
|
||||
from name.models import IesgDocStateName, IntendedStdLevelName, DocInfoTagName, get_next_iesg_states, DocStateName
|
||||
from name.models import IesgDocStateName, IntendedStdLevelName, DocTagName, get_next_iesg_states, DocStateName
|
||||
from person.models import Person, Email
|
||||
|
||||
class ChangeStateForm(forms.Form):
|
||||
|
@ -548,7 +548,7 @@ def edit_infoREDESIGN(request, name):
|
|||
e.save()
|
||||
|
||||
if has_role(request.user, 'Secretariat'):
|
||||
via_rfc = DocInfoTagName.objects.get(slug="via-rfc")
|
||||
via_rfc = DocTagName.objects.get(slug="via-rfc")
|
||||
if r['via_rfc_editor']:
|
||||
doc.tags.add(via_rfc)
|
||||
else:
|
||||
|
|
|
@ -308,7 +308,7 @@ if settings.USE_DB_REDESIGN_PROXY_CLASSES:
|
|||
inactive_ads.sort(key=extract_last_name)
|
||||
|
||||
self.fields['ad'].choices = c = [('', 'any AD')] + [(ad.pk, ad.name) for ad in active_ads] + [('', '------------------')] + [(ad.pk, ad.name) for ad in inactive_ads]
|
||||
self.fields['subState'].choices = [('', 'any substate'), ('0', 'no substate')] + [(n.slug, n.name) for n in DocInfoTagName.objects.filter(slug__in=('point', 'ad-f-up', 'need-rev', 'extpty'))]
|
||||
self.fields['subState'].choices = [('', 'any substate'), ('0', 'no substate')] + [(n.slug, n.name) for n in DocTagName.objects.filter(slug__in=('point', 'ad-f-up', 'need-rev', 'extpty'))]
|
||||
def clean_name(self):
|
||||
value = self.cleaned_data.get('name','')
|
||||
return normalize_draftname(value)
|
||||
|
|
|
@ -12,14 +12,14 @@ admin.site.register(RoleName, NameAdmin)
|
|||
admin.site.register(DocStreamName, NameAdmin)
|
||||
admin.site.register(DocStateName, NameAdmin)
|
||||
admin.site.register(DocRelationshipName, NameAdmin)
|
||||
admin.site.register(WgDocStateName, NameAdmin)
|
||||
admin.site.register(IesgDocStateName, NameAdmin)
|
||||
admin.site.register(IanaDocStateName, NameAdmin)
|
||||
admin.site.register(RfcDocStateName, NameAdmin)
|
||||
admin.site.register(DocTypeName, NameAdmin)
|
||||
admin.site.register(DocInfoTagName, NameAdmin)
|
||||
admin.site.register(DocTagName, NameAdmin)
|
||||
admin.site.register(StdLevelName, NameAdmin)
|
||||
admin.site.register(IntendedStdLevelName, NameAdmin)
|
||||
admin.site.register(DocReminderTypeName, NameAdmin)
|
||||
admin.site.register(BallotPositionName, NameAdmin)
|
||||
admin.site.register(SessionStatusName, NameAdmin)
|
||||
admin.site.register(TimeSlotTypeName, NameAdmin)
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -27,14 +27,19 @@ def output(name, qs):
|
|||
raise
|
||||
|
||||
# pick all name models directly out of the module
|
||||
names = []
|
||||
objects = []
|
||||
|
||||
import redesign.name.models
|
||||
for n in dir(redesign.name.models):
|
||||
if n[:1].upper() == n[:1] and n.endswith("Name"):
|
||||
model = getattr(redesign.name.models, n)
|
||||
if not model._meta.abstract:
|
||||
names.extend(model.objects.all())
|
||||
|
||||
output("names", names)
|
||||
objects.extend(model.objects.all())
|
||||
|
||||
|
||||
import redesign.doc.models # FIXME
|
||||
objects += redesign.doc.models.StateType.objects.all()
|
||||
objects += redesign.doc.models.State.objects.all()
|
||||
|
||||
output("names", objects)
|
||||
|
||||
|
|
|
@ -28,16 +28,13 @@ class IesgGroupStateName(NameModel):
|
|||
class RoleName(NameModel):
|
||||
"""AD, Chair"""
|
||||
class DocStreamName(NameModel):
|
||||
"""IETF, IAB, IRTF, Independent Submission, Legacy"""
|
||||
"""IETF, IAB, IRTF, ISE, Legacy"""
|
||||
class DocStateName(NameModel):
|
||||
"""Active, Expired, RFC, Replaced, Withdrawn"""
|
||||
class DocRelationshipName(NameModel):
|
||||
"""Updates, Replaces, Obsoletes, Reviews, ... The relationship is
|
||||
always recorded in one direction.
|
||||
"""
|
||||
class WgDocStateName(NameModel):
|
||||
"""Not, Candidate, Active, Parked, LastCall, WriteUp, Submitted,
|
||||
Dead"""
|
||||
class IesgDocStateName(NameModel):
|
||||
"""Pub Request, Ad Eval, Expert Review, Last Call Requested, In
|
||||
Last Call, Waiting for Writeup, Waiting for AD Go-Ahead, IESG
|
||||
|
@ -51,15 +48,17 @@ class RfcDocStateName(NameModel):
|
|||
class DocTypeName(NameModel):
|
||||
"""Draft, Agenda, Minutes, Charter, Discuss, Guideline, Email,
|
||||
Review, Issue, Wiki"""
|
||||
class DocInfoTagName(NameModel):
|
||||
class DocTagName(NameModel):
|
||||
"""Waiting for Reference, IANA Coordination, Revised ID Needed,
|
||||
External Party, AD Followup, Point Raised - Writeup Needed"""
|
||||
External Party, AD Followup, Point Raised - Writeup Needed, ..."""
|
||||
class StdLevelName(NameModel):
|
||||
"""Proposed Standard, Draft Standard, Standard, Experimental,
|
||||
Informational, Best Current Practice, Historic, ..."""
|
||||
class IntendedStdLevelName(NameModel):
|
||||
"""Standards Track, Experimental, Informational, Best Current
|
||||
Practice, Historic, ..."""
|
||||
class DocReminderTypeName(NameModel):
|
||||
"Stream state"
|
||||
class BallotPositionName(NameModel):
|
||||
""" Yes, NoObjection, Abstain, Discuss, Recuse """
|
||||
class MeetingTypeName(NameModel):
|
||||
|
|
|
@ -87,7 +87,7 @@ class IDSubStateManager(TranslatingManager):
|
|||
def all(self):
|
||||
return self.filter(slug__in=['extpty', 'need-rev', 'ad-f-up', 'point'])
|
||||
|
||||
class IDSubState(DocInfoTagName):
|
||||
class IDSubState(DocTagName):
|
||||
objects = IDSubStateManager(dict(pk="order"))
|
||||
|
||||
def from_object(self, base):
|
||||
|
@ -116,3 +116,13 @@ class IDSubState(DocInfoTagName):
|
|||
class Meta:
|
||||
proxy = True
|
||||
|
||||
|
||||
class AnnotationTagObjectRelationProxy(DocTagName):
|
||||
objects = TranslatingManager(dict(annotation_tag__name="name"))
|
||||
|
||||
@property
|
||||
def annotation_tag(self):
|
||||
return self
|
||||
|
||||
class Meta:
|
||||
proxy = True
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
def name(name_class, slug, name, desc="", order=0):
|
||||
def name(name_class, slug, name, desc="", order=0, **kwargs):
|
||||
# create if it doesn't exist, set name and desc
|
||||
obj, _ = name_class.objects.get_or_create(slug=slug)
|
||||
obj.name = name
|
||||
obj.desc = desc
|
||||
obj.order = order
|
||||
for k, v in kwargs.iteritems():
|
||||
setattr(obj, k, v)
|
||||
obj.save()
|
||||
return obj
|
||||
|
|
Loading…
Reference in a new issue