本文整理汇总了Python中plans.models.Order类的典型用法代码示例。如果您正苦于以下问题:Python Order类的具体用法?Python Order怎么用?Python Order使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Order类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: recalculate
def recalculate(self, amount, billing_info):
"""
Calculates and return pre-filled Order
"""
order = Order(pk=-1)
order.amount = amount
order.currency = self.get_currency()
country = getattr(billing_info, 'country', None)
if not country is None:
country = country.code
tax_number = getattr(billing_info, 'tax_number', None)
# Calculating session can be complex task (e.g. VIES webservice call)
# To ensure that once we get what tax we display to confirmation it will
# not change, tax rate is cached for a given billing data (as it mainly depends on it)
tax_session_key = "tax_%s_%s" % (tax_number, country)
tax = self.request.session.get(tax_session_key)
if tax is None:
taxation_policy = getattr(settings, 'TAXATION_POLICY', None)
if not taxation_policy:
raise ImproperlyConfigured('TAXATION_POLICY is not set')
taxation_policy = import_name(taxation_policy)
tax = str(taxation_policy.get_tax_rate(tax_number, country))
# Because taxation policy could return None which clutters with saving this value
# into cache, we use str() representation of this value
self.request.session[tax_session_key] = tax
order.tax = Decimal(tax) if tax != 'None' else None
return order
示例2: recalculate
def recalculate(self, amount, billing_info):
"""
Calculates and return pre-filled Order
"""
order = Order(pk=-1)
order.amount = amount
order.currency = self.get_currency()
country = getattr(billing_info, "country", None)
if not country is None:
country = country.code
tax_number = getattr(billing_info, "tax_number", None)
# Calculating tax can be complex task (e.g. VIES webservice call)
# To ensure that tax calculated on order preview will be the same on
# final order tax rate is cached for a given billing data (as this
# value only depends on it)
tax_session_key = "tax_%s_%s" % (tax_number, country)
tax = self.request.session.get(tax_session_key)
if tax is None:
tax = getattr(settings, "PLANS_TAX", None)
if tax is None:
taxation_policy = getattr(settings, "PLANS_TAXATION_POLICY", None)
if not taxation_policy:
raise ImproperlyConfigured("PLANS_TAXATION_POLICY is not set")
taxation_policy = import_name(taxation_policy)
tax = str(taxation_policy.get_tax_rate(tax_number, country))
# Because taxation policy could return None which clutters with saving this value
# into cache, we use str() representation of this value
self.request.session[tax_session_key] = tax
order.tax = Decimal(tax) if tax != "None" else None
return order
示例3: test_invoice_number_annually
def test_invoice_number_annually(self):
settings.INVOICE_NUMBER_FORMAT = "{{ invoice.number }}/{% ifequal " \
"invoice.type invoice.INVOICE_TYPES.PROFORMA %}PF{% else %}FV" \
"{% endifequal %}/{{ invoice.issued|date:'Y' }}"
settings.INVOICE_COUNTER_RESET = Invoice.NUMBERING.ANNUALLY
user = get_user_model().objects.get(username='test1')
plan_pricing = PlanPricing.objects.all()[0]
tax = getattr(settings, "TAX")
currency = getattr(settings, "CURRENCY")
o1 = Order(user=user, plan=plan_pricing.plan,
pricing=plan_pricing.pricing, amount=plan_pricing.price,
tax=tax, currency=currency)
o1.save()
o2 = Order(user=user, plan=plan_pricing.plan,
pricing=plan_pricing.pricing, amount=plan_pricing.price,
tax=tax, currency=currency)
o2.save()
o3 = Order(user=user, plan=plan_pricing.plan,
pricing=plan_pricing.pricing, amount=plan_pricing.price,
tax=tax, currency=currency)
o3.save()
day = date(1991, 5, 3)
i1 = Invoice(issued=day, selling_date=day, payment_date=day)
i1.copy_from_order(o1)
i1.set_issuer_invoice_data()
i1.set_buyer_invoice_data(o1.user.billinginfo)
i1.clean()
i1.save()
day = date(1991, 7, 13)
i2 = Invoice(issued=day, selling_date=day, payment_date=day)
i2.copy_from_order(o2)
i2.set_issuer_invoice_data()
i2.set_buyer_invoice_data(o2.user.billinginfo)
i2.clean()
i2.save()
day = date(1992, 6, 1)
i3 = Invoice(issued=day, selling_date=day, payment_date=day)
i3.copy_from_order(o1)
i3.set_issuer_invoice_data()
i3.set_buyer_invoice_data(o1.user.billinginfo)
i3.clean()
i3.save()
self.assertEqual(i1.full_number, "1/FV/1991")
self.assertEqual(i2.full_number, "2/FV/1991")
self.assertEqual(i3.full_number, "1/FV/1992")
示例4: test_amount_taxed_23
def test_amount_taxed_23(self):
o = Order()
o.amount = Decimal(123)
o.tax = Decimal(23)
self.assertEqual(o.total(), Decimal('151.29'))
示例5: test_amount_taxed_0
def test_amount_taxed_0(self):
o = Order()
o.amount = Decimal(123)
o.tax = Decimal(0)
self.assertEqual(o.total(), Decimal('123'))
示例6: test_amount_taxed_none
def test_amount_taxed_none(self):
o = Order()
o.amount = Decimal(123)
o.tax = None
self.assertEqual(o.total(), Decimal("123"))
示例7: test_invoice_number_monthly
def test_invoice_number_monthly(self):
settings.INVOICE_NUMBER_FORMAT = "{{ invoice.number }}/{% ifequal invoice.type invoice.INVOICE_TYPES.PROFORMA %}PF{% else %}FV{% endifequal %}/{{ invoice.issued|date:'m/Y' }}"
settings.INVOICE_COUNTER_RESET = Invoice.NUMBERING.MONTHLY
user = User.objects.get(username="test1")
plan_pricing = PlanPricing.objects.all()[0]
tax = getattr(settings, "TAX")
currency = getattr(settings, "CURRENCY")
o1 = Order(
user=user,
plan=plan_pricing.plan,
pricing=plan_pricing.pricing,
amount=plan_pricing.price,
tax=tax,
currency=currency,
)
o1.save()
o2 = Order(
user=user,
plan=plan_pricing.plan,
pricing=plan_pricing.pricing,
amount=plan_pricing.price,
tax=tax,
currency=currency,
)
o2.save()
o3 = Order(
user=user,
plan=plan_pricing.plan,
pricing=plan_pricing.pricing,
amount=plan_pricing.price,
tax=tax,
currency=currency,
)
o3.save()
day = date(2002, 05, 03)
i1 = Invoice(issued=day, selling_date=day, payment_date=day)
i1.copy_from_order(o1)
i1.set_issuer_invoice_data()
i1.set_buyer_invoice_data(o1.user.billinginfo)
i1.clean()
i1.save()
day = date(2002, 05, 13)
i2 = Invoice(issued=day, selling_date=day, payment_date=day)
i2.copy_from_order(o2)
i2.set_issuer_invoice_data()
i2.set_buyer_invoice_data(o2.user.billinginfo)
i2.clean()
i2.save()
day = date(2002, 06, 01)
i3 = Invoice(issued=day, selling_date=day, payment_date=day)
i3.copy_from_order(o1)
i3.set_issuer_invoice_data()
i3.set_buyer_invoice_data(o1.user.billinginfo)
i3.clean()
i3.save()
self.assertEqual(i1.full_number, "1/FV/05/2002")
self.assertEqual(i2.full_number, "2/FV/05/2002")
self.assertEqual(i3.full_number, "1/FV/06/2002")