source: main/kofacustom.unidel/trunk/src/kofacustom/unidel/students/viewlets.py @ 17749

Last change on this file since 17749 was 17709, checked in by Henrik Bettermann, 9 months ago

Allow students to download exam clearance slip.

  • Property svn:keywords set to Id
File size: 2.7 KB
Line 
1## $Id: viewlets.py 17709 2024-03-01 07:57:57Z henrik $
2##
3## Copyright (C) 2011 Uli Fouquet & Henrik Bettermann
4## This program is free software; you can redistribute it and/or modify
5## it under the terms of the GNU General Public License as published by
6## the Free Software Foundation; either version 2 of the License, or
7## (at your option) any later version.
8##
9## This program is distributed in the hope that it will be useful,
10## but WITHOUT ANY WARRANTY; without even the implied warranty of
11## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12## GNU General Public License for more details.
13##
14## You should have received a copy of the GNU General Public License
15## along with this program; if not, write to the Free Software
16## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17##
18
19import grok
20from waeup.kofa.interfaces import REQUESTED
21from waeup.kofa.browser.viewlets import ManageActionButton
22from kofacustom.unidel.students.interfaces import (ICustomStudent,
23    ICustomStudentStudyCourse, ICustomStudentStudyLevel)
24from waeup.kofa.students.fileviewlets import (
25    StudentFileDisplay, StudentFileUpload, StudentImage)
26from waeup.kofa.students.browser import (StudentBaseDisplayFormPage,
27    ExportPDFClearanceSlip, StudyCourseDisplayFormPage,
28    StudyLevelDisplayFormPage)
29from waeup.kofa.students.viewlets import AdmissionSlipActionButton
30
31from kofacustom.nigeria.interfaces import MessageFactory as _
32
33class ExamClearanceSlipActionButton(ManageActionButton):
34    grok.order(10)
35    grok.context(ICustomStudent)
36    grok.view(StudentBaseDisplayFormPage)
37    grok.require('waeup.handleStudent')
38    text = _('Download examination clearance slip')
39    target = 'examclearance_slip.pdf'
40    icon = 'actionicon_pdf.png'
41
42    @property
43    def target_url(self):
44        #if not self.context.state in :
45        #    return ''
46        return self.view.url(self.view.context, self.target)
47
48class AdmissionSlipActionButton(AdmissionSlipActionButton):
49    grok.require('waeup.managePortal')
50
51#  UTME (JAMB) Result
52
53class JAMBResultDisplay(StudentFileDisplay):
54    """ UTME (JAMB) Result display viewlet.
55    """
56    grok.order(19)
57    label = _(u' UTME (JAMB) Result')
58    title = _(u' UTME (JAMB) Result')
59    download_name = u'jamb_result'
60
61class JAMBResultSlip(JAMBResultDisplay):
62    grok.view(ExportPDFClearanceSlip)
63
64class JAMBResultUpload(StudentFileUpload):
65    """UTME (JAMB) Result upload viewlet.
66    """
67    grok.order(19)
68    label = _(u' UTME (JAMB) Result')
69    title = _(u' UTME (JAMB) Result Scan')
70    mus = 1024 * 250
71    download_name = u'jamb_result'
72
73class JAMBResultImage(StudentImage):
74    """Renders UTME (JAMB) Result scan.
75    """
76    grok.name('jamb_result')
77    download_name = u'jamb_result'
Note: See TracBrowser for help on using the repository browser.