Groupes user et manager gérés par semantics
[OpenERP/faq.git] / faq.py
diff --git a/faq.py b/faq.py
index 1857916..ebb888b 100644 (file)
--- a/faq.py
+++ b/faq.py
@@ -2,28 +2,54 @@
 
 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):
+            res=[]
+            for answer in question.answers:
+                res.append({'id': answer.id, 'name': answer.name})
+            result[question.id] = res
+        return result
+
     _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"),
+        "priority":fields.many2one("semantics.priority", string="Priority"),
+        "status": fields.many2one("semantics.status", string="Status"),
     }
 
 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"),