2 from openerp.osv import osv, fields
5 class BaseA(osv.Model):
8 _name = "testing.base.a"
10 _description = "BaseA"
13 "name": fields.char(string="name", size=8, required=True),
14 "a1": fields.char(string="A1", size=8, required=True),
15 "a2": fields.char(string="A2", size=8, required=True),
19 class BaseB(osv.Model):
20 """Classe parente B"""
22 _name = "testing.base.b"
24 _description = "BaseB"
27 "name": fields.char(string="name", size=8, required=True),
28 "b1": fields.char(string="B1", size=8, required=True),
29 "b2": fields.char(string="B2", size=8, required=True),
33 class BaseC(osv.Model):
34 """Classe parente C"""
36 _name = "testing.base.c"
38 _description = "BaseC"
41 "name": fields.char(string="name", size=8, required=True),
42 "c1": fields.char(string="C1", size=8, required=True),
43 "c2": fields.char(string="C2", size=8, required=True),
47 class BaseD(osv.Model):
48 """Classe parente D"""
50 _name = "testing.base.d"
52 _description = "BaseD"
55 "name": fields.char(string="name", size=8, required=True),
56 "d1": fields.char(string="D1", size=8, required=True),
57 "d2": fields.char(string="D2", size=8, required=True),
61 class ClassInheritance(osv.Model):
62 """Test d'héritage de classe"""
64 _name = "testing.base.c"
66 _description = "ClassInheritance"
68 _inherit = "testing.base.c"
71 "name": fields.char(string="name", size=8, required=True),
72 "c1": fields.char(string="C1", size=8, required=True),
73 "c3": fields.char(string="C3", size=8, required=True),
77 class PrototypeInheritance(osv.Model):
78 """Test d'héritage de prototype"""
80 _name = "testing.inheritance.prototype"
82 _description = "PrototypeInheritance"
84 _inherit = "testing.base.d"
87 "name": fields.char(string="name", size=8, required=True),
88 "d1": fields.char(string="D1", size=8, required=True),
89 "d3": fields.char(string="D3", size=8, required=True),
93 class DelegationInheritance1(osv.Model):
94 """Test d'héritage par délégation"""
96 _name = "testing.inheritance.delegation1"
98 _description = "DelegationInheritance1"
100 _inherits = {"testing.base.a": "custom_base_a_id"}
103 "name": fields.char(string="name", size=8, required=True),
104 "a1": fields.char(string="A1", size=8, required=True),
105 "a3": fields.char(string="A3", size=8, required=True),
109 class DelegationInheritance2(osv.Model):
110 """Test d'héritage par délégation"""
112 _name = "testing.inheritance.delegation2"
114 _description = "DelegationInheritance2"
117 "testing.base.a": "custom_base_a_id",
118 "testing.base.b": "custom_base_b_id",
122 "name": fields.char(string="name", size=8, required=True),
123 "a1": fields.char(string="A1", size=8, required=True),
124 "a3": fields.char(string="A3", size=8, required=True),
125 "b1": fields.char(string="B1", size=8, required=True),
126 "b3": fields.char(string="B3", size=8, required=True),
130 class DelegationInheritance3(osv.Model):
131 """Test d'héritage par délégation"""
133 _name = "testing.inheritance.delegation3"
135 _description = "DelegationInheritance3"
137 _inherits = {"testing.base.a": "custom_base_a_id"}
140 "name": fields.char(string="name", size=8, required=True),
141 "custom_base_a_id": fields.many2one("testing.base.a", 'Base A', required=True, ondelete='CASCADE'),
142 "a1": fields.char(string="A1", size=8, required=True),
143 "a3": fields.char(string="A3", size=8, required=True),
147 class DelegationInheritance4(osv.Model):
148 """Test d'héritage par délégation"""
150 _name = "testing.inheritance.delegation4"
152 _description = "DelegationInheritance4"
155 "testing.base.a": "custom_base_a_id",
156 "testing.base.b": "custom_base_b_id",
160 "name": fields.char(string="name", size=8, required=True),
161 "custom_base_a_id": fields.many2one("testing.base.a", 'Base A', required=True, ondelete='CASCADE'),
162 "custom_base_b_id": fields.many2one("testing.base.b", 'Base B', required=True, ondelete='CASCADE'),
163 "a1": fields.char(string="A1", size=8, required=True),
164 "a3": fields.char(string="A3", size=8, required=True),
165 "b1": fields.char(string="B1", size=8, required=True),
166 "b3": fields.char(string="B3", size=8, required=True),