Changeset 18058


Ignore:
Timestamp:
10 Apr 2025, 10:13:10 (3 days ago)
Author:
Henrik Bettermann
Message:
  • Replace get_unpaid_payments webservice method by get_payments.
  • format_float is rounding now.
Location:
main/waeup.kofa/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.kofa/trunk/CHANGES.txt

    r18021 r18058  
    441.8.2.dev0 (unreleased)
    55=======================
     6
     7* Replace `get_unpaid_payments` webservice method by `get_payments`.
     8
     9* `format_float` is rounding now.
    610
    711* Implement payment ticket exporter with date range filter.
  • main/waeup.kofa/trunk/src/waeup/kofa/students/reports/tests/test_level_report.py

    r15968 r18058  
    7272        result = lr._get_students('fac1', 'dep1', 'CERT1', 2010, 100)
    7373        self.assertEqual(result,
    74             [(u'1234', u'Bob Tester', 90, 30, '1.666',
     74            [(u'1234', u'Bob Tester', 90, 30, '1.67',
    7575            'm_Course2_m Course3', 'Course4 Course5\nCourse6',
    76             90, 30, '1.666', '')])
     76            90, 30, '1.667', '')])
    7777        # same result when selecting all certificates
    7878        result = lr._get_students('fac1', 'dep1', 'all', 2010, 100)
    7979        self.assertEqual(result,
    80             [(u'1234', u'Bob Tester', 90, 30, '1.666',
     80            [(u'1234', u'Bob Tester', 90, 30, '1.67',
    8181            'm_Course2_m Course3', 'Course4 Course5\nCourse6',
    82             90, 30, '1.666', '')])
     82            90, 30, '1.667', '')])
    8383        return
    8484
  • main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_webservices.py

    r17856 r18058  
    985985        return
    986986
    987     def test_get_unpaid_payments(self):
     987    def test_get_payments(self):
    988988        timestamp1 = ("%d" % int((time()-10)*10000))[1:]
    989989        timestamp2 = ("%d" % int((time()-5)*10000))[1:]
     
    10021002        payment2 = StudentOnlinePayment()
    10031003        payment2.p_id = p_id_2
    1004         payment2.p_session = 2012
    1005         payment2.amount_auth = 12.12
     1004        payment2.p_session = 2015
     1005        payment2.amount_auth = 14.14
    10061006        payment2.p_state = u'paid'
    10071007        payment2.p_category = u'clearance'
     
    10151015        self.student['payments']['my-payment3'] = payment3
    10161016        server = ServerProxy('http://mgr:mgrpw@localhost/app', allow_none=True)
    1017         results = server.get_unpaid_payments(1)
     1017        results = server.get_payments(1)
    10181018        self.assertEqual(
    10191019            results,[
     
    10281028                'matric_number': '234'}
    10291029                ])
    1030         results = server.get_unpaid_payments(4)
     1030        results = server.get_payments(4)
    10311031        self.assertEqual(
    10321032            results,[
     
    10521052                  'matric_number': '234'},
    10531053                ])
    1054         results = server.get_unpaid_payments(4,'xyz')
     1054        results = server.get_payments(4,False,'xyz')
    10551055        self.assertEqual(
    10561056            results,[
     
    10671067                ])
    10681068
     1069        results = server.get_payments(4,True,'xyz')
     1070        self.assertEqual(
     1071            results,[])
     1072
     1073        results = server.get_payments(4,True)
     1074        self.assertEqual(
     1075            results,[
     1076                {'display_item': None,
     1077                  'p_id': '%s' % p_id_2,
     1078                  'p_category': 'clearance',
     1079                  'amount_auth': 14.14,
     1080                  'p_session': 2015,
     1081                  'p_state': 'paid',
     1082                  'r_company': None,
     1083                  'fullname': 'Anna Tester',
     1084                  'id': 'K1000000',
     1085                  'matric_number': '234'},
     1086                ])
     1087
    10691088        REQUEST_XML = """\
    10701089<?xml version="1.0"?>
    10711090<methodCall>
    1072 <methodName>get_unpaid_payments</methodName>
     1091<methodName>get_payments</methodName>
    10731092<params>
    10741093<param>
  • main/waeup.kofa/trunk/src/waeup/kofa/students/webservices.py

    r17856 r18058  
    506506
    507507    @grok.require('waeup.xmlrpc')
    508     def get_unpaid_payments(self, days=3, company=None):
    509         """Returns the payment and payer data of unpaid payment
     508    def get_payments(self, days=3, paid=False, company=None):
     509        """Returns the payment and payer data of paid or unpaid payment
    510510        tickets which have been created during the past days.
    511511        """
     
    516516        p_id_minus_days = ("p%s" % timestamp_now_minus_days)
    517517        cat = getUtility(ICatalog, name='payments_catalog')
    518         payments = list(
    519             cat.searchResults(p_id=(p_id_minus_days, p_id_now),
    520                               p_state=('unpaid', 'unpaid')))
    521         payments += list(
    522             cat.searchResults(p_id=(p_id_minus_days, p_id_now),
    523                               p_state=('failed', 'failed')))
     518        if paid:
     519            payments = list(
     520                cat.searchResults(p_id=(p_id_minus_days, p_id_now),
     521                                  p_state=('paid', 'paid')))
     522        else:
     523            payments = list(
     524                cat.searchResults(p_id=(p_id_minus_days, p_id_now),
     525                                  p_state=('unpaid', 'unpaid')))
     526            payments += list(
     527                cat.searchResults(p_id=(p_id_minus_days, p_id_now),
     528                                  p_state=('failed', 'failed')))
    524529        hitlist = []
    525530        if company:
  • main/waeup.kofa/trunk/src/waeup/kofa/utils/utils.py

    r17823 r18058  
    565565        # 459.99999999999994
    566566        value = decimal.Decimal(str(value))
    567         # cut floating point value
    568         value = int(pow(10, prec)*value) / (1.0*pow(10, prec))
     567        value = round(value,prec)
     568        # alternatively: cut floating point value
     569        #value = int(pow(10, prec)*value) / (1.0*pow(10, prec))
    569570        return '{:{width}.{prec}f}'.format(value, width=0, prec=prec)
    570571
Note: See TracChangeset for help on using the changeset viewer.