summaryrefslogtreecommitdiff
path: root/ishtar_common/admin.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/admin.py')
-rw-r--r--ishtar_common/admin.py21
1 files changed, 17 insertions, 4 deletions
diff --git a/ishtar_common/admin.py b/ishtar_common/admin.py
index 465a9f152..91a036ad9 100644
--- a/ishtar_common/admin.py
+++ b/ishtar_common/admin.py
@@ -795,20 +795,33 @@ class PermissionRequestAdminForm(forms.ModelForm):
klass = ct.model_class()
if not klass:
continue
- if getattr(klass, "SHOW_URL", None) and hasattr(klass, "history_creator_id"):
+ if (getattr(klass, "SHOW_URL", None) and
+ hasattr(klass, "history_creator_id")) or \
+ ct.model in ("geovectordata", "document"):
choices.append((ct.pk, ct.name))
self.fields["model"].choices = [("", "-" * 9)] + list(
- sorted(choices, key=lambda x: x[1])
+ sorted(choices, key=lambda x: x[1])
)
def clean(self):
+ super().clean()
+ model = self.cleaned_data["model"]
+ include_upstream_items = self.cleaned_data.get("include_upstream_items", None)
+ if include_upstream_items and model.model in ("organization", "person", "file",
+ "warehouse"):
+ raise forms.ValidationError(
+ _("This model do have attached upstream items. Uncheck "
+ "\"Include upstream items\" field.")
+ )
limit_to_attached_areas = self.cleaned_data.get("limit_to_attached_areas", "")
if not limit_to_attached_areas:
return self.cleaned_data
- model = self.cleaned_data["model"]
if model.model not in ("operation", "contextrecord", "find",
"archaeologicalsite", "file"):
- raise forms.ValidationError(_("This model do not accept area limitation."))
+ raise forms.ValidationError(
+ _("This model do not accept area limitation. Uncheck "
+ "\"Limit request to attached areas\" field.")
+ )
return self.cleaned_data