source edition refactoring
This commit is contained in:
parent
2f475bf2a8
commit
419c4c5a9f
|
@ -269,13 +269,7 @@ class ValidateSourceView(FormView):
|
||||||
return append_uri_params(url, fields)
|
return append_uri_params(url, fields)
|
||||||
|
|
||||||
|
|
||||||
class AddSourceView(CreateView):
|
class EditSourceMixin:
|
||||||
'''
|
|
||||||
Adds a new source, optionally takes some initial data querystring values to
|
|
||||||
prepopulate some of the more unclear values.
|
|
||||||
'''
|
|
||||||
|
|
||||||
template_name = 'sync/source-add.html'
|
|
||||||
model = Source
|
model = Source
|
||||||
fields = ('source_type', 'key', 'name', 'directory', 'media_format',
|
fields = ('source_type', 'key', 'name', 'directory', 'media_format',
|
||||||
'index_schedule', 'download_media', 'download_cap', 'delete_old_media',
|
'index_schedule', 'download_media', 'download_cap', 'delete_old_media',
|
||||||
|
@ -287,6 +281,29 @@ class AddSourceView(CreateView):
|
||||||
'this page for valid media name variables'),
|
'this page for valid media name variables'),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def form_valid(self, form):
|
||||||
|
# Perform extra validation to make sure the media_format is valid
|
||||||
|
obj = form.save(commit=False)
|
||||||
|
source_type = form.cleaned_data['media_format']
|
||||||
|
example_media_file = obj.get_example_media_format()
|
||||||
|
if example_media_file == '':
|
||||||
|
form.add_error(
|
||||||
|
'media_format',
|
||||||
|
ValidationError(self.errors['invalid_media_format'])
|
||||||
|
)
|
||||||
|
if form.errors:
|
||||||
|
return super().form_invalid(form)
|
||||||
|
return super().form_valid(form)
|
||||||
|
|
||||||
|
|
||||||
|
class AddSourceView(EditSourceMixin, CreateView):
|
||||||
|
'''
|
||||||
|
Adds a new source, optionally takes some initial data querystring values to
|
||||||
|
prepopulate some of the more unclear values.
|
||||||
|
'''
|
||||||
|
|
||||||
|
template_name = 'sync/source-add.html'
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
self.prepopulated_data = {}
|
self.prepopulated_data = {}
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
|
@ -312,20 +329,6 @@ class AddSourceView(CreateView):
|
||||||
initial[k] = v
|
initial[k] = v
|
||||||
return initial
|
return initial
|
||||||
|
|
||||||
def form_valid(self, form):
|
|
||||||
# Perform extra validation to make sure the media_format is valid
|
|
||||||
obj = form.save(commit=False)
|
|
||||||
source_type = form.cleaned_data['media_format']
|
|
||||||
example_media_file = obj.get_example_media_format()
|
|
||||||
if example_media_file == '':
|
|
||||||
form.add_error(
|
|
||||||
'media_format',
|
|
||||||
ValidationError(self.errors['invalid_media_format'])
|
|
||||||
)
|
|
||||||
if form.errors:
|
|
||||||
return super().form_invalid(form)
|
|
||||||
return super().form_valid(form)
|
|
||||||
|
|
||||||
def get_success_url(self):
|
def get_success_url(self):
|
||||||
url = reverse_lazy('sync:source', kwargs={'pk': self.object.pk})
|
url = reverse_lazy('sync:source', kwargs={'pk': self.object.pk})
|
||||||
return append_uri_params(url, {'message': 'source-created'})
|
return append_uri_params(url, {'message': 'source-created'})
|
||||||
|
@ -364,33 +367,9 @@ class SourceView(DetailView):
|
||||||
return data
|
return data
|
||||||
|
|
||||||
|
|
||||||
class UpdateSourceView(UpdateView):
|
class UpdateSourceView(EditSourceMixin, UpdateView):
|
||||||
|
|
||||||
template_name = 'sync/source-update.html'
|
template_name = 'sync/source-update.html'
|
||||||
model = Source
|
|
||||||
fields = ('source_type', 'key', 'name', 'directory', 'media_format',
|
|
||||||
'index_schedule', 'download_media', 'download_cap', 'delete_old_media',
|
|
||||||
'days_to_keep', 'source_resolution', 'source_vcodec', 'source_acodec',
|
|
||||||
'prefer_60fps', 'prefer_hdr', 'fallback', 'copy_thumbnails', 'write_nfo', 'write_json')
|
|
||||||
errors = {
|
|
||||||
'invalid_media_format': _('Invalid media format, the media format contains '
|
|
||||||
'errors or is empty. Check the table at the end of '
|
|
||||||
'this page for valid media name variables'),
|
|
||||||
}
|
|
||||||
|
|
||||||
def form_valid(self, form):
|
|
||||||
# Perform extra validation to make sure the media_format is valid
|
|
||||||
obj = form.save(commit=False)
|
|
||||||
source_type = form.cleaned_data['media_format']
|
|
||||||
example_media_file = obj.get_example_media_format()
|
|
||||||
if example_media_file == '':
|
|
||||||
form.add_error(
|
|
||||||
'media_format',
|
|
||||||
ValidationError(self.errors['invalid_media_format'])
|
|
||||||
)
|
|
||||||
if form.errors:
|
|
||||||
return super().form_invalid(form)
|
|
||||||
return super().form_valid(form)
|
|
||||||
|
|
||||||
def get_success_url(self):
|
def get_success_url(self):
|
||||||
url = reverse_lazy('sync:source', kwargs={'pk': self.object.pk})
|
url = reverse_lazy('sync:source', kwargs={'pk': self.object.pk})
|
||||||
|
|
Loading…
Reference in New Issue