1111from ietf .ietfauth .utils import has_role
1212from ietf .meeting .models import Session , countries , timezones
1313from ietf .meeting .helpers import assign_interim_session
14+ from ietf .message .models import Message
1415from ietf .utils .fields import DatepickerDateField
1516
1617# need to insert empty option for use in ChoiceField
@@ -156,13 +157,13 @@ def set_group_options(self):
156157 if has_role (self .user , "Secretariat" ):
157158 return # don't reduce group options
158159 if has_role (self .user , "Area Director" ):
159- queryset = Group .objects .filter (type = "wg" , state = "active" ).order_by ('acronym' )
160+ queryset = Group .objects .filter (type = "wg" , state__in = ( "active" , "proposed" ) ).order_by ('acronym' )
160161 elif has_role (self .user , "IRTF Chair" ):
161- queryset = Group .objects .filter (type = "rg" , state = "active" ).order_by ('acronym' )
162+ queryset = Group .objects .filter (type = "rg" , state__in = ( "active" , "proposed" ) ).order_by ('acronym' )
162163 elif has_role (self .user , "WG Chair" ):
163- queryset = Group .objects .filter (type = "wg" , state = "active" , role__person = self .person , role__name = "chair" ).distinct ().order_by ('acronym' )
164+ queryset = Group .objects .filter (type = "wg" , state__in = ( "active" , "proposed" ) , role__person = self .person , role__name = "chair" ).distinct ().order_by ('acronym' )
164165 elif has_role (self .user , "RG Chair" ):
165- queryset = Group .objects .filter (type = "rg" , state = "active" , role__person = self .person , role__name = "chair" ).distinct ().order_by ('acronym' )
166+ queryset = Group .objects .filter (type = "rg" , state__in = ( "active" , "proposed" ) , role__person = self .person , role__name = "chair" ).distinct ().order_by ('acronym' )
166167 self .fields ['group' ].queryset = queryset
167168
168169 # if there's only one possibility make it the default
@@ -216,3 +217,20 @@ def save(self, request, group, meeting, is_approved):
216217
217218 if agenda :
218219 self ._save_agenda (agenda )
220+
221+ class InterimAnnounceForm (forms .ModelForm ):
222+
223+ class Meta :
224+ model = Message
225+ fields = ('to' ,'frm' ,'cc' ,'bcc' ,'reply_to' ,'subject' ,'body' )
226+
227+ #def __init__(self):
228+ # super(InterimAnnounceForm, self).__init__(*args,**kwargs)
229+
230+ def save (self , * args , ** kwargs ):
231+ user = kwargs .pop ('user' )
232+ message = super (InterimAnnounceForm , self ).save (commit = False )
233+ message .by = user .person
234+ message .save ()
235+
236+ return message
0 commit comments