summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2024-11-15 10:52:02 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2025-02-19 14:45:55 +0100
commit7a3da08eabf4767284b370e670e1953abb49973a (patch)
treebfa978b6b80b32bc2f6e4af1ea4dabbdfb8b9ebd
parent3556c98cd2fc9b064fa026733ee80fdd8fcbc993 (diff)
downloadIshtar-7a3da08eabf4767284b370e670e1953abb49973a.tar.bz2
Ishtar-7a3da08eabf4767284b370e670e1953abb49973a.zip
🐛 fix permissions menu evaluation - fix forms
-rw-r--r--archaeological_finds/forms.py4
-rw-r--r--archaeological_finds/forms_treatments.py4
-rw-r--r--archaeological_finds/ishtar_menu.py50
-rw-r--r--ishtar_common/forms_common.py4
-rw-r--r--ishtar_common/menu_base.py6
5 files changed, 33 insertions, 35 deletions
diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py
index 23531aeb0..477e5fa7e 100644
--- a/archaeological_finds/forms.py
+++ b/archaeological_finds/forms.py
@@ -2171,7 +2171,7 @@ class FindFormMultiSelectionWarehouseModule(FindFormMultiSelection):
)
-class MultipleFindFormSelection(forms.Form):
+class MultipleFindFormSelection(CustomForm, forms.Form):
# used for basket management
# TODO: could probably use FindFormMultiSelection
form_label = _("Find search")
@@ -2212,7 +2212,7 @@ class MultipleFindFormSelectionWarehouseModule(MultipleFindFormSelection):
)
-class FindMultipleFormSelection(forms.Form):
+class FindMultipleFormSelection(CustomForm, forms.Form):
form_label = _("Upstream finds")
associated_models = {"finds": models.Find}
associated_labels = {"finds": _("Finds")}
diff --git a/archaeological_finds/forms_treatments.py b/archaeological_finds/forms_treatments.py
index 4731e91e2..be1921568 100644
--- a/archaeological_finds/forms_treatments.py
+++ b/archaeological_finds/forms_treatments.py
@@ -72,7 +72,7 @@ class TreatmentSelect(DocumentItemSelect):
models.TreatmentType.get_help()
-class TreatmentFormSelection(forms.Form):
+class TreatmentFormSelection(CustomForm, forms.Form):
SEARCH_AND_SELECT = True
form_label = _("Treatment search")
associated_models = {'pk': models.Treatment}
@@ -667,7 +667,7 @@ class TreatmentFileSelect(DocumentItemSelect):
self.fields['type'].help_text = models.TreatmentFileType.get_help()
-class TreatmentFileFormSelection(forms.Form):
+class TreatmentFileFormSelection(CustomForm, forms.Form):
SEARCH_AND_SELECT = True
form_label = _("Treatment request search")
associated_models = {'pk': models.TreatmentFile}
diff --git a/archaeological_finds/ishtar_menu.py b/archaeological_finds/ishtar_menu.py
index 717cb6379..70f0dcfc7 100644
--- a/archaeological_finds/ishtar_menu.py
+++ b/archaeological_finds/ishtar_menu.py
@@ -40,8 +40,8 @@ MENU_SECTIONS = [
_("Search"),
model=models.Find,
access_controls=[
- "archeological_finds.view_find",
- "archeological_finds.view_own_find"
+ "archaeological_finds.view_find",
+ "archaeological_finds.view_own_find"
],
),
MenuItem(
@@ -49,7 +49,7 @@ MENU_SECTIONS = [
_("Creation"),
model=models.Find,
access_controls=[
- "archeological_finds.add_find",
+ "archaeological_finds.add_find",
],
),
MenuItem(
@@ -57,8 +57,8 @@ MENU_SECTIONS = [
_("Modification"),
model=models.Find,
access_controls=[
- "archeological_finds.change_find",
- "archeological_finds.change_own_find"
+ "archaeological_finds.change_find",
+ "archaeological_finds.change_own_find"
],
),
MenuItem(
@@ -66,8 +66,8 @@ MENU_SECTIONS = [
_("Deletion"),
model=models.Find,
access_controls=[
- "archeological_finds.change_find",
- "archeological_finds.change_own_find"
+ "archaeological_finds.change_find",
+ "archaeological_finds.change_own_find"
],
),
SectionItem(
@@ -79,8 +79,8 @@ MENU_SECTIONS = [
_("Search"),
model=models.FindBasket,
access_controls=[
- "archeological_finds.view_find",
- "archeological_finds.view_own_find"
+ "archaeological_finds.view_find",
+ "archaeological_finds.view_own_find"
],
),
MenuItem(
@@ -88,8 +88,8 @@ MENU_SECTIONS = [
_("Creation"),
model=models.FindBasket,
access_controls=[
- "archeological_finds.view_find",
- "archeological_finds.view_own_find"
+ "archaeological_finds.view_find",
+ "archaeological_finds.view_own_find"
],
),
MenuItem(
@@ -97,8 +97,8 @@ MENU_SECTIONS = [
_("Modification"),
model=models.FindBasket,
access_controls=[
- "archeological_finds.view_find",
- "archeological_finds.view_own_find"
+ "archaeological_finds.view_find",
+ "archaeological_finds.view_own_find"
],
),
MenuItem(
@@ -106,8 +106,8 @@ MENU_SECTIONS = [
_("Manage items"),
model=models.FindBasket,
access_controls=[
- "archeological_finds.view_find",
- "archeological_finds.view_own_find"
+ "archaeological_finds.view_find",
+ "archaeological_finds.view_own_find"
],
),
MenuItem(
@@ -115,8 +115,8 @@ MENU_SECTIONS = [
_("Deletion"),
model=models.FindBasket,
access_controls=[
- "archeological_finds.view_find",
- "archeological_finds.view_own_find"
+ "archaeological_finds.view_find",
+ "archaeological_finds.view_own_find"
],
),
],
@@ -142,8 +142,8 @@ MENU_SECTIONS = [
_("Search"),
model=models.TreatmentFile,
access_controls=[
- "archeological_finds.view_treatmentfile",
- "archeological_finds.view_own_treatmentfile"
+ "archaeological_finds.view_treatmentfile",
+ "archaeological_finds.view_own_treatmentfile"
],
),
MenuItem(
@@ -151,8 +151,8 @@ MENU_SECTIONS = [
_("Creation"),
model=models.TreatmentFile,
access_controls=[
- "archeological_finds.change_treatmentfile",
- "archeological_finds.change_own_treatmentfile",
+ "archaeological_finds.change_treatmentfile",
+ "archaeological_finds.change_own_treatmentfile",
],
),
MenuItem(
@@ -160,8 +160,8 @@ MENU_SECTIONS = [
_("Modification"),
model=models.TreatmentFile,
access_controls=[
- "archeological_finds.change_treatmentfile",
- "archeological_finds.change_own_treatmentfile",
+ "archaeological_finds.change_treatmentfile",
+ "archaeological_finds.change_own_treatmentfile",
],
),
MenuItem(
@@ -169,8 +169,8 @@ MENU_SECTIONS = [
_("Deletion"),
model=models.TreatmentFile,
access_controls=[
- "archeological_finds.change_treatmentfile",
- "archeological_finds.change_own_treatmentfile",
+ "archaeological_finds.change_treatmentfile",
+ "archaeological_finds.change_own_treatmentfile",
],
),
SectionItem(
diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py
index cb7eb761a..1a04a38e9 100644
--- a/ishtar_common/forms_common.py
+++ b/ishtar_common/forms_common.py
@@ -1264,7 +1264,7 @@ class IshtarUserSelect(TableSelect):
self.fields["person_types"].choices = models.PersonType.get_types()
-class AccountFormSelection(forms.Form):
+class AccountFormSelection(CustomForm, forms.Form):
SEARCH_AND_SELECT = True
form_label = _("Account search")
associated_models = {"pk": models.IshtarUser}
@@ -2915,7 +2915,7 @@ class AuthorForm(ManageOldType, NewItemForm):
return new_item
-class AuthorFormSelection(forms.Form):
+class AuthorFormSelection(CustomForm, forms.Form):
form_label = _("Author selection")
NO_CUSTOM_FORM = True
base_model = "author"
diff --git a/ishtar_common/menu_base.py b/ishtar_common/menu_base.py
index feb05c6db..809dd1c2d 100644
--- a/ishtar_common/menu_base.py
+++ b/ishtar_common/menu_base.py
@@ -108,10 +108,9 @@ class MenuItem:
return True
if not hasattr(user, "ishtaruser"):
return False
- ishtaruser = user.ishtaruser
for access_control in self.access_controls:
# check by profile
- if ishtaruser.has_permission(access_control):
+ if user.has_perm(access_control):
return True
return False
@@ -122,9 +121,8 @@ class MenuItem:
return True
if not hasattr(user, "ishtaruser"):
return False
- ishtaruser = user.ishtaruser
for access_control in self.access_controls:
- if ishtaruser.has_permission(
+ if user.has_perm(
access_control, obj=obj
):
return True