Skip to content

Commit 2003275

Browse files
committed
Model migration to allow liaison references. See ietf-tools#381
- Legacy-Id: 2537
1 parent 5f78eda commit 2003275

2 files changed

Lines changed: 117 additions & 0 deletions

File tree

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
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 field 'LiaisonDetail.related_to'
12+
db.add_column('liaison_detail', 'related_to', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['liaisons.LiaisonDetail'], null=True, blank=True), keep_default=False)
13+
14+
15+
def backwards(self, orm):
16+
17+
# Deleting field 'LiaisonDetail.related_to'
18+
db.delete_column('liaison_detail', 'related_to_id')
19+
20+
21+
models = {
22+
'idtracker.personororginfo': {
23+
'Meta': {'ordering': "['last_name']", 'object_name': 'PersonOrOrgInfo', 'db_table': "'person_or_org_info'"},
24+
'address_type': ('django.db.models.fields.CharField', [], {'max_length': '4', 'null': 'True', 'blank': 'True'}),
25+
'created_by': ('django.db.models.fields.CharField', [], {'max_length': '8', 'null': 'True', 'blank': 'True'}),
26+
'date_created': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}),
27+
'date_modified': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'null': 'True', 'blank': 'True'}),
28+
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '20', 'blank': 'True'}),
29+
'first_name_key': ('django.db.models.fields.CharField', [], {'max_length': '20', 'blank': 'True'}),
30+
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
31+
'last_name_key': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
32+
'middle_initial': ('django.db.models.fields.CharField', [], {'max_length': '4', 'null': 'True', 'blank': 'True'}),
33+
'middle_initial_key': ('django.db.models.fields.CharField', [], {'max_length': '4', 'null': 'True', 'blank': 'True'}),
34+
'modified_by': ('django.db.models.fields.CharField', [], {'max_length': '8', 'null': 'True', 'blank': 'True'}),
35+
'name_prefix': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
36+
'name_suffix': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
37+
'person_or_org_tag': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
38+
'record_type': ('django.db.models.fields.CharField', [], {'max_length': '8', 'null': 'True', 'blank': 'True'})
39+
},
40+
'liaisons.frombodies': {
41+
'Meta': {'object_name': 'FromBodies', 'db_table': "'from_bodies'"},
42+
'body_name': ('django.db.models.fields.CharField', [], {'max_length': '35', 'blank': 'True'}),
43+
'email_priority': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
44+
'from_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
45+
'is_liaison_manager': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
46+
'other_sdo': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
47+
'poc': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['idtracker.PersonOrOrgInfo']", 'null': 'True', 'db_column': "'poc'"})
48+
},
49+
'liaisons.liaisondetail': {
50+
'Meta': {'object_name': 'LiaisonDetail', 'db_table': "'liaison_detail'"},
51+
'approval': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['liaisons.OutgoingLiaisonApproval']", 'null': 'True', 'blank': 'True'}),
52+
'body': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
53+
'by_secretariat': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
54+
'cc1': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
55+
'cc2': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
56+
'deadline_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
57+
'detail_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
58+
'from_id': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
59+
'from_raw_body': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
60+
'from_raw_code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
61+
'last_modified_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
62+
'person': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['idtracker.PersonOrOrgInfo']", 'null': 'True', 'db_column': "'person_or_org_tag'"}),
63+
'purpose': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['liaisons.LiaisonPurpose']", 'null': 'True'}),
64+
'purpose_text': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'purpose'", 'blank': 'True'}),
65+
'related_to': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['liaisons.LiaisonDetail']", 'null': 'True', 'blank': 'True'}),
66+
'replyto': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
67+
'response_contact': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
68+
'submitted_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
69+
'submitter_email': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
70+
'submitter_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
71+
'technical_contact': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
72+
'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
73+
'to_body': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
74+
'to_email': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
75+
'to_poc': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
76+
},
77+
'liaisons.liaisonmanagers': {
78+
'Meta': {'ordering': "('sdo__sdo_name',)", 'object_name': 'LiaisonManagers', 'db_table': "'liaison_managers'"},
79+
'email_priority': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
80+
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
81+
'person': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['idtracker.PersonOrOrgInfo']", 'db_column': "'person_or_org_tag'"}),
82+
'sdo': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['liaisons.SDOs']"})
83+
},
84+
'liaisons.liaisonpurpose': {
85+
'Meta': {'object_name': 'LiaisonPurpose', 'db_table': "'liaison_purpose'"},
86+
'purpose_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
87+
'purpose_text': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'})
88+
},
89+
'liaisons.outgoingliaisonapproval': {
90+
'Meta': {'object_name': 'OutgoingLiaisonApproval'},
91+
'approval_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
92+
'approved': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
93+
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
94+
},
95+
'liaisons.sdoauthorizedindividual': {
96+
'Meta': {'object_name': 'SDOAuthorizedIndividual'},
97+
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
98+
'person': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['idtracker.PersonOrOrgInfo']", 'db_column': "'person_or_org_tag'"}),
99+
'sdo': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['liaisons.SDOs']"})
100+
},
101+
'liaisons.sdos': {
102+
'Meta': {'ordering': "('sdo_name',)", 'object_name': 'SDOs', 'db_table': "'sdos'"},
103+
'sdo_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
104+
'sdo_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'})
105+
},
106+
'liaisons.uploads': {
107+
'Meta': {'object_name': 'Uploads', 'db_table': "'uploads'"},
108+
'detail': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['liaisons.LiaisonDetail']"}),
109+
'file_extension': ('django.db.models.fields.CharField', [], {'max_length': '10', 'blank': 'True'}),
110+
'file_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
111+
'file_title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
112+
'person': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['idtracker.PersonOrOrgInfo']", 'db_column': "'person_or_org_tag'"})
113+
}
114+
}
115+
116+
complete_apps = ['liaisons']

ietf/liaisons/models.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ class LiaisonDetail(models.Model):
6363
from_raw_body = models.CharField(blank=True, null=True, max_length=255)
6464
from_raw_code = models.CharField(blank=True, null=True, max_length=255)
6565
approval = models.ForeignKey(OutgoingLiaisonApproval, blank=True, null=True)
66+
related_to = models.ForeignKey('LiaisonDetail', blank=True, null=True)
6667
def __str__(self):
6768
return self.title or "<no title>"
6869
def from_body(self):

0 commit comments

Comments
 (0)