[MERGE] forward port of branch 7.0 up to 65d92da
[odoo/odoo.git] / addons / base_import / test_models.py
1 from openerp.osv import orm, fields
2
3 def name(n): return 'base_import.tests.models.%s' % n
4
5 class char(orm.Model):
6     _name = name('char')
7
8     _columns = {
9         'value': fields.char('unknown', size=None)
10     }
11
12 class char_required(orm.Model):
13     _name = name('char.required')
14
15     _columns = {
16         'value': fields.char('unknown', size=None, required=True)
17     }
18
19 class char_readonly(orm.Model):
20     _name = name('char.readonly')
21
22     _columns = {
23         'value': fields.char('unknown', size=None, readonly=True)
24     }
25
26 class char_states(orm.Model):
27     _name = name('char.states')
28
29     _columns = {
30         'value': fields.char('unknown', size=None, readonly=True, states={'draft': [('readonly', False)]})
31     }
32
33 class char_noreadonly(orm.Model):
34     _name = name('char.noreadonly')
35
36     _columns = {
37         'value': fields.char('unknown', size=None, readonly=True, states={'draft': [('invisible', True)]})
38     }
39
40 class char_stillreadonly(orm.Model):
41     _name = name('char.stillreadonly')
42
43     _columns = {
44         'value': fields.char('unknown', size=None, readonly=True, states={'draft': [('readonly', True)]})
45     }
46
47 # TODO: complex field (m2m, o2m, m2o)
48 class m2o(orm.Model):
49     _name = name('m2o')
50
51     _columns = {
52         'value': fields.many2one(name('m2o.related'))
53     }
54 class m2o_related(orm.Model):
55     _name = name('m2o.related')
56
57     _columns = {
58         'value': fields.integer()
59     }
60     _defaults = {
61         'value': 42
62     }
63
64 class m2o_required(orm.Model):
65     _name = name('m2o.required')
66
67     _columns = {
68         'value': fields.many2one(name('m2o.required.related'), required=True)
69     }
70 class m2o_required_related(orm.Model):
71     _name = name('m2o.required.related')
72
73     _columns = {
74         'value': fields.integer()
75     }
76     _defaults = {
77         'value': 42
78     }
79
80 class o2m(orm.Model):
81     _name = name('o2m')
82
83     _columns = {
84         'value': fields.one2many(name('o2m.child'), 'parent_id')
85     }
86 class o2m_child(orm.Model):
87     _name = name('o2m.child')
88
89     _columns = {
90         'parent_id': fields.many2one(name('o2m')),
91         'value': fields.integer()
92     }
93
94 class preview_model(orm.Model):
95     _name = name('preview')
96
97     _columns = {
98         'name': fields.char('Name', size=None),
99         'somevalue': fields.integer('Some Value', required=True),
100         'othervalue': fields.integer('Other Variable'),
101     }