diff --git a/core/forms/access.py b/core/forms/access.py index 4a69c53a..f32d7cef 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', + 'granted_on', + 'grant_expires_on', 'access_notes', - 'granted_on' - 'grant_expires_on' ] @@ -50,11 +50,13 @@ class Meta: } field_order = [ - 'defined_on_locations', - 'access_notes', + 'contact', + 'user', 'project', - 'granted_on' - 'grant_expires_on' + 'defined_on_locations', + 'granted_on', + 'grant_expires_on', + 'access_notes' ] def __init__(self, *args, **kwargs): 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 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 = [ 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())