From 5074b271adc0239b7c8a9a4fed5ce7a0add575a3 Mon Sep 17 00:00:00 2001 From: Anthony LC Date: Tue, 16 Apr 2024 17:00:17 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B(backend)=20add=20partial=5Fupdate?= =?UTF-8?q?=20action=20to=20the=20abilities?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit partial_update action was missing for the permission. So when we were patching the template, it was not working. This commit adds the partial_update action to the abilities. --- src/backend/core/models.py | 2 ++ .../tests/documents/test_api_documents_retrieve.py | 2 ++ .../tests/templates/test_api_templates_retrieve.py | 2 ++ src/backend/core/tests/test_models_documents.py | 8 ++++++++ src/backend/core/tests/test_models_templates.py | 11 ++++++++++- 5 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/backend/core/models.py b/src/backend/core/models.py index 37622113..6711668c 100644 --- a/src/backend/core/models.py +++ b/src/backend/core/models.py @@ -272,6 +272,7 @@ class Document(BaseModel): "destroy": RoleChoices.OWNER in roles, "manage_accesses": is_owner_or_admin, "update": is_owner_or_admin, + "partial_update": is_owner_or_admin, "retrieve": can_get, } @@ -364,6 +365,7 @@ class Template(BaseModel): "generate_document": can_get, "manage_accesses": is_owner_or_admin, "update": is_owner_or_admin, + "partial_update": is_owner_or_admin, "retrieve": can_get, } diff --git a/src/backend/core/tests/documents/test_api_documents_retrieve.py b/src/backend/core/tests/documents/test_api_documents_retrieve.py index 078945db..1cbafb3f 100644 --- a/src/backend/core/tests/documents/test_api_documents_retrieve.py +++ b/src/backend/core/tests/documents/test_api_documents_retrieve.py @@ -21,6 +21,7 @@ def test_api_documents_retrieve_anonymous_public(): "abilities": { "destroy": False, "manage_accesses": False, + "partial_update": False, "retrieve": True, "update": False, }, @@ -60,6 +61,7 @@ def test_api_documents_retrieve_authenticated_unrelated_public(): "abilities": { "destroy": False, "manage_accesses": False, + "partial_update": False, "retrieve": True, "update": False, }, diff --git a/src/backend/core/tests/templates/test_api_templates_retrieve.py b/src/backend/core/tests/templates/test_api_templates_retrieve.py index c544ebd2..8a298ddb 100644 --- a/src/backend/core/tests/templates/test_api_templates_retrieve.py +++ b/src/backend/core/tests/templates/test_api_templates_retrieve.py @@ -22,6 +22,7 @@ def test_api_templates_retrieve_anonymous_public(): "destroy": False, "generate_document": True, "manage_accesses": False, + "partial_update": False, "retrieve": True, "update": False, }, @@ -63,6 +64,7 @@ def test_api_templates_retrieve_authenticated_unrelated_public(): "destroy": False, "generate_document": True, "manage_accesses": False, + "partial_update": False, "retrieve": True, "update": False, }, diff --git a/src/backend/core/tests/test_models_documents.py b/src/backend/core/tests/test_models_documents.py index 3544d4a0..b4c1f554 100644 --- a/src/backend/core/tests/test_models_documents.py +++ b/src/backend/core/tests/test_models_documents.py @@ -58,6 +58,7 @@ def test_models_documents_get_abilities_anonymous_public(): "retrieve": True, "update": False, "manage_accesses": False, + "partial_update": False, } @@ -70,6 +71,7 @@ def test_models_documents_get_abilities_anonymous_not_public(): "retrieve": False, "update": False, "manage_accesses": False, + "partial_update": False, } @@ -82,6 +84,7 @@ def test_models_documents_get_abilities_authenticated_public(): "retrieve": True, "update": False, "manage_accesses": False, + "partial_update": False, } @@ -94,6 +97,7 @@ def test_models_documents_get_abilities_authenticated_not_public(): "retrieve": False, "update": False, "manage_accesses": False, + "partial_update": False, } @@ -107,6 +111,7 @@ def test_models_documents_get_abilities_owner(): "retrieve": True, "update": True, "manage_accesses": True, + "partial_update": True, } @@ -119,6 +124,7 @@ def test_models_documents_get_abilities_administrator(): "retrieve": True, "update": True, "manage_accesses": True, + "partial_update": True, } @@ -134,6 +140,7 @@ def test_models_documents_get_abilities_member_user(django_assert_num_queries): "retrieve": True, "update": False, "manage_accesses": False, + "partial_update": False, } @@ -150,4 +157,5 @@ def test_models_documents_get_abilities_preset_role(django_assert_num_queries): "retrieve": True, "update": False, "manage_accesses": False, + "partial_update": False, } diff --git a/src/backend/core/tests/test_models_templates.py b/src/backend/core/tests/test_models_templates.py index 87b701c6..87d9f8d2 100644 --- a/src/backend/core/tests/test_models_templates.py +++ b/src/backend/core/tests/test_models_templates.py @@ -58,6 +58,7 @@ def test_models_templates_get_abilities_anonymous_public(): "retrieve": True, "update": False, "manage_accesses": False, + "partial_update": False, "generate_document": True, } @@ -71,6 +72,7 @@ def test_models_templates_get_abilities_anonymous_not_public(): "retrieve": False, "update": False, "manage_accesses": False, + "partial_update": False, "generate_document": False, } @@ -84,6 +86,7 @@ def test_models_templates_get_abilities_authenticated_public(): "retrieve": True, "update": False, "manage_accesses": False, + "partial_update": False, "generate_document": True, } @@ -97,6 +100,7 @@ def test_models_templates_get_abilities_authenticated_not_public(): "retrieve": False, "update": False, "manage_accesses": False, + "partial_update": False, "generate_document": False, } @@ -111,6 +115,7 @@ def test_models_templates_get_abilities_owner(): "retrieve": True, "update": True, "manage_accesses": True, + "partial_update": True, "generate_document": True, } @@ -124,6 +129,7 @@ def test_models_templates_get_abilities_administrator(): "retrieve": True, "update": True, "manage_accesses": True, + "partial_update": True, "generate_document": True, } @@ -140,6 +146,7 @@ def test_models_templates_get_abilities_member_user(django_assert_num_queries): "retrieve": True, "update": False, "manage_accesses": False, + "partial_update": False, "generate_document": True, } @@ -157,10 +164,12 @@ def test_models_templates_get_abilities_preset_role(django_assert_num_queries): "retrieve": True, "update": False, "manage_accesses": False, + "partial_update": False, "generate_document": True, } + def test_models_templates_get_code_editor(): """Check code_editor in the template model""" template = factories.TemplateFactory(code_editor={"test": "ok"}) - assert template.code_editor == {"test": "ok"} \ No newline at end of file + assert template.code_editor == {"test": "ok"}