diff --git a/openerp/addons/base/__openerp__.py b/openerp/addons/base/__openerp__.py
index 590d3b11a87..a5265ba694c 100644
--- a/openerp/addons/base/__openerp__.py
+++ b/openerp/addons/base/__openerp__.py
@@ -98,7 +98,6 @@ The kernel of OpenERP, needed for all installation.
],
'installable': True,
'auto_install': True,
- 'certificate': '0076807797149',
'css': ['static/src/css/modules.css'],
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/openerp/addons/base/base.sql b/openerp/addons/base/base.sql
index 441fe536a0a..c490df32294 100644
--- a/openerp/addons/base/base.sql
+++ b/openerp/addons/base/base.sql
@@ -294,7 +294,6 @@ CREATE TABLE ir_module_module (
shortdesc character varying(256),
complexity character varying(32),
category_id integer REFERENCES ir_module_category ON DELETE SET NULL,
- certificate character varying(64),
description text,
application boolean default False,
demo boolean default False,
diff --git a/openerp/addons/base/currency_data.xml b/openerp/addons/base/currency_data.xml
index 11a83404b02..0009b6ae95c 100644
--- a/openerp/addons/base/currency_data.xml
+++ b/openerp/addons/base/currency_data.xml
@@ -8,6 +8,7 @@
$
0.01
4
+ before
diff --git a/openerp/addons/base/module/module.py b/openerp/addons/base/module/module.py
index 617a31dae66..7621d5907ba 100644
--- a/openerp/addons/base/module/module.py
+++ b/openerp/addons/base/module/module.py
@@ -237,7 +237,6 @@ class module(osv.osv):
'menus_by_module': fields.function(_get_views, string='Menus', type='text', multi="meta", store=True),
'reports_by_module': fields.function(_get_views, string='Reports', type='text', multi="meta", store=True),
'views_by_module': fields.function(_get_views, string='Views', type='text', multi="meta", store=True),
- 'certificate' : fields.char('Quality Certificate', size=64, readonly=True),
'application': fields.boolean('Application', readonly=True),
'icon': fields.char('Icon URL', size=128),
'icon_image': fields.function(_get_icon_image, string='Icon', type="binary"),
@@ -253,12 +252,9 @@ class module(osv.osv):
def _name_uniq_msg(self, cr, uid, ids, context=None):
return _('The name of the module must be unique !')
- def _certificate_uniq_msg(self, cr, uid, ids, context=None):
- return _('The certificate ID of the module must be unique !')
_sql_constraints = [
('name_uniq', 'UNIQUE (name)',_name_uniq_msg ),
- ('certificate_uniq', 'UNIQUE (certificate)',_certificate_uniq_msg )
]
def unlink(self, cr, uid, ids, context=None):
@@ -511,7 +507,6 @@ class module(osv.osv):
'contributors': ', '.join(terp.get('contributors', [])) or False,
'website': terp.get('website', ''),
'license': terp.get('license', 'AGPL-3'),
- 'certificate': terp.get('certificate') or False,
'sequence': terp.get('sequence', 100),
'application': terp.get('application', False),
'auto_install': terp.get('auto_install', False),
@@ -677,14 +672,6 @@ class module(osv.osv):
if not mod.description:
_logger.warning('module %s: description is empty !', mod.name)
- if not mod.certificate or not mod.certificate.isdigit():
- _logger.info('module %s: no quality certificate', mod.name)
- else:
- val = long(mod.certificate[2:]) % 97 == 29
- if not val:
- _logger.critical('module %s: invalid quality certificate: %s', mod.name, mod.certificate)
- raise osv.except_osv(_('Error'), _('Module %s: Invalid Quality Certificate') % (mod.name,))
-
class module_dependency(osv.osv):
_name = "ir.module.module.dependency"
_description = "Module dependency"
diff --git a/openerp/addons/base/module/module_data.xml b/openerp/addons/base/module/module_data.xml
index 15cbded05cd..56269fce67a 100644
--- a/openerp/addons/base/module/module_data.xml
+++ b/openerp/addons/base/module/module_data.xml
@@ -25,25 +25,25 @@
- Sales Management
+ Sales
Helps you handle your quotations, sale orders and invoicing.
2
- Project Management
+ Project
Helps you manage your projects and tasks by tracking them, generating plannings, etc...
3
- Knowledge Management
+ Knowledge
Lets you install addons geared towards sharing knowledge with and between your employees.
4
- Warehouse Management
+ Warehouse
Helps you manage your inventory and main stock operations: delivery orders, receptions, etc.
5
@@ -67,7 +67,7 @@
- Purchase Management
+ Purchases
Helps you manage your purchase-related processes such as requests for quotations, supplier invoices, etc...
9
diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py
index ba855df08a5..084d43e33df 100644
--- a/openerp/addons/base/res/res_partner.py
+++ b/openerp/addons/base/res/res_partner.py
@@ -199,7 +199,10 @@ class res_partner(osv.osv, format_address):
'bank_ids': fields.one2many('res.partner.bank', 'partner_id', 'Banks'),
'website': fields.char('Website', size=64, help="Website of Partner or Company"),
'comment': fields.text('Notes'),
- 'address': fields.one2many('res.partner.address', 'partner_id', 'Contacts'), # should be removed in version 7, but kept until then for backward compatibility
+ 'address': fields.one2many('res.partner.address', 'partner_id', 'Addresses',
+ deprecated="The address information is now directly stored on each Partner record. "\
+ "Multiple contacts with their own address can be added via the child_ids relationship. "\
+ "This field will be removed as of OpenERP 7.1."),
'category_id': fields.many2many('res.partner.category', id1='partner_id', id2='category_id', string='Tags'),
'credit_limit': fields.float(string='Credit Limit'),
'ean13': fields.char('EAN13', size=13),
@@ -218,7 +221,8 @@ class res_partner(osv.osv, format_address):
'city': fields.char('City', size=128),
'state_id': fields.many2one("res.country.state", 'State'),
'country_id': fields.many2one('res.country', 'Country'),
- 'country': fields.related('country_id', type='many2one', relation='res.country', string='Country'), # for backward compatibility
+ 'country': fields.related('country_id', type='many2one', relation='res.country', string='Country',
+ deprecated="This field will be removed as of OpenERP 7.1, use country_id instead"),
'email': fields.char('Email', size=240),
'phone': fields.char('Phone', size=64),
'fax': fields.char('Fax', size=64),
diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml
index c9e6b3cff86..f90e2971b0e 100644
--- a/openerp/addons/base/res/res_partner_view.xml
+++ b/openerp/addons/base/res/res_partner_view.xml
@@ -247,7 +247,7 @@
-
+
diff --git a/openerp/addons/base/security/base_security.xml b/openerp/addons/base/security/base_security.xml
index 8eb832ea618..3cb8f7044b2 100644
--- a/openerp/addons/base/security/base_security.xml
+++ b/openerp/addons/base/security/base_security.xml
@@ -11,7 +11,7 @@
Access Rights
- Configuration
+ Settings
diff --git a/openerp/modules/db.py b/openerp/modules/db.py
index 1bf7b5237f1..6318bd954f3 100644
--- a/openerp/modules/db.py
+++ b/openerp/modules/db.py
@@ -74,12 +74,12 @@ def initialize(cr):
cr.execute('INSERT INTO ir_module_module \
(author, website, name, shortdesc, description, \
- category_id, auto_install, state, certificate, web, license, application, icon, sequence, summary) \
- VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING id', (
+ category_id, auto_install, state, web, license, application, icon, sequence, summary) \
+ VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING id', (
info['author'],
info['website'], i, info['name'],
info['description'], category_id,
- info['auto_install'], state, info['certificate'],
+ info['auto_install'], state,
info['web'],
info['license'],
info['application'], info['icon'],
diff --git a/openerp/modules/loading.py b/openerp/modules/loading.py
index 86e69fa64ba..57fb92a6ee0 100644
--- a/openerp/modules/loading.py
+++ b/openerp/modules/loading.py
@@ -61,7 +61,7 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=
:param graph: graph of module nodes to load
:param status: status dictionary for keeping track of progress
:param perform_checks: whether module descriptors should be checked for validity (prints warnings
- for same cases, and even raise osv_except if certificate is invalid)
+ for same cases)
:param skip_modules: optional list of module names (packages) which have previously been loaded and can be skipped
:return: list of modules that were installed or updated
"""
diff --git a/openerp/modules/module.py b/openerp/modules/module.py
index 540a23c5bcd..6ec9e86340c 100644
--- a/openerp/modules/module.py
+++ b/openerp/modules/module.py
@@ -331,7 +331,6 @@ def load_information_from_description_file(module):
'author': '',
'auto_install': False,
'category': 'Uncategorized',
- 'certificate': None,
'depends': [],
'description': '',
'icon': get_module_icon(module),
diff --git a/openerp/osv/fields.py b/openerp/osv/fields.py
index 037d2a90986..82fb2e9e185 100644
--- a/openerp/osv/fields.py
+++ b/openerp/osv/fields.py
@@ -1552,24 +1552,16 @@ def field_to_dict(model, cr, user, field, context=None):
res['fnct_search'] = field._fnct_search and field._fnct_search.func_name or False
res['fnct_inv'] = field._fnct_inv and field._fnct_inv.func_name or False
res['fnct_inv_arg'] = field._fnct_inv_arg or False
- res['func_obj'] = field._obj or False
if isinstance(field, many2many):
(table, col1, col2) = field._sql_names(model)
- res['related_columns'] = [col1, col2]
- res['third_table'] = table
- for arg in ('string', 'readonly', 'states', 'size', 'required', 'group_operator',
- 'change_default', 'translate', 'help', 'select', 'selectable', 'groups'):
- if getattr(field, arg):
- res[arg] = getattr(field, arg)
- for arg in ('digits', 'invisible', 'filters'):
+ res['m2m_join_columns'] = [col1, col2]
+ res['m2m_join_table'] = table
+ for arg in ('string', 'readonly', 'states', 'size', 'group_operator', 'required',
+ 'change_default', 'translate', 'help', 'select', 'selectable', 'groups',
+ 'deprecated', 'digits', 'invisible', 'filters'):
if getattr(field, arg, None):
res[arg] = getattr(field, arg)
- if field.string:
- res['string'] = field.string
- if field.help:
- res['help'] = field.help
-
if hasattr(field, 'selection'):
if isinstance(field.selection, (tuple, list)):
res['selection'] = field.selection