Updates for model names: singular, more descriptive.

- Legacy-Id: 176
This commit is contained in:
Bill Fenner 2007-05-28 18:51:03 +00:00
parent 38c07bacf1
commit 2f56324baa

View file

@ -65,7 +65,7 @@ class IDSubState(models.Model):
class Admin:
pass
class Areas(models.Model):
class Area(models.Model):
area_acronym = models.ForeignKey(Acronym, primary_key=True, unique=True)
start_date = models.DateField(auto_now_add=True)
concluded_date = models.DateField(null=True, blank=True)
@ -76,7 +76,7 @@ class Areas(models.Model):
def __str__(self):
return self.area_acronym.acronym
def active_area_choices():
return [(area.area_acronym_id, area.area_acronym.acronym) for area in Areas.objects.filter(status=1).select_related().order_by('acronym.acronym')]
return [(area.area_acronym_id, area.area_acronym.acronym) for area in Area.objects.filter(status=1).select_related().order_by('acronym.acronym')]
active_area_choices = staticmethod(active_area_choices)
class Meta:
db_table = 'areas'
@ -253,14 +253,20 @@ class IESGLogin(models.Model):
ordering = ['user_level','last_name']
pass
# No admin panel needed; this is edited in Areas.
class AreaDirectors(models.Model):
area = models.ForeignKey(Areas, db_column='area_acronym_id', edit_inline=models.STACKED, num_in_admin=2)
class AreaDirector(models.Model):
area = models.ForeignKey(Area, db_column='area_acronym_id', edit_inline=models.STACKED, num_in_admin=2)
person = models.ForeignKey(PersonOrOrgInfo, db_column='person_or_org_tag', raw_id_admin=True, core=True)
def __str__(self):
return "(%s) %s" % ( self.area, self.person )
return "%s (%s)" % ( self.person, self.role() )
def role(self):
try:
return "%s AD" % self.area
except Area.DoesNotExist:
return "?%d? AD" % self.area_id
class Meta:
db_table = 'area_directors'
class Admin:
pass
###
# RFC tables
@ -407,7 +413,7 @@ class IDInternal(models.Model):
mark_by = models.ForeignKey(IESGLogin, db_column='mark_by', related_name='marked')
job_owner = models.ForeignKey(IESGLogin, db_column='job_owner', related_name='documents')
event_date = models.DateField(null=True)
area_acronym = models.ForeignKey(Areas)
area_acronym = models.ForeignKey(Area)
cur_sub_state = models.ForeignKey(IDSubState, related_name='docs', null=True, blank=True)
prev_sub_state = models.ForeignKey(IDSubState, related_name='docs_prev', null=True, blank=True)
returning_item = models.IntegerField(null=True, blank=True)
@ -542,7 +548,7 @@ class IESGDiscuss(models.Model):
class Admin:
pass
class IDAuthors(models.Model):
class IDAuthor(models.Model):
document = models.ForeignKey(InternetDraft, db_column='id_document_tag', related_name='authors', edit_inline=models.TABULAR)
person = models.ForeignKey(PersonOrOrgInfo, db_column='person_or_org_tag', raw_id_admin=True, core=True)
author_order = models.IntegerField(null=True, blank=True)
@ -618,7 +624,7 @@ class PhoneNumber(models.Model):
### Working Groups
class GType(models.Model):
class WGType(models.Model):
group_type_id = models.AutoField(primary_key=True)
type = models.CharField(maxlength=25, db_column='group_type')
def __str__(self):
@ -628,7 +634,7 @@ class GType(models.Model):
class Admin:
pass
class GStatus(models.Model):
class WGStatus(models.Model):
status_id = models.AutoField(primary_key=True)
status = models.CharField(maxlength=25, db_column='status_value')
def __str__(self):
@ -638,15 +644,15 @@ class GStatus(models.Model):
class Admin:
pass
class GroupIETF(models.Model):
class IETFWG(models.Model):
group_acronym = models.ForeignKey(Acronym, primary_key=True, unique=True, editable=False)
group_type = models.ForeignKey(GType)
group_type = models.ForeignKey(WGType)
proposed_date = models.DateField(null=True, blank=True)
start_date = models.DateField(null=True, blank=True)
dormant_date = models.DateField(null=True, blank=True)
concluded_date = models.DateField(null=True, blank=True)
status = models.ForeignKey(GStatus)
area_director = models.ForeignKey(AreaDirectors, raw_id_admin=True)
status = models.ForeignKey(WGStatus)
area_director = models.ForeignKey(AreaDirector)
meeting_scheduled = models.CharField(blank=True, maxlength=3)
email_address = models.CharField(blank=True, maxlength=60)
email_subscribe = models.CharField(blank=True, maxlength=120)
@ -655,61 +661,80 @@ class GroupIETF(models.Model):
comments = models.TextField(blank=True)
last_modified_date = models.DateField()
meeting_scheduled_old = models.CharField(blank=True, maxlength=3)
area = FKAsOneToOne('areagroup', reverse=True)
def __str__(self):
return self.group_acronym.acronym
def active_drafts(self):
return self.group_acronym.internetdraft_set.all().filter(status__status="Active")
def choices():
return [(wg.group_acronym_id, wg.group_acronym.acronym) for wg in GroupIETF.objects.all().select_related().order_by('acronym.acronym')]
return [(wg.group_acronym_id, wg.group_acronym.acronym) for wg in IETFWG.objects.all().select_related().order_by('acronym.acronym')]
choices = staticmethod(choices)
def area_acronym(self):
return AreaGroup.objects.filter(group_acronym_id=self.group_acronym_id).area
class Meta:
db_table = 'groups_ietf'
ordering = ['?'] # workaround django wanting to sort by acronym but not joining with it
verbose_name = 'IETF Working Group'
class Admin:
pass
class GChairs(models.Model):
class WGChair(models.Model):
person = models.ForeignKey(PersonOrOrgInfo, db_column='person_or_org_tag', raw_id_admin=True, unique=True, core=True)
group_acronym = models.ForeignKey(GroupIETF, edit_inline=models.TABULAR)
group_acronym = models.ForeignKey(IETFWG, edit_inline=models.TABULAR)
def __str__(self):
return "%s (%s)" % ( self.person, self.role() )
def role(self):
return "%s WG Chair" % self.group_acronym
class Meta:
db_table = 'g_chairs'
verbose_name = "WG Chair"
class GEditors(models.Model):
group_acronym = models.ForeignKey(GroupIETF, edit_inline=models.TABULAR)
class WGEditor(models.Model):
group_acronym = models.ForeignKey(IETFWG, edit_inline=models.TABULAR)
person = models.ForeignKey(PersonOrOrgInfo, db_column='person_or_org_tag', raw_id_admin=True, unique=True, core=True)
class Meta:
db_table = 'g_editors'
verbose_name = "WG Editor"
# Which is right? Secretaries or Secretary?
class GSecretaries(models.Model):
group_acronym = models.ForeignKey(GroupIETF, edit_inline=models.TABULAR)
# Note: there is an empty table 'g_secretary'.
# This uses the 'g_secretaries' table but is called 'GSecretary' to
# match the model naming scheme.
class WGSecretary(models.Model):
group_acronym = models.ForeignKey(IETFWG, edit_inline=models.TABULAR)
person = models.ForeignKey(PersonOrOrgInfo, db_column='person_or_org_tag', raw_id_admin=True, unique=True, core=True)
def __str__(self):
return "%s (%s)" % ( self.person, self.role() )
def role(self):
return "%s WG Secretary" % self.group_acronym
class Meta:
db_table = 'g_secretaries'
verbose_name = "WG Secretary"
verbose_name_plural = "WG Secretaries"
#class GSecretary(models.Model):
# group_acronym = models.ForeignKey(GroupIETF, edit_inline=models.TABULAR)
# person = models.ForeignKey(PersonOrOrgInfo, db_column='person_or_org_tag', raw_id_admin=True, unique=True, core=True)
# class Meta:
# db_table = 'g_secretary'
class GTechAdvisors(models.Model):
group_acronym = models.ForeignKey(GroupIETF, edit_inline=models.TABULAR)
class WGTechAdvisor(models.Model):
group_acronym = models.ForeignKey(IETFWG, edit_inline=models.TABULAR)
person = models.ForeignKey(PersonOrOrgInfo, db_column='person_or_org_tag', raw_id_admin=True, core=True)
def __str__(self):
return "%s (%s)" % ( self.person, self.role() )
def role(self):
return "%s Technical Advisor" % self.group_acronym
class Meta:
db_table = 'g_tech_advisors'
verbose_name = "WG Technical Advisor"
class AreaGroup(models.Model):
area = models.ForeignKey(Areas, db_column='area_acronym_id', related_name='areagroup', core=True)
group = models.ForeignKey(GroupIETF, db_column='group_acronym_id', edit_inline=models.TABULAR, num_in_admin=1, unique=True)
area = models.ForeignKey(Area, db_column='area_acronym_id', related_name='areagroup', core=True)
group = models.ForeignKey(IETFWG, db_column='group_acronym_id', edit_inline=models.TABULAR, num_in_admin=1, max_num_in_admin=1, unique=True)
def __str__(self):
return "%s is in %s" % ( self.group, self.area )
class Meta:
db_table = 'area_group'
verbose_name = 'Area this group is in'
verbose_name_plural = 'Area to Group mappings'
class GoalsMilestones(models.Model):
class GoalMilestone(models.Model):
gm_id = models.AutoField(primary_key=True)
group_acronym = models.ForeignKey(GroupIETF, raw_id_admin=True)
group_acronym = models.ForeignKey(IETFWG, raw_id_admin=True)
description = models.TextField()
expected_due_date = models.DateField()
done_date = models.DateField(null=True, blank=True)
@ -719,6 +744,8 @@ class GoalsMilestones(models.Model):
return self.description
class Meta:
db_table = 'goals_milestones'
verbose_name = 'IETF WG Goal or Milestone'
verbose_name_plural = 'IETF WG Goals or Milestones'
class Admin:
pass
@ -751,7 +778,7 @@ class IRTF(models.Model):
class Admin:
pass
class IRTFChairs(models.Model):
class IRTFChair(models.Model):
irtf = models.ForeignKey(IRTF)
person = models.ForeignKey(PersonOrOrgInfo, db_column='person_or_org_tag', raw_id_admin=True)
class Meta: