Skip to content

Commit 070773a

Browse files
committed
SDO, SDO Liaison Manager and SDO Authorized Individual administration. See ietf-tools#344
- Legacy-Id: 2332
1 parent 95afaeb commit 070773a

File tree

2 files changed

+80
-32
lines changed

2 files changed

+80
-32
lines changed

ietf/liaisons/admin.py

Lines changed: 38 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,49 @@
11
#coding: utf-8
22
from django.contrib import admin
3-
from ietf.liaisons.models import *
4-
3+
from ietf.liaisons.models import (FromBodies, LiaisonDetail, LiaisonPurpose,
4+
SDOs, LiaisonManagers, SDOAuthorizedIndividual)
5+
6+
57
class FromBodiesAdmin(admin.ModelAdmin):
68
pass
7-
admin.site.register(FromBodies, FromBodiesAdmin)
9+
810

911
class LiaisonDetailAdmin(admin.ModelAdmin):
1012
pass
11-
admin.site.register(LiaisonDetail, LiaisonDetailAdmin)
13+
1214

1315
class LiaisonPurposeAdmin(admin.ModelAdmin):
1416
pass
15-
admin.site.register(LiaisonPurpose, LiaisonPurposeAdmin)
1617

18+
19+
class LiaisonManagersInline(admin.TabularInline):
20+
model = LiaisonManagers
21+
raw_id_fields=['person']
22+
23+
24+
class SDOAuthorizedIndividualInline(admin.TabularInline):
25+
model = SDOAuthorizedIndividual
26+
raw_id_fields=['person']
27+
28+
29+
class LiaisonManagersAdmin(admin.ModelAdmin):
30+
raw_id_fields=['person']
31+
32+
33+
class SDOAuthorizedIndividualAdmin(admin.ModelAdmin):
34+
raw_id_fields=['person']
35+
36+
37+
class SDOsAdmin(admin.ModelAdmin):
38+
inlines = [LiaisonManagersInline, SDOAuthorizedIndividualInline]
39+
40+
41+
class RelatedAdmin(admin.ModelAdmin):
42+
pass
43+
44+
admin.site.register(FromBodies, FromBodiesAdmin)
45+
admin.site.register(LiaisonDetail, LiaisonDetailAdmin)
46+
admin.site.register(LiaisonPurpose, LiaisonPurposeAdmin)
47+
admin.site.register(SDOs, SDOsAdmin)
48+
admin.site.register(LiaisonManagers, LiaisonManagersAdmin)
49+
admin.site.register(SDOAuthorizedIndividual, SDOAuthorizedIndividualAdmin)

ietf/liaisons/models.py

Lines changed: 42 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -92,34 +92,49 @@ def get_absolute_url(self):
9292
class Meta:
9393
db_table = 'liaison_detail'
9494

95-
# This table is not used by any code right now, and according to Glen,
96-
# probably not currently (Aug 2009) maintained by the secretariat.
97-
#class SDOs(models.Model):
98-
# sdo_id = models.AutoField(primary_key=True)
99-
# sdo_name = models.CharField(blank=True, max_length=255)
100-
# def __str__(self):
101-
# return self.sdo_name
102-
# def liaisonmanager(self):
103-
# try:
104-
# return self.liaisonmanagers_set.all()[0]
105-
# except:
106-
# return None
107-
# class Meta:
108-
# db_table = 'sdos'
95+
class SDOs(models.Model):
96+
sdo_id = models.AutoField(primary_key=True)
97+
sdo_name = models.CharField(blank=True, max_length=255)
98+
def __str__(self):
99+
return self.sdo_name
100+
def liaisonmanager(self):
101+
try:
102+
return self.liaisonmanagers_set.all()[0]
103+
except:
104+
return None
105+
class Meta:
106+
verbose_name = 'SDO'
107+
verbose_name_plural = 'SDOs'
108+
db_table = 'sdos'
109+
ordering = ('sdo_name', )
109110

110-
# This table is not used by any code right now, and according to Glen,
111-
# probably not currently (Aug 2009) maintained by the secretariat.
112-
#class LiaisonManagers(models.Model):
113-
# person = models.ForeignKey(PersonOrOrgInfo, db_column='person_or_org_tag')
114-
# email_priority = models.IntegerField(null=True, blank=True)
115-
# sdo = models.ForeignKey(SDOs)
116-
# def email(self):
117-
# try:
118-
# return self.person.emailaddress_set.get(priority=self.email_priority)
119-
# except ObjectDoesNotExist:
120-
# return None
121-
# class Meta:
122-
# db_table = 'liaison_managers'
111+
class LiaisonManagers(models.Model):
112+
person = models.ForeignKey(PersonOrOrgInfo, db_column='person_or_org_tag')
113+
email_priority = models.IntegerField(null=True, blank=True)
114+
sdo = models.ForeignKey(SDOs)
115+
def email(self):
116+
try:
117+
return self.person.emailaddress_set.get(priority=self.email_priority)
118+
except ObjectDoesNotExist:
119+
return None
120+
def __unicode__(self):
121+
return '%s (%s)' % (self.person, self.sdo)
122+
class Meta:
123+
verbose_name = 'Liaison Manager'
124+
verbose_name_plural = 'Liaison Managers'
125+
db_table = 'liaison_managers'
126+
ordering = ('sdo__sdo_name', )
127+
128+
class SDOAuthorizedIndividual(models.Model):
129+
person = models.ForeignKey(PersonOrOrgInfo, db_column='person_or_org_tag')
130+
sdo = models.ForeignKey(SDOs)
131+
132+
def __unicode__(self):
133+
return '%s (%s)' % (self.person, self.sdo)
134+
135+
class Meta:
136+
verbose_name = 'SDO Authorized Individual'
137+
verbose_name_plural = 'SDO Authorized Individuals'
123138

124139
# This table is not used by any code right now.
125140
#class LiaisonsInterim(models.Model):

0 commit comments

Comments
 (0)