diff options
Diffstat (limited to 'ishtar_common/views.py')
-rw-r--r-- | ishtar_common/views.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/ishtar_common/views.py b/ishtar_common/views.py index 8c443a378..f7963c929 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -2786,6 +2786,16 @@ class GeoFormMixin(IshtarMixin, LoginRequiredMixin): def get_success_url(self): if not self.back_url: + for rel_model_key in models.GeoVectorData.RELATED_MODELS: + # should in a logic order from largest to close + # town before operation, operation before context record... + rel = getattr(self.object, rel_model_key) + if rel.count(): + rel_item = rel.all()[0] + if not hasattr(rel_item, "SLUG"): + continue + return reverse("display-item", kwargs={"item_type": rel_item.SLUG, + "pk": rel_item.pk}) return reverse("edit-geo", kwargs={"pk": self.object.pk}) back_url = self.back_url if self.find_id: |