|
2 | 2 | import glob |
3 | 3 | import itertools |
4 | 4 | import os |
5 | | -import shutil |
6 | 5 | import subprocess |
7 | 6 |
|
8 | 7 | import debug # pyflakes:ignore |
|
27 | 26 | from ietf.group.models import Group |
28 | 27 | from ietf.ietfauth.utils import has_role, role_required |
29 | 28 | from ietf.meeting.models import Meeting, Session, TimeSlot, SchedTimeSessAssignment |
30 | | -from ietf.meeting.helpers import get_next_interim_number |
31 | | -from ietf.secr.proceedings.forms import EditSlideForm, InterimMeetingForm, RecordingForm, RecordingEditForm, ReplaceSlideForm, UnifiedUploadForm |
| 29 | + |
| 30 | +from ietf.secr.proceedings.forms import EditSlideForm, RecordingForm, RecordingEditForm, ReplaceSlideForm, UnifiedUploadForm |
32 | 31 | from ietf.secr.proceedings.proc_utils import ( gen_acknowledgement, gen_agenda, gen_areas, |
33 | 32 | gen_attendees, gen_group_pages, gen_index, gen_irtf, gen_overview, gen_plenaries, |
34 | | - gen_progress, gen_research, gen_training, create_proceedings, create_interim_directory, |
35 | | - create_recording ) |
| 33 | + gen_progress, gen_research, gen_training, create_proceedings, create_recording ) |
36 | 34 | from ietf.utils.log import log |
37 | 35 |
|
38 | 36 | # ------------------------------------------------- |
@@ -174,17 +172,6 @@ def handle_upload_file(file,filename,meeting,subdir): |
174 | 172 | os.chdir(path) |
175 | 173 | os.system('unzip %s' % filename) |
176 | 174 |
|
177 | | -def make_directories(meeting): |
178 | | - ''' |
179 | | - This function takes a meeting object and creates the appropriate materials directories |
180 | | - ''' |
181 | | - path = meeting.get_materials_path() |
182 | | - os.umask(0) |
183 | | - for leaf in ('slides','agenda','minutes','id','rfc','bluesheets'): |
184 | | - target = os.path.join(path,leaf) |
185 | | - if not os.path.exists(target): |
186 | | - os.makedirs(target) |
187 | | - |
188 | 175 | def parsedate(d): |
189 | 176 | ''' |
190 | 177 | This function takes a date object and returns a tuple of year,month,day |
@@ -349,33 +336,6 @@ def delete_material(request,slide_id): |
349 | 336 |
|
350 | 337 | return HttpResponseRedirect(url) |
351 | 338 |
|
352 | | -@role_required('Secretariat') |
353 | | -def delete_interim_meeting(request, meeting_num): |
354 | | - ''' |
355 | | - This view deletes the specified Interim Meeting and any material that has been |
356 | | - uploaded for it. The pattern in urls.py ensures we don't call this with a regular |
357 | | - meeting number. |
358 | | - ''' |
359 | | - meeting = get_object_or_404(Meeting, number=meeting_num) |
360 | | - sessions = Session.objects.filter(meeting=meeting) |
361 | | - group = sessions[0].group |
362 | | - |
363 | | - # delete directories |
364 | | - path = meeting.get_materials_path() |
365 | | - |
366 | | - # do a quick sanity check on this path before we go and delete it |
367 | | - parts = path.split('/') |
368 | | - assert parts[-1] == group.acronym |
369 | | - |
370 | | - if os.path.exists(path): |
371 | | - shutil.rmtree(path) |
372 | | - |
373 | | - meeting.delete() |
374 | | - sessions.delete() |
375 | | - |
376 | | - url = reverse('proceedings_interim', kwargs={'acronym':group.acronym}) |
377 | | - return HttpResponseRedirect(url) |
378 | | - |
379 | 339 | @check_permissions |
380 | 340 | def edit_slide(request, slide_id): |
381 | 341 | ''' |
@@ -415,55 +375,6 @@ def edit_slide(request, slide_id): |
415 | 375 | RequestContext(request, {}), |
416 | 376 | ) |
417 | 377 |
|
418 | | -@role_required(*AUTHORIZED_ROLES) |
419 | | -def interim(request, acronym): |
420 | | - ''' |
421 | | - This view presents the user with a list of interim meetings for the specified group. |
422 | | - The user can select a meeting to manage or create a new interim meeting by entering |
423 | | - a date. |
424 | | - ''' |
425 | | - group = get_object_or_404(Group, acronym=acronym) |
426 | | - if request.method == 'POST': # If the form has been submitted... |
427 | | - button_text = request.POST.get('submit', '') |
428 | | - if button_text == 'Back': |
429 | | - url = reverse('proceedings_select_interim') |
430 | | - return HttpResponseRedirect(url) |
431 | | - |
432 | | - form = InterimMeetingForm(request.POST) # A form bound to the POST data |
433 | | - if form.is_valid(): |
434 | | - date = form.cleaned_data['date'] |
435 | | - number = get_next_interim_number(acronym,date) |
436 | | - meeting=Meeting.objects.create(type_id='interim', |
437 | | - date=date, |
438 | | - number=number) |
439 | | - |
440 | | - # create session to associate this meeting with a group and hold material |
441 | | - Session.objects.create(meeting=meeting, |
442 | | - group=group, |
443 | | - requested_by=request.user.person, |
444 | | - status_id='sched', |
445 | | - type_id='session', |
446 | | - ) |
447 | | - |
448 | | - create_interim_directory() |
449 | | - make_directories(meeting) |
450 | | - |
451 | | - messages.success(request, 'Meeting created') |
452 | | - url = reverse('proceedings_interim', kwargs={'acronym':acronym}) |
453 | | - return HttpResponseRedirect(url) |
454 | | - else: |
455 | | - form = InterimMeetingForm(initial={'group_acronym_id':acronym}) # An unbound form |
456 | | - |
457 | | - meetings = Meeting.objects.filter(type='interim',session__group__acronym=acronym).order_by('date') |
458 | | - |
459 | | - return render_to_response('proceedings/interim_meeting.html',{ |
460 | | - 'group': group, |
461 | | - 'meetings':meetings, |
462 | | - 'form':form}, |
463 | | - RequestContext(request, {}), |
464 | | - ) |
465 | | - |
466 | | - |
467 | 378 | @role_required(*AUTHORIZED_ROLES) |
468 | 379 | def main(request): |
469 | 380 | ''' |
@@ -797,38 +708,6 @@ def select(request, meeting_num): |
797 | 708 | RequestContext(request,{}), |
798 | 709 | ) |
799 | 710 |
|
800 | | -@role_required(*AUTHORIZED_ROLES) |
801 | | -def select_interim(request): |
802 | | - ''' |
803 | | - A screen to select which group you want to upload Interim material for. Works for Secretariat staff |
804 | | - and external (ADs, chairs, etc) |
805 | | - ''' |
806 | | - if request.method == 'POST': |
807 | | - redirect_url = reverse('proceedings_interim', kwargs={'acronym':request.POST['group']}) |
808 | | - return HttpResponseRedirect(redirect_url) |
809 | | - |
810 | | - if has_role(request.user, "Secretariat"): |
811 | | - # initialize working groups form |
812 | | - choices = build_choices(Group.objects.active_wgs()) |
813 | | - group_form = GroupSelectForm(choices=choices) |
814 | | - |
815 | | - # per Alexa, not supporting Interim IRTF meetings at this time |
816 | | - # intialize IRTF form |
817 | | - #choices = build_choices(Group.objects.filter(type='wg', state='active') |
818 | | - #irtf_form = GroupSelectForm(choices=choices) |
819 | | - |
820 | | - else: |
821 | | - # these forms aren't used for non-secretariat |
822 | | - groups = get_my_groups(request.user) |
823 | | - choices = build_choices(groups) |
824 | | - group_form = GroupSelectForm(choices=choices) |
825 | | - |
826 | | - return render_to_response('proceedings/interim_select.html', { |
827 | | - 'group_form': group_form}, |
828 | | - #'irtf_form': irtf_form, |
829 | | - RequestContext(request,{}), |
830 | | - ) |
831 | | - |
832 | 711 | @check_permissions |
833 | 712 | def upload_unified(request, meeting_num, acronym=None, session_id=None): |
834 | 713 | ''' |
|
0 commit comments