From c2b4d316635e551054c8d3a638a52094b184e9e2 Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Wed, 21 Oct 2015 19:02:33 +0000 Subject: [PATCH] Added a new field 'prefix' to DocTypeName -- unfortunate, but necessary since the slugs don't match the document prefixes :-( - Legacy-Id: 10254 --- ietf/name/admin.py | 5 ++- .../migrations/0008_doctypename_prefix.py | 20 +++++++++ .../migrations/0009_auto_20151021_1102.py | 41 +++++++++++++++++++ ietf/name/models.py | 1 + 4 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 ietf/name/migrations/0008_doctypename_prefix.py create mode 100644 ietf/name/migrations/0009_auto_20151021_1102.py diff --git a/ietf/name/admin.py b/ietf/name/admin.py index bb5bd00db..52abb175d 100644 --- a/ietf/name/admin.py +++ b/ietf/name/admin.py @@ -9,12 +9,15 @@ class NameAdmin(admin.ModelAdmin): class DocRelationshipNameAdmin(NameAdmin): list_display = ["slug", "name", "revname", "desc", "used"] +class DocTypeNameAdmin(NameAdmin): + list_display = ["slug", "name", "prefix", "desc", "used"] + admin.site.register(GroupTypeName, NameAdmin) admin.site.register(GroupStateName, NameAdmin) admin.site.register(RoleName, NameAdmin) admin.site.register(StreamName, NameAdmin) admin.site.register(DocRelationshipName, DocRelationshipNameAdmin) -admin.site.register(DocTypeName, NameAdmin) +admin.site.register(DocTypeName, DocTypeNameAdmin) admin.site.register(DocTagName, NameAdmin) admin.site.register(StdLevelName, NameAdmin) admin.site.register(IntendedStdLevelName, NameAdmin) diff --git a/ietf/name/migrations/0008_doctypename_prefix.py b/ietf/name/migrations/0008_doctypename_prefix.py new file mode 100644 index 000000000..c08270b85 --- /dev/null +++ b/ietf/name/migrations/0008_doctypename_prefix.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('name', '0007_populate_liaison_names'), + ] + + operations = [ + migrations.AddField( + model_name='doctypename', + name='prefix', + field=models.CharField(default=b'', max_length=16), + preserve_default=True, + ), + ] diff --git a/ietf/name/migrations/0009_auto_20151021_1102.py b/ietf/name/migrations/0009_auto_20151021_1102.py new file mode 100644 index 000000000..217b0c3b0 --- /dev/null +++ b/ietf/name/migrations/0009_auto_20151021_1102.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations # pyflakes:ignore + +def add_doc_type_prefix(apps, schema_editor): + DocTypeName = apps.get_model("name", "DocTypeName") + prefixes = { + u'agenda': u'agenda', + u'bluesheets': u'bluesheets', + u'charter': u'charter', + u'conflrev': u'conflict-review', + u'draft': u'draft', + u'liai-att': u'liai-att', + u'minutes': u'minutes', + u'recording': u'recording', + u'slides': u'slides', + u'statchg': u'status-change', + } + + for slug, prefix in prefixes.items(): + o = DocTypeName.objects.get(slug=slug) + o.prefix = prefix + o.save() + +def del_doc_type_prefix(apps, schema_editor): + DocTypeName = apps.get_model("name", "DocTypeName") + for o in DocTypeName.objects.all(): + o.prefix = "" + o.save() + +class Migration(migrations.Migration): + + dependencies = [ + ('name', '0008_doctypename_prefix'), + ] + + operations = [ + migrations.RunPython(add_doc_type_prefix, del_doc_type_prefix), + + ] diff --git a/ietf/name/models.py b/ietf/name/models.py index 06daac660..3dd29d5ba 100644 --- a/ietf/name/models.py +++ b/ietf/name/models.py @@ -35,6 +35,7 @@ class DocRelationshipName(NameModel): class DocTypeName(NameModel): """Draft, Agenda, Minutes, Charter, Discuss, Guideline, Email, Review, Issue, Wiki""" + prefix = models.CharField(max_length=16, default="") class DocTagName(NameModel): """Waiting for Reference, IANA Coordination, Revised ID Needed, External Party, AD Followup, Point Raised - Writeup Needed, ..."""