From 4c046a759c9013645a522daeaab3b075de331032 Mon Sep 17 00:00:00 2001 From: qsm-odoo Date: Wed, 27 Sep 2017 13:02:03 +0200 Subject: [PATCH 1/2] [FIX] web: fix translate icon position on chrome On chrome only, the translate icon was over the element but below the text... this commit fixes this by forcing relative positioning on the icon so that it is always rendered after the (which seems to solve the chrome bug). --- addons/web/static/src/css/base.css | 1 + addons/web/static/src/css/base.sass | 1 + 2 files changed, 2 insertions(+) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index a72cf529106..19de0b2229f 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -1975,6 +1975,7 @@ border: 1px solid #D00 !important; } .openerp .oe_form .oe_input_icon { + position: relative; cursor: pointer; margin: 3px 0 0 -21px; vertical-align: top; diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass index 0391b597f27..80108c36792 100644 --- a/addons/web/static/src/css/base.sass +++ b/addons/web/static/src/css/base.sass @@ -1644,6 +1644,7 @@ $sheet-padding: 16px background-color: #F66 !important border: 1px solid #D00 !important .oe_input_icon + position: relative cursor: pointer margin: 3px 0 0 -21px vertical-align: top From cf8577b9d0bbe6f02ed4e88e47ab3097683d519d Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Wed, 27 Sep 2017 15:53:30 +0200 Subject: [PATCH 2/2] [FIX] crm_partner_assign: safer geolocalization test Backport & adapt commits afd4b68acc1c60152776e0fffd99c4e567c6058f & 27787265ddcbc3383652129a69de362884a94ea6 As google starts to refuse to answer to our geocode requests, we need to mock results in tests. --- addons/crm_partner_assign/__init__.py | 1 + addons/crm_partner_assign/__openerp__.py | 1 - .../test/partner_assign.yml | 37 ------------ addons/crm_partner_assign/tests/__init__.py | 4 ++ .../tests/test_partner_assign.py | 56 +++++++++++++++++++ 5 files changed, 61 insertions(+), 38 deletions(-) delete mode 100644 addons/crm_partner_assign/test/partner_assign.yml create mode 100644 addons/crm_partner_assign/tests/__init__.py create mode 100644 addons/crm_partner_assign/tests/test_partner_assign.py diff --git a/addons/crm_partner_assign/__init__.py b/addons/crm_partner_assign/__init__.py index 6b1315cef07..398de4fdf97 100644 --- a/addons/crm_partner_assign/__init__.py +++ b/addons/crm_partner_assign/__init__.py @@ -23,5 +23,6 @@ import crm_partner_assign import crm_lead import wizard import report +from . import tests # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/crm_partner_assign/__openerp__.py b/addons/crm_partner_assign/__openerp__.py index a4f12c958fb..4c379d84a9f 100644 --- a/addons/crm_partner_assign/__openerp__.py +++ b/addons/crm_partner_assign/__openerp__.py @@ -51,7 +51,6 @@ to an appropriate local partner, based on the distance and the weight that was a 'res_partner_demo.xml', 'crm_lead_demo.xml' ], - 'test': ['test/partner_assign.yml'], 'installable': True, 'auto_install': False, } diff --git a/addons/crm_partner_assign/test/partner_assign.yml b/addons/crm_partner_assign/test/partner_assign.yml deleted file mode 100644 index 177c8b11a20..00000000000 --- a/addons/crm_partner_assign/test/partner_assign.yml +++ /dev/null @@ -1,37 +0,0 @@ -- - In order to test find nearest Partner functionality and assign to opportunity , -- - I Set Geo Lattitude and Longitude according to partner address. -- - !python {model: res.partner}: | - self.geo_localize(cr, uid, [ref('base.res_partner_2')], context) -- - I check Geo Latitude and Longitude of partner after set -- - !python {model: res.partner}: | - partner = self.browse(cr, uid, ref('base.res_partner_2')) - assert 50 < partner.partner_latitude < 51, "Latitude is wrong: 50 < %s < 51" % partner.partner_latitude - assert 3 < partner.partner_longitude < 5, "Longitude is wrong: 3 < %s < 5" % partner.partner_longitude -- - I assign nearest partner to opportunity. -- - !python {model: crm.lead}: | - self.assign_partner(cr, uid, [ref('crm.crm_case_19')], context=context) -- - I check assigned partner of opportunity who is nearest Geo Latitude and Longitude of opportunity. -- - !python {model: crm.lead}: | - lead = self.browse(cr, uid, ref('crm.crm_case_19')) - assert lead.partner_assigned_id.id == ref('base.res_partner_15') , "Opportuniy is not assigned nearest partner" - assert 50 < lead.partner_latitude < 55, "Latitude is wrong: 50 < %s < 55" % lead.partner_latitude - assert -4 < lead.partner_longitude < -1, "Longitude is wrong: -4 < %s < -1" % lead.partner_longitude -- - I forward this opportunity to its nearest partner. -- - !python {model: crm.lead.forward.to.partner}: | - context.update({'default_model': 'crm.lead', 'default_res_id': ref('crm.crm_case_19'), 'active_ids': [ref('crm.crm_case_19')]}) - forward_id = self.create(cr, uid, {}, context=context) - try: - self.action_forward(cr, uid, [forward_id], context=context) - except: - pass diff --git a/addons/crm_partner_assign/tests/__init__.py b/addons/crm_partner_assign/tests/__init__.py new file mode 100644 index 00000000000..c82b75c4994 --- /dev/null +++ b/addons/crm_partner_assign/tests/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import test_partner_assign diff --git a/addons/crm_partner_assign/tests/test_partner_assign.py b/addons/crm_partner_assign/tests/test_partner_assign.py new file mode 100644 index 00000000000..04a2b9082af --- /dev/null +++ b/addons/crm_partner_assign/tests/test_partner_assign.py @@ -0,0 +1,56 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from mock import patch + +from openerp.tests.common import TransactionCase + + +class TestPartnerAssign(TransactionCase): + + def setUp(self): + super(TestPartnerAssign, self).setUp() + + def geo_find(addr): + return { + u'69 rue de Namur, 1300 Wavre, Belgium': (50.7158956, 4.6128075), + u'L25 4RL Liverpool, United Kingdom': (53.3816319, -2.8737347), + }.get(addr) + + patcher = patch('openerp.addons.base_geolocalize.models.res_partner.geo_find', wraps=geo_find) + patcher.start() + self.addCleanup(patcher.stop) + + patcher = patch('openerp.addons.crm_partner_assign.crm_partner_assign.geo_find', + wraps=geo_find) + patcher.start() + self.addCleanup(patcher.stop) + + def test_00_partner_assign(self): + partner2 = self.env.ref('base.res_partner_2') + lead = self.env.ref('crm.crm_case_19') + ''' + In order to test find nearest Partner functionality and assign to opportunity, + I Set Geo Lattitude and Longitude according to partner address. + ''' + partner2.geo_localize() + + # I check Geo Latitude and Longitude of partner after set + self.assertTrue(50 < partner2.partner_latitude < 51, "Latitude is wrong: 50 < %s < 51" % partner2.partner_latitude) + self.assertTrue(3 < partner2.partner_longitude < 5, "Longitude is wrong: 3 < %s < 5" % partner2.partner_longitude) + + # I assign nearest partner to opportunity. + lead.assign_partner() + + # I check assigned partner of opportunity who is nearest Geo Latitude and Longitude of opportunity. + self.assertEqual(lead.partner_assigned_id, self.env.ref('base.res_partner_15'), "Opportuniy is not assigned nearest partner") + self.assertTrue(50 < lead.partner_latitude < 55, "Latitude is wrong: 50 < %s < 55" % lead.partner_latitude) + self.assertTrue(-4 < lead.partner_longitude < -1, "Longitude is wrong: -4 < %s < -1" % lead.partner_longitude) + + # I forward this opportunity to its nearest partner. + context = dict(self.env.context, default_model='crm.lead', default_res_id=lead.id, active_ids=lead.ids) + lead_forwarded = self.env['crm.lead.forward.to.partner'].with_context(context).create({}) + try: + lead_forwarded.action_forward() + except Exception: + pass