Ejemplo n.º 1
0
    def render_change_form(self, request, context, add=False, change=False, form_url='', obj=None):
        order = Order.objects.get(pk=int(context['object_id']))
        context['soups'] = soups_from_basket_(order.basket)['data']

        return super(OrderModelAdmin, self).render_change_form(request, context, add=add, change=change,
                                                               form_url=form_url,
                                                               obj=obj)
Ejemplo n.º 2
0
    def post(self, request, *args, **kwargs):
        form = OrderForm(request.POST)
        if not form.is_valid():
            return self.render_to_response(context={'form': form, 'errors': form.errors})
        try:
            cleaned_data = form.clean()
        except ValidationError:
            return self.render_to_response(context={'form': form, 'errors': form.errors})

        basket = Basket.objects.get(session=self.request.COOKIES['sessionid'], ordered=False)
        soups_from_basket = soups_from_basket_(basket)

        Order.objects.create(
            basket=basket,
            client_phone=cleaned_data.get('client_phone'),
            when=cleaned_data.get('when'),
            where=cleaned_data.get('where'),
            positions_sum=soups_from_basket['price'],
            who=request.META.get('REMOTE_ADDR')
        )
        basket.ordered = True
        basket.save()
        return redirect(self.success_url)
Ejemplo n.º 3
0
 def render_to_response(self, context, **response_kwargs):
     session = self.request.COOKIES['sessionid']
     basket = Basket.objects.get(session=session, ordered=False)
     context = dict(context, **soups_from_basket_(basket))
     return super(OrderFormView, self).render_to_response(context, **response_kwargs)