X-Git-Url: http://git.inspyration.org/?a=blobdiff_plain;f=faq.py;h=0c82f94646f50f3b1cd69b99537d81ea181cbfd7;hb=87f2b0e8980181c4d0d6079aacd5cb52a6deb07e;hp=ed1ad8c56d5ea9f8b0217635a00bf38d84f69977;hpb=ad8a1caa88d4cfc6863609aa2eace1fbf46743b4;p=OpenERP%2Ffaq.git diff --git a/faq.py b/faq.py index ed1ad8c..0c82f94 100644 --- a/faq.py +++ b/faq.py @@ -2,18 +2,30 @@ from openerp.osv import osv, fields -class theme(osv.Model): - _name = "faq.theme" +class Topic(osv.Model): + _name = "semantics.topic" + + _inherit = "semantics.topic" + + def _question_items(self, cr, uid, ids, field, arg, context=None): + result={} + for topic in self.browse(cr, uid, ids, context=context): + res=[] + for question in topic.questions: + res.append({'id': question.id, 'name': question.name, 'answer_items': question.answer_items}) + result[topic.id] = res + return result _columns = { - "name": fields.char(string="Title", size=64, required=True), - "description": fields.text(string="Description"), - "questions": fields.one2many("faq.question" , "theme_id", string="Questions"), + "questions": fields.one2many("faq.question" , "topic_id", string="Questions"), + "question_items": fields.function(_question_items, type="text", string="Question items"), } class question(osv.Model): _name = "faq.question" + _inherit = "mail.thread" + def _answer_items(self, cr, uid, ids, field, arg, context=None): result={} for question in self.browse(cr, uid, ids, context=context): @@ -26,7 +38,7 @@ class question(osv.Model): _columns = { "name": fields.char(string="Title", size=64, required=True), "description": fields.text(string="Description"), - "theme_id": fields.many2one("faq.theme", string="Theme", required=True), + "topic_id": fields.many2one("semantics.topic", string="Topic", required=True), "answers": fields.one2many("faq.answer" , "question_id", string="Answers"), "answer_items": fields.function(_answer_items, type="text", string="Answer items"), } @@ -34,6 +46,8 @@ class question(osv.Model): class answer(osv.Model): _name = "faq.answer" + _inherit = "mail.thread" + _columns = { "name": fields.char(string="Title", size=64, required=True), "description": fields.text(string="Description"),