## -*- coding: utf-8 -*-
<%doc>
camcops_server/templates/taskcommon/ctv.mako
===============================================================================
Copyright (C) 2012, University of Cambridge, Department of Psychiatry.
Created by Rudolf Cardinal (rnc1001@cam.ac.uk).
This file is part of CamCOPS.
CamCOPS is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
CamCOPS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CamCOPS. If not, see <https://www.gnu.org/licenses/>.
===============================================================================
</%doc>
## <%page args="tracker: ClinicalTextView, viewtype: str, pdf_landscape: bool"/>
<%!
from cardinal_pythonlib.datetimefunc import format_datetime
from camcops_server.cc_modules.cc_audit import audit
from camcops_server.cc_modules.cc_constants import DateFormat
from camcops_server.cc_modules.cc_pyramid import Icons, Routes, ViewArg, ViewParam
%>
<%inherit file="tracker_ctv.mako"/>
<%block name="office_preamble">
${ _("The clinical text view uses only information from tasks that are flagged CURRENT.") }
</%block>
%if not tracker.patient:
<div class="warning">
${ _("No patient found for tracker.") }
</div>
%else:
<div class="ctv_datelimit_start">
${ _("Start date/time for search:") }
${ format_datetime(tracker.taskfilter.start_datetime,
DateFormat.ISO8601_HUMANIZED_TO_MINUTES, default="−∞") }
</div>
%for task in tracker.collection.all_tasks:
<% ctvinfo_list = task.get_clinical_text(request) %>
## --------------------------------------------------------------------
## Heading
## --------------------------------------------------------------------
<div class="ctv_taskheading">
## Creation date/time
${ format_datetime(task.get_creation_datetime(),
DateFormat.LONG_DATETIME_WITH_DAY) }:
## Task name
${ task.longname(req) }
%if not ctvinfo_list:
${ _("exists") }
%endif
## Hyperlinks
%if viewtype == ViewArg.HTML:
[${ req.icon_text(
icon=Icons.HTML_IDENTIFIABLE,
url=request.route_url(
Routes.TASK,
_query={
ViewParam.TABLE_NAME: task.tablename,
ViewParam.SERVER_PK: task.pk,
ViewParam.VIEWTYPE: ViewArg.HTML,
}
),
text="HTML"
) | n },
${ req.icon_text(
icon=Icons.PDF_IDENTIFIABLE,
url=request.route_url(
Routes.TASK,
_query={
ViewParam.TABLE_NAME: task.tablename,
ViewParam.SERVER_PK: task.pk,
ViewParam.VIEWTYPE: ViewArg.PDF,
}
),
text="PDF"
) | n }]
%endif
## Clinician
%if task.has_clinician and ctvinfo_list:
<i>(${ _("Clinician:") } ${ task.get_clinician_name() })</i>
%endif
</div>
%if ctvinfo_list:
## ----------------------------------------------------------------
## Warnings, special notes
## ----------------------------------------------------------------
%if (not task._current) or (not task.field_contents_valid()) or task.special_notes:
<div class="ctv_warnings">
%if not task._current:
<%include file="task_not_current.mako" args="task=task"/>
%endif
%if not task.field_contents_valid():
<%include file="task_contents_invalid.mako" args="task=task"/>
%endif
%if task.special_notes:
<%include file="special_notes.mako" args="special_notes=task.special_notes, title='TASK SPECIAL NOTES', viewtype=viewtype"/>
%endif
</div>
%endif
## ----------------------------------------------------------------
## Content
## ----------------------------------------------------------------
%for ctvinfo in ctvinfo_list:
## These are not escaped here; see CtvInfo.
%if ctvinfo.heading:
<div class="ctv_fieldheading">${ ctvinfo.heading | n }</div>
%endif
%if ctvinfo.subheading:
<div class="ctv_fieldsubheading">${ ctvinfo.subheading | n }</div>
%endif
%if ctvinfo.description:
<div class="ctv_fielddescription">${ ctvinfo.description | n }</div>
%endif
%if ctvinfo.content:
<div class="ctv_fieldcontent">${ ctvinfo.content | n }</div>
%endif
%endfor
<%
audit(
request,
"Clinical text view accessed",
table=task.tablename,
server_pk=task.pk,
patient_server_pk=task.get_patient_server_pk()
)
%>
%endif
%endfor
<div class="ctv_datelimit_end">
${ _("End date/time for search:") }
${ format_datetime(tracker.taskfilter.end_datetime,
DateFormat.ISO8601_HUMANIZED_TO_MINUTES, default="+∞") }
</div>
%endif