1 # -*- coding: utf-8 -*-
4 from openerp.osv import osv, fields
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"
13 def name_get(self, cr, uid, ids, context=None):
14 if isinstance(ids, (list, tuple)) and not len(ids):
16 if isinstance(ids, (long, int)):
18 reads = self.read(cr, uid, ids, ['name','parent_id'], context=context)
22 if record['parent_id']:
23 name = record['parent_id'][1]+' / '+name
24 res.append((record['id'], name))
27 def _name_get_fnc(self, cr, uid, ids, prop, unknow_none, context=None):
28 res = self.name_get(cr, uid, ids, context=context)
32 'sequence': fields.integer('Sequence'),
33 'display_name': fields.function(_name_get_fnc, type="char", string='Full Name'),
34 'name': fields.char('Name', required=True, translate=True),
35 'introduction': fields.html('Introduction', translate=True),
36 'parent_id': fields.many2one('forum.documentation.toc', 'Parent Table Of Content'),
37 'child_ids': fields.one2many('forum.documentation.toc', 'parent_id', 'Children Table Of Content'),
38 'parent_left': fields.integer('Left Parent', select=True),
39 'parent_right': fields.integer('Right Parent', select=True),
40 'post_ids': fields.one2many('forum.post', 'documentation_toc_id', 'Posts'),
41 'forum_id': fields.many2one('forum.forum', 'Forum', required=True),
44 (osv.osv._check_recursion, 'Error ! You cannot create recursive categories.', ['parent_id'])
48 class DocumentationStage(osv.Model):
49 _name = 'forum.documentation.stage'
50 _description = 'Post Stage'
53 'sequence': fields.integer('Sequence'),
54 'name': fields.char('Stage Name', required=True, translate=True),
58 class Post(osv.Model):
59 _inherit = 'forum.post'
61 'documentation_toc_id': fields.many2one('forum.documentation.toc', 'Documentation ToC'),
62 'documentation_stage_id': fields.many2one('forum.documentation.stage', 'Documentation Stage'),
63 'color': fields.integer('Color Index')