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