Ignore:
Timestamp:
24 Nov 2014, 11:27:53 (10 years ago)
Author:
Henrik Bettermann
Message:

Add pdf utility methods first pdf slip components.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.ikoba/trunk/src/waeup/ikoba/customers/browser.py

    r12039 r12051  
    692692        return
    693693
     694class CustomerBasePDFFormPage(IkobaDisplayFormPage):
     695    """ Page to display customer base data in pdf files.
     696    """
     697
     698    def __init__(self, context, request, omit_fields=()):
     699        self.omit_fields = omit_fields
     700        super(CustomerBasePDFFormPage, self).__init__(context, request)
     701
     702    @property
     703    def form_fields(self):
     704        form_fields = grok.AutoFields(ICustomer)
     705        for field in self.omit_fields:
     706            form_fields = form_fields.omit(field)
     707        return form_fields
     708
    694709# Pages for customer documents
    695710
     
    915930            wf_info.fireTransition(transition_id)
    916931        return
     932
     933class ExportPDFDocumentsOverviewPage(UtilityView, grok.View):
     934    """Deliver an overview slip.
     935    """
     936    grok.context(ICustomer)
     937    grok.name('overview_slip.pdf')
     938    grok.require('waeup.viewCustomer')
     939    prefix = 'form'
     940
     941    omit_fields = ('suspended', 'sex', 'suspended_comment')
     942
     943    form_fields = None
     944
     945    @property
     946    def label(self):
     947        portal_language = getUtility(IIkobaUtils).PORTAL_LANGUAGE
     948        return translate(_('Documents of'),
     949            'waeup.ikoba', target_language=portal_language) \
     950            + ' %s' % self.context.display_fullname
     951
     952    def render(self):
     953        customerview = CustomerBasePDFFormPage(self.context,
     954            self.request, self.omit_fields)
     955        customers_utils = getUtility(ICustomersUtils)
     956        return customers_utils.renderPDF(
     957            self, 'overview_slip.pdf',
     958            self.context, customerview,
     959            omit_fields=self.omit_fields)
Note: See TracChangeset for help on using the changeset viewer.