IRC logs of #tryton for Thursday, 2009-02-19 #tryton log beginning Thu Feb 19 00:00:01 CET 2009
CIA-10tryton: ced roundup * #796/AttributeError: 'Screen' object has no attribute 'views': [need-eg] Could you describe step by step what you do? And give which version do you use?00:00
-!- paola_( has joined #tryton00:17
-!- igor__(i=igor@ has joined #tryton01:53
-!- yangoon( has joined #tryton05:20
-!- bechamel(n=user@ has joined #tryton06:34
-!- sharkcz( has joined #tryton07:19
-!- Timitos(n=Timitos@ has joined #tryton07:40
-!- Gedd(n=ged@ has joined #tryton08:06
-!- carlos(n=carlos@ has joined #tryton08:11
-!- paola( has joined #tryton08:30
-!- bechamel(n=user@ has joined #tryton08:40
-!- bechamel(n=user@ has joined #tryton09:23
-!- simahawk( has joined #tryton09:35
-!- simahawk( has left #tryton09:35
-!- cedk(n=ced@gentoo/developer/cedk) has joined #tryton10:00
-!- cedric_b_( has joined #tryton10:00
-!- tekknokrat( has joined #tryton10:19
-!- cedric_b__( has joined #tryton10:32
-!- cedric_b_( has joined #tryton11:03
CIA-10tryton: Mathias Behrle <> default * 273:7bc5e5bb2bbb website/locale/de_DE/LC_MESSAGES/tryton.po: Update translation for de_DE11:05
-!- cedric_b( has joined #tryton11:18
yangoonbechamel: did you do the zazzle shop?11:20
bechamelyangoon: yes11:21
yangoonbut for the logo size on the shirt I am prefering
yangoonbechamel: can you change it?11:22
bechamelyangoon: zazzle allow to tweak the layout iirc11:23
yangoonbechamel: yes, correct11:25
bechamelyangoon: but you are right, the shirt is nicer with a bigger logo11:32
yangoonbechamel: it seems to be possible to save different templates11:33
bechamelyangoon: yes, i choose zazzle over cafepress because with cafepress you have to pay to provide several designs for the same item (dark shirt in this case)11:35
udonobechamel: how long did it take to order a t-shirt?11:55
bechameludono: i don't know, i didn't try yet11:56
bechameludono: btw there is also a
CIA-10tryton: * r437 /wiki/ Edited wiki page through web user interface.12:15
CIA-10tryton: * r438 /wiki/ Edited wiki page through web user interface.12:15
CIA-10tryton: C?dric Krier <> default * 1349:878535a1d4d0 trytond/trytond/osv/ Fix add_null in SQL query for issue79513:03
-!- paola_( has joined #tryton13:17
CIA-10tryton: C?dric Krier <> default * 1559:d867cda68b93 trytond/trytond/ir/ Use os separator in filename when calling file_open13:59
CIA-10tryton: C?dric Krier <> default * 1560:62295fcc7e35 trytond/trytond/report/ Clause temporary file before remove it13:59
-!- ikks(i=igor@ has joined #tryton14:12
-!- bechamel(n=user@ has joined #tryton14:42
CIA-10tryton: C?dric Krier <> default * 1350:b554778ad371 trytond/trytond/ir/ Use os separator in filename when calling file_open14:47
CIA-10tryton: C?dric Krier <> default * 1351:ae365a338610 trytond/trytond/report/ Clause temporary file before remove it14:47
-!- saxa( has joined #tryton15:10
-!- enlightx( has joined #tryton16:00
udonobechamel: the t-shirts seems not to work with white color on black ground:
udonobechamel: "Please note that for designing on all styles aside from Zazzle Basic Dark T-shirts, white areas will not be printed regardless of image format."16:14
bechameludono: the png containing the logo is a png with transparency16:23
bechameludono: white color is considered as transparent for non-dark shirts16:23
-!- juanfer(n=juanfer@ has joined #tryton17:59
Timitoscedk: in account_invoice there are some lines in on_change_product() to retrieve the unit_price. wouldn´t it be better to have one function on product.template or product.product an pass all the necessary parameters to it link (quantity, product, uom, company.currency, _invoice.currency and price type (purchase, sale,...)? same for sale and purchase?18:08
Timitosthis way it would be easier to adapt price calculation with custom modules18:09
cedkTimitos: I don't know because it will be any way module specific18:27
cedkTimitos: for the invoice, this unit_price is realy an approximative value18:29
cedkTimitos: and invoice must not be used to make sale or purchase18:30
Timitoscedk: i do not understand. why is unit_price for invoice approximative?18:31
cedkTimitos: because it doesn't care about any kind of price list18:31
cedkTimitos: it takes cost_price or list_price18:32
Timitoscedk: for me price computation in sale, purchase and invoice is quite similar. so if i create one function get_price on product.product or product.template i could use this function for all three modules.18:32
Timitoscedk: sale does the same. it takes list_price for the moment18:32
cedkTimitos: yes perhaps18:33
Timitoscedk: and i also would develop pricelist for invoice. because it is not good if there cannot be used pricelist their. like this it is in openerp and i don´t like that18:34
Timitoscedk: i do not see any reason why pricelist should not be used on invoice18:34
cedkTimitos: so ok, you could work on it and provide a patch18:35
Timitoscedk: ok. i will provide pathes for account_invoice, sale and purchase18:35
cedkTimitos: fill an issue in roundup to share the work18:36
Timitoscedk: ok18:36
-!- paola( has joined #tryton18:42
-!- X0d_of_N0d( has joined #tryton18:53
X0d_of_N0dACTION waves @ udono 18:54
udonoX0d_of_N0d: hey man19:04
udonoX0d_of_N0d: nice to read you!19:05
X0d_of_N0dudono: back @ ya man19:06
X0d_of_N0dman, have you ever used a Kinesis kbd? It's like I'm relearning to type....19:07
X0d_of_N0dso what were you wondering?19:07
udonoX0d_of_N0d: what is a kinesis kbd? never heared/used19:08
udonoX0d_of_N0d: Iam on planning how to realise a clean ldap auth19:09
X0d_of_N0d < a friend got one and didn't like it so I'm trying it19:10
X0d_of_N0dudono: ldap auth should be done the same way all other ldap stuff...19:11
udonoX0d_of_N0d: huh, so you are writing on a broken kbd :-)19:11
X0d_of_N0dnot broken... just really strange.19:12
udonoX0d_of_N0d: yes, is there a standard way for ldap auth?19:12
udonoX0d_of_N0d: I think of:19:12
udono1. anon bind19:12
udono2. check if user exists19:12
udono2.1 If user not exist: auth fail19:13
X0d_of_N0dudono: no...not really19:13
udono2.2 is user(name) exist: auth bind with password19:13
udono3. if auth bind nok: auth fails19:14
X0d_of_N0dthe standard way to bind is to bind as user... so simple_bind_s(user,passwd)19:14
X0d_of_N0dif that fails then auth failes19:14
udono4. if auth bind ok: auth ok19:14
X0d_of_N0dyou never need to check for a user because auth bind does that for you19:15
-!- kleinerdrache( has joined #tryton19:15
udonoX0d_of_N0d: ok, understand19:15
udonoX0d_of_N0d: how to combine with ldap_base?19:15
udonoX0d_of_N0d: there we have resources/server19:16
udonoX0d_of_N0d: if we make directly simple_bind_s(user,passwd) we need there in server definition an auth bind, with password too?19:18
X0d_of_N0dno you'd bind with the passwd supplied by the user... if the ldap setting for user bind is used that is19:18
udonoX0d_of_N0d: so ldap_auth doesn't need ldap_base?19:19
udonoX0d_of_N0d: srry, wrong19:19
udonoX0d_of_N0d: don't understand: "if the ldap setting for user bind is used that is"19:20
X0d_of_N0dthe user is filter+": "+username+ldap_base19:21
X0d_of_N0derm... s/:/=/19:22
X0d_of_N0de.g.: uid=joe,dc=company19:23
X0d_of_N0dso iirc the call would be l.simple_bind_s('uid=joe,dc=company','passwd')19:25
udonoX0d_of_N0d: ah, ok, understand19:26
X0d_of_N0dbut this is all only if the user's server is newer than 5 years or so, or configured correctly...19:27
udonoX0d_of_N0d: so I put on res_user a link to a ldap_resource?19:27
udonoX0d_of_N0d: and vice versa19:28
X0d_of_N0dhold on, lemme look at the code19:28
-!- vengfulsquirrel( has joined #tryton19:28
X0d_of_N0dwe need to override the orm for res_user so that queries for users search ldap19:38
X0d_of_N0dthis isn't needed for auth, but for looking at or adding users it would be19:38
udonoX0d_of_N0d: yes19:39
X0d_of_N0dwhich was the next thing I was going to work on before I got pulled away to do a bunch of other stuff here at work19:40
X0d_of_N0dACTION grumbles19:40
udonoX0d_of_N0d: ...but just for ldap_auth: are res_user m2o ldap_base combined?19:41
X0d_of_N0dbasically we need to implment that in the base ldap module19:41
udonoX0d_of_N0d: the res_user m2o ldap_base ?19:42
udonoX0d_of_N0d: it can be inherited from ldap_auth. So you can use ldap_base without ldap_auth19:42
X0d_of_N0dhold up for a sec19:43
udonoACTION thinks that somone only likes to use ldap for an addressbook, but not for auth.19:43
X0d_of_N0dres_user would be seperate from ldap base, yes19:43
X0d_of_N0dldap_auth would override res_user19:44
udonoX0d_of_N0d: yes19:47
X0d_of_N0dman, this kb is really making it hard to move around, sorry it's taking so long19:48
udonoX0d_of_N0d: but you have the double size ESC key?19:48
udonoX0d_of_N0d: and keys for copy, cut and paste :-)19:49
X0d_of_N0dI almost never use esc, I use emacs19:49
X0d_of_N0dand now ctrl is under my thumb instead of my pinkey19:50
X0d_of_N0dthis is kind of interesting19:51
X0d_of_N0dUser already has it's own methods for create write and read19:52
udonoX0d_of_N0d: one last question. Which should be the behavoir when ldap auth fails. Should there be a fallback to tryton standard authentication mechanism?19:52
udonoX0d_of_N0d: or should this be customizable via a checkbox?19:52
cedkudono: by the way, you should ask to intuxication guys to put your ldap modules under tryton category19:52
udonocedk: yes, I will do so. thanks19:53
cedkudono: I was just searching the modules and it was a little difficult :-)19:53
udonocedk: I will just wait if they are tested and debugged a bit more.19:54
udonocedk: I give you the links:19:54
X0d_of_N0dudono: using nsswitch as a model we should fail back to tryton db if ldap fails, but only if ldap fails19:54
udonocedk: is not working for now19:55
udonocedk: is ok, but there is still the translation issue open for the error messages.19:56
udonoX0d_of_N0d: ldap fails means no connection to the ldap server?19:56
udonoX0d_of_N0d: and not authentication on ldap fails19:56
X0d_of_N0dno, it means that auth fails against ldap19:58
udonoX0d_of_N0d: ok19:58
X0d_of_N0dudono: hey man, btw, sorry I'm not more involved in this20:01
udonoX0d_of_N0d: no problem, I think I can handle the ldap_auth stuff. The orm part I don't know enough for now. Maybe later you find some time to specify your Ideas for this in the wiki.20:05
X0d_of_N0dudono: i can give you veague idea...20:06
X0d_of_N0dI'll try to add stuff to the wiki though20:07
udonoX0d_of_N0d: Yeah, an idea even a veague is very welcome.20:08
udonoX0d_of_N0d: Thanks a lot!20:08
-!- cristi_an(i=5978d3ce@gateway/web/ajax/ has joined #tryton20:08
X0d_of_N0dudono: take a look at res/user.py20:09
cristi_anwhen i create a custom module all code is written on server side in the module...nothing on client side ?20:09
X0d_of_N0dcristi_an: afaik20:10
X0d_of_N0dcristi_an: yes20:10
cristi_anjust wnated to be sure,about this20:10
cristi_ancause for simple moudles i have done...ithis was the case20:11
cristi_anand client acted like a browser20:11
cristi_anwonder if i want to change how a control react on a key ..20:11
X0d_of_N0dcristi_an: i belive user configuration is stored in the db, if you're talking about adding a hot key to a form or something I don't know20:13
X0d_of_N0dudono: so the User class inherits OSV then modifies the create, write, delete, etc.. methods of OSV20:15
-!- vengfulsquirrel( has joined #tryton20:15
X0d_of_N0dudono: likewise an ldap_OSV would override read, write, create, etc in order to query ldap instead of postgres20:16
X0d_of_N0dthen ldap_user would inherit ldap_OSV, and everything else should be (more or less) transparent20:17
X0d_of_N0dvengfulsquirrel: how are things going in your neck of the woods man? sorry I've been so out of the loop, my boss pulled me off tryton stuff to work on our ecr system20:18
cedkX0d_of_N0d: but be carefull about the transaction20:20
X0d_of_N0dACTION looks at cedk20:20
cedkif you update stuff outside the cursor transaction, in case of exception the change will not be rollbacked20:21
cedkX0d_of_N0d: for this I suggest to keep the write, create, etc... into the database and add also write, create, ... on the ldap server20:22
vengfulsquirrelX0d_of_N0d: Yeah I have been kind of distracted with extending Tryton to work with my company minus production.  I barely started the base production module and it still needs a lot of work.  I'm going to start working on it some more today though.
X0d_of_N0dcedk: I'd rather handle this all in ldap, replicated data can lead to difficult to diagnose bugs and security problems20:24
X0d_of_N0dvengfulsquirrel: cool, it looks like I'll be stuck on this stuff for at least the next week or so.20:25
X0d_of_N0dcedk: if ldap can't commit a transaction it raises an error, as long as we don't do bulk transactions or try to update more than one DN at a time then ldap should take care of the rollback issue20:26
cedkX0d_of_N0d: yes, use only the data from ldap but I suggest to still perform the operation on database to care of the transaction and the constraint20:26
cedkX0d_of_N0d: any way, you need an entry in res_user table for each user because there is a foreign key on every table that point to res_user20:27
cedkX0d_of_N0d: write_uid and create_uid20:27
X0d_of_N0dcedk: hum....20:28
cedkX0d_of_N0d: it is not an issue if you override each function and put the data from ldap20:29
X0d_of_N0dare there any constraints on other tables that checks if the wirte and create uids exist in the db?20:31
cedkX0d_of_N0d: perhaps, any module could add it20:31
cedkX0d_of_N0d: bbl20:32
X0d_of_N0dcedk: if it's not there it's better, thanks20:33
udonoX0d_of_N0d: cedk another way could be something like handshake communication: catch the read, write, change and direct it to ldap. After this read the results from ldap, check them if they are equal with the sended data and after this read, write, change the tryton data.20:45
X0d_of_N0dldap does all this20:46
X0d_of_N0dldap will tell you if the write failed and why20:46
X0d_of_N0dyou just need to check the return value for the write20:46
X0d_of_N0dudono: so if you tried to add a user and all the fields were right, but the telephone number was invalid then nothing would be committed until all information was correct20:50
cedkX0d_of_N0d: this is not enough for the transaction20:55
cedkI think the best it to do the same on both side database and ldap20:56
cedkthe transaction could fail later20:56
cedkbut of course the ldap data will not be rollbacked20:57
-!- tekknokrat( has left #tryton20:57
cedkthere is no good solution since we duplicate the transaction system20:58
cedkso you need one master, and I think it must be the data in database20:58
cedkas it is part of the all20:58
X0d_of_N0dhow could the transaction fail later?21:05
X0d_of_N0dI don't quite understand21:14
-!- enlightx( has joined #tryton21:35
udonoX0d_of_N0d: good night, see you.22:04
X0d_of_N0dudono: later man22:11
-!- ikks_(n=igor@ has joined #tryton22:31
-!- tekknokrat( has joined #tryton23:11
-!- ikks_(n=igor@ has joined #tryton23:19
-!- vengfulsquirrel( has joined #tryton23:29

Generated by 2.11.0 by Marius Gedminas - find it at!