@@ -280,33 +280,19 @@ def geoapp_metadata(
280280 new_category = TopicCategory .objects .get (id = int (category_form .cleaned_data ["category_choice_field" ]))
281281 geoapp_form .cleaned_data .pop ("ptype" )
282282
283+ geoapp_obj = geoapp_form .instance
283284 # update contact roles
284285 geoapp_obj .set_contact_roles_from_metadata_edit (geoapp_form )
285- geoapp_obj .save ()
286286
287- additional_vals = dict (category = new_category )
287+ vals = dict (category = new_category )
288288
289289 geoapp_form .cleaned_data .pop ("metadata" )
290290 extra_metadata = geoapp_form .cleaned_data .pop ("extra_metadata" )
291291
292292 geoapp_form .save_linked_resources ()
293293 geoapp_form .cleaned_data .pop ("linked_resources" )
294294
295- geoapp_obj = geoapp_form .instance
296-
297- _vals = dict (** geoapp_form .cleaned_data , ** additional_vals )
298- _vals .update ({"resource_type" : resource_type , "sourcetype" : SOURCE_TYPE_LOCAL })
299-
300- resource_manager .update (
301- geoapp_obj .uuid ,
302- instance = geoapp_obj ,
303- keywords = new_keywords ,
304- regions = new_regions ,
305- vals = _vals ,
306- notify = True ,
307- extra_metadata = json .loads (extra_metadata ),
308- )
309- resource_manager .set_thumbnail (geoapp_obj .uuid , instance = geoapp_obj , overwrite = False )
295+ vals .update ({"resource_type" : resource_type , "sourcetype" : SOURCE_TYPE_LOCAL })
310296
311297 register_event (request , EventType .EVENT_CHANGE_METADATA , geoapp_obj )
312298 if not ajax :
@@ -333,13 +319,27 @@ def geoapp_metadata(
333319 tb = traceback .format_exc ()
334320 logger .error (tb )
335321
336- vals = {}
337322 if "group" in geoapp_form .changed_data :
338323 vals ["group" ] = geoapp_form .cleaned_data .get ("group" )
339324 if any ([x in geoapp_form .changed_data for x in ["is_approved" , "is_published" ]]):
340325 vals ["is_approved" ] = geoapp_form .cleaned_data .get ("is_approved" , geoapp_obj .is_approved )
341326 vals ["is_published" ] = geoapp_form .cleaned_data .get ("is_published" , geoapp_obj .is_published )
342- resource_manager .update (geoapp_obj .uuid , instance = geoapp_obj , notify = True , vals = vals )
327+ else :
328+ vals .pop ("is_approved" , None )
329+ vals .pop ("is_published" , None )
330+
331+ resource_manager .update (
332+ geoapp_obj .uuid ,
333+ instance = geoapp_obj ,
334+ keywords = new_keywords ,
335+ regions = new_regions ,
336+ notify = True ,
337+ vals = vals ,
338+ extra_metadata = json .loads (extra_metadata ),
339+ )
340+
341+ resource_manager .set_thumbnail (geoapp_obj .uuid , instance = geoapp_obj , overwrite = False )
342+
343343 return HttpResponse (json .dumps ({"message" : message }))
344344 elif request .method == "POST" and (
345345 not geoapp_form .is_valid () or not category_form .is_valid () or not tkeywords_form .is_valid ()
0 commit comments