Ignore:
Timestamp:
20 Sep 2016, 08:33:44 (8 years ago)
Author:
Henrik Bettermann
Message:

Add report purge button.

Location:
main/waeup.kofa/trunk/src/waeup/kofa/students
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.kofa/trunk/src/waeup/kofa/students/reports/tests/test_student_statistics.py

    r12897 r14169  
    11# Tests for student related reports
    22import os
     3from datetime import datetime, timedelta
    34from zc.async.testing import wait_for_result
    45from zope.interface.verify import verifyClass, verifyObject
    56from zope.component import getUtility
    6 from waeup.kofa.interfaces import IJobManager
     7from waeup.kofa.interfaces import IJobManager, IKofaUtils
    78from waeup.kofa.students.reports.student_statistics import (
    89    get_student_stats, StudentStatisticsReport, IStudentStatisticsReport)
     
    207208            )
    208209        return
     210
     211    def test_report_purge(self):
     212        self.trigger_report_creation()
     213        job_id = self.wait_for_report_job_completed()
     214        self.browser.open('http://localhost/app/reports')
     215        self.browser.getControl("Purge").click()
     216        self.assertTrue('0 report(s) purged' in self.browser.contents)
     217        job_id, gen_name, user = self.app['reports'].get_running_report_jobs(user_id=None)[0]
     218        job = getUtility(IJobManager).get(job_id)
     219        tz = getUtility(IKofaUtils).tzinfo
     220        delta = timedelta(weeks=5)
     221        setattr(job, '_begin_after', datetime.now(tz) - delta)
     222        self.browser.getControl("Purge").click()
     223        self.assertTrue('1 report(s) purged' in self.browser.contents)
     224        logfile = os.path.join(
     225            self.app['datacenter'].storage, 'logs', 'main.log')
     226        logcontent = open(logfile).read()
     227        self.assertTrue(
     228            'INFO - zope.mgr - browser.reports.ReportsContainerPage - '
     229            'report %s purged' % job_id in logcontent
     230            )
     231        return
  • main/waeup.kofa/trunk/src/waeup/kofa/students/student.py

    r13224 r14169  
    3737    IObjectHistory, IUserAccount, IFileStoreNameChooser, IFileStoreHandler,
    3838    IKofaUtils, registration_states_vocab, IExtFileStore,
    39     CREATED, ADMITTED, CLEARANCE, PAID, REGISTERED, VALIDATED, RETURNING)
     39    CREATED, ADMITTED, CLEARANCE, PAID, REGISTERED, VALIDATED, RETURNING,
     40    GRADUATED)
    4041from waeup.kofa.students.accommodation import StudentAccommodation
    4142from waeup.kofa.students.interfaces import (
     
    218219    @property
    219220    def before_payment(self):
    220         non_fresh_states = (PAID, REGISTERED, VALIDATED, RETURNING, )
     221        non_fresh_states = (PAID, REGISTERED, VALIDATED, RETURNING, GRADUATED)
    221222        if self.is_fresh and self.state not in non_fresh_states:
    222223            return True
Note: See TracChangeset for help on using the changeset viewer.