From e7ff788a16fcbcfe9ca11541dca7c6c475b8b381 Mon Sep 17 00:00:00 2001 From: Vilem Ded Date: Sat, 27 Aug 2022 17:36:30 +0200 Subject: [PATCH 1/6] feat: install django-auditlog --- elixir_daisy/settings.py | 4 +++- setup.py | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/elixir_daisy/settings.py b/elixir_daisy/settings.py index 10b89d1a..1aa16de7 100644 --- a/elixir_daisy/settings.py +++ b/elixir_daisy/settings.py @@ -63,7 +63,8 @@ 'django_celery_beat', 'celery_haystack', 'sequences.apps.SequencesConfig', - 'explorer' + 'explorer', + 'auditlog' ] MIDDLEWARE = [ @@ -75,6 +76,7 @@ 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', + 'auditlog.middleware.AuditlogMiddleware', 'stronghold.middleware.LoginRequiredMiddleware', ] diff --git a/setup.py b/setup.py index 5e736ea3..745217fa 100644 --- a/setup.py +++ b/setup.py @@ -47,6 +47,7 @@ 'setuptools-scm==3.3.3', 'jsonschema==3.2.0', 'mockldap@git+https://github.com/elixir-luxembourg/mockldap2.git', + 'django-auditlog==2.1.1', ] test_requirements = [ From b47b7ff6f2b5549d05f2f848187e6b51bb18aef9 Mon Sep 17 00:00:00 2001 From: Vilem Ded Date: Sat, 27 Aug 2022 17:37:14 +0200 Subject: [PATCH 2/6] feat: audit Access object --- core/models/access.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/models/access.py b/core/models/access.py index 87ab1753..c4261d96 100644 --- a/core/models/access.py +++ b/core/models/access.py @@ -10,6 +10,8 @@ from .utils import CoreModel from model_utils import Choices +from auditlog.registry import auditlog + class StatusChoices(ChoiceEnum): precreated = "Pre-created" @@ -180,4 +182,6 @@ def is_active(self): if self.grant_expires_on != None and self.grant_expires_on < datetime.now(): return False - return True \ No newline at end of file + return True + +auditlog.register(Access) \ No newline at end of file From ee5e8600390b739f0139280dcab0797141899c90 Mon Sep 17 00:00:00 2001 From: Vilem Ded Date: Sat, 27 Aug 2022 17:38:37 +0200 Subject: [PATCH 3/6] feat: require user to set new Remarks on Access edit --- web/views/access.py | 1 + 1 file changed, 1 insertion(+) diff --git a/web/views/access.py b/web/views/access.py index e5021e8c..57edfd23 100644 --- a/web/views/access.py +++ b/web/views/access.py @@ -68,6 +68,7 @@ def edit_access(request, pk, dataset_pk): {'type': 'Edit error', 'messages': [str(e) for e in form.errors] }}, status=405) else: + access.access_notes = None form = AccessEditForm(instance=access) log.debug(submit_url=request.get_full_path()) From d03293a21712d6c04ec0b0dfef38103bac9e0a05 Mon Sep 17 00:00:00 2001 From: Vilem Ded Date: Sat, 27 Aug 2022 17:45:51 +0200 Subject: [PATCH 4/6] feat: re-order fields in Access form --- core/forms/access.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/core/forms/access.py b/core/forms/access.py index 4a69c53a..297d606f 100644 --- a/core/forms/access.py +++ b/core/forms/access.py @@ -29,9 +29,9 @@ def __init__(self, *args, **kwargs): 'user', 'project', 'defined_on_locations', - 'access_notes', 'granted_on' 'grant_expires_on' + 'access_notes', ] @@ -50,11 +50,14 @@ class Meta: } field_order = [ + 'contact', + 'user', + 'project', 'defined_on_locations', - 'access_notes', 'project', 'granted_on' 'grant_expires_on' + 'access_notes', ] def __init__(self, *args, **kwargs): From 0adaa8a0ea5eeeebc5832562c17add43309f6a5d Mon Sep 17 00:00:00 2001 From: Vilem Ded Date: Sun, 28 Aug 2022 21:28:30 +0200 Subject: [PATCH 5/6] fix: add missing commans in access forms field ordering --- core/forms/access.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/core/forms/access.py b/core/forms/access.py index 297d606f..750c12d5 100644 --- a/core/forms/access.py +++ b/core/forms/access.py @@ -29,8 +29,8 @@ def __init__(self, *args, **kwargs): 'user', 'project', 'defined_on_locations', - 'granted_on' - 'grant_expires_on' + 'granted_on', + 'grant_expires_on', 'access_notes', ] @@ -55,9 +55,9 @@ class Meta: 'project', 'defined_on_locations', 'project', - 'granted_on' - 'grant_expires_on' - 'access_notes', + 'granted_on', + 'grant_expires_on', + 'access_notes' ] def __init__(self, *args, **kwargs): From 14458e79d40f891c543a7e86d7ad119bdb04b16d Mon Sep 17 00:00:00 2001 From: "francois.ancien" Date: Wed, 7 Sep 2022 09:54:01 +0200 Subject: [PATCH 6/6] Correcting typo in AccessEditForm field_order --- core/forms/access.py | 1 - 1 file changed, 1 deletion(-) diff --git a/core/forms/access.py b/core/forms/access.py index 750c12d5..f32d7cef 100644 --- a/core/forms/access.py +++ b/core/forms/access.py @@ -54,7 +54,6 @@ class Meta: 'user', 'project', 'defined_on_locations', - 'project', 'granted_on', 'grant_expires_on', 'access_notes'