By the way, for the other european guys out there. Do you sumarize somehow your tax (VAT) amounts per taxClass somehow?. I need this and also give a string name to the applied rate to include it in the bill.
Regards 2010/12/20 Alvaro <[email protected]> > Hi > > > I'l developing my own VAT tax module based in teh area current one to > handle some territory exceptions. > > I'm creating a custom templatetag to sumarize the total tax amount and > base amount for products in the same taxClass (this is a legal > requirement), so I extended the TaxRate model by adding a tax name and > some extra field. > > > THe issue is that I'm receiving an anoying "Caught TypeError while > rendering: int() argument must be a string or a number, not > 'get_tax_details'" error and I do not understand where the problem is. > Do you see any obvious Type unaligment in the following code? I'm > calling the template tag as {% order_tax_detail order as valor %} > > > from django.template import > Library,Node,VariableDoesNotExist,TemplateSyntaxError,resolve_variable > from django.utils import translation > from decimal import Decimal > from satchmo_store.shop.models import OrderItem > from livesettings import config_value > from django.db.models import Sum > from tax.utils import get_tax_processor > > > import logging > > log = logging.getLogger('montapp.TAXDetails') > > register = Library() > > > class get_tax_details(Node): > def __init__(self, order,varname): > self.order,self.varname = order,varname > def render(self,context): > orderid = resolve_variable(self.order, context) > taxer = get_tax_processor(self) > valores = > > list(OrderItem.objects.filter(order=orderid).values('product__taxClass').annotate(total_tax=Sum('tax'),total_price=Sum('line_item_price'))) > try: > for valor in valores: > taxClass = valor['product__taxClass'] > context[taxClass]= { > 'TaxName' : taxer.get_name(self,taxClass), > 'TaxRate' : taxer.get_name(self,taxClass), > 'TotalTax' : valor.total_tax, > 'TotalPrice' : valor.total_price, > } > varname = context > except VariableDoesNotExist: > raise TemplateSyntaxError("Invalid order %s for > order_tax_details",self.order) > return '' > > def order_tax_detail (parser,token): > """Return the Tax amount grouped by Tax class""" > bits = token.contents.split() > if len(bits) != 4: > raise TemplateSyntaxError("Invalid number of arguments for > order_tax_details") > if bits[2] != 'as': > raise TemplateSyntaxError, "third argument to get_latest tag > must be 'as'" > > return get_tax_details(bits[1],bits[3]) > > register.tag('order_tax_detail',order_tax_detail) > > > > -- Alvaro www.dorsalcero.net -- You received this message because you are subscribed to the Google Groups "Satchmo users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/satchmo-users?hl=en.
