summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_context_records/ishtar_menu.py1
-rw-r--r--archaeological_context_records/migrations/0101_squashed.py2
-rw-r--r--archaeological_context_records/models.py1
-rw-r--r--archaeological_context_records/urls.py6
-rw-r--r--archaeological_context_records/views.py3
-rw-r--r--archaeological_files/ishtar_menu.py1
-rw-r--r--archaeological_files/migrations/0101_squashed.py2
-rw-r--r--archaeological_files/models.py1
-rw-r--r--archaeological_finds/ishtar_menu.py1
-rw-r--r--archaeological_finds/migrations/0101_squashed.py8
-rw-r--r--archaeological_finds/models_finds.py7
-rw-r--r--archaeological_finds/models_treatments.py2
-rw-r--r--archaeological_finds/urls.py5
-rw-r--r--archaeological_operations/ishtar_menu.py2
-rw-r--r--archaeological_operations/migrations/0101_squashed.py6
-rw-r--r--archaeological_operations/models.py3
-rw-r--r--archaeological_operations/urls.py6
-rw-r--r--archaeological_warehouse/ishtar_menu.py5
-rw-r--r--archaeological_warehouse/migrations/0101_squashed.py4
-rw-r--r--archaeological_warehouse/migrations/0111_auto_20210225_1039.py2
-rw-r--r--archaeological_warehouse/models.py2
-rw-r--r--archaeological_warehouse/urls.py3
-rw-r--r--fixtures/initial_data-auth-fr.json422
-rw-r--r--ishtar_common/fixtures/initial_data-fr.json63
-rw-r--r--ishtar_common/ishtar_menu.py17
-rw-r--r--ishtar_common/migrations/0201_squashed.py8
-rw-r--r--ishtar_common/migrations/0217_auto_20220328_1222.py2
-rw-r--r--ishtar_common/migrations/0220_auto_20220707_1633.py2
-rw-r--r--ishtar_common/migrations/0232_auto_20231115_1616.py4
-rw-r--r--ishtar_common/migrations/0243_default_biographicalnote_permissions.json24
-rw-r--r--ishtar_common/migrations/0244_imports_media_link.py2
-rw-r--r--ishtar_common/migrations/0256_clean_add_own_permissions.py31
-rw-r--r--ishtar_common/models.py5
-rw-r--r--ishtar_common/models_common.py1
-rw-r--r--ishtar_common/models_imports.py1
-rw-r--r--ishtar_common/urls.py6
-rw-r--r--ishtar_common/views.py20
37 files changed, 84 insertions, 597 deletions
diff --git a/archaeological_context_records/ishtar_menu.py b/archaeological_context_records/ishtar_menu.py
index 488897aa9..c56ef1de6 100644
--- a/archaeological_context_records/ishtar_menu.py
+++ b/archaeological_context_records/ishtar_menu.py
@@ -49,7 +49,6 @@ MENU_SECTIONS = [
model=models.ContextRecord,
access_controls=[
"archaeological_context_records.add_contextrecord",
- "archaeological_context_records.add_own_contextrecord"
],
),
MenuItem(
diff --git a/archaeological_context_records/migrations/0101_squashed.py b/archaeological_context_records/migrations/0101_squashed.py
index 119e28b61..7ba8feb3d 100644
--- a/archaeological_context_records/migrations/0101_squashed.py
+++ b/archaeological_context_records/migrations/0101_squashed.py
@@ -109,7 +109,7 @@ class Migration(migrations.Migration):
'verbose_name': 'Context Record',
'verbose_name_plural': 'Context Record',
'ordering': ('cached_label',),
- 'permissions': (('view_own_contextrecord', 'Can view own Context Record'), ('add_own_contextrecord', 'Can add own Context Record'), ('change_own_contextrecord', 'Can change own Context Record'), ('delete_own_contextrecord', 'Can delete own Context Record')),
+ 'permissions': (('view_own_contextrecord', 'Can view own Context Record'), ('change_own_contextrecord', 'Can change own Context Record'), ('delete_own_contextrecord', 'Can delete own Context Record')),
},
bases=(ishtar_common.models.DocumentItem,
ishtar_common.models.StatisticItem,
diff --git a/archaeological_context_records/models.py b/archaeological_context_records/models.py
index 50b9bbf42..dbd7bc463 100644
--- a/archaeological_context_records/models.py
+++ b/archaeological_context_records/models.py
@@ -1007,7 +1007,6 @@ class ContextRecord(
verbose_name_plural = _("Context Record")
permissions = (
("view_own_contextrecord", "Can view own Context Record"),
- ("add_own_contextrecord", "Can add own Context Record"),
("change_own_contextrecord", "Can change own Context Record"),
("delete_own_contextrecord", "Can delete own Context Record"),
)
diff --git a/archaeological_context_records/urls.py b/archaeological_context_records/urls.py
index c4d6e05bc..c4175033b 100644
--- a/archaeological_context_records/urls.py
+++ b/archaeological_context_records/urls.py
@@ -47,8 +47,7 @@ urlpatterns = [
),
url(
r"record_creation/(?P<step>.+)?$",
- check_permissions(["archaeological_context_records.add_contextrecord",
- "archaeological_context_records.add_own_contextrecord"])(
+ check_permissions(["archaeological_context_records.add_contextrecord"])(
views.record_creation_wizard
),
name="record_creation",
@@ -165,8 +164,7 @@ urlpatterns = [
),
url(
r"^operation-qa-contextrecord/(?P<pks>[0-9]+)/$",
- check_permissions(["archaeological_context_records.add_contextrecord",
- "archaeological_context_records.add_own_contextrecord"])(
+ check_permissions(["archaeological_context_records.add_contextrecord"])(
views.QAOperationContextRecordView.as_view()
),
name="operation-qa-contextrecord",
diff --git a/archaeological_context_records/views.py b/archaeological_context_records/views.py
index fdee2c459..691564341 100644
--- a/archaeological_context_records/views.py
+++ b/archaeological_context_records/views.py
@@ -260,8 +260,7 @@ class QAOperationContextRecordView(QAItemForm):
icon_class="fa fa-plus",
text=_("Add context record"),
target="one",
- rights=["archaeological_context_records.add_contextrecord",
- "archaeological_context_records.add_own_contextrecord"],
+ rights=["archaeological_context_records.add_contextrecord"],
)
def form_valid(self, form):
diff --git a/archaeological_files/ishtar_menu.py b/archaeological_files/ishtar_menu.py
index 26a1ca8ab..8645be2f2 100644
--- a/archaeological_files/ishtar_menu.py
+++ b/archaeological_files/ishtar_menu.py
@@ -51,7 +51,6 @@ MENU_SECTIONS = [
model=models.File,
access_controls=[
"archaeological_files.add_file",
- "archaeological_files.add_own_file"
],
),
MenuItem(
diff --git a/archaeological_files/migrations/0101_squashed.py b/archaeological_files/migrations/0101_squashed.py
index d8b5986a7..82fd9903d 100644
--- a/archaeological_files/migrations/0101_squashed.py
+++ b/archaeological_files/migrations/0101_squashed.py
@@ -79,7 +79,7 @@ class Migration(migrations.Migration):
'verbose_name': 'Archaeological file',
'verbose_name_plural': 'Archaeological files',
'ordering': ('cached_label',),
- 'permissions': (('view_own_file', 'Can view own Archaeological file'), ('add_own_file', 'Can add own Archaeological file'), ('change_own_file', 'Can change own Archaeological file'), ('delete_own_file', 'Can delete own Archaeological file'), ('close_file', 'Can close File')),
+ 'permissions': (('view_own_file', 'Can view own Archaeological file'), ('change_own_file', 'Can change own Archaeological file'), ('delete_own_file', 'Can delete own Archaeological file'), ('close_file', 'Can close File')),
},
bases=(archaeological_operations.models.ClosedItem,
ishtar_common.models.DocumentItem, ishtar_common.models.StatisticItem, ishtar_common.models.TemplateItem, models.Model, ishtar_common.models.CachedGen, ishtar_common.models_common.FixAssociated, ishtar_common.models.OwnPerms, ishtar_common.models.ValueGetter, ishtar_common.models.ShortMenuItem, ishtar_common.models.DashboardFormItem),
diff --git a/archaeological_files/models.py b/archaeological_files/models.py
index 125a61a80..bea129ea8 100644
--- a/archaeological_files/models.py
+++ b/archaeological_files/models.py
@@ -873,7 +873,6 @@ class File(
verbose_name_plural = _("Archaeological files")
permissions = (
("view_own_file", "Can view own Archaeological file"),
- ("add_own_file", "Can add own Archaeological file"),
("change_own_file", "Can change own Archaeological file"),
("delete_own_file", "Can delete own Archaeological file"),
("close_file", "Can close File"),
diff --git a/archaeological_finds/ishtar_menu.py b/archaeological_finds/ishtar_menu.py
index 6ca50182e..717cb6379 100644
--- a/archaeological_finds/ishtar_menu.py
+++ b/archaeological_finds/ishtar_menu.py
@@ -50,7 +50,6 @@ MENU_SECTIONS = [
model=models.Find,
access_controls=[
"archeological_finds.add_find",
- "archeological_finds.add_own_find"
],
),
MenuItem(
diff --git a/archaeological_finds/migrations/0101_squashed.py b/archaeological_finds/migrations/0101_squashed.py
index 4cae8d0d5..aa70e2e83 100644
--- a/archaeological_finds/migrations/0101_squashed.py
+++ b/archaeological_finds/migrations/0101_squashed.py
@@ -99,7 +99,7 @@ class Migration(migrations.Migration):
options={
'verbose_name': 'Base find',
'verbose_name_plural': 'Base finds',
- 'permissions': (('view_own_basefind', 'Can view own Base find'), ('add_own_basefind', 'Can add own Base find'), ('change_own_basefind', 'Can change own Base find'), ('delete_own_basefind', 'Can delete own Base find')),
+ 'permissions': (('view_own_basefind', 'Can view own Base find'), ('change_own_basefind', 'Can change own Base find'), ('delete_own_basefind', 'Can delete own Base find')),
},
bases=(ishtar_common.models.StatisticItem, ishtar_common.models.TemplateItem, models.Model, ishtar_common.models.CachedGen, ishtar_common.models_common.FixAssociated, ishtar_common.models.OwnPerms, ishtar_common.models.ValueGetter),
),
@@ -231,7 +231,7 @@ class Migration(migrations.Migration):
'verbose_name': 'Find',
'verbose_name_plural': 'Finds',
'ordering': ('cached_label',),
- 'permissions': (('view_own_find', 'Can view own Find'), ('add_own_find', 'Can add own Find'), ('change_own_find', 'Can change own Find'), ('delete_own_find', 'Can delete own Find')),
+ 'permissions': (('view_own_find', 'Can view own Find'), ('change_own_find', 'Can change own Find'), ('delete_own_find', 'Can delete own Find')),
},
bases=(ishtar_common.models.ValueGetter, ishtar_common.models.DocumentItem, ishtar_common.models.StatisticItem, ishtar_common.models.TemplateItem, models.Model, ishtar_common.models.CachedGen, ishtar_common.models_common.FixAssociated, ishtar_common.models.ImageContainerModel, ishtar_common.models.OwnPerms, ishtar_common.models.MainItem),
),
@@ -598,7 +598,7 @@ class Migration(migrations.Migration):
'verbose_name': 'Treatment',
'verbose_name_plural': 'Treatments',
'ordering': ('-year', '-index', '-start_date'),
- 'permissions': (('view_own_treatment', 'Can view own Treatment'), ('add_own_treatment', 'Can add own Treatment'), ('change_own_treatment', 'Can change own Treatment'), ('delete_own_treatment', 'Can delete own Treatment')),
+ 'permissions': (('view_own_treatment', 'Can view own Treatment'), ('change_own_treatment', 'Can change own Treatment'), ('delete_own_treatment', 'Can delete own Treatment')),
},
bases=(ishtar_common.models.DashboardFormItem,
ishtar_common.models.ValueGetter,
@@ -659,7 +659,7 @@ class Migration(migrations.Migration):
'verbose_name': 'Treatment request',
'verbose_name_plural': 'Treatment requests',
'ordering': ('cached_label',),
- 'permissions': (('view_own_treatmentfile', 'Can view own Treatment request'), ('add_own_treatmentfile', 'Can add own Treatment request'), ('change_own_treatmentfile', 'Can change own Treatment request'), ('delete_own_treatmentfile', 'Can delete own Treatment request')),
+ 'permissions': (('view_own_treatmentfile', 'Can view own Treatment request'), ('change_own_treatmentfile', 'Can change own Treatment request'), ('delete_own_treatmentfile', 'Can delete own Treatment request')),
},
bases=(ishtar_common.models.DashboardFormItem,
archaeological_operations.models.ClosedItem,
diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py
index 8ea623d98..fa3bdb677 100644
--- a/archaeological_finds/models_finds.py
+++ b/archaeological_finds/models_finds.py
@@ -635,12 +635,6 @@ class BaseFind(
class Meta:
verbose_name = _("Base find")
verbose_name_plural = _("Base finds")
- permissions = (
- ("view_own_basefind", "Can view own Base find"),
- ("add_own_basefind", "Can add own Base find"),
- ("change_own_basefind", "Can change own Base find"),
- ("delete_own_basefind", "Can delete own Base find"),
- )
indexes = [
GinIndex(fields=["data"]),
]
@@ -2365,7 +2359,6 @@ class Find(
verbose_name_plural = _("Finds")
permissions = (
("view_own_find", "Can view own Find"),
- ("add_own_find", "Can add own Find"),
("change_own_find", "Can change own Find"),
("delete_own_find", "Can delete own Find"),
)
diff --git a/archaeological_finds/models_treatments.py b/archaeological_finds/models_treatments.py
index a26df8b6a..3adb73624 100644
--- a/archaeological_finds/models_treatments.py
+++ b/archaeological_finds/models_treatments.py
@@ -316,7 +316,6 @@ class Treatment(
unique_together = ("year", "index")
permissions = (
("view_own_treatment", "Can view own Treatment"),
- ("add_own_treatment", "Can add own Treatment"),
("change_own_treatment", "Can change own Treatment"),
("delete_own_treatment", "Can delete own Treatment"),
)
@@ -1291,7 +1290,6 @@ class TreatmentFile(
unique_together = ("year", "index")
permissions = (
("view_own_treatmentfile", "Can view own Treatment request"),
- ("add_own_treatmentfile", "Can add own Treatment request"),
("change_own_treatmentfile", "Can change own Treatment request"),
("delete_own_treatmentfile", "Can delete own Treatment request"),
)
diff --git a/archaeological_finds/urls.py b/archaeological_finds/urls.py
index 935deba17..38675ecdb 100644
--- a/archaeological_finds/urls.py
+++ b/archaeological_finds/urls.py
@@ -42,7 +42,7 @@ urlpatterns = [
url(
r"find_creation/(?P<step>.+)?$",
check_permissions(
- ["archaeological_finds.add_find", "archaeological_finds.add_own_find"]
+ ["archaeological_finds.add_find"]
)(views.find_creation_wizard),
name="find_creation",
),
@@ -176,8 +176,7 @@ urlpatterns = [
url(
r"^findbasket-add-treatmentfile/(?P<pk>[0-9-]+)/$",
check_permissions(
- ["archaeological_finds.add_treatmentfile",
- "archaeological_finds.add_own_treatmentfile"]
+ ["archaeological_finds.add_treatmentfile"]
)(views.findbasket_treatmentfile_add),
name="findbasket-add-treatmentfile",
),
diff --git a/archaeological_operations/ishtar_menu.py b/archaeological_operations/ishtar_menu.py
index 8dd1049e8..d53ec6dbf 100644
--- a/archaeological_operations/ishtar_menu.py
+++ b/archaeological_operations/ishtar_menu.py
@@ -50,7 +50,6 @@ MENU_SECTIONS = [
model=models.Operation,
access_controls=[
"archaeological_operations.add_operation",
- "archaeological_operations.add_own_operation"
],
),
MenuItem(
@@ -162,7 +161,6 @@ MENU_SECTIONS = [
model=models.ArchaeologicalSite,
access_controls=[
"archaeological_operations.add_archaeologicalsite",
- "archaeological_operations.add_own_archaeologicalsite",
],
),
MenuItem(
diff --git a/archaeological_operations/migrations/0101_squashed.py b/archaeological_operations/migrations/0101_squashed.py
index 78b947aea..b8fd3156f 100644
--- a/archaeological_operations/migrations/0101_squashed.py
+++ b/archaeological_operations/migrations/0101_squashed.py
@@ -84,7 +84,7 @@ class Migration(migrations.Migration):
'verbose_name': 'Administrative act',
'verbose_name_plural': 'Administrative acts',
'ordering': ('year', 'signature_date', 'index', 'act_type'),
- 'permissions': (('view_own_administrativeact', 'Can view own Administrative act'), ('add_own_administrativeact', 'Can add own Administrative act'), ('change_own_administrativeact', 'Can change own Administrative act'), ('delete_own_administrativeact', 'Can delete own Administrative act')),
+ 'permissions': (('view_own_administrativeact', 'Can view own Administrative act'), ('change_own_administrativeact', 'Can change own Administrative act'), ('delete_own_administrativeact', 'Can delete own Administrative act')),
},
bases=(ishtar_common.models.StatisticItem,
ishtar_common.models.TemplateItem, models.Model,
@@ -137,7 +137,7 @@ class Migration(migrations.Migration):
options={
'verbose_name': 'Archaeological site',
'verbose_name_plural': 'Archaeological sites',
- 'permissions': (('view_own_archaeologicalsite', 'Can view own Archaeological site'), ('add_own_archaeologicalsite', 'Can add own Archaeological site'), ('change_own_archaeologicalsite', 'Can change own Archaeological site'), ('delete_own_archaeologicalsite', 'Can delete own Archaeological site')),
+ 'permissions': (('view_own_archaeologicalsite', 'Can view own Archaeological site'), ('change_own_archaeologicalsite', 'Can change own Archaeological site'), ('delete_own_archaeologicalsite', 'Can delete own Archaeological site')),
},
bases=(ishtar_common.models.DocumentItem,
ishtar_common.models.StatisticItem,
@@ -444,7 +444,7 @@ class Migration(migrations.Migration):
'verbose_name': 'Operation',
'verbose_name_plural': 'Operations',
'ordering': ('cached_label',),
- 'permissions': (('view_own_operation', 'Can view own Operation'), ('add_own_operation', 'Can add own Operation'), ('change_own_operation', 'Can change own Operation'), ('delete_own_operation', 'Can delete own Operation'), ('close_operation', 'Can close Operation')),
+ 'permissions': (('view_own_operation', 'Can view own Operation'), ('change_own_operation', 'Can change own Operation'), ('delete_own_operation', 'Can delete own Operation'), ('close_operation', 'Can close Operation')),
},
bases=(archaeological_operations.models.ClosedItem,
ishtar_common.models.DocumentItem,
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py
index 3f4f252c3..9d0f8142b 100644
--- a/archaeological_operations/models.py
+++ b/archaeological_operations/models.py
@@ -731,7 +731,6 @@ class ArchaeologicalSite(
verbose_name_plural = _("Archaeological sites")
permissions = (
("view_own_archaeologicalsite", "Can view own Archaeological site"),
- ("add_own_archaeologicalsite", "Can add own Archaeological site"),
("change_own_archaeologicalsite", "Can change own Archaeological site"),
("delete_own_archaeologicalsite", "Can delete own Archaeological site"),
)
@@ -1804,7 +1803,6 @@ class Operation(
verbose_name_plural = _("Operations")
permissions = (
("view_own_operation", "Can view own Operation"),
- ("add_own_operation", "Can add own Operation"),
("change_own_operation", "Can change own Operation"),
("delete_own_operation", "Can delete own Operation"),
("close_operation", "Can close Operation"),
@@ -3199,7 +3197,6 @@ class AdministrativeAct(DocumentItem, BaseHistorizedItem, OwnPerms, ValueGetter,
verbose_name_plural = _("Administrative acts")
permissions = (
("view_own_administrativeact", "Can view own Administrative act"),
- ("add_own_administrativeact", "Can add own Administrative act"),
("change_own_administrativeact", "Can change own Administrative act"),
("delete_own_administrativeact", "Can delete own Administrative act"),
)
diff --git a/archaeological_operations/urls.py b/archaeological_operations/urls.py
index 29b68a349..6868679cc 100644
--- a/archaeological_operations/urls.py
+++ b/archaeological_operations/urls.py
@@ -90,8 +90,7 @@ urlpatterns = [
url(
r"operation_creation/(?P<step>.+)?$",
check_permissions(
- ["archaeological_operations.add_operation",
- "archaeological_operations.add_own_operation"]
+ ["archaeological_operations.add_operation"]
)(views.operation_creation_wizard),
name="operation_creation",
),
@@ -286,8 +285,7 @@ urlpatterns = [
url(
r"site_creation/(?P<step>.+)?$",
check_permissions(
- ["archaeological_operations.add_archaeologicalsite",
- "archaeological_operations.add_own_archaeologicalsite"]
+ ["archaeological_operations.add_archaeologicalsite"]
)(views.site_creation_wizard),
name="site_creation",
),
diff --git a/archaeological_warehouse/ishtar_menu.py b/archaeological_warehouse/ishtar_menu.py
index 9b7cb98cb..65f7838d7 100644
--- a/archaeological_warehouse/ishtar_menu.py
+++ b/archaeological_warehouse/ishtar_menu.py
@@ -96,7 +96,6 @@ MENU_SECTIONS = [
model=models.Warehouse,
access_controls=[
"archaeological_warehouse.add_container",
- "archaeological_warehouse.add_own_container"
],
),
MenuItem(
@@ -140,8 +139,8 @@ MENU_SECTIONS = [
access_controls=['change_warehouse',]),
MenuItem('warehouse_recording', _("Recording"),
model=Treatment,
- access_controls=['add_treatment', 'add_own_treatment']),
+ access_controls=['add_treatment']),
MenuItem('warehouse_lend', _("Lending"),
model=Treatment,
- access_controls=['add_treatment', 'add_own_treatment']),
+ access_controls=['add_treatment']),
"""
diff --git a/archaeological_warehouse/migrations/0101_squashed.py b/archaeological_warehouse/migrations/0101_squashed.py
index bb9a3a4b0..0a6472a52 100644
--- a/archaeological_warehouse/migrations/0101_squashed.py
+++ b/archaeological_warehouse/migrations/0101_squashed.py
@@ -88,7 +88,7 @@ class Migration(migrations.Migration):
'verbose_name': 'Container',
'verbose_name_plural': 'Containers',
'ordering': ('cached_label',),
- 'permissions': (('view_own_container', 'Can view own Container'), ('add_own_container', 'Can add own Container'), ('change_own_container', 'Can change own Container'), ('delete_own_container', 'Can delete own Container')),
+ 'permissions': (('view_own_container', 'Can view own Container'), ('change_own_container', 'Can change own Container'), ('delete_own_container', 'Can delete own Container')),
},
bases=(ishtar_common.models.DocumentItem,
ishtar_common.models.StatisticItem, ishtar_common.models.TemplateItem, models.Model, ishtar_common.models.CachedGen, ishtar_common.models_common.FixAssociated, ishtar_common.models.ImageContainerModel, ishtar_common.models.OwnPerms, ishtar_common.models.MainItem),
@@ -180,7 +180,7 @@ class Migration(migrations.Migration):
options={
'verbose_name': 'Warehouse',
'verbose_name_plural': 'Warehouses',
- 'permissions': (('view_own_warehouse', 'Can view own Warehouse'), ('add_own_warehouse', 'Can add own Warehouse'), ('change_own_warehouse', 'Can change own Warehouse'), ('delete_own_warehouse', 'Can delete own Warehouse')),
+ 'permissions': (('view_own_warehouse', 'Can view own Warehouse'), ('change_own_warehouse', 'Can change own Warehouse'), ('delete_own_warehouse', 'Can delete own Warehouse')),
},
bases=(ishtar_common.models.StatisticItem,
ishtar_common.models.TemplateItem, ishtar_common.models.DocumentItem, models.Model, ishtar_common.models.CachedGen, ishtar_common.models_common.FixAssociated, ishtar_common.models.ImageContainerModel, ishtar_common.models.DashboardFormItem, ishtar_common.models.OwnPerms, ishtar_common.models.MainItem),
diff --git a/archaeological_warehouse/migrations/0111_auto_20210225_1039.py b/archaeological_warehouse/migrations/0111_auto_20210225_1039.py
index 42142f01c..232cae761 100644
--- a/archaeological_warehouse/migrations/0111_auto_20210225_1039.py
+++ b/archaeological_warehouse/migrations/0111_auto_20210225_1039.py
@@ -13,7 +13,7 @@ class Migration(migrations.Migration):
operations = [
migrations.AlterModelOptions(
name='container',
- options={'ordering': ('location', 'index', 'cached_label'), 'permissions': (('view_own_container', 'Can view own Container'), ('add_own_container', 'Can add own Container'), ('change_own_container', 'Can change own Container'), ('delete_own_container', 'Can delete own Container')), 'verbose_name': 'Container', 'verbose_name_plural': 'Containers'},
+ options={'ordering': ('location', 'index', 'cached_label'), 'permissions': (('view_own_container', 'Can view own Container'), ('change_own_container', 'Can change own Container'), ('delete_own_container', 'Can delete own Container')), 'verbose_name': 'Container', 'verbose_name_plural': 'Containers'},
),
migrations.AlterField(
model_name='container',
diff --git a/archaeological_warehouse/models.py b/archaeological_warehouse/models.py
index 14711e046..d39e90e97 100644
--- a/archaeological_warehouse/models.py
+++ b/archaeological_warehouse/models.py
@@ -476,7 +476,6 @@ class Warehouse(
verbose_name_plural = _("Warehouses")
permissions = (
("view_own_warehouse", "Can view own Warehouse"),
- ("add_own_warehouse", "Can add own Warehouse"),
("change_own_warehouse", "Can change own Warehouse"),
("delete_own_warehouse", "Can delete own Warehouse"),
)
@@ -1267,7 +1266,6 @@ class Container(
unique_together = [("location", "container_type", "parent", "reference")]
permissions = (
("view_own_container", "Can view own Container"),
- ("add_own_container", "Can add own Container"),
("change_own_container", "Can change own Container"),
("delete_own_container", "Can delete own Container"),
)
diff --git a/archaeological_warehouse/urls.py b/archaeological_warehouse/urls.py
index 78bc5945c..e5128c81f 100644
--- a/archaeological_warehouse/urls.py
+++ b/archaeological_warehouse/urls.py
@@ -192,8 +192,7 @@ urlpatterns = [
url(
r"^container_creation/(?P<step>.+)?$",
check_permissions(
- ["archaeological_warehouse.add_container",
- "archaeological_warehouse.add_own_container"]
+ ["archaeological_warehouse.add_container"]
)(views.container_creation_wizard),
name="container_creation",
),
diff --git a/fixtures/initial_data-auth-fr.json b/fixtures/initial_data-auth-fr.json
index 6ae64f829..56a933768 100644
--- a/fixtures/initial_data-auth-fr.json
+++ b/fixtures/initial_data-auth-fr.json
@@ -882,17 +882,6 @@
{
"model": "auth.permission",
"fields": {
- "name": "Can add own Organization",
- "content_type": [
- "ishtar_common",
- "organization"
- ],
- "codename": "add_own_organization"
- }
-},
-{
- "model": "auth.permission",
- "fields": {
"name": "Can change own Organization",
"content_type": [
"ishtar_common",
@@ -1003,17 +992,6 @@
{
"model": "auth.permission",
"fields": {
- "name": "Can add own Person",
- "content_type": [
- "ishtar_common",
- "person"
- ],
- "codename": "add_own_person"
- }
-},
-{
- "model": "auth.permission",
- "fields": {
"name": "Can change own Person",
"content_type": [
"ishtar_common",
@@ -1553,17 +1531,6 @@
{
"model": "auth.permission",
"fields": {
- "name": "Can add own Archaelogical file",
- "content_type": [
- "archaeological_files",
- "file"
- ],
- "codename": "add_own_file"
- }
-},
-{
- "model": "auth.permission",
- "fields": {
"name": "Can change own Archaelogical file",
"content_type": [
"archaeological_files",
@@ -1784,17 +1751,6 @@
{
"model": "auth.permission",
"fields": {
- "name": "Can add own Archaeological site",
- "content_type": [
- "archaeological_operations",
- "archaeologicalsite"
- ],
- "codename": "add_own_archaeologicalsite"
- }
-},
-{
- "model": "auth.permission",
- "fields": {
"name": "Can change own Archaeological site",
"content_type": [
"archaeological_operations",
@@ -1905,17 +1861,6 @@
{
"model": "auth.permission",
"fields": {
- "name": "Can add own Operation",
- "content_type": [
- "archaeological_operations",
- "operation"
- ],
- "codename": "add_own_operation"
- }
-},
-{
- "model": "auth.permission",
- "fields": {
"name": "Can change own Operation",
"content_type": [
"archaeological_operations",
@@ -2103,17 +2048,6 @@
{
"model": "auth.permission",
"fields": {
- "name": "Can add own Document",
- "content_type": [
- "ishtar_common",
- "document"
- ],
- "codename": "add_own_document"
- }
-},
-{
- "model": "auth.permission",
- "fields": {
"name": "Can change own Document",
"content_type": [
"ishtar_common",
@@ -2257,17 +2191,6 @@
{
"model": "auth.permission",
"fields": {
- "name": "Can add own Administrative act",
- "content_type": [
- "archaeological_operations",
- "administrativeact"
- ],
- "codename": "add_own_administrativeact"
- }
-},
-{
- "model": "auth.permission",
- "fields": {
"name": "Can change own Administrative act",
"content_type": [
"archaeological_operations",
@@ -2675,17 +2598,6 @@
{
"model": "auth.permission",
"fields": {
- "name": "Can add own Context Record",
- "content_type": [
- "archaeological_context_records",
- "contextrecord"
- ],
- "codename": "add_own_contextrecord"
- }
-},
-{
- "model": "auth.permission",
- "fields": {
"name": "Can change own Context Record",
"content_type": [
"archaeological_context_records",
@@ -2862,17 +2774,6 @@
{
"model": "auth.permission",
"fields": {
- "name": "Can add own Warehouse",
- "content_type": [
- "archaeological_warehouse",
- "warehouse"
- ],
- "codename": "add_own_warehouse"
- }
-},
-{
- "model": "auth.permission",
- "fields": {
"name": "Can change own Warehouse",
"content_type": [
"archaeological_warehouse",
@@ -3170,50 +3071,6 @@
{
"model": "auth.permission",
"fields": {
- "name": "Can view own Base find",
- "content_type": [
- "archaeological_finds",
- "basefind"
- ],
- "codename": "view_own_basefind"
- }
-},
-{
- "model": "auth.permission",
- "fields": {
- "name": "Can add own Base find",
- "content_type": [
- "archaeological_finds",
- "basefind"
- ],
- "codename": "add_own_basefind"
- }
-},
-{
- "model": "auth.permission",
- "fields": {
- "name": "Can change own Base find",
- "content_type": [
- "archaeological_finds",
- "basefind"
- ],
- "codename": "change_own_basefind"
- }
-},
-{
- "model": "auth.permission",
- "fields": {
- "name": "Can delete own Base find",
- "content_type": [
- "archaeological_finds",
- "basefind"
- ],
- "codename": "delete_own_basefind"
- }
-},
-{
- "model": "auth.permission",
- "fields": {
"name": "Can add find basket",
"content_type": [
"archaeological_finds",
@@ -3335,17 +3192,6 @@
{
"model": "auth.permission",
"fields": {
- "name": "Can add own Find",
- "content_type": [
- "archaeological_finds",
- "find"
- ],
- "codename": "add_own_find"
- }
-},
-{
- "model": "auth.permission",
- "fields": {
"name": "Can change own Find",
"content_type": [
"archaeological_finds",
@@ -3489,17 +3335,6 @@
{
"model": "auth.permission",
"fields": {
- "name": "Can add own Treatment",
- "content_type": [
- "archaeological_finds",
- "treatment"
- ],
- "codename": "add_own_treatment"
- }
-},
-{
- "model": "auth.permission",
- "fields": {
"name": "Can change own Treatment",
"content_type": [
"archaeological_finds",
@@ -4039,17 +3874,6 @@
{
"model": "auth.permission",
"fields": {
- "name": "Can add own Treatment request",
- "content_type": [
- "archaeological_finds",
- "treatmentfile"
- ],
- "codename": "add_own_treatmentfile"
- }
-},
-{
- "model": "auth.permission",
- "fields": {
"name": "Can change own Treatment request",
"content_type": [
"archaeological_finds",
@@ -4259,17 +4083,6 @@
{
"model": "auth.permission",
"fields": {
- "name": "Can add own Author",
- "content_type": [
- "ishtar_common",
- "author"
- ],
- "codename": "add_own_author"
- }
-},
-{
- "model": "auth.permission",
- "fields": {
"name": "Can change own Author",
"content_type": [
"ishtar_common",
@@ -4413,17 +4226,6 @@
{
"model": "auth.permission",
"fields": {
- "name": "Can add own Container",
- "content_type": [
- "archaeological_warehouse",
- "container"
- ],
- "codename": "add_own_container"
- }
-},
-{
- "model": "auth.permission",
- "fields": {
"name": "Can change own Container",
"content_type": [
"archaeological_warehouse",
@@ -4896,17 +4698,6 @@
{
"model": "auth.permission",
"fields": {
- "name": "Can add own Geographic - Vector data",
- "content_type": [
- "ishtar_common",
- "geovectordata"
- ],
- "codename": "add_own_geovectordata"
- }
-},
-{
- "model": "auth.permission",
- "fields": {
"name": "Can change own Geographic - Vector data",
"content_type": [
"ishtar_common",
@@ -5460,19 +5251,6 @@
{
"model": "auth.group",
"fields": {
- "name": "Actes administratifs rattach\u00e9s : ajout",
- "permissions": [
- [
- "add_own_administrativeact",
- "archaeological_operations",
- "administrativeact"
- ]
- ]
- }
-},
-{
- "model": "auth.group",
- "fields": {
"name": "Actes administratifs rattach\u00e9s : modification/suppression",
"permissions": [
[
@@ -5504,19 +5282,6 @@
{
"model": "auth.group",
"fields": {
- "name": "D\u00e9p\u00f4ts rattach\u00e9s : ajout",
- "permissions": [
- [
- "add_own_warehouse",
- "archaeological_warehouse",
- "warehouse"
- ]
- ]
- }
-},
-{
- "model": "auth.group",
- "fields": {
"name": "D\u00e9p\u00f4ts rattach\u00e9s : modification/suppression",
"permissions": [
[
@@ -5548,19 +5313,6 @@
{
"model": "auth.group",
"fields": {
- "name": "Documents rattach\u00e9s : ajout",
- "permissions": [
- [
- "add_own_document",
- "ishtar_common",
- "document"
- ]
- ]
- }
-},
-{
- "model": "auth.group",
- "fields": {
"name": "Documents rattach\u00e9s : modification/suppression",
"permissions": [
[
@@ -5592,19 +5344,6 @@
{
"model": "auth.group",
"fields": {
- "name": "Dossiers rattach\u00e9s : ajout",
- "permissions": [
- [
- "add_own_file",
- "archaeological_files",
- "file"
- ]
- ]
- }
-},
-{
- "model": "auth.group",
- "fields": {
"name": "Dossiers rattach\u00e9s : modification/suppression",
"permissions": [
[
@@ -5636,37 +5375,9 @@
{
"model": "auth.group",
"fields": {
- "name": "Mobilier rattach\u00e9 : ajout",
- "permissions": [
- [
- "add_own_basefind",
- "archaeological_finds",
- "basefind"
- ],
- [
- "add_own_find",
- "archaeological_finds",
- "find"
- ]
- ]
- }
-},
-{
- "model": "auth.group",
- "fields": {
"name": "Mobilier rattach\u00e9 : modification/suppression",
"permissions": [
[
- "change_own_basefind",
- "archaeological_finds",
- "basefind"
- ],
- [
- "delete_own_basefind",
- "archaeological_finds",
- "basefind"
- ],
- [
"change_own_find",
"archaeological_finds",
"find"
@@ -5685,11 +5396,6 @@
"name": "Mobilier rattach\u00e9 : lecture",
"permissions": [
[
- "view_own_basefind",
- "archaeological_finds",
- "basefind"
- ],
- [
"view_own_find",
"archaeological_finds",
"find"
@@ -5700,19 +5406,6 @@
{
"model": "auth.group",
"fields": {
- "name": "Op\u00e9rations rattach\u00e9es : ajout",
- "permissions": [
- [
- "add_own_operation",
- "archaeological_operations",
- "operation"
- ]
- ]
- }
-},
-{
- "model": "auth.group",
- "fields": {
"name": "Op\u00e9rations rattach\u00e9es : modification/suppression",
"permissions": [
[
@@ -5744,19 +5437,6 @@
{
"model": "auth.group",
"fields": {
- "name": "Organisations rattach\u00e9es : ajout",
- "permissions": [
- [
- "add_own_organization",
- "ishtar_common",
- "organization"
- ]
- ]
- }
-},
-{
- "model": "auth.group",
- "fields": {
"name": "Organisations rattach\u00e9es : modification/suppression",
"permissions": [
[
@@ -5788,19 +5468,6 @@
{
"model": "auth.group",
"fields": {
- "name": "Traitements rattach\u00e9s : ajout",
- "permissions": [
- [
- "add_own_treatment",
- "archaeological_finds",
- "treatment"
- ]
- ]
- }
-},
-{
- "model": "auth.group",
- "fields": {
"name": "Traitements rattach\u00e9s : modification/suppression",
"permissions": [
[
@@ -5832,19 +5499,6 @@
{
"model": "auth.group",
"fields": {
- "name": "UE rattach\u00e9es : ajout",
- "permissions": [
- [
- "add_own_contextrecord",
- "archaeological_context_records",
- "contextrecord"
- ]
- ]
- }
-},
-{
- "model": "auth.group",
- "fields": {
"name": "UE rattach\u00e9es : modification/suppression",
"permissions": [
[
@@ -5876,19 +5530,6 @@
{
"model": "auth.group",
"fields": {
- "name": "Personnes rattach\u00e9es : ajout",
- "permissions": [
- [
- "add_own_person",
- "ishtar_common",
- "person"
- ]
- ]
- }
-},
-{
- "model": "auth.group",
- "fields": {
"name": "Personnes rattach\u00e9es : modification/suppression",
"permissions": [
[
@@ -5964,19 +5605,6 @@
{
"model": "auth.group",
"fields": {
- "name": "Demandes de traitement rattach\u00e9es : ajout",
- "permissions": [
- [
- "add_own_treatmentfile",
- "archaeological_finds",
- "treatmentfile"
- ]
- ]
- }
-},
-{
- "model": "auth.group",
- "fields": {
"name": "Demandes de traitement rattach\u00e9es : lecture",
"permissions": [
[
@@ -6140,19 +5768,6 @@
{
"model": "auth.group",
"fields": {
- "name": "Entit\u00e9s (EA) rattach\u00e9es : ajout",
- "permissions": [
- [
- "add_own_archaeologicalsite",
- "archaeological_operations",
- "archaeologicalsite"
- ]
- ]
- }
-},
-{
- "model": "auth.group",
- "fields": {
"name": "Entit\u00e9s (EA) rattach\u00e9es : lecture",
"permissions": [
[
@@ -6236,19 +5851,6 @@
{
"model": "auth.group",
"fields": {
- "name": "Donn\u00e9es g\u00e9ographiques rattach\u00e9es : ajout",
- "permissions": [
- [
- "add_own_geovectordata",
- "ishtar_common",
- "geovectordata"
- ]
- ]
- }
-},
-{
- "model": "auth.group",
- "fields": {
"name": "Donn\u00e9es g\u00e9ographiques rattach\u00e9es : lecture",
"permissions": [
[
@@ -6447,17 +6049,6 @@
{
"model": "auth.permission",
"fields": {
- "name": "Can add own Biographical note",
- "content_type": [
- "ishtar_common",
- "biographicalnote"
- ],
- "codename": "add_own_biographicalnote"
- }
- },
- {
- "model": "auth.permission",
- "fields": {
"name": "Can change own Biographical note",
"content_type": [
"ishtar_common",
@@ -6532,19 +6123,6 @@
{
"model": "auth.group",
"fields": {
- "name": "Notices biographiques rattach\u00e9es : ajout",
- "permissions": [
- [
- "add_own_biographicalnote",
- "ishtar_common",
- "biographicalnote"
- ]
- ]
- }
- },
- {
- "model": "auth.group",
- "fields": {
"name": "Notices biographiques rattach\u00e9es : lecture",
"permissions": [
[
diff --git a/ishtar_common/fixtures/initial_data-fr.json b/ishtar_common/fixtures/initial_data-fr.json
index 980ed3d1a..bff92b4ed 100644
--- a/ishtar_common/fixtures/initial_data-fr.json
+++ b/ishtar_common/fixtures/initial_data-fr.json
@@ -184,90 +184,60 @@
"Personnes : lecture"
],
[
- "Actes administratifs rattach\u00e9s : ajout"
- ],
- [
"Actes administratifs rattach\u00e9s : modification/suppression"
],
[
"Actes administratifs rattach\u00e9s : lecture"
],
[
- "D\u00e9p\u00f4ts rattach\u00e9s : ajout"
- ],
- [
"D\u00e9p\u00f4ts rattach\u00e9s : modification/suppression"
],
[
"D\u00e9p\u00f4ts rattach\u00e9s : lecture"
],
[
- "Documents rattach\u00e9s : ajout"
- ],
- [
"Documents rattach\u00e9s : modification/suppression"
],
[
"Documents rattach\u00e9s : lecture"
],
[
- "Dossiers rattach\u00e9s : ajout"
- ],
- [
"Dossiers rattach\u00e9s : modification/suppression"
],
[
"Dossiers rattach\u00e9s : lecture"
],
[
- "Mobilier rattach\u00e9 : ajout"
- ],
- [
"Mobilier rattach\u00e9 : modification/suppression"
],
[
"Mobilier rattach\u00e9 : lecture"
],
[
- "Op\u00e9rations rattach\u00e9es : ajout"
- ],
- [
"Op\u00e9rations rattach\u00e9es : modification/suppression"
],
[
"Op\u00e9rations rattach\u00e9es : lecture"
],
[
- "Organisations rattach\u00e9es : ajout"
- ],
- [
"Organisations rattach\u00e9es : modification/suppression"
],
[
"Organisations rattach\u00e9es : lecture"
],
[
- "Traitements rattach\u00e9s : ajout"
- ],
- [
"Traitements rattach\u00e9s : modification/suppression"
],
[
"Traitements rattach\u00e9s : lecture"
],
[
- "UE rattach\u00e9es : ajout"
- ],
- [
"UE rattach\u00e9es : modification/suppression"
],
[
"UE rattach\u00e9es : lecture"
],
[
- "Personnes rattach\u00e9es : ajout"
- ],
- [
"Personnes rattach\u00e9es : modification/suppression"
],
[
@@ -283,9 +253,6 @@
"Demandes de traitement : lecture"
],
[
- "Demandes de traitement rattach\u00e9es : ajout"
- ],
- [
"Demandes de traitement rattach\u00e9es : lecture"
],
[
@@ -353,18 +320,12 @@
"D\u00e9p\u00f4ts rattach\u00e9s : lecture"
],
[
- "Documents rattach\u00e9s : ajout"
- ],
- [
"Documents rattach\u00e9s : modification/suppression"
],
[
"Documents rattach\u00e9s : lecture"
],
[
- "Mobilier rattach\u00e9 : ajout"
- ],
- [
"Mobilier rattach\u00e9 : modification/suppression"
],
[
@@ -374,24 +335,15 @@
"Op\u00e9rations rattach\u00e9es : lecture"
],
[
- "Organisations rattach\u00e9es : ajout"
- ],
- [
"Traitements rattach\u00e9s : lecture"
],
[
- "UE rattach\u00e9es : ajout"
- ],
- [
"UE rattach\u00e9es : modification/suppression"
],
[
"UE rattach\u00e9es : lecture"
],
[
- "Personnes rattach\u00e9es : ajout"
- ],
- [
"Demandes de traitement rattach\u00e9es : lecture"
],
[
@@ -621,9 +573,6 @@
"D\u00e9p\u00f4ts rattach\u00e9s : lecture"
],
[
- "Documents rattach\u00e9s : ajout"
- ],
- [
"Documents rattach\u00e9s : modification/suppression"
],
[
@@ -633,9 +582,6 @@
"Dossiers rattach\u00e9s : lecture"
],
[
- "Mobilier rattach\u00e9 : ajout"
- ],
- [
"Mobilier rattach\u00e9 : modification/suppression"
],
[
@@ -648,24 +594,15 @@
"Op\u00e9rations rattach\u00e9es : lecture"
],
[
- "Organisations rattach\u00e9es : ajout"
- ],
- [
"Traitements rattach\u00e9s : lecture"
],
[
- "UE rattach\u00e9es : ajout"
- ],
- [
"UE rattach\u00e9es : modification/suppression"
],
[
"UE rattach\u00e9es : lecture"
],
[
- "Personnes rattach\u00e9es : ajout"
- ],
- [
"Demandes de traitement rattach\u00e9es : lecture"
],
[
diff --git a/ishtar_common/ishtar_menu.py b/ishtar_common/ishtar_menu.py
index 8cf047d51..9b18c9fd4 100644
--- a/ishtar_common/ishtar_menu.py
+++ b/ishtar_common/ishtar_menu.py
@@ -109,7 +109,6 @@ MENU_SECTIONS = [
model=models.Organization,
access_controls=[
"ishtar_common.add_organization",
- "ishtar_common.add_own_organization",
],
),
MenuItem(
@@ -118,7 +117,6 @@ MENU_SECTIONS = [
model=models.Organization,
access_controls=[
"ishtar_common.add_organization",
- "ishtar_common.add_own_organization",
],
),
MenuItem(
@@ -166,15 +164,19 @@ MENU_SECTIONS = [
"import-list",
_("Current imports"),
model=models.Import,
- access_controls=["ishtar_common.view_import",
- "ishtar_common.change_import"],
+ access_controls=[
+ "ishtar_common.view_import",
+ "ishtar_common.view_own_import",
+ ],
),
MenuItem(
"import-list-old",
_("Old imports"),
model=models.Import,
- access_controls=["ishtar_common.view_import",
- "ishtar_common.change_import"],
+ access_controls=[
+ "ishtar_common.view_import",
+ "ishtar_common.view_own_import",
+ ],
),
],
),
@@ -196,8 +198,7 @@ MENU_SECTIONS = [
"document/create",
_("Creation"),
model=models.Document,
- access_controls=["ishtar_common.add_document",
- "ishtar_common.add_own_document"],
+ access_controls=["ishtar_common.add_document"],
),
MenuItem(
"document/edit",
diff --git a/ishtar_common/migrations/0201_squashed.py b/ishtar_common/migrations/0201_squashed.py
index aa5582f9a..6a21afd2f 100644
--- a/ishtar_common/migrations/0201_squashed.py
+++ b/ishtar_common/migrations/0201_squashed.py
@@ -91,7 +91,7 @@ class Migration(migrations.Migration):
'verbose_name': 'Author',
'verbose_name_plural': 'Authors',
'ordering': ('author_type__order', 'person__name'),
- 'permissions': (('view_own_author', 'Can view own Author'), ('add_own_author', 'Can add own Author'), ('change_own_author', 'Can change own Author'), ('delete_own_author', 'Can delete own Author')),
+ 'permissions': (('view_own_author', 'Can view own Author'), ('change_own_author', 'Can change own Author'), ('delete_own_author', 'Can delete own Author')),
},
),
migrations.CreateModel(
@@ -200,7 +200,7 @@ class Migration(migrations.Migration):
'verbose_name': 'Document',
'verbose_name_plural': 'Documents',
'ordering': ('title',),
- 'permissions': (('view_own_document', 'Peut voir ses propres Documents'), ('add_own_document', 'Peut ajouter son propre Document'), ('change_own_document', 'Peut modifier ses propres Documents'), ('delete_own_document', 'Peut supprimer ses propres Documents')),
+ 'permissions': (('view_own_document', 'Peut voir ses propres Documents'), ('change_own_document', 'Peut modifier ses propres Documents'), ('delete_own_document', 'Peut supprimer ses propres Documents')),
},
bases=(ishtar_common.models.StatisticItem,
ishtar_common.models.TemplateItem,
@@ -749,7 +749,7 @@ class Migration(migrations.Migration):
options={
'verbose_name': 'Organization',
'verbose_name_plural': 'Organizations',
- 'permissions': (('view_own_organization', 'Can view own Organization'), ('add_own_organization', 'Can add own Organization'), ('change_own_organization', 'Can change own Organization'), ('delete_own_organization', 'Can delete own Organization')),
+ 'permissions': (('view_own_organization', 'Can view own Organization'), ('change_own_organization', 'Can change own Organization'), ('delete_own_organization', 'Can delete own Organization')),
},
bases=(ishtar_common.models.StatisticItem,
ishtar_common.models.TemplateItem, models.Model,
@@ -825,7 +825,7 @@ class Migration(migrations.Migration):
options={
'verbose_name': 'Person',
'verbose_name_plural': 'Persons',
- 'permissions': (('view_own_person', 'Can view own Person'), ('add_own_person', 'Can add own Person'), ('change_own_person', 'Can change own Person'), ('delete_own_person', 'Can delete own Person')),
+ 'permissions': (('view_own_person', 'Can view own Person'), ('change_own_person', 'Can change own Person'), ('delete_own_person', 'Can delete own Person')),
},
bases=(ishtar_common.models.StatisticItem,
ishtar_common.models.TemplateItem, models.Model,
diff --git a/ishtar_common/migrations/0217_auto_20220328_1222.py b/ishtar_common/migrations/0217_auto_20220328_1222.py
index 68135361d..7aba9fe95 100644
--- a/ishtar_common/migrations/0217_auto_20220328_1222.py
+++ b/ishtar_common/migrations/0217_auto_20220328_1222.py
@@ -119,7 +119,7 @@ class Migration(migrations.Migration):
),
migrations.AlterModelOptions(
name='person',
- options={'ordering': ['name', 'surname'], 'permissions': (('view_own_person', 'Can view own Person'), ('add_own_person', 'Can add own Person'), ('change_own_person', 'Can change own Person'), ('delete_own_person', 'Can delete own Person')), 'verbose_name': 'Person', 'verbose_name_plural': 'Persons'},
+ options={'ordering': ['name', 'surname'], 'permissions': (('view_own_person', 'Can view own Person'), ('change_own_person', 'Can change own Person'), ('delete_own_person', 'Can delete own Person')), 'verbose_name': 'Person', 'verbose_name_plural': 'Persons'},
),
migrations.AlterModelOptions(
name='spatialreferencesystem',
diff --git a/ishtar_common/migrations/0220_auto_20220707_1633.py b/ishtar_common/migrations/0220_auto_20220707_1633.py
index 600adc6a1..48fca1a68 100644
--- a/ishtar_common/migrations/0220_auto_20220707_1633.py
+++ b/ishtar_common/migrations/0220_auto_20220707_1633.py
@@ -14,7 +14,7 @@ class Migration(migrations.Migration):
operations = [
migrations.AlterModelOptions(
name='geovectordata',
- options={'permissions': (('view_own_geovectordata', 'Can view own Geographic - Vector data'), ('add_own_geovectordata', 'Can add own Geographic - Vector data'), ('change_own_geovectordata', 'Can change own Geographic - Vector data'), ('delete_own_geovectordata', 'Can delete own Geographic - Vector data')), 'verbose_name': 'Geographic - Vector data', 'verbose_name_plural': 'Geographic - Vector data'},
+ options={'permissions': (('view_own_geovectordata', 'Can view own Geographic - Vector data'), ('change_own_geovectordata', 'Can change own Geographic - Vector data'), ('delete_own_geovectordata', 'Can delete own Geographic - Vector data')), 'verbose_name': 'Geographic - Vector data', 'verbose_name_plural': 'Geographic - Vector data'},
),
migrations.AlterField(
model_name='document',
diff --git a/ishtar_common/migrations/0232_auto_20231115_1616.py b/ishtar_common/migrations/0232_auto_20231115_1616.py
index 0ddcf1b9b..e0cf37411 100644
--- a/ishtar_common/migrations/0232_auto_20231115_1616.py
+++ b/ishtar_common/migrations/0232_auto_20231115_1616.py
@@ -31,7 +31,7 @@ class Migration(migrations.Migration):
),
migrations.AlterModelOptions(
name='import',
- options={'permissions': (('view_own_import', 'Can view own Import'), ('add_own_import', 'Can add own Import'), ('change_own_import', 'Can change own Import'), ('delete_own_import', 'Can delete own Import')), 'verbose_name': 'Import - Import', 'verbose_name_plural': 'Import - Imports'},
+ options={'permissions': (('view_own_import', 'Can view own Import'), ('change_own_import', 'Can change own Import'), ('delete_own_import', 'Can delete own Import')), 'verbose_name': 'Import - Import', 'verbose_name_plural': 'Import - Imports'},
),
migrations.AlterModelOptions(
name='itemkey',
@@ -138,7 +138,7 @@ class Migration(migrations.Migration):
options={
'verbose_name': 'Import - Group',
'verbose_name_plural': 'Import - Groups',
- 'permissions': (('view_own_importgroup', 'Can view own Import Group'), ('add_own_importgroup', 'Can add own Import Group'), ('change_own_importgroup', 'Can change own Import Group'), ('delete_own_importgroup', 'Can delete own Import Group')),
+ 'permissions': (('view_own_importgroup', 'Can view own Import Group'), ('change_own_importgroup', 'Can change own Import Group'), ('delete_own_importgroup', 'Can delete own Import Group')),
},
bases=(models.Model, ishtar_common.utils.OwnPerms, ishtar_common.utils.SheetItem),
),
diff --git a/ishtar_common/migrations/0243_default_biographicalnote_permissions.json b/ishtar_common/migrations/0243_default_biographicalnote_permissions.json
index c2144a855..09238d92a 100644
--- a/ishtar_common/migrations/0243_default_biographicalnote_permissions.json
+++ b/ishtar_common/migrations/0243_default_biographicalnote_permissions.json
@@ -64,17 +64,6 @@
{
"model": "auth.permission",
"fields": {
- "name": "Can add own Biographical note",
- "content_type": [
- "ishtar_common",
- "biographicalnote"
- ],
- "codename": "add_own_biographicalnote"
- }
- },
- {
- "model": "auth.permission",
- "fields": {
"name": "Can change own Biographical note",
"content_type": [
"ishtar_common",
@@ -149,19 +138,6 @@
{
"model": "auth.group",
"fields": {
- "name": "Notices biographiques rattach\u00e9es : ajout",
- "permissions": [
- [
- "add_own_biographicalnote",
- "ishtar_common",
- "biographicalnote"
- ]
- ]
- }
- },
- {
- "model": "auth.group",
- "fields": {
"name": "Notices biographiques rattach\u00e9es : lecture",
"permissions": [
[
diff --git a/ishtar_common/migrations/0244_imports_media_link.py b/ishtar_common/migrations/0244_imports_media_link.py
index 88a36049f..f2437ceda 100644
--- a/ishtar_common/migrations/0244_imports_media_link.py
+++ b/ishtar_common/migrations/0244_imports_media_link.py
@@ -12,7 +12,7 @@ class Migration(migrations.Migration):
operations = [
migrations.AlterModelOptions(
name='biographicalnote',
- options={'permissions': (('view_own_biographicalnote', 'Can view own Biographical note'), ('add_own_biographicalnote', 'Can add own Biographical note'), ('change_own_biographicalnote', 'Can change own Biographical note'), ('delete_own_biographicalnote', 'Can delete own Biographical note')), 'verbose_name': 'Biographical note', 'verbose_name_plural': 'Biographical notes'},
+ options={'permissions': (('view_own_biographicalnote', 'Can view own Biographical note'), ('change_own_biographicalnote', 'Can change own Biographical note'), ('delete_own_biographicalnote', 'Can delete own Biographical note')), 'verbose_name': 'Biographical note', 'verbose_name_plural': 'Biographical notes'},
),
migrations.AddField(
model_name='import',
diff --git a/ishtar_common/migrations/0256_clean_add_own_permissions.py b/ishtar_common/migrations/0256_clean_add_own_permissions.py
new file mode 100644
index 000000000..6ad695dca
--- /dev/null
+++ b/ishtar_common/migrations/0256_clean_add_own_permissions.py
@@ -0,0 +1,31 @@
+# Generated by Django 2.2.28 on 2024-11-12 17:12
+
+from django.db import migrations
+
+
+def clean_permissions(app, __):
+ Group = app.get_model("auth", "group")
+ for group in Group.objects.filter(permissions__codename__startswith="add_own_").all():
+ if group.permissions.exclude(
+ codename__startswith="add_own_").count():
+ # other groups, only remove "own"
+ for own_grp in group.permissions.filter(
+ codename__startswith="add_own_").all():
+ group.permissions.remove(own_grp)
+ continue
+ for user in group.user_set.all():
+ user.groups.remove(group)
+ for pt in group.profile_types.all():
+ pt.groups.remove(group)
+ group.delete()
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('ishtar_common', '0255_migrate_delete_perm_clean_groups'),
+ ]
+
+ operations = [
+ migrations.RunPython(clean_permissions)
+ ]
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index eb9e73150..ab79f4baa 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -2701,7 +2701,6 @@ class Organization(Address, Merge, OwnPerms, BaseGenderedType, ValueGetter, Main
verbose_name_plural = _("Organizations")
permissions = (
("view_own_organization", "Can view own Organization"),
- ("add_own_organization", "Can add own Organization"),
("change_own_organization", "Can change own Organization"),
("delete_own_organization", "Can delete own Organization"),
)
@@ -3008,7 +3007,6 @@ class Person(Address, Merge, OwnPerms, ValueGetter, MainItem):
]
permissions = (
("view_own_person", "Can view own Person"),
- ("add_own_person", "Can add own Person"),
("change_own_person", "Can change own Person"),
("delete_own_person", "Can delete own Person"),
)
@@ -3276,7 +3274,6 @@ class BiographicalNote(BaseHistorizedItem, ValueGetter, MainItem):
verbose_name_plural = _("Biographical notes")
permissions = (
("view_own_biographicalnote", "Can view own Biographical note"),
- ("add_own_biographicalnote", "Can add own Biographical note"),
("change_own_biographicalnote", "Can change own Biographical note"),
("delete_own_biographicalnote", "Can delete own Biographical note"),
)
@@ -4308,7 +4305,6 @@ class Author(FullSearch):
ordering = ("author_type__order", "person__name")
permissions = (
("view_own_author", "Can view own Author"),
- ("add_own_author", "Can add own Author"),
("change_own_author", "Can change own Author"),
("delete_own_author", "Can delete own Author"),
)
@@ -5053,7 +5049,6 @@ class Document(
ordering = ("title",)
permissions = (
("view_own_document", ugettext("Can view own Document")),
- ("add_own_document", ugettext("Can add own Document")),
("change_own_document", ugettext("Can change own Document")),
("delete_own_document", ugettext("Can delete own Document")),
)
diff --git a/ishtar_common/models_common.py b/ishtar_common/models_common.py
index aa52d82c7..9ad73f314 100644
--- a/ishtar_common/models_common.py
+++ b/ishtar_common/models_common.py
@@ -2358,7 +2358,6 @@ class GeoVectorData(Imported, OwnPerms):
unique_together = ("source_content_type", "source_id", "import_key")
permissions = (
("view_own_geovectordata", "Can view own Geographic - Vector data"),
- ("add_own_geovectordata", "Can add own Geographic - Vector data"),
("change_own_geovectordata", "Can change own Geographic - Vector data"),
("delete_own_geovectordata", "Can delete own Geographic - Vector data"),
)
diff --git a/ishtar_common/models_imports.py b/ishtar_common/models_imports.py
index 8f4686666..a33b599c7 100644
--- a/ishtar_common/models_imports.py
+++ b/ishtar_common/models_imports.py
@@ -1576,7 +1576,6 @@ class ImportGroup(BaseImport):
verbose_name_plural = _("Import - Groups")
permissions = (
("view_own_importgroup", "Can view own Import Group"),
- ("add_own_importgroup", "Can add own Import Group"),
("change_own_importgroup", "Can change own Import Group"),
("delete_own_importgroup", "Can delete own Import Group"),
)
diff --git a/ishtar_common/urls.py b/ishtar_common/urls.py
index e0e93a071..09790dda6 100644
--- a/ishtar_common/urls.py
+++ b/ishtar_common/urls.py
@@ -622,7 +622,7 @@ urlpatterns += [
url(
r"document/create/$",
check_permissions(
- ["ishtar_common.add_document", "ishtar_common.add_own_document"]
+ ["ishtar_common.add_document"]
)(views.DocumentCreateView.as_view()),
name="create-document",
),
@@ -699,14 +699,14 @@ urlpatterns += [
url(
r"geo/create/(?P<app_source>[-\w]+)/(?P<model_source>[-\w]+)/(?P<source_pk>\d+)/$",
check_permissions(
- ["ishtar_common.add_geovectordata", "ishtar_common.add_own_geovectordata"]
+ ["ishtar_common.add_geovectordata"]
)(views.GeoPreCreateView.as_view()),
name="create-pre-geo",
),
url(
r"geo/create/(?P<app_source>[-\w]+)/(?P<model_source>[-\w]+)/(?P<source_pk>\d+)/(?P<geom_type>[-\w]+)/$",
check_permissions(
- ["ishtar_common.add_geovectordata", "ishtar_common.add_own_geovectordata"]
+ ["ishtar_common.add_geovectordata"]
)(views.GeoCreateView.as_view()),
name="create-geo",
),
diff --git a/ishtar_common/views.py b/ishtar_common/views.py
index b3f062c8d..21b563bfc 100644
--- a/ishtar_common/views.py
+++ b/ishtar_common/views.py
@@ -3521,17 +3521,17 @@ class GeoCreateView(GeoFormMixin, CreateView):
obj = model.objects.get(pk=self.kwargs.get("source_pk"))
except model.DoesNotExist:
raise Http404()
+
+ # check permission to add and view attached item
+ attached_meta = model._meta
+ perm_attached = f"{attached_meta.app_label}.view_{attached_meta.model_name}"
+ perm_own_attached = f"{attached_meta.app_label}.view_own_{attached_meta.model_name}"
if not ishtaruser.has_permission(
- "ishtar_common.add_geovectordata"):
- # -> add_own_geovectordata
- # check permission to view attached item
- meta = model._meta
- perm = f"{meta.app_label}.view_{meta.model_name}"
- perm_own = f"{meta.app_label}.view_own_{meta.model_name}"
- if not ishtaruser.has_permission(perm) \
- and not ishtaruser.has_permission(perm_own, obj=obj):
- # check permission to view own attached item
- raise Http404()
+ "ishtar_common.add_geovectordata") or (
+ not ishtaruser.has_permission(perm_attached)
+ and not ishtaruser.has_permission(perm_own_attached, obj=obj)):
+ # check permission to view own attached item
+ raise Http404()
kwargs["main_items_fields"] = {}
for k in models.GeoVectorData.RELATED_MODELS:
kwargs["main_items_fields"][k] = []