Ignore event end date for subevents

This commit is contained in:
Raphael Michel
2018-02-07 13:51:22 +01:00
parent c53fd25d1c
commit ded539ce7a
5 changed files with 39 additions and 2 deletions

View File

@@ -268,6 +268,13 @@ class Event(EventMixin, LoggedModel):
def __str__(self):
return str(self.name)
@property
def presale_has_ended(self):
if self.has_subevents:
return self.presale_end and now() > self.presale_end
else:
return super().presale_has_ended
def save(self, *args, **kwargs):
obj = super().save(*args, **kwargs)
self.cache.clear()

View File

@@ -188,7 +188,7 @@ class CartManager:
if op.subevent and op.subevent.presale_start and self.now_dt < op.subevent.presale_start:
raise CartError(error_messages['not_started'])
if op.subevent and op.subevent.presale_end and self.now_dt > op.subevent.presale_end:
if op.subevent and op.subevent.presale_has_ended:
raise CartError(error_messages['ended'])
if isinstance(op, self.AddOperation):

View File

@@ -361,7 +361,7 @@ def _check_positions(event: Event, now_dt: datetime, positions: List[CartPositio
cp.delete()
break
if cp.subevent and cp.subevent.presale_end and now_dt > cp.subevent.presale_end:
if cp.subevent and cp.subevent.presale_has_ended:
err = err or error_messages['some_subevent_ended']
cp.delete()
break