@@ -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
256257class 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
665666class 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
702704class 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
756758class 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