Skip to content

Commit 4fd0113

Browse files
committed
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
1 parent 1d9b2b2 commit 4fd0113

1 file changed

Lines changed: 16 additions & 9 deletions

File tree

ietf/idtracker/models.py

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,7 @@ class Meta:
171171
class Admin:
172172
search_fields = ['filename']
173173
list_display = ('filename', 'revision', 'status')
174+
list_filter = ['status']
174175
pass
175176
#date_hierarchy = 'revision_date'
176177
#list_filter = ['revision_date']
@@ -254,7 +255,7 @@ class Admin:
254255
pass
255256

256257
class AreaDirector(models.Model):
257-
area = models.ForeignKey(Area, db_column='area_acronym_id', edit_inline=models.STACKED, num_in_admin=2)
258+
area = models.ForeignKey(Area, db_column='area_acronym_id', edit_inline=models.STACKED, num_in_admin=2, null=True)
258259
person = models.ForeignKey(PersonOrOrgInfo, db_column='person_or_org_tag', raw_id_admin=True, core=True)
259260
def __str__(self):
260261
return "%s (%s)" % ( self.person, self.role() )
@@ -663,14 +664,15 @@ class Admin:
663664
pass
664665

665666
class IETFWG(models.Model):
667+
ACTIVE = 1
666668
group_acronym = models.ForeignKey(Acronym, primary_key=True, unique=True, editable=False)
667669
group_type = models.ForeignKey(WGType)
668670
proposed_date = models.DateField(null=True, blank=True)
669671
start_date = models.DateField(null=True, blank=True)
670672
dormant_date = models.DateField(null=True, blank=True)
671673
concluded_date = models.DateField(null=True, blank=True)
672674
status = models.ForeignKey(WGStatus)
673-
area_director = models.ForeignKey(AreaDirector)
675+
area_director = models.ForeignKey(AreaDirector, null=True)
674676
meeting_scheduled = models.CharField(blank=True, maxlength=3)
675677
email_address = models.CharField(blank=True, maxlength=60)
676678
email_subscribe = models.CharField(blank=True, maxlength=120)
@@ -695,8 +697,8 @@ class Meta:
695697
verbose_name = 'IETF Working Group'
696698
class Admin:
697699
search_fields = ['group_acronym__acronym', 'group_acronym__name']
698-
list_display = ('group_acronym', 'status', 'area_director')
699-
list_filter = ['status', 'area_director']
700+
list_display = ('group_acronym', 'group_type', 'status', 'area_director')
701+
list_filter = ['status', 'group_type', 'area_director']
700702
pass
701703

702704
class WGChair(models.Model):
@@ -705,7 +707,7 @@ class WGChair(models.Model):
705707
def __str__(self):
706708
return "%s (%s)" % ( self.person, self.role() )
707709
def role(self):
708-
return "%s WG Chair" % self.group_acronym
710+
return "%s %s Chair" % ( self.group_acronym.acronym, self.group_acronym.group_type )
709711
class Meta:
710712
db_table = 'g_chairs'
711713
verbose_name = "WG Chair"
@@ -726,7 +728,7 @@ class WGSecretary(models.Model):
726728
def __str__(self):
727729
return "%s (%s)" % ( self.person, self.role() )
728730
def role(self):
729-
return "%s WG Secretary" % self.group_acronym
731+
return "%s %s Secretary" % ( self.group_acronym.acronym, self.group_acronym.group_type )
730732
class Meta:
731733
db_table = 'g_secretaries'
732734
verbose_name = "WG Secretary"
@@ -738,7 +740,7 @@ class WGTechAdvisor(models.Model):
738740
def __str__(self):
739741
return "%s (%s)" % ( self.person, self.role() )
740742
def role(self):
741-
return "%s Technical Advisor" % self.group_acronym
743+
return "%s Technical Advisor" % self.group_acronym.acronym
742744
class Meta:
743745
db_table = 'g_tech_advisors'
744746
verbose_name = "WG Technical Advisor"
@@ -754,21 +756,26 @@ class Meta:
754756
verbose_name_plural = 'Area to Group mappings'
755757

756758
class GoalMilestone(models.Model):
759+
DONE_CHOICES = (
760+
('Done', 'Done'),
761+
('No', 'Not Done'),
762+
)
757763
gm_id = models.AutoField(primary_key=True)
758764
group_acronym = models.ForeignKey(IETFWG, raw_id_admin=True)
759765
description = models.TextField()
760766
expected_due_date = models.DateField()
761767
done_date = models.DateField(null=True, blank=True)
762-
done = models.CharField(blank=True, maxlength=4)
768+
done = models.CharField(blank=True, choices=DONE_CHOICES, maxlength=4)
763769
last_modified_date = models.DateField()
764770
def __str__(self):
765771
return self.description
766772
class Meta:
767773
db_table = 'goals_milestones'
768774
verbose_name = 'IETF WG Goal or Milestone'
769775
verbose_name_plural = 'IETF WG Goals or Milestones'
776+
ordering = ['expected_due_date']
770777
class Admin:
771-
list_display = ('group_acronym', 'description', 'expected_due_date')
778+
list_display = ('group', 'description', 'expected_due_date', 'done')
772779
date_hierarchy = 'expected_due_date'
773780
list_filter = ['done']
774781
pass

0 commit comments

Comments
 (0)