Am 04.01.2014 17:05, schrieb Cédric Krier: > Hi, > > Last weeks, I had to work on a web application using Tryton as > backend. For some reasons, I did not pick up nereid which did not > fit the requirements. So I went for a light Flask application which > resulted into flask_tryton [1]. This solution was fast and worked > fine for my needs. > > But I had some backend needs that are quite generic for many web > applications. So I think we could try to define them to build > generic (web framework agnostic) modules for them. Is not Tryton > about sharing generic modules with large audience? > > So I have already identified two of them for which I'm looking for > your comments (and I could publish a prototype). > > > - web_user > > The idea of this module is about having a common minimal web user > definition/support. I think such user should be identify by just > their E-mail and that the module should provide a password > authentication. I also think having a way to validate user by > verifying email address is also a common need. Such user could be > linked with a Many2Many to parties to have the possibility to store > identity information. I think M2M is the more flexible solution > because it allow simple design like O2O or more complex design > where you could have users that behave for the same company. The > module should also provide an optional session mechanism where any > web framework could be plugged on. The goal will be to have a > shared via database session across multiple instance. > > FYI, nereid has a partial implementation of this model but with > many extra features that are not always needed and also some > limitation like the link to a company or to a single party etc. But > with the generic user I describe, I think it could be used by > nereid as basis model.
+1 - same design in our module + following fields: last_login - DateTime visits - Integer newsletter - Bool (bad naming - its a bool that we can send further informations - legal stuff) > > - web_shop_cart > > The idea of this module is about a generic simple webshop cart > implementation. I think the minimal needed fields will be: > > Cart: - company - owner: just a char field to identify the user and > so it could be the email of the user but we should avoid direct > link because I think we should be allowed to use any authentication > mechanism and so it could be not stored in Tryton. - currency: > could be the default company one? - party: must be required for > checkout - invoice_address - shipment_address - state: > draft;checked-out - sale: a reference field to sale.sale or any > other Model - checkout_method: define what should be generated > (similar to the project_invoice design) > > Cart Line: - product - unit_price: could be tax included or > excluded - quantity - unit - amount: Function field > > So as you see, I think it is important that the cart is agnostic > to the tax included or excluded. It should be handle by the > checkout method that will create the sale order correctly or a B2C > sale order (as we talked at the TUB2013). > > [1] https://code.google.com/p/flask-tryton/ +1 - same design in our module we extended this 2 models with: - user_group (automaticly assigned by country) * minimal_order * shipping_fees * .... - group_price (different prices depending of user_group) Jan