[Debconf-video-commits] r399 - package/branches/pycon09/src/pyconvideo/pyconvideo

benh at alioth.debian.org benh at alioth.debian.org
Thu Mar 26 21:37:05 UTC 2009


Author: benh
Date: 2009-03-26 21:37:05 +0000 (Thu, 26 Mar 2009)
New Revision: 399

Modified:
   package/branches/pycon09/src/pyconvideo/pyconvideo/views.py
Log:
Allow re-review of a recording and linked event.


Modified: package/branches/pycon09/src/pyconvideo/pyconvideo/views.py
===================================================================
--- package/branches/pycon09/src/pyconvideo/pyconvideo/views.py	2009-03-26 21:19:28 UTC (rev 398)
+++ package/branches/pycon09/src/pyconvideo/pyconvideo/views.py	2009-03-26 21:37:05 UTC (rev 399)
@@ -85,6 +85,7 @@
         form = RecordingReviewForm(request.POST)
         if form.is_valid():
             data = form.cleaned_data
+
             recording.file_status = \
                 models.VideoFileStatus.objects.get(
                 file_status_code=data['file_status'])
@@ -92,12 +93,20 @@
             if request.POST.get('finish'):
                 recording.locked_by = None
             recording.save()
-            event_recording = models.VideoEventRecording(
-                event=event, recording=recording,
-                start_time=data['start_time'],
-                end_time=data['end_time'],
-                event_recording_base_name=data['base_name'])
+
+            try:
+                event_recording = \
+                    models.VideoEventRecording.objects.get(
+                    event=event, recording=recording)
+            except models.VideoEventRecording.DoesNotExist:
+                event_recording = \
+                    models.VideoEventRecording(
+                    event=event, recording=recording)
+            event_recording.start_time = data['start_time']
+            event_recording.end_time = data['end_time']
+            event_recording.event_recording_base_name = data['base_name']
             event_recording.save()
+
             if request.POST.get('finish'):
                 return list_recordings(request, completed=True)
             else:
@@ -110,22 +119,34 @@
                                       {'recording': recording,
                                        'event': event,
                                        'form': form})
+
     elif request.POST.get('delete'):
         recording.file_status = \
             models.VideoFileStatus.objects.get(file_status_code='D')
         recording.locked_by = None
         recording.save()
         return list_recordings(request, completed=True)
+
     elif event:
         # show main form
-        defaults = {'file_status': recording.file_status.file_status_code,
-                    'start_time': '00:00:00',
-                    'end_time': recording.recording_duration,
-                    'base_name': slugify(event.title)}
+        data = {'file_status': recording.file_status.file_status_code,
+                'comments': recording.comments}
+        try:
+            event_recording = \
+                models.VideoEventRecording.objects.get(
+                event=event, recording=recording)
+        except models.VideoEventRecording.DoesNotExist:
+            data['start_time'] = '00:00:00'
+            data['end_time'] = recording.recording_duration
+            data['base_name'] = slugify(event.title)
+        else:
+            data['start_time'] = event_recording.start_time
+            data['end_time'] = event_recording.end_time
+            data['base_name'] = event_recording.event_recording_base_name
         return render_to_response('pyconvideo/review_event_recording.html',
                                   {'recording': recording,
                                    'event': event,
-                                   'form': RecordingReviewForm(defaults)})
+                                   'form': RecordingReviewForm(data)})
 
     # list events for association
     events = models.Event.objects




More information about the Debconf-video-commits mailing list