def receive_basket_addition(sender, request, product, user, **kwargs): """ Raised when a product is added to a basket. :param sender: :param request: :param product: :param user: :param kwargs: :return: """ qs = filer_hookevent(product, 4) if qs: data = { "user": dict(user=user.username, email=user.email), "product": model_to_dict(product) } run_hook_tasks_job(qs, data)
def receive_product_viewed(sender, product, user, request, response, **kwargs): """ :param sender: :param product: :param user: :param request: :param response: :param kwargs: :return: """ qs = filer_hookevent(product, 1) if qs: u = dict(user=user.username) if hasattr(user, 'email'): u.update(email=user.email) data = {"user": u, "product": model_to_dict(product)} run_hook_tasks_job(qs, data)
def receive_product_viewed(sender, product, user, request, response, **kwargs): """ :param sender: :param product: :param user: :param request: :param response: :param kwargs: :return: """ qs = filer_hookevent(product, 1) if qs: u = dict(user=user.username) if hasattr(user, 'email'): u.update(email=user.email) data = { "user": u, "product": model_to_dict(product) } run_hook_tasks_job(qs, data)
def receive_order_placed(sender, order, user, **kwargs): """ :param sender: :param order: :param user: :param kwargs: :return: """ for line in order.basket.lines.all(): product = line.product qs = filer_hookevent(product, 9) if qs: data = { "user": dict(user=user.username, email=user.email), "order": order.number, "product": model_to_dict(product), "price_excl_tax": line.price_excl_tax, "price_incl_tax": line.price_incl_tax, "quantity": line.quantity } run_hook_tasks_job(qs, data)