コード例 #1
0
ファイル: test_tax_system.py プロジェクト: DemOneEh/shoop
 def get_taxed_price_for(self, context, item, price):
     taxes = []
     if context.postal_code == "92602":
         taxes = [
             # Based on data from TaxJar
             get_tax("CA", "California", rate="0.065"),
             get_tax("CA-OC", "Orange County", rate="0.01"),
             get_tax("CA-OC-IR", "Irvine", rate="0.00"),
             get_tax("CA-OC-IR-DS", "District tax", rate="0.005"),
         ]
     return stacked_value_added_taxes(price, taxes)
コード例 #2
0
 def get_line_taxes(self, source_line):
     taxes = []
     if source_line.source.billing_address.postal_code == "92602":
         taxes = [
             # Based on data from TaxJar
             get_tax("CA", "California", rate="0.065"),
             get_tax("CA-OC", "Orange County", rate="0.01"),
             get_tax("CA-OC-IR", "Irvine", rate="0.00"),
             get_tax("CA-OC-IR-DS", "District tax", rate="0.005"),
         ]
     return stacked_value_added_taxes(source_line.total_price, taxes).taxes
コード例 #3
0
ファイル: test_tax_system.py プロジェクト: teserak/shoop
 def get_taxed_price(self, context, price, tax_class):
     taxes = []
     if context.postal_code == "92602":
         taxes = [
             # Based on data from TaxJar
             get_tax("CA", "California", rate="0.065"),
             get_tax("CA-OC", "Orange County", rate="0.01"),
             get_tax("CA-OC-IR", "Irvine", rate="0.00"),
             get_tax("CA-OC-IR-DS", "District tax", rate="0.005"),
         ]
     return stacked_value_added_taxes(price, taxes)
コード例 #4
0
ファイル: test_tax_system.py プロジェクト: charn/shoop
 def get_line_taxes(self, source_line):
     taxes = []
     if source_line.source.billing_address.postal_code == "92602":
         taxes = [
             # Based on data from TaxJar
             get_tax("CA", "California", rate="0.065"),
             get_tax("CA-OC", "Orange County", rate="0.01"),
             get_tax("CA-OC-IR", "Irvine", rate="0.00"),
             get_tax("CA-OC-IR-DS", "District tax", rate="0.005"),
         ]
     return stacked_value_added_taxes(source_line.total_price, taxes).taxes
コード例 #5
0
ファイル: module.py プロジェクト: charn/shoop
def _calculate_taxes(price, taxing_context, tax_class):
    customer_tax_group = taxing_context.customer_tax_group
    # Check tax exempt
    # TODO: Should this be done in some better way?
    if customer_tax_group and customer_tax_group.identifier == 'tax_exempt':
        return taxing.TaxedPrice(
            TaxfulPrice(price.amount), TaxlessPrice(price.amount), []
        )

    tax_rules = TaxRule.objects.filter(enabled=True, tax_classes=tax_class)
    if customer_tax_group:
        tax_rules = tax_rules.filter(customer_tax_groups=customer_tax_group)
    tax_rules = tax_rules.order_by("-priority")  # TODO: Do the Right Thing with priority
    taxes = [tax_rule for tax_rule in tax_rules if tax_rule.matches(taxing_context)]
    tax_rule = first(taxes)  # TODO: Do something better than just using the first tax!
    tax = getattr(tax_rule, "tax", None)
    return stacked_value_added_taxes(price, [tax] if tax else [])
コード例 #6
0
ファイル: module.py プロジェクト: sidaga/shoop
def _calculate_taxes(price, taxing_context, tax_class):
    customer_tax_group = taxing_context.customer_tax_group
    # Check tax exempt
    # TODO: Should this be done in some better way?
    if customer_tax_group and customer_tax_group.identifier == 'tax_exempt':
        return taxing.TaxedPrice(
            TaxfulPrice(price.amount), TaxlessPrice(price.amount), []
        )

    tax_rules = TaxRule.objects.filter(enabled=True, tax_classes=tax_class)
    if customer_tax_group:
        tax_rules = tax_rules.filter(customer_tax_groups=customer_tax_group)
    tax_rules = tax_rules.order_by("-priority")  # TODO: Do the Right Thing with priority
    taxes = [tax_rule for tax_rule in tax_rules if tax_rule.matches(taxing_context)]
    tax_rule = first(taxes)  # TODO: Do something better than just using the first tax!
    tax = getattr(tax_rule, "tax", None)
    return stacked_value_added_taxes(price, [tax] if tax else [])