IRC logs of #tryton for Wednesday, 2009-02-11

chat.freenode.net #tryton log beginning Wed Feb 11 00:00:01 CET 2009
udonovengfulsquirrel: are you working on a production prototype?00:37
udonovengfulsquirrel: Hi00:38
vengfulsquirreludono: Hey sorry, had to go to the store, yeah but I was just writing out the simple model so I could make a graph using Tryton.00:51
udonovengfulsquirrel: ah yes, using it as UML Editor ;-)01:16
udonovengfulsquirrel: do you have an open repository for lurking... and blaming of course ;-)01:18
vengfulsquirreludono: Ha yeah but its like ten lines right now and its just written to make the graph:  http://mercurial.intuxication.org/hg/production/file/e29393b8e29e/production.py   http://laspilitas.com/s/images/production-model.png01:24
udonovengfulsquirrel: Looks like a datamodel!01:25
vengfulsquirreludono: Yeah but it doesn't have any of the correct constraints and there are a lot of places that I need to still change after clarifying/talking to certain peoples.01:26
vengfulsquirrelI still have to make repos for all additional functionalities and then make sure those can be extended from this etc.01:28
udonovengfulsquirrel: sounds good, and so far I don't see redundancies in you model.01:35
udonovengfulsquirrel: is there some recursive model in your definition? Like BOMs depending on other BOMs?01:36
vengfulsquirrelWell kind of but not directly since a bom has a list of products and those products themselves can each then have a bom01:37
vengfulsquirrelbut boms do not depend directly on other boms, does that make sense?01:37
vengfulsquirrelThere are issues with that that need to be resolved as well as how to handle revisions, plus how to choose the default bom for a given product.01:38
udonovengfulsquirrel: yes, this sounds good. Products depends on Boms. So products are SQL-Ledgers assemblies.01:40
vengfulsquirrelHa whoa I have no idea what that is SQL-Ledgers assemblies01:40
udonovengfulsquirrel: They name products made of other products as 'Product of type assembly'01:42
vengfulsquirrelOh yeah we would say a product is producible in that case.01:43
vengfulsquirrelAnd a checkbox would appear similar to purchasable and salable.01:43
udonovengfulsquirrel: About default Bom for a given project could be a one2many with a sequence field. With the right widget the user can change the /sequence/ of Items. So the first Item is the default one, then cascading down the others in sequence.01:45
udonovengfulsquirrel: They name it assembly because they can assemble Service 'packages' as well as bundle packages with Products and services.01:46
vengfulsquirrelYeah but there is an added complication that two products might share a bom since boms are multi-output.01:46
udonovengfulsquirrel: we need a solver?01:47
vengfulsquirreludono: Oh yeah services are not yet addressed in this systme.01:47
vengfulsquirrelOr "product kits"01:47
udonovengfulsquirrel: Its just naming, I think.01:47
vengfulsquirrelWell grouping products for marketing purposes versus grouping them into a physical product are two different ideas.01:48
vengfulsquirrelLike buy a computer and get a free shirt, so you have a product kit : computer package = 1 computer, 1 free t-shirt01:49
udonovengfulsquirrel: but very similar processes...01:49
vengfulsquirrelYeah it might still work but it isn't the ideal use-case.01:51
udonohttp://www.cafepress.com/tryton about the t-Shirt01:51
udono;-)01:51
udonoand about the computer in your bundle:01:52
vengfulsquirreloh snap, MUGS!01:52
vengfulsquirrelha who is selling these?01:52
udonovengfulsquirrel: computer hardware + licensing + one Service for installation and customizing Tryton on the computer.01:53
udonoSo why not let produce something like this?01:53
udonovengfulsquirrel: bechamel initiate it01:54
vengfulsquirrelI wonder how much it will cost to ship to western US.01:54
udonovengfulsquirrel: I think its produced on demand01:55
vengfulsquirrelYeah so I think that might work I just wouldn't pull services from stock obviuosly, but I don't know I think it might start getting fishy with extension modules.01:55
udonoyeah01:56
vengfulsquirrelI just haven't spent a lot of time thinking about the problems that might arise for that use-caes.01:57
vengfulsquirrel*use-case01:57
udonovengfulsquirrel: Its the strong depending on stock01:57
vengfulsquirrelDo you work for a company that does production ?01:57
udonovengfulsquirrel: you need the move ;-)01:58
udonovengfulsquirrel: no, just services and some dealing, but I know some producer.01:58
udonovengfulsquirrel: and some of their Problems...01:59
vengfulsquirrelYeah phase one of the production module will just help people handle inventory management and rudimentory scheduling.01:59
udonoBut I know the service quite good...01:59
vengfulsquirrelYeah well hopefully the module can solve a lot of problems and not wall off solutions to those that it cannot.02:03
-!- yangoon(n=mathiasb@p549F46E4.dip.t-dialin.net) has joined #tryton05:20
-!- panthera(n=daniel@unable-to-package.org) has joined #tryton06:23
-!- vengfulsquirrel(n=ian@c-71-202-125-182.hsd1.ca.comcast.net) has joined #tryton06:28
-!- sharkcz(n=dan@plz1-v-4-17.static.adsl.vol.cz) has joined #tryton07:32
-!- Timitos(n=Timitos@88.217.184.172) has joined #tryton07:52
-!- LordVan(n=lordvan@gentoo/developer/LordVan) has joined #tryton08:09
-!- bechamel(n=user@85.201.86.139) has joined #tryton08:27
CIA-10tryton: Bertrand Chenal <bch@b2ck.com> default * 377:1587810fe486 account/account.py: Fix: typo08:41
CIA-10tryton: bch roundup * #773/NameError: global name 'ste' is not defined: [resolved] Fixed with changeset 377:1587810fe486.08:44
-!- Timito1(n=Timitos@88.217.184.172) has joined #tryton09:05
-!- LordVan(n=lordvan@gentoo/developer/LordVan) has joined #tryton09:19
-!- carlos(n=carlos@89.7.24.44) has joined #tryton09:35
-!- nicoe(n=nicoe@77.109.113.10) has joined #tryton09:36
-!- cedk(n=ced@gentoo/developer/cedk) has joined #tryton09:52
CIA-10tryton: vengfulsquirrel roundup * #772/Large product set problem: delete method: Okay check this one out: diff -r cbde71ecbb87 product.py --- a/product.py Mon Feb 02 13:11:13 2009 +0100 +++ b/product.py Wed Feb 1 ...10:47
-!- enlightx(n=enlightx@host10-71-dynamic.1-79-r.retail.telecomitalia.it) has joined #tryton10:54
CIA-10tryton: ced roundup * #772/Large product set problem: delete method: On 11/02/09 10:46 +0100, Ian Wilson wrote: > > Ian Wilson <vengfulsquirrel@gmail.com> added the comment: > > Okay check this one out: > > diff ...11:01
-!- Gedd(n=ged@77.109.113.10) has joined #tryton11:02
vengfulsquirrelcedk: Does browse respect the cursor max ?11:11
cedkvengfulsquirrel: yes11:12
cedkvengfulsquirrel: it is the advantage of the use of model11:13
cedkvengfulsquirrel: and by the way, it is better to prevent to use SQL queries in the modules because it will make more difficult when we will want to use other database then PostgreSQL11:14
vengfulsquirrelyeah I know its just I don't know the search/browse inner features very well so i don't know how to get stuff done and i don't know if there are any optimizations or if i am fetching all rows all the time11:16
cedkvengfulsquirrel: you fetch all rows at one time but it can be made with many queries depending of the number of ids11:17
cedkvengfulsquirrel: there is just two cases where the IN_MAX doesn't work:11:18
vengfulsquirrelhttp://rafb.net/p/HpqDGp96.html11:18
vengfulsquirrelwhen I do this, am i fetching all products in one query and then calling a query on each product to get the template ?11:18
vengfulsquirrelso number of product ids + 1 = number of queries ?11:19
cedkvengfulsquirrel: when searching with a clause on many2many or many2one with the operators in/child_of and a big list of ids11:19
cedkvengfulsquirrel: no, number of queries will be ids/IN_MAX11:20
vengfulsquirrelSorry I mean in that specific paste, does it know not to follow product.template.id to get the template tables's row and just use the template id in the product row ?11:21
cedkvengfulsquirrel: it will just just the id in the product table11:22
vengfulsquirrelokay great11:22
vengfulsquirrelYeah I still am trying to understand the child_of and tree ordering stuff.11:23
cedkvengfulsquirrel: it is for recursive in clause11:24
vengfulsquirrelso by child do you mean and descendant or the direct child ?11:25
vengfulsquirrel*any descendant11:25
cedkvengfulsquirrel: any descendant + ids11:27
vengfulsquirrelAre left and right the numerical order or the sibling ids ?11:29
cedkvengfulsquirrel: it comes from this: http://en.wikipedia.org/wiki/Tree_traversal11:31
cedkvengfulsquirrel: so it allow to remove the recursive queries into only one11:32
vengfulsquirrelSo you use level order traversal to display the trees in the gui ?11:34
cedkvengfulsquirrel: no it is not needed because you open one branch at once and the query is fast11:36
CIA-10tryton: vengfulsquirrel roundup * #772/Large product set problem: delete method: diff -r cbde71ecbb87 product.py --- a/product.py Mon Feb 02 13:11:13 2009 +0100 +++ b/product.py Wed Feb 11 02:58:32 2009 -0800 @@ - ...12:01
CIA-10tryton: vengfulsquirrel roundup * #772/Large product set problem: delete method: Sorry I think taking the set in my previous patch was unnecessary and probably would have been of no performance gain. diff -r cbde71ecbb87 produ ...12:07
vengfulsquirrelcedk: Thanks for your time, I'll read more about tree traversals.  Talk to you tomorrow.12:12
CIA-10tryton: ced roundup * #772/Large product set problem: delete method: > diff -r cbde71ecbb87 product.py > --- a/product.py Mon Feb 02 13:11:13 2009 +0100 > +++ b/product.py Wed Feb 11 03:03:35 2009 -080 ...12:17
CIA-10tryton: C?dric Krier <ced@b2ck.com> default * 1344:de1fea6c131a trytond/trytond/webdavsvc.py: Fix typo12:25
-!- tekknokrat(n=gthieleb@port-87-193-170-219.static.qsc.de) has joined #tryton12:31
-!- kai_bo(n=kai@statdsl-085-016-072-173.ewe-ip-backbone.de) has joined #tryton13:22
-!- enlightx(n=enlightx@host10-71-dynamic.1-79-r.retail.telecomitalia.it) has joined #tryton13:32
-!- kai_bo(n=kai@statdsl-085-016-072-173.ewe-ip-backbone.de) has joined #tryton13:47
-!- LordVan(n=lordvan@gentoo/developer/LordVan) has joined #tryton14:12
-!- cristi_an(i=5978d3ce@gateway/web/ajax/mibbit.com/x-9756d6c5dcabf0b9) has joined #tryton14:29
-!- udono(n=udono@dynamic-unidsl-85-197-23-64.westend.de) has joined #tryton14:56
CIA-10tryton: C?dric Krier <ced@b2ck.com> default * 1523:903a52fc1bb2 trytond/trytond/ (41 files in 17 dirs):14:59
CIA-10tryton: Use a new pool for object14:59
CIA-10tryton: Move workflow method in ModelWorkflow14:59
CIA-10tryton: Move workflow service in workflow module14:59
CIA-10tryton: Remove Service and LocalService14:59
CIA-10tryton: Remove web_service and use a dispatcher in protocols14:59
CIA-10tryton: New netrpc/xmlrpc syntax to be easier to introspect14:59
CIA-10tryton: C?dric Krier <ced@b2ck.com> default * 378:31af871406f6 account/move.py: Remove LocalService14:59
CIA-10tryton: C?dric Krier <ced@b2ck.com> default * 263:aea6b9d76e81 account_invoice/invoice.py: Remove LocalService, pooler and use ModelWorkflow14:59
CIA-10tryton: C?dric Krier <ced@b2ck.com> default * 112:fe55e4fcb0e5 account_statement/statement.py: Remove LocalService and use ModelWorkflow14:59
CIA-10tryton: C?dric Krier <ced@b2ck.com> default * 1177:ac4006b6e284 tryton/tryton/gui/main.py: logout before database restore14:59
CIA-10tryton: C?dric Krier <ced@b2ck.com> default * 1178:6cf87b9a3a9d tryton/tryton/ (29 files in 14 dirs): Use new netrpc syntax14:59
CIA-10tryton: C?dric Krier <ced@b2ck.com> default * 234:a17cfd5acd55 purchase/purchase.py: Remove LocalService and use ModelWorkflow14:59
CIA-10tryton: C?dric Krier <ced@b2ck.com> default * 235:b63efed8cbd6 purchase/purchase.py: merge14:59
CIA-10tryton: C?dric Krier <ced@b2ck.com> default * 123:6e8f3e001a88 sale/sale.py: Remove LocalService and use ModelWorkflow14:59
CIA-10tryton: C?dric Krier <ced@b2ck.com> default * 124:d7f6eab3734c sale/sale.py: merge14:59
CIA-10tryton: C?dric Krier <ced@b2ck.com> default * 489:5a1882fc1f8c stock/ (inventory.py packing.py): Remove LocalService and use ModelWorkflow14:59
CIA-10tryton: C?dric Krier <ced@b2ck.com> default * 490:a4c7cf6c3000 stock/: merge14:59
CIA-10tryton: C?dric Krier <ced@b2ck.com> default * 1524:26703187368d trytond/CHANGELOG: Add changelog15:05
-!- cristi_an(i=5978d3ce@gateway/web/ajax/mibbit.com/x-17a14c485ae1a3dd) has joined #tryton15:18
CIA-10tryton: Bertrand Chenal <bch@b2ck.com> default * 236:50ef1617a2e4 purchase/ (CHANGELOG TODO): Sync TODO and CHANGELOG with the code15:18
CIA-10tryton: Bertrand Chenal <bch@b2ck.com> default * 125:6779161652bf sale/ (CHANGELOG TODO): Sync TODO and CHANGELOG with the code15:19
cedkhe, changeset 903a52fc1bb2 is made of 4043 lines :-)15:20
cristi_anyou commited latest stuff ?15:20
cedkcristi_an: yes15:20
cristi_anced:gr815:21
cedkit reduce the code by 452 lines15:23
cedkbut I put more comments so it must be more15:23
cristi_anyou are sure you did not enlarged the lines :))  ?15:26
cristi_anin width15:26
cristi_an :))15:26
cedkcristi_an: no, rounded to 80 cols like the PEP15:27
cristi_anhehe :)15:28
cristi_anit was a stupid joke of mine...15:29
bechamelcristi_an: all those modifications are made to simplify the code, maybe it will be clearer for you to understand how stuff works15:31
cristi_anbechamel: thx ,i will check ...15:33
cristi_ani already created some modules like partner15:33
cristi_anjust for testing puropose15:34
bechamelcristi_an: I don't deserve your thanks, it's cedk that made this work15:35
cristi_anthanks.redirect(cedk)15:37
-!- johbo(n=joh@statdsl-085-016-072-173.ewe-ip-backbone.de) has joined #tryton16:06
-!- igor__(n=igor@190.144.69.234) has joined #tryton17:06
CIA-10tryton: matb roundup * #774/after refact. of pooler: KeyError: 'purchase.request.create_purchase': [new] custom module with from trytond.wizard import Wizard class CreatePurchase(Wizard): 'Create Purchase' _name = 'purchase.request.cr ...17:41
udonoHi all, after the changes I have some problems with pool(er)17:57
udonopool.get_db seems no longer exist17:57
cedkudono: use the Database from backend17:58
udonocedk: yeah, thanks17:59
udonocedk: it works so far to the next problem, I cannot solve...18:22
udonoBefore:18:24
udonocr = pooler.get_db(dbname).cursor()18:24
udonomodule_obj = pooler.get_pool(cr.dbname).get('ir.module.module')18:24
udonoAfter:18:24
udonocr = Database(dbname).connect().cursor()18:24
udonoBut the module_opj is silently wrong. I tried some other signatures, But I cannot find a way...18:24
cedkudono: use the Pool from trytond.pool18:25
udonocedk: You move the userside Methods all to UpperCase?18:25
cedkudono: PEP class must start with upper case18:26
udonocedk: yes, but afaik it was not before, so you change it to PEP. BTW which is good.18:28
CIA-10tryton: ced roundup * #774/after refact. of pooler: KeyError: 'purchase.request.create_purchase': [resolved] Fix with changeset d81542fe9f4518:28
cedkudono: globaly Pool and pooler are completly different18:29
CIA-10tryton: C?dric Krier <ced@b2ck.com> default * 1525:d81542fe9f45 trytond/trytond/pool.py: Add missing type in Pool.get for issue77418:30
cedkudono: you need this for the ldap module?18:36
cedkudono: because I'm thinking about moving the security.py code into res.user18:43
CIA-10tryton: C?dric Krier <ced@b2ck.com> default * 1526:c84763fa12f6 trytond/trytond/server.py: join ir.cron threads on SIGTERM for issue60419:02
CIA-10tryton: ced roundup * #604/NoneType-Exception if pressing Ctrl-C in console: [chatting] changeset c84763fa12f6 must fix the issue19:03
-!- mmarshall(n=mmarshal@adsl-76-255-75-24.dsl.rcsntx.sbcglobal.net) has joined #tryton19:04
udonocedk: I see no problem in moving security.py to res_user.19:11
udonocedk: and it could be more clean, because authentication is user based in tryton.19:12
udonocedk: another problem: module_obj = Pool(cr.dbname).get('ir.module.module') this won't work. KeyError: 'ir.module.module'19:13
cedkudono: where did you call this?19:16
udonohttp://mercurial.intuxication.org/hg/res_user_auth_ldap/file/f1ba38bb9872/users_ldap.py#l6019:17
udonocedk: is the old version...19:17
udono59: cr = Database(dbname).connect().cursor()19:17
udono60: module_obj = Pool(cr.dbname).get('ir.module.module')19:17
udonocedk is the new one19:18
cedkudono: I think this is because the Pool can not be initialized19:18
cedkudono: look at this: http://hg.tryton.org/hgwebdir.cgi/trytond/file/c84763fa12f6/trytond/protocols/dispatcher.py#l8119:18
CIA-10tryton: udono roundup * #775/KeyError: 'ir.cron': [new] Traceback (most recent call last): File "bin/trytond", line 28, in <module> trytond.server.TrytonServer().run() File "/home/uspallek ...19:19
cedkudono: I think your issue is linked to what I told you19:21
cedkudono: if you create a new Pool you must init it19:21
udonocedk: ok, thanks19:22
cedkudono: but I will provide a patch to prevent the cron to failed19:22
udonocedk: init the pool is: pool = Pool(database_name)19:23
CIA-10tryton: C?dric Krier <ced@b2ck.com> default * 1527:caffffa6f6d7 trytond/trytond/netsvc.py: Fix client thread stop with psyco enabled19:23
CIA-10tryton: C?dric Krier <ced@b2ck.com> default * 1528:8dac38ad56cf trytond/trytond/server.py: Add check if ir.cron is in the pool for issue77519:23
CIA-10tryton: ced roundup * #775/KeyError: 'ir.cron': [resolved] Fix with changeset 8dac38ad56cf19:23
udonocedk: sorry, I don't know what to do... if not database_name in database_list: pool.init() but my database_name is valid. So how can I init the pool? Both are not working...19:33
udonopool = Pool()19:33
udonomodule_obj = pool(cr.dbname).get('ir.module.module')19:33
udono# and19:33
udonopool = Pool(cr.dbname)19:33
udonomodule_obj = pool.get('ir.module.module')19:33
cedkudono: did you look at the code http://hg.tryton.org/hgwebdir.cgi/trytond/file/c84763fa12f6/trytond/protocols/dispatcher.py#l8119:36
udonoyes, I did19:36
udonocedk: but it dosen't tell me. just one more hint please19:36
udonoso only when my db_name is not in the list, it initialize my pool...19:37
cedkudono: make the same, before instanciat Pool check if the database name is in database list19:37
cedkudono: if not run pool.init()19:37
cedkudono: yes19:37
udonoI see, thanks19:38
CIA-10tryton: matb roundup * #776/genshi/template/eval.py: UndefinedError(key, owner=owner): [new] open invoice in first database: Traceback (most recent call last): File "/trytond/netsvc.py", line 215, in run res = dispatch(*msg) ...19:38
udonoIs there a way to deactivate a module for the init process? I have some modules I dolt like to have initialised in trytond, but I like to have instde the trytond/modules folder19:40
cedkudono: no19:41
cedkudono: or remove __tryton__.py19:41
yangoonudono: or just link them in from another folder19:42
udonocedk: ok, thanks. Maybe a renaming should work too19:42
CIA-10tryton: ced roundup * #776/genshi/template/eval.py: UndefinedError(key, owner=owner): [chatting] Do you use the standard report?19:43
CIA-10tryton: matb roundup * #776/genshi/template/eval.py: UndefinedError(key, owner=owner): No, in both databases the original report is superseeded by another one.19:46
CIA-10tryton: ced roundup * #776/genshi/template/eval.py: UndefinedError(key, owner=owner): How?19:47
udonoYes, I got it. My tryton works again. Thanks cedk for great assistance!19:48
CIA-10tryton: matb roundup * #776/genshi/template/eval.py: UndefinedError(key, owner=owner): <tryton> <data> <record model='ir.action.report' id='account_invoice.report_invoice'> <field name='active' eval='False'/> ...19:49
CIA-10tryton: ced roundup * #776/genshi/template/eval.py: UndefinedError(key, owner=owner): Could you try with the standard one?19:52
CIA-10tryton: matb roundup * #776/genshi/template/eval.py: UndefinedError(key, owner=owner): If I try to activate the standard report again I get: "No permission to change this record! It is part of the base configuration" But i can (de)a ...20:00
CIA-10tryton: ced roundup * #776/genshi/template/eval.py: UndefinedError(key, owner=owner): This is because you set active=False in the xml so it becomes part of the standard configuration. You must change in the xml files.20:02
CIA-10tryton: matb roundup * #776/genshi/template/eval.py: UndefinedError(key, owner=owner): After setting the standard report to active and deactivating the customized report via xml, it works.20:02
CIA-10tryton: ced roundup * #776/genshi/template/eval.py: UndefinedError(key, owner=owner): [resolved] So I think it is your report that has errors. You can upload it if you want that we check it.20:14
CIA-10tryton: matb roundup * #776/genshi/template/eval.py: UndefinedError(key, owner=owner): [chatting] Hmm, both customized reports worked before...20:16
CIA-10tryton: ced roundup * #776/genshi/template/eval.py: UndefinedError(key, owner=owner): I don't know perhaps it is an new issue or perhaps it worked because of an issue.20:22
CIA-10tryton: matb roundup * #776/genshi/template/eval.py: UndefinedError(key, owner=owner): here is one of the reports20:25
CIA-10tryton: vengfulsquirrel roundup * #772/Large product set problem: delete method: diff -r cbde71ecbb87 product.py --- a/product.py Mon Feb 02 13:11:13 2009 +0100 +++ b/product.py Wed Feb 11 11:26:55 2009 -0800 @@ - ...20:29
CIA-10tryton: ced roundup * #772/Large product set problem: delete method: Ok, this looks good. You can make a patch.20:34
-!- vengfulsquirrel(n=ian@c-71-202-125-182.hsd1.ca.comcast.net) has joined #tryton20:43
CIA-10tryton: C?dric Krier <ced@b2ck.com> default * 1529:9918bb6174a0 trytond/trytond/ (5 files in 2 dirs): Move netrpc into protocols20:53
CIA-10tryton: C?dric Krier <ced@b2ck.com> default * 1530:d4f80dab3677 trytond/trytond/ (config.py netsvc.py server.py): Convert port number into config and fix rpc_paths for XML-RPC20:53
CIA-10tryton: C?dric Krier <ced@b2ck.com> default * 1531:d16da306cd85 trytond/trytond/server.py: Unify logging message from server20:57
-!- tekknokrat(n=gthieleb@dslb-088-074-150-146.pools.arcor-ip.net) has joined #tryton21:26
-!- tekknokrat(n=gthieleb@dslb-088-074-150-146.pools.arcor-ip.net) has left #tryton21:26
-!- paola_(n=paola@host-84-223-76-210.cust-adsl.tiscali.it) has joined #tryton21:30
-!- johbo(n=joh@statdsl-085-016-072-173.ewe-ip-backbone.de) has joined #tryton21:46
-!- _sasa_(n=sasa@84-255-205-164.static.t-2.net) has joined #tryton22:13
CIA-10tryton: Timitos roundup * #776/genshi/template/eval.py: UndefinedError(key, owner=owner): i can confirm this issue for the error 'UndefinedError: 1 has no member named "header"' i noticed that the problem has to do with the header file ...22:38

Generated by irclog2html.py 2.11.0 by Marius Gedminas - find it at mg.pov.lt!