diff --git a/trytond/init.sql b/trytond/init.sql index d4ec9612e2..32620b3d7c 100644 --- a/trytond/init.sql +++ b/trytond/init.sql @@ -21,10 +21,9 @@ CREATE TABLE ir_model ( primary key(id) ); -CREATE TABLE ir_model_fields ( +CREATE TABLE ir_model_field ( id serial, - model varchar(64) DEFAULT ''::varchar NOT NULL, - model_id int references ir_model on delete cascade, + model int references ir_model on delete cascade, name varchar(64) DEFAULT ''::varchar NOT NULL, relation varchar(64), field_description varchar(256), diff --git a/trytond/ir/default.py b/trytond/ir/default.py index 832d65cc43..0d93a14824 100644 --- a/trytond/ir/default.py +++ b/trytond/ir/default.py @@ -10,7 +10,7 @@ class Default(OSV): _columns = { 'model': fields.Many2One('ir.model', 'Model', required=True, ondelete='cascade'), - 'field': fields.Many2One('ir.model.fields', 'Field', required=True, + 'field': fields.Many2One('ir.model.field', 'Field', required=True, ondelete='cascade'), 'value': fields.Text('Value'), 'clause': fields.Text('Clause'), @@ -43,7 +43,7 @@ class Default(OSV): def set_default(self, cursor, user, model, field, clause, value, user_default, context=None): model_obj = self.pool.get('ir.model') - field_obj = self.pool.get('ir.model.fields') + field_obj = self.pool.get('ir.model.field') model_id = model_obj.search(cursor, user, [ ('model', '=', model), ], context=context)[0] diff --git a/trytond/ir/fr_FR.csv b/trytond/ir/fr_FR.csv index 5dba00e62a..a2297183e8 100644 --- a/trytond/ir/fr_FR.csv +++ b/trytond/ir/fr_FR.csv @@ -79,18 +79,18 @@ field,"ir.model.data,fs_id",0,Identifier on File System,Identifiant sur le syst field,"ir.model.data,model",0,Model,Modèle,0 field,"ir.model.data,module",0,Module,Module,0 field,"ir.model.data,values",0,Values,Valeurs,0 -field,"ir.model,fields",0,Fields,Champs,0 -field,"ir.model.fields,field_description",0,Field Description,Champ de description,0 -field,"ir.model.fields,group_name",0,Group Name,Nom du groupe,0 -field,"ir.model.fields,groups",0,Groups,Groupes,0 -field,"ir.model.fields,help",0,Help,Aide,0 -field,"ir.model.fields,model",0,Model Name,Nom du modèle,0 -field,"ir.model.fields,model_id",0,Model id,Id de modèle,0 -field,"ir.model.fields,name",0,Name,Nom,0 -field,"ir.model.fields,relate",0,Click and Relate,Clicker et relier,0 -field,"ir.model.fields,relation",0,Model Relation,Relation du modèle,0 -field,"ir.model.fields,ttype",0,Field Type,Champ du type,0 -field,"ir.model.fields,view_load",0,View Auto-Load,Vue auto-chargée,0 +field,"ir.model,field",0,Fields,Champs,0 +field,"ir.model.field,field_description",0,Field Description,Champ de description,0 +field,"ir.model.field,group_name",0,Group Name,Nom du groupe,0 +field,"ir.model.field,groups",0,Groups,Groupes,0 +field,"ir.model.field,help",0,Help,Aide,0 +field,"ir.model.field,model",0,Model Name,Nom du modèle,0 +field,"ir.model.field,model_id",0,Model id,Id de modèle,0 +field,"ir.model.field,name",0,Name,Nom,0 +field,"ir.model.field,relate",0,Click and Relate,Clicker et relier,0 +field,"ir.model.field,relation",0,Model Relation,Relation du modèle,0 +field,"ir.model.field,ttype",0,Field Type,Champ du type,0 +field,"ir.model.field,view_load",0,View Auto-Load,Vue auto-chargée,0 field,"ir.model,info",0,Information,Information,0 field,"ir.model,model",0,Object name,Nom de l'objet,0 field,"ir.model,name",0,Model name,Nom du modèle,0 @@ -410,7 +410,7 @@ view,ir.lang,0,Languages,Langues,0 view,ir.model,0,Fields Description,Champs de description,0 view,ir.model,0,Model Description,Description du modèle,0 view,ir.model.access,0,Access controls,Contrôles d'accès,0 -view,ir.model.fields,0,Fields,Champs,0 +view,ir.model.field,0,Fields,Champs,0 view,ir.module.category,0,Module Categories,Catégories de module,0 view,ir.module.category,0,Module Category,Catégorie de module,0 view,ir.module.module,0,Cancel Install,Annuler l'installation,0 diff --git a/trytond/ir/model.py b/trytond/ir/model.py index c7fcd6d82f..17954c93cd 100644 --- a/trytond/ir/model.py +++ b/trytond/ir/model.py @@ -24,7 +24,7 @@ class Model(OSV): 'name': fields.Char('Model name', size=64, translate=True), 'model': fields.Char('Object name', size=64, required=True), 'info': fields.Text('Information'), - 'fields': fields.One2Many('ir.model.fields', 'model_id', 'Fields', + 'fields': fields.One2Many('ir.model.field', 'model', 'Fields', required=True), } _defaults = { @@ -33,25 +33,24 @@ class Model(OSV): Model() -class ModelFields(OSV): - "Model fields" - _name = 'ir.model.fields' +class ModelField(OSV): + "Model field" + _name = 'ir.model.field' _description = __doc__ _columns = { - 'name': fields.char('Name', size=64), - 'model': fields.char('Model Name', size=64, required=True), - 'relation': fields.char('Model Relation', size=64), - 'model_id': fields.many2one('ir.model', 'Model id', required=True, + 'name': fields.Char('Name', size=64), + 'relation': fields.Char('Model Relation', size=64), + 'model': fields.Many2One('ir.model', 'Model id', required=True, select=True, ondelete='cascade'), - 'field_description': fields.char('Field Description', size=256, + 'field_description': fields.Char('Field Description', size=256, translate=True), - 'ttype': fields.char('Field Type', size=64), - 'relate': fields.boolean('Click and Relate'), + 'ttype': fields.Char('Field Type', size=64), + 'relate': fields.Boolean('Click and Relate'), - 'groups': fields.many2many('res.group', 'ir_model_fields_group_rel', + 'groups': fields.Many2Many('res.group', 'ir_model_field_group_rel', 'field_id', 'group_id', 'Groups'), - 'group_name': fields.char('Group Name', size=128), - 'view_load': fields.boolean('View Auto-Load'), + 'group_name': fields.Char('Group Name', size=128), + 'view_load': fields.Boolean('View Auto-Load'), 'help': fields.Text('Help', translate=True), } _defaults = { @@ -62,7 +61,7 @@ class ModelFields(OSV): } _order = "id" -ModelFields() +ModelField() class ModelAccess(OSV): diff --git a/trytond/ir/model.xml b/trytond/ir/model.xml index 009f8165e8..2dd55b01cf 100644 --- a/trytond/ir/model.xml +++ b/trytond/ir/model.xml @@ -65,7 +65,7 @@ - ir.model.fields + ir.model.field form - ir.model.fields + ir.model.field tree Fields - ir.model.fields + ir.model.field form