Groupes user et manager gérés par semantics
[OpenERP/faq.git] / faq.py
1 #-*- coding: utf8 -*-
2
3 from openerp.osv import osv, fields
4
5 class Topic(osv.Model):
6     _name = "semantics.topic"
7
8     _inherit = "semantics.topic"
9
10     def _question_items(self, cr, uid, ids, field, arg, context=None):
11         result={}
12         for topic in self.browse(cr, uid, ids, context=context):
13             res=[]
14             for question in topic.questions:
15                 res.append({'id': question.id, 'name': question.name, 'answer_items': question.answer_items})
16             result[topic.id] = res
17         return result
18
19     _columns = {
20         "questions": fields.one2many("faq.question" , "topic_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     _inherit = "mail.thread"
28
29     def _answer_items(self, cr, uid, ids, field, arg, context=None):
30         result={}
31         for question in self.browse(cr, uid, ids, context=context):
32             res=[]
33             for answer in question.answers:
34                 res.append({'id': answer.id, 'name': answer.name})
35             result[question.id] = res
36         return result
37
38     _columns = {
39         "name": fields.char(string="Title", size=64, required=True),
40         "description": fields.text(string="Description"),
41         "topic_id": fields.many2one("semantics.topic", string="Topic", required=True),
42         "answers": fields.one2many("faq.answer" , "question_id", string="Answers"),
43         "answer_items": fields.function(_answer_items, type="text", string="Answer items"),
44         "priority":fields.many2one("semantics.priority", string="Priority"),
45         "status": fields.many2one("semantics.status", string="Status"),
46     }
47
48 class answer(osv.Model):
49     _name = "faq.answer"
50
51     _inherit = "mail.thread"
52
53     _columns = {
54         "name": fields.char(string="Title", size=64, required=True),
55         "description": fields.text(string="Description"),
56         "question_id": fields.many2one("faq.question", string="Question", required=True),
57     }