From ed6d2a764fcc76a0feba1c586acb9afddbecd16b Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Tue, 12 Nov 2024 17:27:25 +0100 Subject: ♻️ clean all "add_own" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- archaeological_context_records/ishtar_menu.py | 1 - .../migrations/0101_squashed.py | 2 +- archaeological_context_records/models.py | 1 - archaeological_context_records/urls.py | 6 +- archaeological_context_records/views.py | 3 +- archaeological_files/ishtar_menu.py | 1 - archaeological_files/migrations/0101_squashed.py | 2 +- archaeological_files/models.py | 1 - archaeological_finds/ishtar_menu.py | 1 - archaeological_finds/migrations/0101_squashed.py | 8 +- archaeological_finds/models_finds.py | 7 - archaeological_finds/models_treatments.py | 2 - archaeological_finds/urls.py | 5 +- archaeological_operations/ishtar_menu.py | 2 - .../migrations/0101_squashed.py | 6 +- archaeological_operations/models.py | 3 - archaeological_operations/urls.py | 6 +- archaeological_warehouse/ishtar_menu.py | 5 +- .../migrations/0101_squashed.py | 4 +- .../migrations/0111_auto_20210225_1039.py | 2 +- archaeological_warehouse/models.py | 2 - archaeological_warehouse/urls.py | 3 +- fixtures/initial_data-auth-fr.json | 422 --------------------- ishtar_common/fixtures/initial_data-fr.json | 63 --- ishtar_common/ishtar_menu.py | 17 +- ishtar_common/migrations/0201_squashed.py | 8 +- .../migrations/0217_auto_20220328_1222.py | 2 +- .../migrations/0220_auto_20220707_1633.py | 2 +- .../migrations/0232_auto_20231115_1616.py | 4 +- .../0243_default_biographicalnote_permissions.json | 24 -- .../migrations/0244_imports_media_link.py | 2 +- .../migrations/0256_clean_add_own_permissions.py | 31 ++ ishtar_common/models.py | 5 - ishtar_common/models_common.py | 1 - ishtar_common/models_imports.py | 1 - ishtar_common/urls.py | 6 +- ishtar_common/views.py | 20 +- 37 files changed, 84 insertions(+), 597 deletions(-) create mode 100644 ishtar_common/migrations/0256_clean_add_own_permissions.py 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.+)?$", - 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[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.+)?$", 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[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.+)?$", 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.+)?$", 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.+)?$", 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 @@ -879,17 +879,6 @@ "codename": "view_own_organization" } }, -{ - "model": "auth.permission", - "fields": { - "name": "Can add own Organization", - "content_type": [ - "ishtar_common", - "organization" - ], - "codename": "add_own_organization" - } -}, { "model": "auth.permission", "fields": { @@ -1000,17 +989,6 @@ "codename": "view_own_person" } }, -{ - "model": "auth.permission", - "fields": { - "name": "Can add own Person", - "content_type": [ - "ishtar_common", - "person" - ], - "codename": "add_own_person" - } -}, { "model": "auth.permission", "fields": { @@ -1550,17 +1528,6 @@ "codename": "view_own_file" } }, -{ - "model": "auth.permission", - "fields": { - "name": "Can add own Archaelogical file", - "content_type": [ - "archaeological_files", - "file" - ], - "codename": "add_own_file" - } -}, { "model": "auth.permission", "fields": { @@ -1781,17 +1748,6 @@ "codename": "view_own_archaeologicalsite" } }, -{ - "model": "auth.permission", - "fields": { - "name": "Can add own Archaeological site", - "content_type": [ - "archaeological_operations", - "archaeologicalsite" - ], - "codename": "add_own_archaeologicalsite" - } -}, { "model": "auth.permission", "fields": { @@ -1902,17 +1858,6 @@ "codename": "view_own_operation" } }, -{ - "model": "auth.permission", - "fields": { - "name": "Can add own Operation", - "content_type": [ - "archaeological_operations", - "operation" - ], - "codename": "add_own_operation" - } -}, { "model": "auth.permission", "fields": { @@ -2100,17 +2045,6 @@ "codename": "view_own_document" } }, -{ - "model": "auth.permission", - "fields": { - "name": "Can add own Document", - "content_type": [ - "ishtar_common", - "document" - ], - "codename": "add_own_document" - } -}, { "model": "auth.permission", "fields": { @@ -2254,17 +2188,6 @@ "codename": "view_own_administrativeact" } }, -{ - "model": "auth.permission", - "fields": { - "name": "Can add own Administrative act", - "content_type": [ - "archaeological_operations", - "administrativeact" - ], - "codename": "add_own_administrativeact" - } -}, { "model": "auth.permission", "fields": { @@ -2672,17 +2595,6 @@ "codename": "view_own_contextrecord" } }, -{ - "model": "auth.permission", - "fields": { - "name": "Can add own Context Record", - "content_type": [ - "archaeological_context_records", - "contextrecord" - ], - "codename": "add_own_contextrecord" - } -}, { "model": "auth.permission", "fields": { @@ -2859,17 +2771,6 @@ "codename": "view_own_warehouse" } }, -{ - "model": "auth.permission", - "fields": { - "name": "Can add own Warehouse", - "content_type": [ - "archaeological_warehouse", - "warehouse" - ], - "codename": "add_own_warehouse" - } -}, { "model": "auth.permission", "fields": { @@ -3167,50 +3068,6 @@ "codename": "view_basefind" } }, -{ - "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": { @@ -3332,17 +3189,6 @@ "codename": "view_own_find" } }, -{ - "model": "auth.permission", - "fields": { - "name": "Can add own Find", - "content_type": [ - "archaeological_finds", - "find" - ], - "codename": "add_own_find" - } -}, { "model": "auth.permission", "fields": { @@ -3486,17 +3332,6 @@ "codename": "view_own_treatment" } }, -{ - "model": "auth.permission", - "fields": { - "name": "Can add own Treatment", - "content_type": [ - "archaeological_finds", - "treatment" - ], - "codename": "add_own_treatment" - } -}, { "model": "auth.permission", "fields": { @@ -4036,17 +3871,6 @@ "codename": "view_own_treatmentfile" } }, -{ - "model": "auth.permission", - "fields": { - "name": "Can add own Treatment request", - "content_type": [ - "archaeological_finds", - "treatmentfile" - ], - "codename": "add_own_treatmentfile" - } -}, { "model": "auth.permission", "fields": { @@ -4256,17 +4080,6 @@ "codename": "view_own_author" } }, -{ - "model": "auth.permission", - "fields": { - "name": "Can add own Author", - "content_type": [ - "ishtar_common", - "author" - ], - "codename": "add_own_author" - } -}, { "model": "auth.permission", "fields": { @@ -4410,17 +4223,6 @@ "codename": "view_own_container" } }, -{ - "model": "auth.permission", - "fields": { - "name": "Can add own Container", - "content_type": [ - "archaeological_warehouse", - "container" - ], - "codename": "add_own_container" - } -}, { "model": "auth.permission", "fields": { @@ -4893,17 +4695,6 @@ "codename": "view_own_geovectordata" } }, -{ - "model": "auth.permission", - "fields": { - "name": "Can add own Geographic - Vector data", - "content_type": [ - "ishtar_common", - "geovectordata" - ], - "codename": "add_own_geovectordata" - } -}, { "model": "auth.permission", "fields": { @@ -5457,19 +5248,6 @@ ] } }, -{ - "model": "auth.group", - "fields": { - "name": "Actes administratifs rattach\u00e9s : ajout", - "permissions": [ - [ - "add_own_administrativeact", - "archaeological_operations", - "administrativeact" - ] - ] - } -}, { "model": "auth.group", "fields": { @@ -5501,19 +5279,6 @@ ] } }, -{ - "model": "auth.group", - "fields": { - "name": "D\u00e9p\u00f4ts rattach\u00e9s : ajout", - "permissions": [ - [ - "add_own_warehouse", - "archaeological_warehouse", - "warehouse" - ] - ] - } -}, { "model": "auth.group", "fields": { @@ -5545,19 +5310,6 @@ ] } }, -{ - "model": "auth.group", - "fields": { - "name": "Documents rattach\u00e9s : ajout", - "permissions": [ - [ - "add_own_document", - "ishtar_common", - "document" - ] - ] - } -}, { "model": "auth.group", "fields": { @@ -5589,19 +5341,6 @@ ] } }, -{ - "model": "auth.group", - "fields": { - "name": "Dossiers rattach\u00e9s : ajout", - "permissions": [ - [ - "add_own_file", - "archaeological_files", - "file" - ] - ] - } -}, { "model": "auth.group", "fields": { @@ -5633,39 +5372,11 @@ ] } }, -{ - "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", @@ -5684,11 +5395,6 @@ "fields": { "name": "Mobilier rattach\u00e9 : lecture", "permissions": [ - [ - "view_own_basefind", - "archaeological_finds", - "basefind" - ], [ "view_own_find", "archaeological_finds", @@ -5697,19 +5403,6 @@ ] } }, -{ - "model": "auth.group", - "fields": { - "name": "Op\u00e9rations rattach\u00e9es : ajout", - "permissions": [ - [ - "add_own_operation", - "archaeological_operations", - "operation" - ] - ] - } -}, { "model": "auth.group", "fields": { @@ -5741,19 +5434,6 @@ ] } }, -{ - "model": "auth.group", - "fields": { - "name": "Organisations rattach\u00e9es : ajout", - "permissions": [ - [ - "add_own_organization", - "ishtar_common", - "organization" - ] - ] - } -}, { "model": "auth.group", "fields": { @@ -5785,19 +5465,6 @@ ] } }, -{ - "model": "auth.group", - "fields": { - "name": "Traitements rattach\u00e9s : ajout", - "permissions": [ - [ - "add_own_treatment", - "archaeological_finds", - "treatment" - ] - ] - } -}, { "model": "auth.group", "fields": { @@ -5829,19 +5496,6 @@ ] } }, -{ - "model": "auth.group", - "fields": { - "name": "UE rattach\u00e9es : ajout", - "permissions": [ - [ - "add_own_contextrecord", - "archaeological_context_records", - "contextrecord" - ] - ] - } -}, { "model": "auth.group", "fields": { @@ -5873,19 +5527,6 @@ ] } }, -{ - "model": "auth.group", - "fields": { - "name": "Personnes rattach\u00e9es : ajout", - "permissions": [ - [ - "add_own_person", - "ishtar_common", - "person" - ] - ] - } -}, { "model": "auth.group", "fields": { @@ -5961,19 +5602,6 @@ ] } }, -{ - "model": "auth.group", - "fields": { - "name": "Demandes de traitement rattach\u00e9es : ajout", - "permissions": [ - [ - "add_own_treatmentfile", - "archaeological_finds", - "treatmentfile" - ] - ] - } -}, { "model": "auth.group", "fields": { @@ -6137,19 +5765,6 @@ ] } }, -{ - "model": "auth.group", - "fields": { - "name": "Entit\u00e9s (EA) rattach\u00e9es : ajout", - "permissions": [ - [ - "add_own_archaeologicalsite", - "archaeological_operations", - "archaeologicalsite" - ] - ] - } -}, { "model": "auth.group", "fields": { @@ -6233,19 +5848,6 @@ ] } }, -{ - "model": "auth.group", - "fields": { - "name": "Donn\u00e9es g\u00e9ographiques rattach\u00e9es : ajout", - "permissions": [ - [ - "add_own_geovectordata", - "ishtar_common", - "geovectordata" - ] - ] - } -}, { "model": "auth.group", "fields": { @@ -6444,17 +6046,6 @@ "codename": "view_own_biographicalnote" } }, - { - "model": "auth.permission", - "fields": { - "name": "Can add own Biographical note", - "content_type": [ - "ishtar_common", - "biographicalnote" - ], - "codename": "add_own_biographicalnote" - } - }, { "model": "auth.permission", "fields": { @@ -6529,19 +6120,6 @@ ] } }, - { - "model": "auth.group", - "fields": { - "name": "Notices biographiques rattach\u00e9es : ajout", - "permissions": [ - [ - "add_own_biographicalnote", - "ishtar_common", - "biographicalnote" - ] - ] - } - }, { "model": "auth.group", "fields": { 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 @@ -183,90 +183,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" ], @@ -282,9 +252,6 @@ [ "Demandes de traitement : lecture" ], - [ - "Demandes de traitement rattach\u00e9es : ajout" - ], [ "Demandes de traitement rattach\u00e9es : lecture" ], @@ -352,18 +319,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" ], @@ -373,24 +334,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" ], @@ -620,9 +572,6 @@ [ "D\u00e9p\u00f4ts rattach\u00e9s : lecture" ], - [ - "Documents rattach\u00e9s : ajout" - ], [ "Documents rattach\u00e9s : modification/suppression" ], @@ -632,9 +581,6 @@ [ "Dossiers rattach\u00e9s : lecture" ], - [ - "Mobilier rattach\u00e9 : ajout" - ], [ "Mobilier rattach\u00e9 : modification/suppression" ], @@ -647,24 +593,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 @@ -61,17 +61,6 @@ "codename": "view_own_biographicalnote" } }, - { - "model": "auth.permission", - "fields": { - "name": "Can add own Biographical note", - "content_type": [ - "ishtar_common", - "biographicalnote" - ], - "codename": "add_own_biographicalnote" - } - }, { "model": "auth.permission", "fields": { @@ -146,19 +135,6 @@ ] } }, - { - "model": "auth.group", - "fields": { - "name": "Notices biographiques rattach\u00e9es : ajout", - "permissions": [ - [ - "add_own_biographicalnote", - "ishtar_common", - "biographicalnote" - ] - ] - } - }, { "model": "auth.group", "fields": { 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[-\w]+)/(?P[-\w]+)/(?P\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[-\w]+)/(?P[-\w]+)/(?P\d+)/(?P[-\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] = [] -- cgit v1.2.3