本文整理汇总了Python中plans.models.Invoice.copy_from_order方法的典型用法代码示例。如果您正苦于以下问题:Python Invoice.copy_from_order方法的具体用法?Python Invoice.copy_from_order怎么用?Python Invoice.copy_from_order使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类plans.models.Invoice
的用法示例。
在下文中一共展示了Invoice.copy_from_order方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_invoice_number
# 需要导入模块: from plans.models import Invoice [as 别名]
# 或者: from plans.models.Invoice import copy_from_order [as 别名]
def test_invoice_number(self):
settings.INVOICE_NUMBER_FORMAT = "{{ invoice.number }}/{% ifequal invoice.type invoice.INVOICE_TYPES.PROFORMA %}PF{% else %}FV{% endifequal %}/{{ invoice.issued|date:'m/Y' }}"
o = Order.objects.all()[0]
day = date(2010, 05, 03)
i = Invoice(issued=day, selling_date=day, payment_date=day)
i.copy_from_order(o)
i.set_issuer_invoice_data()
i.set_buyer_invoice_data(o.user.billinginfo)
i.clean()
i.save()
self.assertEqual(i.number, 1)
self.assertEqual(i.full_number, "1/FV/05/2010")
示例2: test_set_order
# 需要导入模块: from plans.models import Invoice [as 别名]
# 或者: from plans.models.Invoice import copy_from_order [as 别名]
def test_set_order(self):
o = Order.objects.all()[0]
i = Invoice()
i.copy_from_order(o)
self.assertEqual(i.order, o)
self.assertEqual(i.user, o.user)
self.assertEqual(i.total_net, o.amount)
self.assertEqual(i.unit_price_net, o.amount)
self.assertEqual(i.total, o.total())
self.assertEqual(i.tax, o.tax)
self.assertEqual(i.tax_total, o.total() - o.amount)
self.assertEqual(i.currency, o.currency)
示例3: create_proforma_invoice
# 需要导入模块: from plans.models import Invoice [as 别名]
# 或者: from plans.models.Invoice import copy_from_order [as 别名]
def create_proforma_invoice(sender, instance, created, **kwargs):
"""
For every Order if there are defined billing_data creates invoice proforma,
which is an order confirmation document
"""
if created:
try:
billing_info = BillingInfo.objects.get(user=instance.user)
except BillingInfo.DoesNotExist:
return
day = date.today()
invoice = Invoice(issued=day, selling_date=day, payment_date=day + timedelta(days=14))
invoice.type = Invoice.INVOICE_TYPES['PROFORMA']
invoice.copy_from_order(instance)
invoice.set_issuer_invoice_data()
invoice.set_buyer_invoice_data(billing_info)
invoice.clean()
invoice.save()
示例4: test_invoice_number_annually
# 需要导入模块: from plans.models import Invoice [as 别名]
# 或者: from plans.models.Invoice import copy_from_order [as 别名]
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")
示例5: test_invoice_number_monthly
# 需要导入模块: from plans.models import Invoice [as 别名]
# 或者: from plans.models.Invoice import copy_from_order [as 别名]
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")