http://www.tiggs.net/lsmb_resources.zip

A little later than I wanted but here's what I promised, in all it's bug 
ugly, messy glory.  I'll explain a little.  Please bear in mind that 
I've never released any code to a larger community like this so there 
may be pieces/components needed that I didn't include.  Please ask.  I 
can't release the entire shopping cart because each cart is written with 
specific business rules for each of my clients and none of them wanted 
to give permission to release a sanitized version of their cart.  But 
the core class that interfaces with LSMB is almost exactly the same, 
with the exception of the submit_order() and submit_product() functions 
within the lsmb_mgr class.

List of files:

dao_lsmb.php - abstract data access class that allows me to interact 
directly with the LSMB schema and treat each row as an object

lsmb_mgr.php - core class used to interact with LSMB.  The views that 
drove some of the functions are included near bottom of the file.

misc_functions.php - these are helper functions

vendor_mgr.php - very first class created to interact with LSMB.  I 
ended up stripping this down to the bare necessities and just passing 
data to the cli instead of writing directly to the database.


None of these files are very well documented.  I did take the time to 
get examples of arrays that are passed to each function and include with 
the class.  Other than that, these are presented as is.

There are several assumptions being made by the core class that you need 
to keep in mind:

1) there are two schemas here, not one.  One to help drive the 
e-commerce logic, one for lsmb itself.

2) writes are all one-way.  Information is collected by the e-commerce 
app and sent to LSMB.  So, the assumption is that what exists in LSMB 
should exist in the e-commerce application before it gets into LSMB.  If 
I need some information from LSMB, I either created a view or accessed 
tables directly, but only for reading purposes.  In fact, the e-commerce 
user has read-only access to the ledgersmb schema.  I am hoping, though, 
that 1.3 and later of LSMB will allow me to start consolidating these 
into one db one schema and that reading would become easier to manage.

3) taxes are treated as a service.  That means all customers are marked 
as having no tax rules within LSMB.  It was more important to make sure 
the rules were functioning correctly in the e-commerce app.  At that 
point, it was easier to pass in the result than to try to replicate 
those rules within LSMB.

I'm sure there are other assumptions I made that probably need to be 
clarified.  Please feel free to ask some questions.

Hope that helps.  Let me know if you have any questions.

Charley

Jeff Kowalczyk wrote:
> Charley,
> 
> Could I prevail on you to release some version of your scripts? I need to
> implement this same functionality on a short timetable, and would rather 
> assist
> in generalizing working scripts for wider use than reinventing the wheel.
> 
> The REST API does not appear to be sufficiently far along to use yet.
> 
> Thanks,
> Jeff
> 
> Subject:      Re: CLI order and invoice scripts (was: COGS and part setup)
> From:         Jeff Kowalczyk <[EMAIL PROTECTED]>
> Newsgroups:   gmane.comp.finance.ledger.smb.user
> Date:         Sat, 31 Mar 2007 12:46:28 -0400
> 
> Charley Tiggs wrote:
>> I'm using the cli interface to add orders and invoices. It's working
>> like a champ and, aside from a few glitches, we couldn't be more
>> pleased.
> 
> Charley, would you add some version of those CLI scripts to the wiki
> documentation or a submit them for inclusion in a /contrib location in the
> repository?
> 
> I'm very interested in a quick method to implement order and invoice 
> automation
> prior to the REST interface slated for 1.3.
> 
> It would be good for the community to comment on and document a best-practice
> for this, since so many users need it.
> 
> 
>  
> ____________________________________________________________________________________
> Finding fabulous fares is fun.  
> Let Yahoo! FareChase search your favorite travel sites to find flight and 
> hotel bargains.
> http://farechase.yahoo.com/promo-generic-14795097
> 
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> Ledger-smb-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/ledger-smb-devel
> 


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Ledger-smb-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ledger-smb-devel

Reply via email to