3636from ietf .idtracker .models import IDInternal , InternetDraft ,AreaGroup , Position , IESGLogin
3737from django .views .generic .list_detail import object_list
3838from django .views .generic .simple import direct_to_template
39- from django .http import Http404 , HttpResponse
39+ from django .http import Http404 , HttpResponse , HttpResponseForbidden
4040from django .template import RequestContext , Context , loader
4141from django .shortcuts import render_to_response
4242from django .conf import settings
@@ -157,13 +157,18 @@ def _agenda_data(request, date=None):
157157 docs = agenda_docs (date , next_agenda )
158158 mgmt = agenda_management_issues (date )
159159 wgs = agenda_wg_actions (date )
160- try :
161- f = codecs .open (settings .IESG_TASK_FILE , 'r' , 'utf-8' , 'replace' )
162- action_items = f .read ().strip ()
163- f .close ()
164- except IOError :
165- action_items = "(Error reading task.txt)"
166- return {'date' :str (date ), 'docs' :docs ,'mgmt' :mgmt ,'wgs' :wgs , 'action_items' :action_items }
160+ data = {'date' :str (date ), 'docs' :docs ,'mgmt' :mgmt ,'wgs' :wgs }
161+ for key , filename in {'action_items' :settings .IESG_TASK_FILE ,
162+ 'roll_call' :settings .IESG_ROLL_CALL_FILE ,
163+ 'minutes' :settings .IESG_MINUTES_FILE }.items ():
164+ try :
165+ f = codecs .open (filename , 'r' , 'utf-8' , 'replace' )
166+ text = f .read ().strip ()
167+ f .close ()
168+ data [key ] = text
169+ except IOError :
170+ data [key ] = "(Error reading " + key + ")"
171+ return data
167172
168173def agenda (request , date = None ):
169174 data = _agenda_data (request , date )
@@ -179,12 +184,35 @@ def agenda_scribe_template(request):
179184 docs = agenda_docs (date , True )
180185 return render_to_response ('iesg/scribe_template.html' , {'date' :str (date ), 'docs' :docs }, context_instance = RequestContext (request ) )
181186
182- @group_required ('Area_Director' ,'Secretariat' )
183- def agenda_moderator_package (request ):
187+ def _agenda_moderator_package (request ):
184188 data = _agenda_data (request )
185189 data ['ad_names' ] = [str (x ) for x in IESGLogin .active_iesg ()]
186190 return render_to_response ("iesg/moderator_package.html" , data , context_instance = RequestContext (request ))
187191
192+ @group_required ('Area_Director' ,'Secretariat' )
193+ def agenda_moderator_package (request ):
194+ return _agenda_moderator_package (request )
195+
196+ def agenda_moderator_package_test (request ):
197+ if request .META ['REMOTE_ADDR' ] == "127.0.0.1" :
198+ return _agenda_moderator_package (request )
199+ else :
200+ return HttpResponseForbidden ()
201+
202+ def _agenda_package (request ):
203+ data = _agenda_data (request )
204+ return render_to_response ("iesg/agenda_package.txt" , data , context_instance = RequestContext (request ), mimetype = 'text/plain' )
205+
206+ @group_required ('Area_Director' ,'Secretariat' )
207+ def agenda_package (request ):
208+ return _agenda_package (request )
209+
210+ def agenda_package_test (request ):
211+ if request .META ['REMOTE_ADDR' ] == "127.0.0.1" :
212+ return _agenda_package (request )
213+ else :
214+ return HttpResponseForbidden ()
215+
188216def agenda_documents_txt (request ):
189217 dates = TelechatDates .objects .all ()[0 ].dates ()
190218 docs = []
0 commit comments