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 ...@@ -9,10 +9,9 @@ from django.core.urlresolvers import reverse
from django.template.defaultfilters import filesizeformat from django.template.defaultfilters import filesizeformat
from django.test import TestCase, override_settings from django.test import TestCase, override_settings
from mock import patch from mock import patch
from tests.utils import create_test_video_file
from wagtail.tests.utils import WagtailTestUtils from wagtail.tests.utils import WagtailTestUtils
from wagtail.wagtailcore.models import Collection, GroupCollectionPermission from wagtail.wagtailcore.models import Collection, GroupCollectionPermission
from tests.utils import create_test_video_file
from wagtailvideos.models import Video from wagtailvideos.models import Video
...@@ -228,6 +227,7 @@ class TestVideoEditView(TestCase, WagtailTestUtils): ...@@ -228,6 +227,7 @@ class TestVideoEditView(TestCase, WagtailTestUtils):
# Check that the video was edited # Check that the video was edited
video = Video.objects.get(id=self.video.id) video = Video.objects.get(id=self.video.id)
self.assertEqual(video.title, "Edited") self.assertEqual(video.title, "Edited")
self.assertEqual(self.video.file, video.file)
def test_edit_with_new_video_file(self): def test_edit_with_new_video_file(self):
# Change the file size of the video # Change the file size of the video
......
...@@ -7,7 +7,6 @@ from enumchoicefield.forms import EnumField ...@@ -7,7 +7,6 @@ from enumchoicefield.forms import EnumField
from wagtail.wagtailadmin import widgets from wagtail.wagtailadmin import widgets
from wagtail.wagtailadmin.forms import ( from wagtail.wagtailadmin.forms import (
BaseCollectionMemberForm, collection_member_permission_formset_factory) BaseCollectionMemberForm, collection_member_permission_formset_factory)
from wagtailvideos.fields import WagtailVideoField from wagtailvideos.fields import WagtailVideoField
from wagtailvideos.models import MediaFormats, Video, VideoQuality from wagtailvideos.models import MediaFormats, Video, VideoQuality
from wagtailvideos.permissions import \ from wagtailvideos.permissions import \
...@@ -17,6 +16,14 @@ from wagtailvideos.permissions import \ ...@@ -17,6 +16,14 @@ from wagtailvideos.permissions import \
class BaseVideoForm(BaseCollectionMemberForm): class BaseVideoForm(BaseCollectionMemberForm):
permission_policy = video_permission_policy 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 # Callback to allow us to override the default form field for the image file field
def formfield_for_dbfield(db_field, **kwargs): def formfield_for_dbfield(db_field, **kwargs):
......
...@@ -11,7 +11,6 @@ import subprocess ...@@ -11,7 +11,6 @@ import subprocess
import tempfile import tempfile
import threading import threading
import django
from django.conf import settings from django.conf import settings
from django.core.files.base import ContentFile from django.core.files.base import ContentFile
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
...@@ -28,7 +27,6 @@ from wagtail.wagtailadmin.utils import get_object_usage ...@@ -28,7 +27,6 @@ from wagtail.wagtailadmin.utils import get_object_usage
from wagtail.wagtailcore.models import CollectionMember from wagtail.wagtailcore.models import CollectionMember
from wagtail.wagtailsearch import index from wagtail.wagtailsearch import index
from wagtail.wagtailsearch.queryset import SearchableQuerySetMixin from wagtail.wagtailsearch.queryset import SearchableQuerySetMixin
from wagtailvideos.utils import ffmpeg_installed from wagtailvideos.utils import ffmpeg_installed
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
......
...@@ -11,8 +11,6 @@ from wagtail.wagtailadmin.utils import ( ...@@ -11,8 +11,6 @@ from wagtail.wagtailadmin.utils import (
PermissionPolicyChecker, popular_tags_for_model) PermissionPolicyChecker, popular_tags_for_model)
from wagtail.wagtailcore.models import Collection from wagtail.wagtailcore.models import Collection
from wagtail.wagtailsearch import index as search_index 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.forms import get_video_form
from wagtailvideos.models import Video from wagtailvideos.models import Video
from wagtailvideos.permissions import permission_policy from wagtailvideos.permissions import permission_policy
......
...@@ -14,7 +14,6 @@ from wagtail.wagtailadmin.utils import ( ...@@ -14,7 +14,6 @@ from wagtail.wagtailadmin.utils import (
PermissionPolicyChecker, popular_tags_for_model) PermissionPolicyChecker, popular_tags_for_model)
from wagtail.wagtailcore.models import Collection from wagtail.wagtailcore.models import Collection
from wagtail.wagtailsearch.backends import get_search_backends from wagtail.wagtailsearch.backends import get_search_backends
from wagtailvideos.forms import VideoTranscodeAdminForm, get_video_form from wagtailvideos.forms import VideoTranscodeAdminForm, get_video_form
from wagtailvideos.models import Video from wagtailvideos.models import Video
from wagtailvideos.permissions import permission_policy from wagtailvideos.permissions import permission_policy
...@@ -76,7 +75,6 @@ def index(request): ...@@ -76,7 +75,6 @@ def index(request):
@permission_checker.require('change') @permission_checker.require('change')
def edit(request, video_id): def edit(request, video_id):
VideoForm = get_video_form(Video) VideoForm = get_video_form(Video)
video = get_object_or_404(Video, id=video_id) video = get_object_or_404(Video, id=video_id)
if request.POST: 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