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
-~----------~----~----~----~------~----~------~--~---

Reply via email to