956367994da01134594e07c0ad97eeaa647e8943
[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         'introduction': fields.html('Introduction', translate=True),
17         'parent_id': fields.many2one('forum.documentation.toc', 'Parent Table Of Content'),
18         'child_ids': fields.one2many('forum.documentation.toc', 'parent_id', 'Children Table Of Content'),
19         'parent_left': fields.integer('Left Parent', select=True),
20         'parent_right': fields.integer('Right Parent', select=True),
21         'post_ids': fields.one2many('forum.post', 'documentation_toc_id', 'Posts'),
22         'forum_id': fields.many2one('forum.forum', 'Forum', required=True),
23     }
24     _constraints = [
25         (osv.osv._check_recursion, 'Error ! You cannot create recursive categories.', ['parent_id'])
26     ]
27
28
29 class DocumentationStage(osv.Model):
30     _name = 'forum.documentation.stage'
31     _description = 'Post Stage'
32     _order = 'sequence'
33     _columns = {
34         'sequence': fields.integer('Sequence'),
35         'name': fields.char('Stage Name', required=True, translate=True),
36     }
37
38
39 class Post(osv.Model):
40     _inherit = 'forum.post'
41     _columns = {
42         'documentation_toc_id': fields.many2one('forum.documentation.toc', 'Documentation ToC'),
43         'documentation_stage_id': fields.many2one('forum.documentation.stage', 'Documentation Stage'),
44         'color': fields.integer('Color Index')
45     }
46