Skip to content

Commit a34fbba

Browse files
committed
Changed template_type field name to type and modified this field to point to DBTemplateTypeName in the name application
Changed help_text field name to variables. Addded DBTemplateTypeName in the name application and updated the application fixture. Fixes ietf-tools#908 - Legacy-Id: 5098
1 parent 9c527cc commit a34fbba

File tree

7 files changed

+251
-16
lines changed

7 files changed

+251
-16
lines changed

ietf/dbtemplate/admin.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
from django.contrib import admin
2+
3+
from ietf.dbtemplate.models import DBTemplate
4+
5+
6+
class DBTemplateAdmin(admin.ModelAdmin):
7+
list_display = ('title', 'path', 'type', 'group')
8+
ordering = ('path', )
9+
10+
admin.site.register(DBTemplate, DBTemplateAdmin)

ietf/dbtemplate/migrations/0001_initial.py

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,32 @@
11
# encoding: utf-8
2+
import datetime
23
from south.db import db
34
from south.v2 import SchemaMigration
4-
5+
from django.db import models
56

67
class Migration(SchemaMigration):
78

89
def forwards(self, orm):
9-
10+
1011
# Adding model 'DBTemplate'
1112
db.create_table('dbtemplate_dbtemplate', (
1213
('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
1314
('path', self.gf('django.db.models.fields.CharField')(unique=True, max_length=255)),
1415
('title', self.gf('django.db.models.fields.CharField')(max_length=255)),
15-
('help_text', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
16-
('template_type', self.gf('django.db.models.fields.CharField')(default='rst', max_length=10)),
16+
('variables', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
17+
('type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['name.DBTemplateTypeName'])),
1718
('content', self.gf('django.db.models.fields.TextField')()),
1819
('group', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['group.Group'], null=True, blank=True)),
1920
))
2021
db.send_create_signal('dbtemplate', ['DBTemplate'])
2122

22-
def backwards(self, orm):
2323

24+
def backwards(self, orm):
25+
2426
# Deleting model 'DBTemplate'
2527
db.delete_table('dbtemplate_dbtemplate')
2628

29+
2730
models = {
2831
'auth.group': {
2932
'Meta': {'object_name': 'Group'},
@@ -65,11 +68,11 @@ def backwards(self, orm):
6568
'Meta': {'object_name': 'DBTemplate'},
6669
'content': ('django.db.models.fields.TextField', [], {}),
6770
'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['group.Group']", 'null': 'True', 'blank': 'True'}),
68-
'help_text': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
6971
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
7072
'path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
71-
'template_type': ('django.db.models.fields.CharField', [], {'default': "'rst'", 'max_length': '10'}),
72-
'title': ('django.db.models.fields.CharField', [], {'max_length': '255'})
73+
'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
74+
'type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['name.DBTemplateTypeName']"}),
75+
'variables': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
7376
},
7477
'doc.docalias': {
7578
'Meta': {'object_name': 'DocAlias'},
@@ -151,6 +154,14 @@ def backwards(self, orm):
151154
'unused_states': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['doc.State']", 'symmetrical': 'False', 'blank': 'True'}),
152155
'unused_tags': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['name.DocTagName']", 'symmetrical': 'False', 'blank': 'True'})
153156
},
157+
'name.dbtemplatetypename': {
158+
'Meta': {'ordering': "['order']", 'object_name': 'DBTemplateTypeName'},
159+
'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
160+
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
161+
'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
162+
'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
163+
'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
164+
},
154165
'name.docrelationshipname': {
155166
'Meta': {'ordering': "['order']", 'object_name': 'DocRelationshipName'},
156167
'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),

ietf/dbtemplate/models.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from django.db import models
22

33
from ietf.group.models import Group
4+
from ietf.name.models import DBTemplateTypeName
45

56

67
TEMPLATE_TYPES = (
@@ -22,14 +23,12 @@ class DBTemplate(models.Model):
2223
blank=False,
2324
null=False,
2425
)
25-
help_text = models.TextField(
26+
variables = models.TextField(
2627
blank=True,
2728
null=True,
2829
)
29-
template_type = models.CharField(
30-
max_length=10,
31-
choices=TEMPLATE_TYPES,
32-
default='rst',
30+
type = models.ForeignKey(
31+
DBTemplateTypeName,
3332
)
3433
content = models.TextField(
3534
blank=False,

ietf/dbtemplate/template.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,9 @@ class Loader(BaseLoader):
5656
def load_template_source(self, template_name, template_dirs=None):
5757
try:
5858
template = DBTemplate.objects.get(path=template_name)
59-
if template.template_type == 'rst':
59+
if template.type.slug == 'rst':
6060
return (RSTTemplate(template.content), template)
61-
elif template.template_type == 'django':
61+
elif template.type.slug == 'django':
6262
return (DjangoTemplate(template.content), template)
6363
return (PlainTemplate(template.content), template)
6464
except DBTemplate.DoesNotExist:

ietf/name/fixtures/names.xml

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -745,6 +745,27 @@
745745
<field type="BooleanField" name="used">True</field>
746746
<field type="IntegerField" name="order">0</field>
747747
</object>
748+
<object pk="rst" model="name.dbtemplatetypename">
749+
<field type="CharField" name="name">reStructuredText</field>
750+
<field type="CharField" name="slug">rst</field>
751+
<field type="TextField" name="desc"></field>
752+
<field type="BooleanField" name="used">True</field>
753+
<field type="IntegerField" name="order">0</field>
754+
</object>
755+
<object pk="plain" model="name.dbtemplatetypename">
756+
<field type="CharField" name="name">Plain</field>
757+
<field type="CharField" name="slug">plain</field>
758+
<field type="TextField" name="desc"></field>
759+
<field type="BooleanField" name="used">True</field>
760+
<field type="IntegerField" name="order">0</field>
761+
</object>
762+
<object pk="django" model="name.dbtemplatetypename">
763+
<field type="CharField" name="name">Django</field>
764+
<field type="CharField" name="slug">django</field>
765+
<field type="TextField" name="desc"></field>
766+
<field type="BooleanField" name="used">True</field>
767+
<field type="IntegerField" name="order">0</field>
768+
</object>
748769
<object pk="draft" model="doc.statetype">
749770
<field type="CharField" name="label">State</field>
750771
</object>
@@ -1780,4 +1801,4 @@
17801801
<field type="IntegerField" name="order">3</field>
17811802
<field to="name.ballotpositionname" name="positions" rel="ManyToManyRel"><object pk="yes"></object><object pk="noobj"></object><object pk="block"></object><object pk="abstain"></object><object pk="norecord"></object></field>
17821803
</object>
1783-
</django-objects>
1804+
</django-objects>
Lines changed: 192 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,192 @@
1+
# encoding: utf-8
2+
import datetime
3+
from south.db import db
4+
from south.v2 import SchemaMigration
5+
from django.db import models
6+
7+
class Migration(SchemaMigration):
8+
9+
def forwards(self, orm):
10+
11+
# Adding model 'DBTemplateTypeName'
12+
db.create_table('name_dbtemplatetypename', (
13+
('slug', self.gf('django.db.models.fields.CharField')(max_length=8, primary_key=True)),
14+
('name', self.gf('django.db.models.fields.CharField')(max_length=255)),
15+
('desc', self.gf('django.db.models.fields.TextField')(blank=True)),
16+
('used', self.gf('django.db.models.fields.BooleanField')(default=True)),
17+
('order', self.gf('django.db.models.fields.IntegerField')(default=0)),
18+
))
19+
db.send_create_signal('name', ['DBTemplateTypeName'])
20+
21+
22+
def backwards(self, orm):
23+
24+
# Deleting model 'DBTemplateTypeName'
25+
db.delete_table('name_dbtemplatetypename')
26+
27+
28+
models = {
29+
'name.ballotpositionname': {
30+
'Meta': {'ordering': "['order']", 'object_name': 'BallotPositionName'},
31+
'blocking': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
32+
'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
33+
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
34+
'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
35+
'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
36+
'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
37+
},
38+
'name.constraintname': {
39+
'Meta': {'ordering': "['order']", 'object_name': 'ConstraintName'},
40+
'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
41+
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
42+
'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
43+
'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
44+
'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
45+
},
46+
'name.dbtemplatetypename': {
47+
'Meta': {'ordering': "['order']", 'object_name': 'DBTemplateTypeName'},
48+
'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
49+
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
50+
'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
51+
'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
52+
'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
53+
},
54+
'name.docrelationshipname': {
55+
'Meta': {'ordering': "['order']", 'object_name': 'DocRelationshipName'},
56+
'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
57+
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
58+
'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
59+
'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
60+
'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
61+
},
62+
'name.docremindertypename': {
63+
'Meta': {'ordering': "['order']", 'object_name': 'DocReminderTypeName'},
64+
'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
65+
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
66+
'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
67+
'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
68+
'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
69+
},
70+
'name.doctagname': {
71+
'Meta': {'ordering': "['order']", 'object_name': 'DocTagName'},
72+
'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
73+
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
74+
'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
75+
'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
76+
'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
77+
},
78+
'name.doctypename': {
79+
'Meta': {'ordering': "['order']", 'object_name': 'DocTypeName'},
80+
'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
81+
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
82+
'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
83+
'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
84+
'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
85+
},
86+
'name.feedbacktype': {
87+
'Meta': {'ordering': "['order']", 'object_name': 'FeedbackType'},
88+
'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
89+
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
90+
'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
91+
'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
92+
'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
93+
},
94+
'name.groupballotpositionname': {
95+
'Meta': {'ordering': "['order']", 'object_name': 'GroupBallotPositionName'},
96+
'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
97+
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
98+
'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
99+
'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
100+
'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
101+
},
102+
'name.groupstatename': {
103+
'Meta': {'ordering': "['order']", 'object_name': 'GroupStateName'},
104+
'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
105+
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
106+
'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
107+
'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
108+
'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
109+
},
110+
'name.grouptypename': {
111+
'Meta': {'ordering': "['order']", 'object_name': 'GroupTypeName'},
112+
'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
113+
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
114+
'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
115+
'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
116+
'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
117+
},
118+
'name.intendedstdlevelname': {
119+
'Meta': {'ordering': "['order']", 'object_name': 'IntendedStdLevelName'},
120+
'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
121+
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
122+
'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
123+
'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
124+
'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
125+
},
126+
'name.liaisonstatementpurposename': {
127+
'Meta': {'ordering': "['order']", 'object_name': 'LiaisonStatementPurposeName'},
128+
'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
129+
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
130+
'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
131+
'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
132+
'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
133+
},
134+
'name.meetingtypename': {
135+
'Meta': {'ordering': "['order']", 'object_name': 'MeetingTypeName'},
136+
'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
137+
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
138+
'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
139+
'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
140+
'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
141+
},
142+
'name.nomineepositionstate': {
143+
'Meta': {'ordering': "['order']", 'object_name': 'NomineePositionState'},
144+
'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
145+
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
146+
'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
147+
'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
148+
'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
149+
},
150+
'name.rolename': {
151+
'Meta': {'ordering': "['order']", 'object_name': 'RoleName'},
152+
'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
153+
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
154+
'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
155+
'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
156+
'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
157+
},
158+
'name.sessionstatusname': {
159+
'Meta': {'ordering': "['order']", 'object_name': 'SessionStatusName'},
160+
'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
161+
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
162+
'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
163+
'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
164+
'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
165+
},
166+
'name.stdlevelname': {
167+
'Meta': {'ordering': "['order']", 'object_name': 'StdLevelName'},
168+
'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
169+
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
170+
'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
171+
'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
172+
'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
173+
},
174+
'name.streamname': {
175+
'Meta': {'ordering': "['order']", 'object_name': 'StreamName'},
176+
'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
177+
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
178+
'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
179+
'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
180+
'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
181+
},
182+
'name.timeslottypename': {
183+
'Meta': {'ordering': "['order']", 'object_name': 'TimeSlotTypeName'},
184+
'desc': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
185+
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
186+
'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
187+
'slug': ('django.db.models.fields.CharField', [], {'max_length': '8', 'primary_key': 'True'}),
188+
'used': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
189+
}
190+
}
191+
192+
complete_apps = ['name']

ietf/name/models.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,5 @@ class NomineePositionState(NameModel):
6060
"""Status of a candidate for a position: None, Accepted, Declined"""
6161
class FeedbackType(NameModel):
6262
"""Type of feedback: questionnaires, nominations, comments"""
63+
class DBTemplateTypeName(NameModel):
64+
"""reStructuredText, Plain, Django"""

0 commit comments

Comments
 (0)