#36 Quality checks

* adds unchecking/unrecording of interventions in case of post-check|post-record editing
This commit is contained in:
2021-10-25 17:39:39 +02:00
parent f6f532effb
commit d7bb2ef1dd
8 changed files with 137 additions and 44 deletions

View File

@@ -321,6 +321,40 @@ class RecordableMixin:
Provides functionality related to un/recording of data
"""
def set_unrecorded(self, user: User):
""" Perform unrecording
Args:
user (User): Performing user
Returns:
"""
action = UserActionLogEntry.objects.create(
user=user,
action=UserAction.UNRECORDED
)
self.recorded = None
self.save()
self.log.add(action)
def set_recorded(self, user: User):
""" Perform recording
Args:
user (User): Performing user
Returns:
"""
action = UserActionLogEntry.objects.create(
user=user,
action=UserAction.RECORDED
)
self.recorded = action
self.save()
self.log.add(action)
def toggle_recorded(self, user: User):
""" Un/Record intervention
@@ -331,16 +365,55 @@ class RecordableMixin:
"""
if not self.recorded:
action = UserActionLogEntry.objects.create(
user=user,
action=UserAction.RECORDED
)
self.recorded = action
self.set_recorded(user)
else:
action = UserActionLogEntry.objects.create(
user=user,
action=UserAction.UNRECORDED
)
self.recorded = None
self.set_unrecorded(user)
class CheckableMixin:
""" Mixin to be combined with BaseObject class
Provides functionality related to un/checking of data
"""
def set_unchecked(self, user: User):
""" Perform unrecording
Args:
Returns:
"""
self.checked = None
self.save()
def set_checked(self, user: User):
""" Perform checking
Args:
user (User): Performing user
Returns:
"""
action = UserActionLogEntry.objects.create(
user=user,
action=UserAction.CHECKED
)
self.checked = action
self.save()
self.log.add(action)
def toggle_checked(self, user: User):
""" Un/Record intervention
Args:
user (User): Performing user
Returns:
"""
if not self.checked:
self.set_checked(user)
else:
self.set_unchecked(user)

View File

@@ -14,4 +14,6 @@ INTERVENTION_INVALID = _("There are errors in this intervention.")
IDENTIFIER_REPLACED = _("The identifier '{}' had to be changed to '{}' since another entry has been added in the meanwhile, which uses this identifier")
DATA_UNSHARED = _("This data is not shared with you")
DATA_UNSHARED_EXPLANATION = _("Remember: This data has not been shared with you, yet. This means you can only read but can not edit or perform any actions like running a check or recording.")
MISSING_GROUP_PERMISSION = _("You need to be part of another user group.")
MISSING_GROUP_PERMISSION = _("You need to be part of another user group.")
CHECKED_RECORDED_RESET = _("Status of Checked and Recorded reseted")