Rajout fonction permettant de récupérer une liste de réponses pour une question donnée
[OpenERP/faq.git] / faq.py
1 #-*- coding: utf8 -*-
2
3 from openerp.osv import osv, fields
4
5 class theme(osv.Model):
6     _name = "faq.theme"
7
8     _columns = {
9         "name": fields.char(string="Title", size=64, required=True),
10         "description": fields.text(string="Description"),
11         "questions": fields.one2many("faq.question" , "theme_id", string="Questions"),
12     }
13
14 class question(osv.Model):
15     _name = "faq.question"
16
17     def _answer_items(self, cr, uid, ids, field, arg, context=None):
18         result={}
19         for question in self.browse(cr, uid, ids, context=context):
20             res=[]
21             for answer in question.aswers:
22                 res.append({'id': answer.id, 'name': answer.name})
23             result[question.id] = res
24         return result
25
26     _columns = {
27         "name": fields.char(string="Title", size=64, required=True),
28         "description": fields.text(string="Description"),
29         "theme_id": fields.many2one("faq.theme", string="Theme", required=True),
30         "answers": fields.one2many("faq.answer" , "question_id", string="Answers"),
31         "answer_items": fields.function(_answer_items, string="Answer items")
32     }
33
34 class answer(osv.Model):
35     _name = "faq.answer"
36
37     _columns = {
38         "name": fields.char(string="Title", size=64, required=True),
39         "description": fields.text(string="Description"),
40         "question_id": fields.many2one("faq.question", string="Question", required=True),
41     }