0003-lingo-force-transaction_date-to-UTC-in-pay_invoice-4.patch
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 |
- |