[FIX] ir_fields_converter: make abstract

This is only a model in case third parties need to override stuff, it
has no field and no reason to be a "concrete" model.

Also
* remove corresponding access rule giving CRUD to every user
* remove unnecessary import
* replace set() call by set literal
* replace dict(generator_expr) by dict comprehensions
This commit is contained in:
Xavier Morel
2015-08-20 11:24:00 +02:00
parent d2e23d0bfe
commit 1464f79b90
2 changed files with 8 additions and 10 deletions
+8 -9
View File
@@ -1,5 +1,4 @@
# -*- coding: utf-8 -*-
import cStringIO
import datetime
import functools
import itertools
@@ -11,13 +10,13 @@ import pytz
from openerp import models, api, _
from openerp.tools import DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT, ustr
REFERENCING_FIELDS = set([None, 'id', '.id'])
REFERENCING_FIELDS = {None, 'id', '.id'}
def only_ref_fields(record):
return dict((k, v) for k, v in record.iteritems()
if k in REFERENCING_FIELDS)
return {k: v for k, v in record.iteritems()
if k in REFERENCING_FIELDS}
def exclude_ref_fields(record):
return dict((k, v) for k, v in record.iteritems()
if k not in REFERENCING_FIELDS)
return {k: v for k, v in record.iteritems()
if k not in REFERENCING_FIELDS}
CREATE = lambda values: (0, False, values)
UPDATE = lambda id, values: (1, id, values)
@@ -34,7 +33,7 @@ class ImportWarning(Warning):
class ConversionNotFound(ValueError): pass
class ir_fields_converter(models.Model):
class ir_fields_converter(models.AbstractModel):
_name = 'ir.fields.converter'
@api.model
@@ -45,7 +44,7 @@ class ir_fields_converter(models.Model):
if isinstance(error_params, basestring):
error_params = sanitize(error_params)
elif isinstance(error_params, dict):
error_params = dict((k, sanitize(v)) for k, v in error_params.iteritems())
error_params = {k: sanitize(v) for k, v in error_params.iteritems()}
elif isinstance(error_params, tuple):
error_params = tuple(map(sanitize, error_params))
return error_type(error_msg % error_params, error_args)
@@ -72,7 +71,7 @@ class ir_fields_converter(models.Model):
def fn(record, log):
converted = {}
for field, value in record.iteritems():
if field in (None, 'id', '.id'):
if field in REFERENCING_FIELDS:
continue
if not value:
converted[field] = False
@@ -5,7 +5,6 @@
"access_ir_cron_user","ir_cron user","model_ir_cron","group_user",1,0,0,0
"access_ir_exports_group_system","ir_exports group_system","model_ir_exports","base.group_user",1,1,1,1
"access_ir_exports_line_group_system","ir_exports_line group_system","model_ir_exports_line","base.group_user",1,1,1,1
"access_ir_fields_converter_group_system","ir_fields_converter","model_ir_fields_converter","base.group_user",1,1,1,1
"access_ir_model_group_erp_manager","ir_model group_erp_manager","model_ir_model","group_erp_manager",1,1,1,1
"access_ir_model_constraint_group_erp_manager","ir_model_constraint group_erp_manager","model_ir_model_constraint","group_erp_manager",1,1,1,1
"access_ir_model_relation_group_erp_manager","ir_model_relation group_erp_manager","model_ir_model_relation","group_erp_manager",1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
5 access_ir_cron_user ir_cron user model_ir_cron group_user 1 0 0 0
6 access_ir_exports_group_system ir_exports group_system model_ir_exports base.group_user 1 1 1 1
7 access_ir_exports_line_group_system ir_exports_line group_system model_ir_exports_line base.group_user 1 1 1 1
access_ir_fields_converter_group_system ir_fields_converter model_ir_fields_converter base.group_user 1 1 1 1
8 access_ir_model_group_erp_manager ir_model group_erp_manager model_ir_model group_erp_manager 1 1 1 1
9 access_ir_model_constraint_group_erp_manager ir_model_constraint group_erp_manager model_ir_model_constraint group_erp_manager 1 1 1 1
10 access_ir_model_relation_group_erp_manager ir_model_relation group_erp_manager model_ir_model_relation group_erp_manager 1 1 1 1