mirror of
https://github.com/pretix/pretix.git
synced 2026-05-04 15:04:03 +00:00
Fix urgent TypeError in Order._can_be_paid
This commit is contained in:
@@ -1,13 +1,14 @@
|
|||||||
import copy
|
import copy
|
||||||
import string
|
import string
|
||||||
from datetime import datetime
|
from datetime import date, datetime, time
|
||||||
from decimal import Decimal
|
from decimal import Decimal
|
||||||
from typing import List, Union
|
from typing import List, Union
|
||||||
|
|
||||||
|
import pytz
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.utils.crypto import get_random_string
|
from django.utils.crypto import get_random_string
|
||||||
from django.utils.timezone import now
|
from django.utils.timezone import make_aware, now
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
from ..decimal import round_decimal
|
from ..decimal import round_decimal
|
||||||
@@ -253,7 +254,7 @@ class Order(LoggedModel):
|
|||||||
@property
|
@property
|
||||||
def is_expired_by_time(self):
|
def is_expired_by_time(self):
|
||||||
return (
|
return (
|
||||||
self.status == Order.STATUS_PENDING and self.expires.date() < now().date()
|
self.status == Order.STATUS_PENDING and self.expires < now()
|
||||||
and not self.event.settings.get('payment_term_expire_automatically')
|
and not self.event.settings.get('payment_term_expire_automatically')
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -262,9 +263,15 @@ class Order(LoggedModel):
|
|||||||
'late': _("The payment is too late to be accepted."),
|
'late': _("The payment is too late to be accepted."),
|
||||||
}
|
}
|
||||||
|
|
||||||
if self.event.settings.get('payment_term_last') \
|
if self.event.settings.get('payment_term_last'):
|
||||||
and now() > self.event.settings.get('payment_term_last'):
|
tz = pytz.timezone(self.event.settings.timezone)
|
||||||
return error_messages['late']
|
last_date = make_aware(datetime.combine(
|
||||||
|
self.event.settings.get('payment_term_last', as_type=date),
|
||||||
|
time(hour=23, minute=59, second=59)
|
||||||
|
), tz)
|
||||||
|
|
||||||
|
if now() > last_date:
|
||||||
|
return error_messages['late']
|
||||||
if self.status == self.STATUS_PENDING:
|
if self.status == self.STATUS_PENDING:
|
||||||
return True
|
return True
|
||||||
if not self.event.settings.get('payment_term_accept_late'):
|
if not self.event.settings.get('payment_term_accept_late'):
|
||||||
|
|||||||
Reference in New Issue
Block a user