Changement du nom du menu en 'Mini Tools 2'
[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     def _question_items(self, cr, uid, ids, field, arg, context=None):
9         result={}
10         for theme in self.browse(cr, uid, ids, context=context):
11             res=[]
12             for question in theme.questions:
13                 res.append({'id': question.id, 'name': question.name, 'answer_items': question.answer_items})
14             result[theme.id] = res
15         return result
16
17     _columns = {
18         "name": fields.char(string="Title", size=64, required=True),
19         "description": fields.text(string="Description"),
20         "questions": fields.one2many("faq.question" , "theme_id", string="Questions"),
21         "question_items": fields.function(_question_items, type="text", string="Question items"),
22     }
23
24 class question(osv.Model):
25     _name = "faq.question"
26
27     def _answer_items(self, cr, uid, ids, field, arg, context=None):
28         result={}
29         for question in self.browse(cr, uid, ids, context=context):
30             res=[]
31             for answer in question.answers:
32                 res.append({'id': answer.id, 'name': answer.name})
33             result[question.id] = res
34         return result
35
36     _columns = {
37         "name": fields.char(string="Title", size=64, required=True),
38         "description": fields.text(string="Description"),
39         "theme_id": fields.many2one("faq.theme", string="Theme", required=True),
40         "answers": fields.one2many("faq.answer" , "question_id", string="Answers"),
41         "answer_items": fields.function(_answer_items, type="text", string="Answer items"),
42     }
43
44 class answer(osv.Model):
45     _name = "faq.answer"
46
47     _columns = {
48         "name": fields.char(string="Title", size=64, required=True),
49         "description": fields.text(string="Description"),
50         "question_id": fields.many2one("faq.question", string="Question", required=True),
51     }