def order_create(request): cart = Cart(request) if request.method == 'POST': form = OrderCreateForm(request.POST) if form.is_valid(): order = form.save() log_info("Order saved!!!") for item in cart: OrderItem.objects.create(order=order, product=item['product'], price=item['price'], quantity=item['quantity']) request.session['order_id'] = order.id order_created.delay(order.id) cart.clear() return redirect('payment:process') else: form = OrderCreateForm() return render(request, 'orders/order/order_create.html', { 'form': form, 'cart': cart })
def order_created(order_id): order = Order.objects.get(id=order_id) subject = f"Dear {order.first_name}, Order :{order.id} placed" message = f"Order ID: {order.id} \nKeep ${order.get_total_cost()} to collect your order" log_info(f'Sending email to :{order.email}') return send_mail(subject, message, from_email=order.email, recipient_list=[order.email])
def unsubscribe_from_domain_events(): store.unsubscribe('order', 'created', order_created) store.unsubscribe('billing', 'created', billing_created) log_info('unsubscribed from domain events')
def subscribe_to_domain_events(): store.subscribe('order', 'created', order_created) store.subscribe('billing', 'created', billing_created) log_info('subscribed to domain events')
def unsubscribe_from_domain_events(): store.unsubscribe('customer', 'created', customer_created) store.unsubscribe('customer', 'deleted', customer_deleted) store.unsubscribe('order', 'created', order_created) log_info('unsubscribed from domain events')
def subscribe_to_domain_events(): store.subscribe('customer', 'created', customer_created) store.subscribe('customer', 'deleted', customer_deleted) store.subscribe('order', 'created', order_created) log_info('subscribed to domain events')