From 4d07ff44a8e26624a672ba3c0e394ca239931945 Mon Sep 17 00:00:00 2001 From: afabiani Date: Tue, 9 Jul 2019 09:15:19 +0000 Subject: [PATCH] - use correct resolved object when saving metadata --- geonode/base/models.py | 4 ++++ geonode/documents/views.py | 20 +++++++++----------- geonode/layers/views.py | 15 +++++---------- geonode/maps/views.py | 21 ++++++++++----------- 4 files changed, 28 insertions(+), 32 deletions(-) diff --git a/geonode/base/models.py b/geonode/base/models.py index 0a623e57709..cd984fa8e00 100644 --- a/geonode/base/models.py +++ b/geonode/base/models.py @@ -1497,6 +1497,10 @@ def resourcebase_post_save(instance, *args, **kwargs): if tb: logger.debug(tb) + # refresh catalogue metadata records + from geonode.catalogue.models import catalogue_post_save + catalogue_post_save(instance=instance, sender=instance.__class__) + def rating_post_save(instance, *args, **kwargs): """ diff --git a/geonode/documents/views.py b/geonode/documents/views.py index 9715c5f76c1..a69f3af560a 100644 --- a/geonode/documents/views.py +++ b/geonode/documents/views.py @@ -420,21 +420,19 @@ def document_metadata( if author_form.has_changed and author_form.is_valid(): new_author = author_form.save() - the_document = document_form.instance + document = document_form.instance if new_poc is not None and new_author is not None: - the_document.poc = new_poc - the_document.metadata_author = new_author + document.poc = new_poc + document.metadata_author = new_author if new_keywords: - the_document.keywords.clear() - the_document.keywords.add(*new_keywords) + document.keywords.clear() + document.keywords.add(*new_keywords) if new_regions: - the_document.regions.clear() - the_document.regions.add(*new_regions) - the_document.save() + document.regions.clear() + document.regions.add(*new_regions) + document.category = new_category + document.save() document_form.save_many2many() - Document.objects.filter( - id=the_document.id).update( - category=new_category) if not ajax: return HttpResponseRedirect( diff --git a/geonode/layers/views.py b/geonode/layers/views.py index 2ab0af90db9..67c972d9fa3 100644 --- a/geonode/layers/views.py +++ b/geonode/layers/views.py @@ -1074,17 +1074,12 @@ def layer_metadata( if new_regions is not None: layer.regions.clear() layer.regions.add(*new_regions) + layer.category = new_category + layer.save() - the_layer = layer_form.instance - the_layer.save() - - up_sessions = UploadSession.objects.filter(layer=the_layer.id) - if up_sessions.count() > 0 and up_sessions[0].user != the_layer.owner: - up_sessions.update(user=the_layer.owner) - - Layer.objects.filter(id=the_layer.id).update( - category=new_category - ) + up_sessions = UploadSession.objects.filter(layer=layer) + if up_sessions.count() > 0 and up_sessions[0].user != layer.owner: + up_sessions.update(user=layer.owner) if not ajax: return HttpResponseRedirect( diff --git a/geonode/maps/views.py b/geonode/maps/views.py index bc0ef37be72..264f67557bf 100644 --- a/geonode/maps/views.py +++ b/geonode/maps/views.py @@ -241,20 +241,19 @@ def map_metadata( if author_form.has_changed and author_form.is_valid(): new_author = author_form.save() - the_map = map_form.instance if new_poc is not None and new_author is not None: - the_map.poc = new_poc - the_map.metadata_author = new_author - the_map.title = new_title - the_map.abstract = new_abstract + map_obj.poc = new_poc + map_obj.metadata_author = new_author + map_obj.title = new_title + map_obj.abstract = new_abstract if new_keywords: - the_map.keywords.clear() - the_map.keywords.add(*new_keywords) + map_obj.keywords.clear() + map_obj.keywords.add(*new_keywords) if new_regions: - the_map.regions.clear() - the_map.regions.add(*new_regions) - the_map.category = new_category - the_map.save() + map_obj.regions.clear() + map_obj.regions.add(*new_regions) + map_obj.category = new_category + map_obj.save() if not ajax: return HttpResponseRedirect(