diff --git a/smash/web/views/visit.py b/smash/web/views/visit.py index 10f2f80cf96e3fb6237ce303131869ba124aaa95..05d0ac44e9022231b52552752d32d64f31917ecd 100644 --- a/smash/web/views/visit.py +++ b/smash/web/views/visit.py @@ -9,7 +9,7 @@ from web.models.study_visit_list import VISIT_LIST_GENERIC, VISIT_LIST_MISSING_A VISIT_LIST_UNFINISHED, VISIT_LIST_CHOICES from . import wrap_response from ..forms import VisitDetailForm, VisitAddForm, SubjectDetailForm, StudySubjectDetailForm -from ..models import Visit, Appointment, StudySubject, MailTemplate +from ..models import Visit, Appointment, StudySubject, MailTemplate, Worker, Provenance logger = logging.getLogger(__name__) @@ -93,7 +93,17 @@ def visit_details(request, id): def visit_mark(request, id, as_what): visit = get_object_or_404(Visit, id=id) if as_what == 'finished': + worker = Worker.get_by_user(request.user) + p = Provenance(modified_table = Visit._meta.db_table, + modified_table_id = id, + modification_author = worker, + previous_value = visit.is_finished, + new_value = True, + modification_description = 'Worker "{}" marked visit from "{}" as finished'.format(worker, visit.subject), + modified_field = 'is_finished', + ) visit.mark_as_finished() + p.save() return redirect('web.views.visit_details', id=id)