Projet

Général

Profil

0003-lingo-force-transaction_date-to-UTC-in-pay_invoice-4.patch

Benjamin Dauvergne, 04 mai 2020 15:26

Télécharger (2,05 ko)

Voir les différences:

Subject: [PATCH 3/5] lingo: force transaction_date to UTC in pay_invoice()
 (#41323)

 combo/apps/lingo/models.py | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)
combo/apps/lingo/models.py
17 17
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
18 18

  
19 19
import datetime
20
from decimal import Decimal
20 21
import json
21 22
import logging
22 23
import re
23 24

  
24
from decimal import Decimal
25

  
26 25
from dateutil import parser
27 26
import eopayment
28 27
from jsonfield import JSONField
......
40 39
from django.utils.formats import localize
41 40
from django.utils.http import urlencode
42 41
from django.utils.six.moves.urllib import parse as urlparse
43
from django.utils.timezone import make_aware
42
from django.utils.timezone import make_aware, utc
44 43

  
45 44
from django.contrib.auth.models import User
46 45
from django.template.loader import render_to_string
......
210 209
        raise PermissionDenied
211 210

  
212 211
    def pay_invoice(self, invoice_id, transaction_id, transaction_date):
212
        assert timezone.is_aware(transaction_date), 'transaction_date must be an aware date'
213

  
213 214
        url = self.webservice_url + '/invoice/%s/pay/' % invoice_id
214
        data = {'transaction_id': transaction_id,
215
                'transaction_date': transaction_date.strftime('%Y-%m-%dT%H:%M:%S')}
215
        transaction_date = transaction_date.astimezone(utc)
216
        data = {
217
            'transaction_id': transaction_id,
218
            'transaction_date': transaction_date.strftime('%Y-%m-%dT%H:%M:%S')
219
        }
216 220
        headers = {'content-type': 'application/json'}
217 221
        return requests.post(url, remote_service='auto',
218 222
                             data=json.dumps(data), headers=headers).json()
219
-