Awesome thanks. This really has helped a lot. 2009/7/22 Darryl Dixon <[email protected]>
> I created mine as an egg, 'getpaid.gst' which is probably what you also > want to do. If I recall correctly, I made the basic structure with Paster's > 'basic namespace package' or similar (eg: python-2.4.5/bin/paster create > basic_namespace). Then add it to your buildout as a development egg. Erm, if > you aren't too familiar with buildout then you may be in for a little bit of > a learning curve... :-/ > > D > > > > > On Wed, Jul 22, 2009 at 5:38 PM, Hannes Calitz <[email protected]> wrote: > >> Sweet. Thanks Darryl >> >> As I have never started a plug in from scratch (I have always just copied >> an existing plug in and edited it), I don't quite know where to start. Would >> I just create a normal Plone Product and add these two files to it? >> >> 2009/7/22 Darryl Dixon <[email protected]> >> >> Hi Hannes, >>> >>> This is/should be relatively straightforward. In NZ we have a flat GST >>> regime of 12.5% and I wrote a tax plugin to add this to all orders. It was >>> only very small. I don't know if my way was 'right' but It Works For Me(tm) >>> >>> >>> dix...@ganymede:~/src/getpaid.gst/getpaid/gst$ cat overrides.zcml >>> <configure xmlns="http://namespaces.zope.org/zope"> >>> >>> <!-- Taxes --> >>> <utility factory=".tax.TaxUtility" /> >>> >>> </configure> >>> >>> >>> dix...@ganymede:~/src/getpaid.gst/getpaid/gst$ cat tax.py >>> import decimal >>> from zope.interface import implements >>> >>> from getpaid.core.interfaces import ITaxUtility >>> >>> from getpaid.gst import getpaidgstMessageFactory as _ >>> >>> class TaxUtility(object): >>> implements(ITaxUtility) >>> >>> def getCost(self, order): >>> """Calculate GST at 12.5% on the subtotal and any shipping >>> costs""" >>> return float(order.getSubTotalPrice() + order.getShippingCost()) >>> * self.tax_rate >>> >>> def getTaxes(self, order): >>> return [{'value' : self.getCost(order), 'name' : self.tax_name}] >>> >>> >>> def getTaxOnSum(self, sum): >>> """Return the GST value of a price, rounded to the nearest >>> cent""" >>> return float('%.2f' % (sum * self.tax_rate)) >>> >>> @property >>> def tax_rate(self): >>> return 0.125 >>> >>> @property >>> def tax_name(self): >>> return _(u"GST") >>> >>> >>> dix...@ganymede:~/src/getpaid.gst/getpaid/gst$ cat __init__.py >>> >>> from zope.i18nmessageid import MessageFactory >>> >>> getpaidgstMessageFactory = MessageFactory('getpaid.gst') >>> >>> >>> >>> Hope this helps, >>> >>> regards, >>> Darryl Dixon >>> Winterhouse Consulting Ltd >>> http://www.winterhouseconsulting.com >>> >>> >>> >>> >>> On Wed, Jul 22, 2009 at 5:11 PM, hannesc <[email protected]> wrote: >>> >>>> >>>> I need to start developing some sort of Tax add-on for GetPaid, and by >>>> the look of things, it seems that just perhaps I will have to dive >>>> into the PloneGetPaid code itself. What I basically need to start >>>> developing is a plugin that adds 14% VAT to all orders. >>>> >>>> Before I start working on such a plugin, I wanted to know if anyone >>>> has already started something similar that I could perhaps look at >>>> before starting on a something from scratch. >>>> >>>> Thanks >>>> Hannes >>>> >>>> >>> >>> >>> >> >> >> > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "getpaid-dev" 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/getpaid-dev?hl=en -~----------~----~----~----~------~----~------~--~---
