Ignore:
Timestamp:
13 Feb 2025, 11:36:26 (2 days ago)
Author:
Henrik Bettermann
Message:

Implement payment ticket exporter with date range filter.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser.py

    r17992 r18021  
    18281828    pnav = 3
    18291829
    1830     def update(self, CREATE=None, DISCARD=None, job_id=None):
     1830    def update(self, CREATE=None, CREATE_PAYMENTS=None, payments_start=None,
     1831               payments_end=None, DISCARD=None, job_id=None):
    18311832        if CREATE:
    18321833            self.redirect(self.url('@@start_export'))
     1834            return
     1835        if CREATE_PAYMENTS:
     1836            args = {'payments_start':payments_start, 'payments_end':payments_end}
     1837            self.redirect(self.url('@@start_export_payments') + '?%s' % urlencode(args))
    18331838            return
    18341839        if DISCARD and job_id:
     
    18821887        return
    18831888
     1889
     1890class PaymentsExportJobContainerJobStart(UtilityView, grok.View):
     1891    """View that starts only payment export jobs.
     1892    """
     1893    grok.context(VirtualApplicantsExportJobContainer)
     1894    grok.require('waeup.exportApplication')
     1895    grok.name('start_export_payments')
     1896
     1897    def update(self, payments_start=None, payments_end= None):
     1898        utils = queryUtility(IKofaUtils)
     1899        if not utils.expensive_actions_allowed():
     1900            self.flash(_(
     1901                "Currently, exporters cannot be started due to high "
     1902                "system load. Please try again later."), type='danger')
     1903            self.entries = doll_up(self, user=None)
     1904            return
     1905
     1906        ob_class = self.__implemented__.__name__.replace('waeup.kofa.','')
     1907        container_code = self.context.__parent__.code
     1908        job_id = self.context.start_export_job('applicantpayments',
     1909                                      self.request.principal.id,
     1910                                      container=container_code,
     1911                                      p_start=payments_start,
     1912                                      p_end=payments_end)
     1913        self.context.logger.info(
     1914            '%s - exported: %s (%s), job_id=%s'
     1915            % (ob_class, 'applicantpayments', container_code, job_id))
     1916        self.flash(_('Exports started.'))
     1917        self.redirect(self.url(self.context))
     1918        return
     1919
     1920    def render(self):
     1921        return
     1922
    18841923class ExportJobContainerDownload(ExportCSVView):
    1885     """Page that downloads a students export csv file.
     1924    """Page that downloads an applicants export csv file.
    18861925
    18871926    """
Note: See TracChangeset for help on using the changeset viewer.