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

Reply via email to