Skip to content

Commit 75d8fda

Browse files
Fixes #11578: align geoapp metadata update to other resources (#11624)
* Fixes #11578: align geoapp metadata update to other resources * Fixes #11578: align geoapp metadata update to other resources * Fixes #11578: align geoapp metadata update to other resources * Fixes #11578: fix broken tests * fix black format
1 parent b303121 commit 75d8fda

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

geonode/geoapps/views.py

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)