From de835f766da81b7d5c3d576b548d31cb15f3524f Mon Sep 17 00:00:00 2001 From: "Ujjvala Collins (OpenERP)" Date: Wed, 7 Mar 2012 11:14:40 +0530 Subject: [PATCH] [IMP]: Improved all modules to change according to new changes on server. Added res.config.settings object for all configurations. bzr revid: uco@tinyerp.com-20120307054440-uu1nrjhqbanj0sjb --- addons/account/__init__.py | 1 - addons/account/res_config.py | 113 --------------- .../account_analytic_analysis_view.xml | 2 +- addons/crm/res_config.py | 31 +++-- addons/crm/res_config_view.xml | 20 ++- addons/mrp/test/order_demo.yml | 2 +- addons/mrp/test/order_process.yml | 4 +- addons/plugin_outlook/plugin_outlook.xml | 2 +- .../plugin_thunderbird/plugin_thunderbird.xml | 2 +- addons/product/res_config.py | 2 + addons/product/test/product_pricelist.yml | 4 +- .../test/process/edi_purchase_order.yml | 8 +- addons/sale/__openerp__.py | 2 +- addons/sale/res_config.py | 129 +++++++++++++----- addons/sale/res_config_view.xml | 7 +- addons/sale/test/manual_order_policy.yml | 2 +- 16 files changed, 145 insertions(+), 186 deletions(-) delete mode 100644 addons/account/res_config.py diff --git a/addons/account/__init__.py b/addons/account/__init__.py index 726eab3680c..98f7a7d5134 100644 --- a/addons/account/__init__.py +++ b/addons/account/__init__.py @@ -37,5 +37,4 @@ import ir_sequence import company import res_currency import edi -import res_config # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account/res_config.py b/addons/account/res_config.py deleted file mode 100644 index 9c0ac9af167..00000000000 --- a/addons/account/res_config.py +++ /dev/null @@ -1,113 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-2010 Tiny SPRL (). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## - -from osv import fields, osv -from tools.translate import _ - -class account_configuration(osv.osv_memory): - _inherit = 'res.config.settings' - - _columns = { - 'tax_policy': fields.selection([ - ('no_tax', 'No Tax'), - ('global_on_order', 'Global On Order'), - ('on_order_line', 'On Order Lines'), - ], 'Taxes', required=True, - help=""" - If you want to apply global tax on sale order then select 'Global On Order' it will add 'Global On Order' group to employees. - If you want to apply different taxes for sale order lines then select 'On Order Lines' it will add 'On Order Lines' group to employees. - """), - 'tax_value': fields.float('Value'), - } - - _defaults = { - 'tax_policy': 'global_on_order', - } - - def get_default_tax_policy(self, cr, uid, ids, context=None): - applied_groups = self.get_default_applied_groups(cr, uid, ids, context=context) - if applied_groups.get('group_sale_taxes_global_on_order'): - applied_groups.update({'tax_policy': 'global_on_order'}) - elif applied_groups.get('group_sale_taxes_on_order_line'): - applied_groups.update({'tax_policy': 'on_order_line'}) - else: - applied_groups.update({'tax_policy': 'no_tax'}) - return applied_groups - - def _check_default_tax(self, cr, uid, context=None): - ir_values_obj = self.pool.get('ir.values') - for tax in ir_values_obj.get(cr, uid, 'default', False, ['product.product']): - if tax[1] == 'taxes_id': - return tax[2] - return False - - def default_get(self, cr, uid, fields_list, context=None): - ir_values_obj = self.pool.get('ir.values') - res = super(account_configuration, self).default_get(cr, uid, fields_list, context=context) - res.update({'tax_value': 15.0}) - tax_id = self._check_default_tax(cr, uid, context) - if tax_id: - res.update({'tax_value': tax_id and tax_id[0]}) - return res - - def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False): - ir_values_obj = self.pool.get('ir.values') - res = super(account_configuration, self).fields_view_get(cr, uid, view_id, view_type, context, toolbar, submenu) - if self._check_default_tax(cr, uid, context) and res['fields'].get('tax_value'): - res['fields']['tax_value'] = {'domain': [], 'views': {}, 'context': {}, 'selectable': True, 'type': 'many2one', 'relation': 'account.tax', 'string': 'Value'} - return res - - def set_tax_policy(self, cr, uid, ids, vals, context=None): - data_obj = self.pool.get('ir.model.data') - users_obj = self.pool.get('res.users') - groups_obj = self.pool.get('res.groups') - ir_values_obj = self.pool.get('ir.values') - dummy,user_group_id = data_obj.get_object_reference(cr, uid, 'base', 'group_user') - tax_policy = vals.get('tax_policy') - order_group_id = data_obj.get_object(cr, uid, 'base', 'group_sale_taxes_global_on_order').id - order_line_group_id = data_obj.get_object(cr, uid, 'base', 'group_sale_taxes_on_order_line').id - group_id = False - remove_group_id = False - - if tax_policy == 'global_on_order': - group_id = order_group_id - remove_group_id = order_line_group_id - elif tax_policy == 'on_order_line': - group_id = order_line_group_id - remove_group_id = order_group_id - - if group_id: - groups_obj.write(cr, uid, [user_group_id], {'implied_ids': [(4,group_id)]}) - users_obj.write(cr, uid, [uid], {'groups_id': [(4,group_id)]}) - ir_values_obj.set(cr, uid, 'default', False, 'groups_id', ['res.users'], [(4,group_id)]) - groups_obj.write(cr, uid, [user_group_id], {'implied_ids': [(3,remove_group_id)]}) - users_obj.write(cr, uid, [uid], {'groups_id': [(3,remove_group_id)]}) - ir_values_obj.set(cr, uid, 'default', False, 'groups_id', ['res.users'], [(3,remove_group_id)]) - else: - groups = [order_group_id, order_line_group_id] - for group_id in groups: - groups_obj.write(cr, uid, [user_group_id], {'implied_ids': [(3,group_id)]}) - users_obj.write(cr, uid, [uid], {'groups_id': [(3,group_id)]}) - ir_values_obj.set(cr, uid, 'default', False, 'groups_id', ['res.users'], [(3,group_id)]) - -account_configuration() - -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file diff --git a/addons/account_analytic_analysis/account_analytic_analysis_view.xml b/addons/account_analytic_analysis/account_analytic_analysis_view.xml index 3a4a58285d0..332d7b8ee00 100644 --- a/addons/account_analytic_analysis/account_analytic_analysis_view.xml +++ b/addons/account_analytic_analysis/account_analytic_analysis_view.xml @@ -113,7 +113,7 @@ Sales Application - res.config.settings + sale.config.settings form diff --git a/addons/crm/res_config.py b/addons/crm/res_config.py index aaaa96a4bb1..4422ef770be 100644 --- a/addons/crm/res_config.py +++ b/addons/crm/res_config.py @@ -29,16 +29,16 @@ class crm_configuration(osv.osv_memory): help="""Allows Caldav features in Meeting, Share meeting with other calendar clients like sunbird. It installs crm_caldav module."""), 'fetchmail_crm': fields.boolean("Lead/Opportunity mail gateway", help="Allows you to configure your incoming mail server. And creates leads for your mails."), - 'server' : fields.char('Server Name', size=256), - 'port' : fields.integer('Port'), - 'type': fields.selection([ + 'default_server' : fields.char('Server Name', size=256), + 'default_port' : fields.integer('Port'), + 'default_type': fields.selection([ ('pop', 'POP Server'), ('imap', 'IMAP Server'), ('local', 'Local Server'), ], 'Server Type'), - 'is_ssl': fields.boolean('SSL/TLS', help="Connections are encrypted with SSL/TLS through a dedicated port (default: IMAPS=993, POP=995)"), - 'user' : fields.char('Username', size=256), - 'password' : fields.char('Password', size=1024), + 'default_is_ssl': fields.boolean('SSL/TLS', help="Connections are encrypted with SSL/TLS through a dedicated port (default: IMAPS=993, POP=995)"), + 'default_user' : fields.char('Username', size=256), + 'default_password' : fields.char('Password', size=1024), 'module_import_sugarcrm' : fields.boolean("SugarCRM Import", help="""Import SugarCRM Leads, Opportunities, Users, Accounts, Contacts, Employees, Meetings, Phonecalls, Emails, and Project, Project Tasks Data. It installs import_sugarcrm module. @@ -69,7 +69,7 @@ class crm_configuration(osv.osv_memory): } _defaults = { - 'type': 'pop', + 'default_type': 'pop', } def get_default_email_configurations(self, cr, uid, ids, context=None): @@ -80,7 +80,7 @@ class crm_configuration(osv.osv_memory): if server_ids: result.update({'fetchmail_crm': True}) for val in ir_values_obj.get(cr, uid, 'default', False, ['fetchmail.server']): - result.update({val[1]: val[2]}) + result.update({'default_'+val[1]: val[2]}) return result def onchange_server_type(self, cr, uid, ids, server_type=False, ssl=False): @@ -95,21 +95,22 @@ class crm_configuration(osv.osv_memory): values['port'] = port return {'value': values} - def set_email_configurations(self, cr, uid, ids, vals, context=None): + def set_email_configurations(self, cr, uid, ids, context=None): model_obj = self.pool.get('ir.model') fetchmail_obj = self.pool.get('fetchmail.server') ir_values_obj = self.pool.get('ir.values') object_id = model_obj.search(cr, uid, [('model','=','crm.lead')]) + vals = self.read(cr, uid, ids[0], [], context=context) if vals.get('fetchmail_crm') and object_id: fetchmail_vals = { 'name': 'Incoming Leads', 'object_id': object_id[0], - 'server': vals.get('server'), - 'port': vals.get('port'), - 'is_ssl': vals.get('is_ssl'), - 'type': vals.get('type'), - 'user': vals.get('user'), - 'password': vals.get('password') + 'server': vals.get('default_server'), + 'port': vals.get('default_port'), + 'is_ssl': vals.get('default_is_ssl'), + 'type': vals.get('default_type'), + 'user': vals.get('default_user'), + 'password': vals.get('default_password') } server_ids = fetchmail_obj.search(cr, uid, [('name','=','Incoming Leads'),('state','!=','done')]) if not server_ids: diff --git a/addons/crm/res_config_view.xml b/addons/crm/res_config_view.xml index b5231b9cbcc..e39c1b4ea49 100644 --- a/addons/crm/res_config_view.xml +++ b/addons/crm/res_config_view.xml @@ -1,3 +1,4 @@ + @@ -8,18 +9,25 @@ + + + + + + + - - - - + + + + - - + + diff --git a/addons/mrp/test/order_demo.yml b/addons/mrp/test/order_demo.yml index 9c7b8720904..72a18572a73 100644 --- a/addons/mrp/test/order_demo.yml +++ b/addons/mrp/test/order_demo.yml @@ -10,7 +10,7 @@ !record {model: mrp.bom, id: mrp_bom_rearpanelarm1}: routing_id: mrp.mrp_routing_0 - - I create Production Order of Shelf 100cm to produce 5.0 Dozen PCE. + I create Production Order of Shelf 100cm to produce 5.0 Dozen Unit. - !record {model: mrp.production, id: mrp_production_shelf100cm}: location_src_id: stock.stock_location_stock diff --git a/addons/mrp/test/order_process.yml b/addons/mrp/test/order_process.yml index 539b9fe2ca6..496e039d0d4 100644 --- a/addons/mrp/test/order_process.yml +++ b/addons/mrp/test/order_process.yml @@ -17,7 +17,7 @@ woodmm10 = False metalcleats = False for line in order.product_lines: - if line.product_id.id == ref('product.product_product_sidepanel0'): #SIDEPAN 2 PCE + if line.product_id.id == ref('product.product_product_sidepanel0'): #SIDEPAN 2 Unit assert not sidepanel, "Production line is already generated for SIDEPAN." assert line.product_qty == (2.0*factor), "Qty is not correspond." assert line.product_uom.id == ref('product.product_uom_unit'), "UOM is not correspond" @@ -32,7 +32,7 @@ assert line.product_qty == (0.25*factor), "Qty is not correspond." assert line.product_uom.id == ref('product.product_uom_meter'), "UOM is not correspond" woodmm0 = True - elif line.product_id.id == ref('product.product_product_metalcleats0'): #METC000 4*3 PCE + elif line.product_id.id == ref('product.product_product_metalcleats0'): #METC000 4*3 Unit assert not metalcleats, "Production line is already generated for METC000." assert line.product_qty == (4*3*factor), "Qty is not correspond." assert line.product_uom.id == ref('product.product_uom_unit'), "UOM is not correspond" diff --git a/addons/plugin_outlook/plugin_outlook.xml b/addons/plugin_outlook/plugin_outlook.xml index 5effe8324ac..efdbea7b412 100644 --- a/addons/plugin_outlook/plugin_outlook.xml +++ b/addons/plugin_outlook/plugin_outlook.xml @@ -53,7 +53,7 @@ Sales Application res.config.settings form - +