uc_flatrate improvements: method type

Project:Ubercart Contributions
Component:Code
Category:
Priority:normal
Assigned:Unassigned
Status:active
Description
Project: 
Ubercart

I am attaching a patch with a small feature I had to make to an ubercart site of mine. Now, I know this is a bit specific, and I do hate to hack the module because I like to keep things as updated as posible. But with this I faced something odd. I could, for instance, duplicate the uc_flatrate module and code whatever I want there but flat rate it's an useful module and I would like to keep an eye for updates in there and why duplicate a module if the core of it would be almost the same?

So I hacked the module, but I did in in a customizable way so this could be a reusable/configurable feature within the module and it's a good test to see how fast or what's your position in considering this kind of improvements from developers.

Now, specifics about this patch:

I needed a different flat rate scheme, I didn't want the product rate to be multiplied by its quantity and I wanted only one product rate (the highest) as the shipping quote. So I improved the module to handle three different types of flat rates: Accumulative (with quantity), Accumulative (without quantity) and Highest.

I am not extremely happy with the labels I come up with, but they're only in one place in the code so it should be easily to modify if necessary.

So let's see what you think.

Version: 
Ubercart 1.6
PreviewAttachmentSize
uc_flatrate.module.patch6.75 KB