From 118316430aa03118bd9b33ec8b2b22d293014987 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" Date: Fri, 21 Dec 2012 10:58:44 +0100 Subject: [PATCH 1/4] [FIX] account_voucher; when making a payment directly from an invoice, copy the invoice description as payment reference (instead of number, which should never be filled except by the voucher validation) + open a correct view with improved usability on partner_id field bzr revid: qdp-launchpad@openerp.com-20121221095844-5029t8z6twv67dsc --- addons/account_voucher/account_voucher.py | 4 +++- addons/account_voucher/invoice.py | 7 ++++--- addons/account_voucher/voucher_payment_receipt_view.xml | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/addons/account_voucher/account_voucher.py b/addons/account_voucher/account_voucher.py index 82b18f40416..4d510853660 100644 --- a/addons/account_voucher/account_voucher.py +++ b/addons/account_voucher/account_voucher.py @@ -193,7 +193,9 @@ class account_voucher(osv.osv): if context.get('type', 'sale') in ('purchase', 'payment'): nodes = doc.xpath("//field[@name='partner_id']") for node in nodes: - node.set('domain', "[('supplier', '=', True)]") + node.set('context', "{'search_default_supplier': 1}") + if context.get('invoice_type','') in ('in_invoice', 'in_refund'): + node.set('string', _("Supplier")) res['arch'] = etree.tostring(doc) return res diff --git a/addons/account_voucher/invoice.py b/addons/account_voucher/invoice.py index 13c4b9aed9b..bd43694260b 100644 --- a/addons/account_voucher/invoice.py +++ b/addons/account_voucher/invoice.py @@ -27,12 +27,13 @@ class invoice(osv.osv): def invoice_pay_customer(self, cr, uid, ids, context=None): if not ids: return [] - mod,modid = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'account_voucher', 'view_vendor_receipt_dialog_form') + dummy, view_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'account_voucher', 'view_vendor_receipt_dialog_form') + inv = self.browse(cr, uid, ids[0], context=context) return { 'name':_("Pay Invoice"), 'view_mode': 'form', - 'view_id': modid, + 'view_id': view_id, 'view_type': 'form', 'res_model': 'account.voucher', 'type': 'ir.actions.act_window', @@ -42,7 +43,7 @@ class invoice(osv.osv): 'context': { 'default_partner_id': self._find_partner(inv).id, 'default_amount': inv.type in ('out_refund', 'in_refund') and -inv.residual or inv.residual, - 'default_number':inv.name, + 'default_reference': inv.name, 'close_after_process': True, 'invoice_type': inv.type, 'invoice_id': inv.id, diff --git a/addons/account_voucher/voucher_payment_receipt_view.xml b/addons/account_voucher/voucher_payment_receipt_view.xml index b6f367601ff..e4da7b673d3 100644 --- a/addons/account_voucher/voucher_payment_receipt_view.xml +++ b/addons/account_voucher/voucher_payment_receipt_view.xml @@ -292,7 +292,7 @@ - + Date: Fri, 21 Dec 2012 11:25:34 +0100 Subject: [PATCH 2/4] [FIX] anonymization: don't execute query on non existing tables bzr revid: olt@tinyerp.com-20121221102534-e5hc07d2qq8qqith --- addons/anonymization/anonymization.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/anonymization/anonymization.py b/addons/anonymization/anonymization.py index c7f9ab016c4..d21b57a901e 100644 --- a/addons/anonymization/anonymization.py +++ b/addons/anonymization/anonymization.py @@ -551,7 +551,7 @@ class ir_model_fields_anonymize_wizard(osv.osv_memory): if custom_updates: custom_updates.sort(itemgetter('sequence')) queries = [(record['query'], record['query_type']) for record in custom_updates if record['query_type']] - else: + elif table_name: queries = [("update %(table)s set %(field)s = %%(value)s where id = %%(id)s" % { 'table': table_name, 'field': line['field_id'], From 2839f96ffaf027b330f0c5570202d2c8fc80d81b Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Fri, 21 Dec 2012 11:28:55 +0100 Subject: [PATCH 3/4] [FIX] cli.server: cron startup was incorrectly disabled by rev 4672.3.1 Rev. 4672.3.1 = revid:vmt@openerp.com-20121211105954-lwgs5js7yw3tzghs bzr revid: odo@openerp.com-20121221102855-0ljpeoanyoxyfnjc --- openerp/cli/server.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/openerp/cli/server.py b/openerp/cli/server.py index bc83b735624..7c768206354 100644 --- a/openerp/cli/server.py +++ b/openerp/cli/server.py @@ -96,6 +96,9 @@ def preload_registry(dbname): try: update_module = True if openerp.tools.config['init'] or openerp.tools.config['update'] else False db, registry = openerp.pooler.get_db_and_pool(dbname, update_module=update_module, pooljobs=False) + + # jobs will start to be processed later, when openerp.cron.start_master_thread() is called by openerp.service.start_services() + registry.schedule_cron_jobs() except Exception: _logger.exception('Failed to initialize database `%s`.', dbname) From f349a6cbd37c2199b4fc01e932bab590f34b67aa Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Fri, 21 Dec 2012 11:29:10 +0100 Subject: [PATCH 4/4] [FIX] pooler: when reloading registry, preserve the cron-active status of the previous registry bzr revid: odo@openerp.com-20121221102910-wdrwom9k8sbhukmp --- openerp/pooler.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/openerp/pooler.py b/openerp/pooler.py index 88b60864b90..d5588acf6ff 100644 --- a/openerp/pooler.py +++ b/openerp/pooler.py @@ -36,7 +36,11 @@ def get_db_and_pool(db_name, force_demo=False, status=None, update_module=False, def restart_pool(db_name, force_demo=False, status=None, update_module=False): """Delete an existing registry and return a database connection and a newly initialized registry.""" - registry = RegistryManager.new(db_name, force_demo, status, update_module, True) + # preserve previous `cron-active` status of registry if it existed already + previous_registry = RegistryManager.registries.get(db_name) + cron_active = previous_registry and previous_registry.cron or False + + registry = RegistryManager.new(db_name, force_demo, status, update_module, pooljobs=cron_active) return registry.db, registry