581a60824f3e7b6c1e3e708d4fd3a3e12d03ed8c
[odoo/odoo.git] / addons / website_forum_doc / models / documentation.py
1 # -*- coding: utf-8 -*-
2
3 import openerp
4 from openerp.osv import osv, fields
5
6 class Documentation(osv.Model):
7     _name = 'forum.documentation.toc'
8     _description = 'Documentation ToC'
9     _inherit = ['website.seo.metadata']
10     _order = "parent_left"
11     _parent_order = "sequence, name"
12     _parent_store = True
13     _columns = {
14         'sequence': fields.integer('Sequence'),
15         'name': fields.char('Name', required=True, translate=True),
16         'parent_id': fields.many2one('documentation.toc', 'Parent Table Of Content'),
17         'child_ids': fields.one2many('documentation.toc', 'parent_id', 'Children Table Of Content'),
18         'parent_left': fields.integer('Left Parent', select=True),
19         'parent_right': fields.integer('Right Parent', select=True),
20         'post_ids': fields.one2many('forum.post', 'documentation_toc_id', 'Posts'),
21     }
22     _constraints = [
23         (osv.osv._check_recursion, 'Error ! You cannot create recursive categories.', ['parent_id'])
24     ]
25
26
27 class DocumentationStage(osv.Model):
28     _name = 'forum.documentation.stage'
29     _description = 'Post Stage'
30     _order = 'sequence'
31     _columns = {
32         'sequence': fields.integer('Sequence'),
33         'name': fields.char('Stage Name', required=True, translate=True),
34     }
35
36
37 class Post(osv.Model):
38     _inherit = 'forum.post'
39     _columns = {
40         'documentation_toc_id': fields.many2one('forum.documentation.toc', 'Documentation ToC'),
41         'documentation_stage_id': fields.many2one('forum.documentation.stage', 'Documentation Stage')
42     }
43