Commit 7c9591bb authored by Liam Brenner's avatar Liam Brenner
Browse files

File input field is no longer required when editing

Fix for #17.
Fixes flake8 and isort issues.
parent e297936f
......@@ -9,10 +9,9 @@ from django.core.urlresolvers import reverse
from django.template.defaultfilters import filesizeformat
from django.test import TestCase, override_settings
from mock import patch
from tests.utils import create_test_video_file
from wagtail.tests.utils import WagtailTestUtils
from wagtail.wagtailcore.models import Collection, GroupCollectionPermission
from tests.utils import create_test_video_file
from wagtailvideos.models import Video
......@@ -228,6 +227,7 @@ class TestVideoEditView(TestCase, WagtailTestUtils):
# Check that the video was edited
video = Video.objects.get(id=self.video.id)
self.assertEqual(video.title, "Edited")
self.assertEqual(self.video.file, video.file)
def test_edit_with_new_video_file(self):
# Change the file size of the video
......
......@@ -7,7 +7,6 @@ from enumchoicefield.forms import EnumField
from wagtail.wagtailadmin import widgets
from wagtail.wagtailadmin.forms import (
BaseCollectionMemberForm, collection_member_permission_formset_factory)
from wagtailvideos.fields import WagtailVideoField
from wagtailvideos.models import MediaFormats, Video, VideoQuality
from wagtailvideos.permissions import \
......@@ -17,6 +16,14 @@ from wagtailvideos.permissions import \
class BaseVideoForm(BaseCollectionMemberForm):
permission_policy = video_permission_policy
def __init__(self, *args, **kwargs):
super(BaseVideoForm, self).__init__(*args, **kwargs)
# A file is only required if there is not already a file, such as when
# editing an existing video. The file field is not used on the
# multiple-upload forms, so may not be present
if 'file' in self.fields:
self.fields['file'].required = 'file' not in self.initial or not self.initial['file']
# Callback to allow us to override the default form field for the image file field
def formfield_for_dbfield(db_field, **kwargs):
......
......@@ -11,7 +11,6 @@ import subprocess
import tempfile
import threading
import django
from django.conf import settings
from django.core.files.base import ContentFile
from django.core.urlresolvers import reverse
......@@ -28,7 +27,6 @@ from wagtail.wagtailadmin.utils import get_object_usage
from wagtail.wagtailcore.models import CollectionMember
from wagtail.wagtailsearch import index
from wagtail.wagtailsearch.queryset import SearchableQuerySetMixin
from wagtailvideos.utils import ffmpeg_installed
logger = logging.getLogger(__name__)
......
......@@ -11,8 +11,6 @@ from wagtail.wagtailadmin.utils import (
PermissionPolicyChecker, popular_tags_for_model)
from wagtail.wagtailcore.models import Collection
from wagtail.wagtailsearch import index as search_index
from wagtail.wagtailsearch.backends import get_search_backends
from wagtailvideos.forms import get_video_form
from wagtailvideos.models import Video
from wagtailvideos.permissions import permission_policy
......
......@@ -14,7 +14,6 @@ from wagtail.wagtailadmin.utils import (
PermissionPolicyChecker, popular_tags_for_model)
from wagtail.wagtailcore.models import Collection
from wagtail.wagtailsearch.backends import get_search_backends
from wagtailvideos.forms import VideoTranscodeAdminForm, get_video_form
from wagtailvideos.models import Video
from wagtailvideos.permissions import permission_policy
......@@ -76,7 +75,6 @@ def index(request):
@permission_checker.require('change')
def edit(request, video_id):
VideoForm = get_video_form(Video)
video = get_object_or_404(Video, id=video_id)
if request.POST:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment