Minor model tweaks:

* set null=True for AreaDirector.area and IETFWG.area_director.
* add filters, ordering, choices etc. for admin interface.
* add constant for "ACTIVE" in IETFWG.
 - Legacy-Id: 285
This commit is contained in:
Bill Fenner 2007-06-10 13:36:01 +00:00
parent 1d9b2b2b8d
commit 4fd0113345

View file

@ -171,6 +171,7 @@ class InternetDraft(models.Model):
class Admin: class Admin:
search_fields = ['filename'] search_fields = ['filename']
list_display = ('filename', 'revision', 'status') list_display = ('filename', 'revision', 'status')
list_filter = ['status']
pass pass
#date_hierarchy = 'revision_date' #date_hierarchy = 'revision_date'
#list_filter = ['revision_date'] #list_filter = ['revision_date']
@ -254,7 +255,7 @@ class IESGLogin(models.Model):
pass pass
class AreaDirector(models.Model): class AreaDirector(models.Model):
area = models.ForeignKey(Area, db_column='area_acronym_id', edit_inline=models.STACKED, num_in_admin=2) area = models.ForeignKey(Area, db_column='area_acronym_id', edit_inline=models.STACKED, num_in_admin=2, null=True)
person = models.ForeignKey(PersonOrOrgInfo, db_column='person_or_org_tag', raw_id_admin=True, core=True) person = models.ForeignKey(PersonOrOrgInfo, db_column='person_or_org_tag', raw_id_admin=True, core=True)
def __str__(self): def __str__(self):
return "%s (%s)" % ( self.person, self.role() ) return "%s (%s)" % ( self.person, self.role() )
@ -663,6 +664,7 @@ class WGStatus(models.Model):
pass pass
class IETFWG(models.Model): class IETFWG(models.Model):
ACTIVE = 1
group_acronym = models.ForeignKey(Acronym, primary_key=True, unique=True, editable=False) group_acronym = models.ForeignKey(Acronym, primary_key=True, unique=True, editable=False)
group_type = models.ForeignKey(WGType) group_type = models.ForeignKey(WGType)
proposed_date = models.DateField(null=True, blank=True) proposed_date = models.DateField(null=True, blank=True)
@ -670,7 +672,7 @@ class IETFWG(models.Model):
dormant_date = models.DateField(null=True, blank=True) dormant_date = models.DateField(null=True, blank=True)
concluded_date = models.DateField(null=True, blank=True) concluded_date = models.DateField(null=True, blank=True)
status = models.ForeignKey(WGStatus) status = models.ForeignKey(WGStatus)
area_director = models.ForeignKey(AreaDirector) area_director = models.ForeignKey(AreaDirector, null=True)
meeting_scheduled = models.CharField(blank=True, maxlength=3) meeting_scheduled = models.CharField(blank=True, maxlength=3)
email_address = models.CharField(blank=True, maxlength=60) email_address = models.CharField(blank=True, maxlength=60)
email_subscribe = models.CharField(blank=True, maxlength=120) email_subscribe = models.CharField(blank=True, maxlength=120)
@ -695,8 +697,8 @@ class IETFWG(models.Model):
verbose_name = 'IETF Working Group' verbose_name = 'IETF Working Group'
class Admin: class Admin:
search_fields = ['group_acronym__acronym', 'group_acronym__name'] search_fields = ['group_acronym__acronym', 'group_acronym__name']
list_display = ('group_acronym', 'status', 'area_director') list_display = ('group_acronym', 'group_type', 'status', 'area_director')
list_filter = ['status', 'area_director'] list_filter = ['status', 'group_type', 'area_director']
pass pass
class WGChair(models.Model): class WGChair(models.Model):
@ -705,7 +707,7 @@ class WGChair(models.Model):
def __str__(self): def __str__(self):
return "%s (%s)" % ( self.person, self.role() ) return "%s (%s)" % ( self.person, self.role() )
def role(self): def role(self):
return "%s WG Chair" % self.group_acronym return "%s %s Chair" % ( self.group_acronym.acronym, self.group_acronym.group_type )
class Meta: class Meta:
db_table = 'g_chairs' db_table = 'g_chairs'
verbose_name = "WG Chair" verbose_name = "WG Chair"
@ -726,7 +728,7 @@ class WGSecretary(models.Model):
def __str__(self): def __str__(self):
return "%s (%s)" % ( self.person, self.role() ) return "%s (%s)" % ( self.person, self.role() )
def role(self): def role(self):
return "%s WG Secretary" % self.group_acronym return "%s %s Secretary" % ( self.group_acronym.acronym, self.group_acronym.group_type )
class Meta: class Meta:
db_table = 'g_secretaries' db_table = 'g_secretaries'
verbose_name = "WG Secretary" verbose_name = "WG Secretary"
@ -738,7 +740,7 @@ class WGTechAdvisor(models.Model):
def __str__(self): def __str__(self):
return "%s (%s)" % ( self.person, self.role() ) return "%s (%s)" % ( self.person, self.role() )
def role(self): def role(self):
return "%s Technical Advisor" % self.group_acronym return "%s Technical Advisor" % self.group_acronym.acronym
class Meta: class Meta:
db_table = 'g_tech_advisors' db_table = 'g_tech_advisors'
verbose_name = "WG Technical Advisor" verbose_name = "WG Technical Advisor"
@ -754,12 +756,16 @@ class AreaGroup(models.Model):
verbose_name_plural = 'Area to Group mappings' verbose_name_plural = 'Area to Group mappings'
class GoalMilestone(models.Model): class GoalMilestone(models.Model):
DONE_CHOICES = (
('Done', 'Done'),
('No', 'Not Done'),
)
gm_id = models.AutoField(primary_key=True) gm_id = models.AutoField(primary_key=True)
group_acronym = models.ForeignKey(IETFWG, raw_id_admin=True) group_acronym = models.ForeignKey(IETFWG, raw_id_admin=True)
description = models.TextField() description = models.TextField()
expected_due_date = models.DateField() expected_due_date = models.DateField()
done_date = models.DateField(null=True, blank=True) done_date = models.DateField(null=True, blank=True)
done = models.CharField(blank=True, maxlength=4) done = models.CharField(blank=True, choices=DONE_CHOICES, maxlength=4)
last_modified_date = models.DateField() last_modified_date = models.DateField()
def __str__(self): def __str__(self):
return self.description return self.description
@ -767,8 +773,9 @@ class GoalMilestone(models.Model):
db_table = 'goals_milestones' db_table = 'goals_milestones'
verbose_name = 'IETF WG Goal or Milestone' verbose_name = 'IETF WG Goal or Milestone'
verbose_name_plural = 'IETF WG Goals or Milestones' verbose_name_plural = 'IETF WG Goals or Milestones'
ordering = ['expected_due_date']
class Admin: class Admin:
list_display = ('group_acronym', 'description', 'expected_due_date') list_display = ('group', 'description', 'expected_due_date', 'done')
date_hierarchy = 'expected_due_date' date_hierarchy = 'expected_due_date'
list_filter = ['done'] list_filter = ['done']
pass pass