def get_ajax_label(self, discounts=None): price = self.get_price(discounts) return "%s, %s, %s" % (self.sku, self.display_product(), prices.amount(price))
def test_templatetag_amount(money_fixture): amount = prices.amount(money_fixture) assert amount == '10 <span class="currency">USD</span>'
def test_templatetag_amount_html(money_fixture): amount = prices.amount(money_fixture, format="html") assert amount == '<span class="currency">$</span>10.00'
def test_templatetag_amount_wrong_param(money_fixture): amount = prices.amount(money_fixture, format="test") assert amount == "$10.00"
def test_templatetag_amount(money_fixture): amount = prices.amount(money_fixture) assert amount == "$10.00"
def resolve_localized(root, _info): return prices.amount(root)
def display_order_event(order_event: OrderEvent): """Keep the backwards compatibility with the old dashboard and new type of events. The new one is storing enums values instead of raw messages. """ event_type = order_event.type params = order_event.parameters if event_type == events.OrderEvents.PLACED_FROM_DRAFT: return pgettext_lazy("Dashboard message related to an order", "Order placed from draft order") if event_type == events.OrderEvents.PAYMENT_VOIDED: return pgettext_lazy( "Dashboard message related to an order", "Payment was voided by %(user_name)s" % {"user_name": order_event.user}, ) if event_type == events.OrderEvents.PAYMENT_REFUNDED: amount = get_money_from_params(params["amount"]) return pgettext_lazy( "Dashboard message related to an order", "Successfully refunded: %(amount)s" % {"amount": prices.amount(amount)}, ) if event_type == events.OrderEvents.PAYMENT_CAPTURED: amount = get_money_from_params(params["amount"]) return pgettext_lazy( "Dashboard message related to an order", "Successfully captured: %(amount)s" % {"amount": prices.amount(amount)}, ) if event_type == events.OrderEvents.ORDER_MARKED_AS_PAID: return pgettext_lazy("Dashboard message related to an order", "Order manually marked as paid") if event_type == events.OrderEvents.CANCELED: return pgettext_lazy("Dashboard message related to an order", "Order was canceled") if event_type == events.OrderEvents.FULFILLMENT_RESTOCKED_ITEMS: return npgettext_lazy( "Dashboard message related to an order", "We restocked %(quantity)d item", "We restocked %(quantity)d items", number="quantity", ) % { "quantity": params["quantity"] } if event_type == events.OrderEvents.NOTE_ADDED: return pgettext_lazy( "Dashboard message related to an order", "%(user_name)s added note: %(note)s" % { "note": params["message"], "user_name": order_event.user }, ) if event_type == events.OrderEvents.FULFILLMENT_CANCELED: return pgettext_lazy( "Dashboard message", "Fulfillment #%(fulfillment)s canceled by %(user_name)s", ) % { "fulfillment": params["composed_id"], "user_name": order_event.user } if event_type == events.OrderEvents.FULFILLMENT_FULFILLED_ITEMS: return pgettext_lazy("Dashboard message related to an order", "Fulfilled some items") if event_type == events.OrderEvents.PLACED: return pgettext_lazy("Dashboard message related to an order", "Order was placed") if event_type == events.OrderEvents.ORDER_FULLY_PAID: return pgettext_lazy("Dashboard message related to an order", "Order was fully paid") if event_type == events.OrderEvents.EMAIL_SENT: return pgettext_lazy( "Dashboard message related to an order", "%(email_type)s email was sent to the customer " "(%(email)s)", ) % { "email_type": EMAIL_CHOICES[params["email_type"]], "email": params["email"], } if event_type == events.OrderEvents.TRACKING_UPDATED: return pgettext_lazy( "Dashboard message related to an order", "Fulfillment #%(fulfillment)s tracking was updated to" " %(tracking_number)s by %(user_name)s", ) % { "fulfillment": params["composed_id"], "tracking_number": params["tracking_number"], "user_name": order_event.user, } if event_type == events.OrderEvents.DRAFT_CREATED: return pgettext_lazy( "Dashboard message related to an order", "The draft was created by %(user_name)s", ) % { "user_name": order_event.user } if event_type == events.OrderEvents.DRAFT_ADDED_PRODUCTS: return pgettext_lazy("Dashboard message related to an order", "%(user_name)s added some products") % { "user_name": order_event.user } if event_type == events.OrderEvents.DRAFT_REMOVED_PRODUCTS: return pgettext_lazy( "Dashboard message related to an order", "%(user_name)s removed some products", ) % { "user_name": order_event.user } if event_type == events.OrderEvents.OVERSOLD_ITEMS: return pgettext_lazy( "Dashboard message related to an order", "%(user_name)s placed the order by bypassing oversold items", ) % { "user_name": order_event.user } if event_type == events.OrderEvents.UPDATED_ADDRESS: return pgettext_lazy( "Dashboard message related to an order", "The order address was updated by %(user_name)s", ) % { "user_name": order_event.user } if event_type == events.OrderEvents.PAYMENT_FAILED: return pgettext_lazy( "Dashboard message related to an order", "The payment was failed by %(user_name)s", ) % { "user_name": order_event.user } if event_type == events.OrderEvents.OTHER: return order_event.parameters["message"] raise ValueError("Not supported event type: %s" % (event_type))
def discount_as_negative(discount, html=False): zero = Money(0, discount.currency) return prices.amount(zero - discount, "html" if html else "text")
def test_templatetag_amount(money_fixture): amount = prices.amount(money_fixture) assert amount == '10 <span class="currency">USD</span>'