2
# SchoolTool - common information systems platform for school administration
3
# Copyright (c) 2005 Shuttleworth Foundation
5
# This program is free software; you can redistribute it and/or modify
6
# it under the terms of the GNU General Public License as published by
7
# the Free Software Foundation; either version 2 of the License, or
8
# (at your option) any later version.
10
# This program is distributed in the hope that it will be useful,
11
# but WITHOUT ANY WARRANTY; without even the implied warranty of
12
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
# GNU General Public License for more details.
15
# You should have received a copy of the GNU General Public License
16
# along with this program; if not, write to the Free Software
17
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23
from zope.browserpage.viewpagetemplatefile import ViewPageTemplateFile
25
from schooltool.app.browser.report import ReportPDFView
26
from schooltool.person.interfaces import IPerson
28
from schooltool.intervention import intervention
29
from schooltool.intervention import InterventionGettext as _
32
class InterventionStudentPDFView(ReportPDFView):
33
"""The intervention student (PDF) view class"""
35
template=ViewPageTemplateFile('rml/intervention_student_rml.pt')
38
person = IPerson(self.context)
39
return _('Student Interventions Report: ${student}',
40
mapping={'student': '%s %s' % (person.first_name,
46
for k, v in sorted(self.context['goals'].items()):
49
'added': v.created.strftime('%x'),
50
'due': v.timeline.strftime('%x'),
51
'status': v.goal_met and _('CLOSED') or _('OPEN'),
58
for k, v in sorted(self.context['messages'].items()):
61
message = message[:100] + '...'
63
'creation_date': v.created,
64
'from': ', '.join(intervention.contactsName(v.sender)),
65
'sent': v.created.strftime('%x'),
68
return sorted(messages, key=lambda m: m['creation_date'], reverse=True)