def notify_checkout_success_shopmanager(event): """Send notification mail after checkout succeed. """ # if skip payment, do notification checkout_settings = ICheckoutSettings(event.context) if checkout_settings.skip_payment(get_order_uid(event)): notify_order_success(event, who="shopmanager")
def finish(self, widget, data): providers = [fields_factory(self.context, self.request) for fields_factory in self.provider_registry] to_adapt = (self.context, self.request) checkout_adapter = getMultiAdapter(to_adapt, ICheckoutAdapter) try: uid = checkout_adapter.save(providers, widget, data) except CheckoutError: transaction.abort() self.checkout_back(self.request) checkout_adapter.clear_session() checkout_settings = ICheckoutSettings(self.context) if checkout_settings.skip_payment(uid): self.finish_redirect_url = checkout_settings.skip_payment_redirect_url(uid) else: p_name = data.fetch("checkout.payment_selection.payment").extracted payments = Payments(self.context) payment = payments.get(p_name) self.finish_redirect_url = payment.init_url(str(uid)) event = CheckoutDone(self.context, self.request, uid) notify(event)