exclude stopped dtys in DTYSBuyView

master
Stepan Krapivin 8 years ago
parent 99c2a596c0
commit 7d372f1ad3
  1. 4
      dtys/models.py
  2. 15
      dtys/views.py

@ -20,7 +20,7 @@ class DTYSModel(models.Model):
price_start = models.IntegerField(verbose_name="Начальная цена") price_start = models.IntegerField(verbose_name="Начальная цена")
price_end = models.IntegerField(verbose_name="Конечная цена (минимальная)") price_end = models.IntegerField(verbose_name="Конечная цена (минимальная)")
price_stopped = models.IntegerField(default=0) price_stopped = models.IntegerField(verbose_name="Прайс заказа", default=0)
start_date = models.DateField(verbose_name='Дата начала') start_date = models.DateField(verbose_name='Дата начала')
start_time = models.TimeField(verbose_name='Время начала') start_time = models.TimeField(verbose_name='Время начала')
@ -75,7 +75,7 @@ class DTYSModel(models.Model):
"""Stop this DTYS""" """Stop this DTYS"""
self.is_stopped = True self.is_stopped = True
if not self.price_stopped: if self.price_stopped == 0:
self.price_stopped = max(self.price_end, self.get_current_price()) self.price_stopped = max(self.price_end, self.get_current_price())
self.save() self.save()

@ -62,6 +62,21 @@ class DTYSListView(ListView):
class DTYSBuyView(DetailView): class DTYSBuyView(DetailView):
model = DTYSModel model = DTYSModel
def get_queryset(self, *args, **kwargs):
qs = super(DTYSBuyView, self).get_queryset(*args, **kwargs)
qs = qs.filter(
is_public=True,
start_date__lte=timezone.now().date(),
end_date__gte=timezone.now().date(),
start_time__lte=timezone.now().time(),
end_time__gte=timezone.now().time()
)
if qs.count() == 0:
raise Http404()
return qs
def get(self, request, *args, **kwargs): def get(self, request, *args, **kwargs):
obj = self.get_object() obj = self.get_object()

Loading…
Cancel
Save