source: main/waeup.ikoba/trunk/src/waeup/ikoba/customers/fileviewlets.py @ 12444

Last change on this file since 12444 was 12444, checked in by Henrik Bettermann, 10 years ago

We need to provide unique filenames. Let's use the document id for the filename and not the download_name of the respective viewlet.

  • Property svn:keywords set to Id
File size: 4.7 KB
Line 
1## $Id: fileviewlets.py 12444 2015-01-11 22:43:35Z henrik $
2##
3## Copyright (C) 2014 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.ikoba.interfaces import MessageFactory as _
21
22from waeup.ikoba.browser.fileviewlets import (
23    FileDisplay, FileUpload, Image)
24
25from waeup.ikoba.customers.interfaces import ICustomer
26
27from waeup.ikoba.customers.documents import (
28    CustomerSampleDocument, CustomerPDFDocument
29    )
30from waeup.ikoba.customers.browser import (
31    CustomerBaseDisplayFormPage, CustomerBaseManageFormPage,
32    CustomerFilesUploadPage,
33    DocumentDisplayFormPage, DocumentManageFormPage, DocumentEditFormPage,
34    PDFDocumentSlipPage,)
35
36grok.templatedir('browser_templates')
37
38# File viewlets for customer base page
39
40class PassportDisplay(FileDisplay):
41    """Passport display viewlet.
42    """
43    grok.order(1)
44    grok.context(ICustomer)
45    grok.view(CustomerBaseDisplayFormPage)
46    grok.require('waeup.viewCustomer')
47    grok.template('imagedisplay')
48    label = _(u'Passport Picture')
49    download_name = u'passport.jpg'
50
51
52class PassportManageUpload(FileUpload):
53    """Passport upload viewlet for officers.
54    """
55    grok.order(1)
56    grok.context(ICustomer)
57    grok.view(CustomerBaseManageFormPage)
58    grok.require('waeup.manageCustomer')
59    grok.template('imageupload')
60    label = _(u'Passport Picture (jpg only)')
61    mus = 1024 * 50
62    download_name = u'passport.jpg'
63    tab_redirect = '#tab2'
64
65
66class PassportEditUpload(PassportManageUpload):
67    """Passport upload viewlet for customers.
68    """
69    grok.view(CustomerFilesUploadPage)
70    grok.require('waeup.handleCustomer')
71
72
73class Passport(Image):
74    """Renders jpeg passport picture.
75    """
76    grok.name('passport.jpg')
77    download_name = u'passport.jpg'
78    grok.context(ICustomer)
79    grok.require('waeup.viewCustomer')
80
81# File viewlets for customer documents
82
83class SampleScanManageUpload(FileUpload):
84    """Scan upload viewlet for officers.
85    """
86    grok.order(1)
87    grok.context(CustomerSampleDocument)
88    grok.view(DocumentManageFormPage)
89    grok.require('waeup.manageCustomer')
90    label = _(u'Sample Scan')
91    title = _(u'Sample Scan')
92    mus = 1024 * 200
93    download_name = u'sample'
94    tab_redirect = '#tab2'
95
96
97class SampleScanEditUpload(SampleScanManageUpload):
98    """Scan upload viewlet for customer.
99
100    If a user has both permissions, waeup.manageCustomer and
101    waeup.handleCustomer, the upload viewlet appears twice.
102    """
103    grok.view(DocumentEditFormPage)
104    grok.require('waeup.handleCustomer')
105
106
107class SampleScanDisplay(FileDisplay):
108    """Scan display viewlet.
109    """
110    grok.order(1)
111    grok.context(CustomerSampleDocument)
112    grok.require('waeup.viewCustomer')
113    grok.view(DocumentDisplayFormPage)
114    label = _(u'Sample Scan')
115    title = _(u'Sample Scan')
116    download_name = u'sample'
117
118
119class SampleScanImage(Image):
120    """Scan document.
121    """
122    grok.name('sample')
123    grok.context(CustomerSampleDocument)
124    grok.require('waeup.viewCustomer')
125    download_name = u'sample'
126
127
128class SampleScanPDFSlip(SampleScanDisplay):
129    grok.view(PDFDocumentSlipPage)
130
131
132class PDFScanManageUpload(FileUpload):
133    """Scan upload viewlet for officers.
134    """
135    grok.view(DocumentManageFormPage)
136    grok.context(CustomerPDFDocument)
137    grok.require('waeup.manageCustomer')
138    label = _(u'PDF File')
139    title = _(u'PDF File')
140    mus = 1024 * 1000
141    download_name = u'sample.pdf'
142    tab_redirect = '#tab2'
143
144
145class PDFScanEditUpload(PDFScanManageUpload):
146    """Scan upload viewlet for customer.
147    """
148    grok.view(DocumentEditFormPage)
149    grok.require('waeup.handleCustomer')
150
151
152class PDFScanDisplay(FileDisplay):
153    """Scan display viewlet.
154    """
155    grok.order(1)
156    grok.context(CustomerPDFDocument)
157    grok.require('waeup.viewCustomer')
158    grok.view(DocumentDisplayFormPage)
159    label = _(u'PDF Scan')
160    title = _(u'PDF Scan')
161    download_name = u'sample.pdf'
162
163
164class PDFScanImage(Image):
165    """Scan document.
166    """
167    grok.name('sample.pdf')
168    grok.context(CustomerPDFDocument)
169    grok.require('waeup.viewCustomer')
170    download_name = u'sample.pdf'
171
172
173class PDFScanSlip(PDFScanDisplay):
174    grok.view(PDFDocumentSlipPage)
Note: See TracBrowser for help on using the repository browser.