IRC logs of #tryton-fr for Wednesday, 2016-06-29

chat.freenode.net #tryton-fr log beginning Wed Jun 29 00:03:01 CEST 2016
2016-06-29 08:50 -!- mrichez(~smuxi@mail.saluc.com) has joined #tryton-fr
2016-06-29 09:24 -!- azerttyu(~azerttyu@polyscenic.pck.nerim.net) has joined #tryton-fr
2016-06-29 09:25 -!- cedk(~ced@gentoo/developer/cedk) has joined #tryton-fr
2016-06-29 11:24 -!- prevision(~prevision@ADijon-653-1-191-151.w90-39.abo.wanadoo.fr) has joined #tryton-fr
2016-06-29 11:25 <prevision> Bonjour, je suis le tuto du guide du développeur, et pas moyen de faire imprimer quoique ce soit via mon wizard. Avez-vous une idée ???
2016-06-29 11:26 <cedk> prevision: ce serait bien si on pouvait voir le code
2016-06-29 11:28 -!- prevision(~prevision@ADijon-653-1-191-151.w90-39.abo.wanadoo.fr) has joined #tryton-fr
2016-06-29 11:28 <prevision> Merci pour la réponse. Il se trouve en ligne : http://tryton-documentation.readthedocs.io/en/latest/developer_guide/example_library_2.html
2016-06-29 11:29 <prevision> Mais, il faut savoir que j'ai fait mon installe d'après les tar.gz
2016-06-29 11:34 <prevision> Pour info, avec le xml que l'on peut aussi avoir sur github (https://github.com/tryton/tryton-documentation/blob/master/library_demo_module/library/library.xml), j'obtiens le message d'erreur suivant : ERROR:tryton.common.common:None ('Error', 'Missing report file!'), alors que book.odt existe et est fait avec les placeholder
2016-06-29 11:36 <prevision> oups, me suis trompé de lien : https://github.com/tryton/tryton-documentation/blob/master/library_demo_module/library_rent/library.xml
2016-06-29 11:37 <cedk> prevision: il y a une erreur dans le code
2016-06-29 11:38 <cedk> prevision: ça doit être: print_ = StateAction('library.book_print')
2016-06-29 11:38 <cedk> prevision: je ne suis pas sûr que l'auteur maintienne la documentation
2016-06-29 11:39 <cedk> prevision: ceci est mieux maintenu: http://downloads.tryton.org/TUL2014/crash-course.pdf
2016-06-29 11:40 <prevision> Ben, pourtant elle est présentée comme celle de la 4.1... Mais oui, sur git, le .cfg pointe vers une versions 3.8 de mémoire. Je teste tout de suite, et vous tiens informé cedk. Merci beaucoup pour la réactivité
2016-06-29 11:40 <cedk> prevision: avec http://hg.tryton.org/training
2016-06-29 11:43 <prevision> Ben ce n'était pas ça... Toujours le même message
2016-06-29 11:46 <cedk> prevision: est-ce que c'est bien: <field name="report">library/book.odt</field>
2016-06-29 11:47 <cedk> prevision: et le nom du module est bien library?
2016-06-29 11:47 <cedk> prevision: ça doit être: print_ = StateAction('library.report_library')
2016-06-29 11:48 <cedk> c'est le nom de l'action
2016-06-29 11:50 <prevision> oui, c'est le bon field
2016-06-29 11:50 <prevision> nom du module ou de la classe ?
2016-06-29 11:51 <prevision> (Désolée, je lisais les liens)
2016-06-29 12:07 <prevision> Et bien, library.report_library ne marche pas non plus. Et, j'ai deux modules, l'un qui s'appelle library, dont le nom de la classe est library.book, et library_rent dont le nom de la classe est aussi library.book. Le problème ne pourrait-il pas venir de là ? En suivant ce tuto, library.book de library est la classe mère de library.book de library_rent. Or, le wizard est créé dans library_rent.
2016-06-29 12:11 <cedk> prevision: je sais pas, je ne connais absolument pas ce tutorial. Pour pouvoir répondre il faudrait le lire en entier
2016-06-29 12:13 <prevision> Donc deux noms de classe identiques dans deux modules différents, dont l'un étend l'autre, n'est pas un problème, puisqu'il s'agit d'étendre le premier modèle. Sinon, merci beaucoup pour votre aide.
2016-06-29 12:13 <cedk> prevision: il n'y a pas de problème avec des noms de classes identiques
2016-06-29 12:17 <prevision> cedk: Le tuto qui permet de créer le module library est : http://tryton-documentation.readthedocs.io/en/latest/developer_guide/example_library_1.html et celui qui permet de créer library_rent est http://tryton-documentation.readthedocs.io/en/latest/developer_guide/example_library_2.html. Sinon, je crois bien que le lien vers le pdf que vous m'avez envoyé, n'est plus adapté pour les boutons (je me prend aussi la tête
2016-06-29 12:17 <prevision> pour réussir à effacer un enregistrement, via un bouton, dans un tree
2016-06-29 12:18 <prevision> Et, je pense que je suis tombée sur une de vos mises à jour concernant les groupes de bouton, pendant mes recherches...
2016-06-29 12:20 <cedk> prevision: la suppression de record, ce fait via le menu du formulaire
2016-06-29 12:21 <prevision> et on ne peut pas le coder avec un bouton, pour que ce soit plus élégant ???
2016-06-29 12:22 <prevision> Parce que si c'est le cas, heureusement que je vous en ai parlé, et je vous remercie donc encore... J'allais me prendre la tête longtemps.
2016-06-29 12:22 <cedk> prevision: ça n'irait pas car un bouton s'éxécute sur un enregistrement
2016-06-29 12:35 <cedk> prevision: en fait, il y a peut-être moyen d'utiliser un bouton avec une action client
2016-06-29 12:38 <cedk> prevision: http://doc.tryton.org/4.0/trytond/doc/topics/views/index.html#button
2016-06-29 12:56 <prevision> C'est exactement, ce que j'ai fait. Dans mon xml, j'ai ajouté : button name="deleteButton" string="Delete" confirm="Are you sure to delete the book?"/>
2016-06-29 12:56 <prevision> Et dans ma classe, j'ai ajouté : :q!
2016-06-29 12:57 <prevision> @classmethod
2016-06-29 12:57 <prevision> def deleteButton(self, records):
2016-06-29 12:58 <prevision> pool = Pool()
2016-06-29 12:58 <prevision> Model = pool.get('nomDu.model')
2016-06-29 12:59 <prevision> record = Model.search(['id','=',row.id)])
2016-06-29 12:59 <prevision> Modele.delete(record)
2016-06-29 12:59 <prevision> Model.create(values)
2016-06-29 12:59 <prevision> return 'reload'
2016-06-29 13:00 <prevision> mais, je me heurte à l'erreur suivante : pas le droit d'appeller cette fonction, sur cette classe
2016-06-29 13:03 <cedk> prevision: ce n'est pas ça du tout qui est expliqué dans la doc
2016-06-29 13:04 <cedk> prevision: de plus les méthodes de button doivent être décorées par ModelView.button
2016-06-29 13:06 <prevision> cedk: même avec def deleteButton(cls, records). Oh, j'ai tenté @ModelView.button. Ca ne mache pas. Tout comme, avec une fonction setup, impossible d'ajouter un bouton au dictionnaire de bouton, car même si ma classe hérite de modelview, le compilateur considère que ma classe n'a pas d'attribut _boutton
2016-06-29 13:07 <prevision> cedk: Qu'est-ce que je n'ai pas compris dans la doc ?
2016-06-29 13:08 <cedk> prevision: _button est définit par ModelView.__setup__
2016-06-29 13:10 <prevision> Oui, j'avais compris. Et, j'ai essayé ModelView, à la place de super, quand je créai la __setup__ de ma classe
2016-06-29 13:12 <cedk> prevision: comprend pas
2016-06-29 13:14 <prevision> cedk: Comme je débute sur Tryton, avant de coder quoique ce soit, je regarde soit les modules existant comme account_invoice ou party, mais aussi, ce que je trouve en ligne.
2016-06-29 13:16 <prevision> Du coup, je suis tombée sur la manière classique de déclarer un bouton, qui consiste à créer sa propre __setup__, et d'y appeller la __setup de la mère via NomMere.__setup() ou super(NomMere, cls).__setup()
2016-06-29 13:17 <prevision> J'ai tenté les deux, et pour autant, il n'acceptait pas d'ajouter mon boutton tout simple au dico
2016-06-29 14:16 <cedk> prevision: sans voir le code, je peux rien dire
2016-06-29 14:20 <prevision> cedk: Je ne sais pas pourquoi (peut - être les mises à jour systèmes, mais alors qu'hier soir l'appelle de ModelView._setup() retournait une erreur, là ça marche. Du coup, je suis en train de tout reprendre, et il me demande maintenant de définir _sql_constraints pour mon objet. Et il n'apprécie pas les mots clés de postgreSQL, tq : ('title', 'UNIQUE (title)', 'All the field are not unique'), il me répond
2016-06-29 14:20 <prevision> gentilment unsupported operand type(s) for +: 'NoneType' and 'str'. Je me base sur le lien suivant : http://doc.tryton.org/4.0/trytond/doc/ref/models/models.html
2016-06-29 14:23 <cedk> prevision: ça doit être des instances de Constraint comme indiqué dans la doc
2016-06-29 14:35 <prevision> Comment se sert-on de Unique.columns ?
2016-06-29 14:36 <prevision> cedk: En meme temps, ce serait plus utile de savoir comment créer une Constraint pour une ligne seulement, svp ?
2016-06-29 14:37 <cedk> prevision: je comprends pas la question
2016-06-29 14:38 <cedk> prevision: les contraints sont toujours sur l'ensemble
2016-06-29 14:39 <prevision> Ok, ce qui veut dire que si j'impose que ma colonne "title", avec Unique.colums par exemple, les utilisateurs ne pourront donc pas enter des doublons sur la colonne title ?
2016-06-29 14:44 <cedk> prevision: oui, c'est une contrainte au sense SQL
2016-06-29 14:48 <prevision> cedk: donc pour table, j'entre le nom de mon modele, et, pour colonne, le nom du champ ? Et, le nom de mon model, c'est le nom de ma classe, et celui de ma colonne, c'est le nom d'un attribut de la classe ?
2016-06-29 15:23 <prevision> Pour info, je confirme il est possible de créer un bouton qui efface un enregistrement dans sa vue. Et, j'avais simplement fait quelques erreurs de débutant, qui n'ont pas approfondis leur python depuis un moment... Il faut bien définir une méthode __setup__(cls), décorée @classmethod. Dans cette dernière, il faut appeller super(NomDeMaClasse,cls).__setup() pour créer tous les attributs de(s) classe(s) mère(s).
2016-06-29 15:23 <prevision> Ensuite, on met à jour la liste des boutons avec cls._buttons.update({'nomBoutonIdentiqueNonFonction':{},})
2016-06-29 15:25 <prevision> Il se peut que l'attribut _sql_error_messages={'nomBoutonIdentiqueNonFonction':'Msg d'erreur'} doivent aussi être définit. Je n'ai pas pris la peine de tester...
2016-06-29 15:26 <prevision> Et ensuite on crée une méthode décorée @classmethod @ModelView.button def nomBoutonIdentiqueNonFonction(cls, records): return 'delete'
2016-06-29 15:27 <prevision> Dans le xml de l'arbre, on met <button name="nomBoutonIdentiqueNonFonction" string="NomAAfficher"/
2016-06-29 15:28 <prevision> Un problème de résolu, mais je ne sais pas ce qui arrive à mon wizard qui ne veut pas imprimer dans un fichier. Dans tous les cas, un grand merci à cedk...
2016-06-29 16:20 -!- cedk(~ced@gentoo/developer/cedk) has joined #tryton-fr
2016-06-29 16:58 -!- prevision(~prevision@ADijon-653-1-191-151.w90-39.abo.wanadoo.fr) has joined #tryton-fr
2016-06-29 18:25 -!- azerttyu(~azerttyu@polyscenic.pck.nerim.net) has joined #tryton-fr
2016-06-29 18:51 -!- nicoe(~nicoe@2a02:a03f:302d:1400:ee55:f9ff:fe7b:f7ac) has joined #tryton-fr
2016-06-29 19:40 -!- mrechte(~Thunderbi@2001:41d0:fe43:7f00:fad1:11ff:fe10:a118) has joined #tryton-fr

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!