Update views.py

This commit is contained in:
tcely 2025-05-08 22:02:06 -04:00 committed by GitHub
parent 83ecb14b88
commit cfe2e30f17
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1146,14 +1146,14 @@ class AddMediaServerView(FormView):
def form_valid(self, form): def form_valid(self, form):
# Assign mandatory fields, bundle other fields into options # Assign mandatory fields, bundle other fields into options
mediaserver = MediaServer(server_type=self.server_type) mediaserver = MediaServer(server_type=self.server_type)
options = {} options = dict()
model_fields = [field.name for field in MediaServer._meta.fields] model_fields = [field.name for field in MediaServer._meta.fields]
for field_name, field_value in form.cleaned_data.items(): for field_name, field_value in form.cleaned_data.items():
if field_name in model_fields: if field_name in model_fields:
setattr(mediaserver, field_name, field_value) setattr(mediaserver, field_name, field_value)
else: else:
options[field_name] = field_value options[field_name] = field_value
mediaserver.options = json.dumps(options) mediaserver.options = options
# Test the media server details are valid # Test the media server details are valid
try: try:
mediaserver.validate() mediaserver.validate()
@ -1260,21 +1260,21 @@ class UpdateMediaServerView(FormView, SingleObjectMixin):
for field in self.object._meta.fields: for field in self.object._meta.fields:
if field.name in self.form_class.declared_fields: if field.name in self.form_class.declared_fields:
initial[field.name] = getattr(self.object, field.name) initial[field.name] = getattr(self.object, field.name)
for option_key, option_val in self.object.loaded_options.items(): for option_key, option_val in self.object.options.items():
if option_key in self.form_class.declared_fields: if option_key in self.form_class.declared_fields:
initial[option_key] = option_val initial[option_key] = option_val
return initial return initial
def form_valid(self, form): def form_valid(self, form):
# Assign mandatory fields, bundle other fields into options # Assign mandatory fields, bundle other fields into options
options = {} options = dict()
model_fields = [field.name for field in MediaServer._meta.fields] model_fields = [field.name for field in MediaServer._meta.fields]
for field_name, field_value in form.cleaned_data.items(): for field_name, field_value in form.cleaned_data.items():
if field_name in model_fields: if field_name in model_fields:
setattr(self.object, field_name, field_value) setattr(self.object, field_name, field_value)
else: else:
options[field_name] = field_value options[field_name] = field_value
self.object.options = json.dumps(options) self.object.options = options
# Test the media server details are valid # Test the media server details are valid
try: try:
self.object.validate() self.object.validate()