diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py
index ed8fb8185e7..d5c453ee9c7 100644
--- a/addons/account/account_move_line.py
+++ b/addons/account/account_move_line.py
@@ -26,7 +26,7 @@ from operator import itemgetter
from lxml import etree
-from openerp import netsvc
+from openerp import workflow
from openerp.osv import fields, osv, orm
from openerp.tools.translate import _
import openerp.addons.decimal_precision as dp
@@ -932,11 +932,10 @@ class account_move_line(osv.osv):
'line_id': map(lambda x: (4, x, False), ids),
'line_partial_ids': map(lambda x: (3, x, False), ids)
})
- wf_service = netsvc.LocalService("workflow")
# the id of the move.reconcile is written in the move.line (self) by the create method above
# because of the way the line_id are defined: (4, x, False)
for id in ids:
- wf_service.trg_trigger(uid, 'account.move.line', id, cr)
+ workflow.trg_trigger(uid, 'account.move.line', id, cr)
if lines and lines[0]:
partner_id = lines[0].partner_id and lines[0].partner_id.id or False
diff --git a/addons/account_payment/wizard/account_payment_order.py b/addons/account_payment/wizard/account_payment_order.py
index de9c47ec005..8d5df048fe0 100644
--- a/addons/account_payment/wizard/account_payment_order.py
+++ b/addons/account_payment/wizard/account_payment_order.py
@@ -104,7 +104,7 @@ class payment_order_create(osv.osv_memory):
# payment = self.pool.get('payment.order').browse(cr, uid, context['active_id'], context=context)
# Search for move line to pay:
- domain = [('reconcile_id', '=', False), ('account_id.type', '=', 'payable'), ('amount_residual', '>', 0)]
+ domain = [('reconcile_id', '=', False), ('account_id.type', '=', 'payable'), ('credit', '>', 0), ('account_id.reconcile', '=', True)]
domain = domain + ['|', ('date_maturity', '<=', search_due_date), ('date_maturity', '=', False)]
line_ids = line_obj.search(cr, uid, domain, context=context)
context.update({'line_ids': line_ids})
diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml
index f3e424e3e37..36a7e91c3b9 100644
--- a/addons/crm/crm_lead_view.xml
+++ b/addons/crm/crm_lead_view.xml
@@ -621,7 +621,6 @@
if context.get('active_model') == 'crm.lead' and context.get('active_ids'):
self.case_mark_lost(cr, uid, context['active_ids'], context=context)
-
diff --git a/addons/crm/security/ir.model.access.csv b/addons/crm/security/ir.model.access.csv
index cadb8c24550..f3c6bdf5c1f 100644
--- a/addons/crm/security/ir.model.access.csv
+++ b/addons/crm/security/ir.model.access.csv
@@ -35,5 +35,3 @@ access_crm_lead_partner_manager,crm.lead.partner.manager,model_crm_lead,base.gro
access_crm_phonecall_partner_manager,crm.phonecall.partner.manager,model_crm_phonecall,base.group_partner_manager,1,1,1,1
access_crm_payment_mode_user,crm.payment.mode,model_crm_payment_mode,base.group_sale_salesman,1,0,0,0
access_crm_payment_mode,crm.payment.mode,model_crm_payment_mode,base.group_sale_manager,1,1,1,1
-access_base_partner_merge_line_manager,base_partner_merge_line.manager,model_base_partner_merge_line,base.group_system,1,1,1,1
-access_base_partner_merge_manager,base_partner_merge.manager,model_base_partner_merge_automatic_wizard,base.group_system,1,1,1,1
diff --git a/addons/crm_partner_assign/crm_lead_view.xml b/addons/crm_partner_assign/crm_lead_view.xml
index 80d82c6c2bf..aa9638fd579 100644
--- a/addons/crm_partner_assign/crm_lead_view.xml
+++ b/addons/crm_partner_assign/crm_lead_view.xml
@@ -157,7 +157,6 @@
if ids:
self.assign_salesman_of_assigned_partner(cr, uid, ids, context=context)
-
diff --git a/addons/fleet/__openerp__.py b/addons/fleet/__openerp__.py
index fc7649de20e..29c0e9d3ceb 100644
--- a/addons/fleet/__openerp__.py
+++ b/addons/fleet/__openerp__.py
@@ -49,13 +49,14 @@ Main Features
'board'
],
'data' : [
+ 'security/fleet_security.xml',
+ 'security/ir.model.access.csv',
'fleet_view.xml',
'fleet_cars.xml',
'fleet_data.xml',
'fleet_board_view.xml',
],
'images': ['images/costs_analysis.jpeg','images/indicative_costs_analysis.jpeg','images/vehicles.jpeg','images/vehicles_contracts.jpeg','images/vehicles_fuel.jpeg','images/vehicles_odometer.jpeg','images/vehicles_services.jpeg'],
- 'update_xml' : ['security/fleet_security.xml','security/ir.model.access.csv'],
'demo': ['fleet_demo.xml'],
diff --git a/addons/fleet/fleet.py b/addons/fleet/fleet.py
index 483f989fcde..4f14814b356 100644
--- a/addons/fleet/fleet.py
+++ b/addons/fleet/fleet.py
@@ -559,7 +559,7 @@ class fleet_vehicle_log_fuel(osv.Model):
'inv_ref': fields.char('Invoice Reference', size=64),
'vendor_id': fields.many2one('res.partner', 'Supplier', domain="[('supplier','=',True)]"),
'notes': fields.text('Notes'),
- 'cost_id': fields.many2one('fleet.vehicle.cost', 'Cost'),
+ 'cost_id': fields.many2one('fleet.vehicle.cost', 'Cost', required=True, ondelete='cascade'),
'cost_amount': fields.related('cost_id', 'amount', string='Amount', type='float', store=True), #we need to keep this field as a related with store=True because the graph view doesn't support (1) to address fields from inherited table and (2) fields that aren't stored in database
}
_defaults = {
@@ -600,7 +600,7 @@ class fleet_vehicle_log_services(osv.Model):
'vendor_id': fields.many2one('res.partner', 'Supplier', domain="[('supplier','=',True)]"),
'cost_amount': fields.related('cost_id', 'amount', string='Amount', type='float', store=True), #we need to keep this field as a related with store=True because the graph view doesn't support (1) to address fields from inherited table and (2) fields that aren't stored in database
'notes': fields.text('Notes'),
- 'cost_id': fields.many2one('fleet.vehicle.cost', 'Cost'),
+ 'cost_id': fields.many2one('fleet.vehicle.cost', 'Cost', required=True, ondelete='cascade'),
}
_defaults = {
'date': fields.date.context_today,
@@ -799,7 +799,7 @@ class fleet_vehicle_log_contract(osv.Model):
'cost_frequency': fields.selection([('no','No'), ('daily', 'Daily'), ('weekly','Weekly'), ('monthly','Monthly'), ('yearly','Yearly')], 'Recurring Cost Frequency', help='Frequency of the recuring cost', required=True),
'generated_cost_ids': fields.one2many('fleet.vehicle.cost', 'contract_id', 'Generated Costs', ondelete='cascade'),
'sum_cost': fields.function(_get_sum_cost, type='float', string='Indicative Costs Total'),
- 'cost_id': fields.many2one('fleet.vehicle.cost', 'Cost'),
+ 'cost_id': fields.many2one('fleet.vehicle.cost', 'Cost', required=True, ondelete='cascade'),
'cost_amount': fields.related('cost_id', 'amount', string='Amount', type='float', store=True), #we need to keep this field as a related with store=True because the graph view doesn't support (1) to address fields from inherited table and (2) fields that aren't stored in database
}
_defaults = {
diff --git a/addons/hr_recruitment/hr_recruitment_demo.xml b/addons/hr_recruitment/hr_recruitment_demo.xml
index c15e0deb188..8e1435691c8 100644
--- a/addons/hr_recruitment/hr_recruitment_demo.xml
+++ b/addons/hr_recruitment/hr_recruitment_demo.xml
@@ -6,7 +6,6 @@
-
2
Enrique Jones
9963214587
@@ -19,7 +18,6 @@
-
3
Marie Justine
@@ -34,7 +32,6 @@
-
1
Jose
@@ -48,7 +45,6 @@
-
John Bruno
@@ -60,7 +56,6 @@
-
Sandra Elvis
@@ -72,7 +67,6 @@
-
4
David Armstrong
@@ -86,7 +80,6 @@
-
Tina Augustie
9898745745
@@ -99,7 +92,6 @@
-
Shane Williams
9812398524
@@ -113,7 +105,6 @@
-
David Armstrong
9988774455
@@ -126,4 +117,4 @@
-
\ No newline at end of file
+
diff --git a/addons/l10n_bo/__openerp__.py b/addons/l10n_bo/__openerp__.py
index d55777d198f..7bb13365928 100644
--- a/addons/l10n_bo/__openerp__.py
+++ b/addons/l10n_bo/__openerp__.py
@@ -41,7 +41,7 @@ Plan contable boliviano e impuestos de acuerdo a disposiciones vigentes
],
"demo_xml": [
],
- "update_xml": [
+ "data": [
],
"active": False,
"installable": True,
diff --git a/addons/l10n_mx/__openerp__.py b/addons/l10n_mx/__openerp__.py
index d540b477f90..8e137012957 100644
--- a/addons/l10n_mx/__openerp__.py
+++ b/addons/l10n_mx/__openerp__.py
@@ -51,7 +51,7 @@ With this module you will have:
"account_chart",
],
"demo_xml" : [],
- "update_xml" : ["data/account_tax_code.xml",
+ "data" : ["data/account_tax_code.xml",
"data/account_chart.xml",
"data/account_tax.xml",
"data/l10n_chart_mx_wizard.xml"],
diff --git a/addons/l10n_pa/__openerp__.py b/addons/l10n_pa/__openerp__.py
index e63296f89e6..05e7ad5aefc 100644
--- a/addons/l10n_pa/__openerp__.py
+++ b/addons/l10n_pa/__openerp__.py
@@ -44,7 +44,7 @@ Con la Colaboración de
],
"demo_xml": [
],
- "update_xml": [
+ "data": [
],
"active": False,
"installable": True,
diff --git a/addons/l10n_ro/__openerp__.py b/addons/l10n_ro/__openerp__.py
index e8bc9b869ad..388a6b2fc0f 100644
--- a/addons/l10n_ro/__openerp__.py
+++ b/addons/l10n_ro/__openerp__.py
@@ -32,7 +32,7 @@ This is the module to manage the accounting chart, VAT structure and Registratio
Romanian accounting chart and localization.
""",
"demo_xml" : [],
- "update_xml" : ['partner_view.xml','account_tax_code_template.xml','account_chart.xml','account_tax_template.xml','l10n_chart_ro_wizard.xml'],
+ "data" : ['partner_view.xml','account_tax_code_template.xml','account_chart.xml','account_tax_template.xml','l10n_chart_ro_wizard.xml'],
"auto_install": False,
"installable": True,
}
diff --git a/addons/marketing_campaign/marketing_campaign.py b/addons/marketing_campaign/marketing_campaign.py
index fdec2fb39e0..e434090ad76 100644
--- a/addons/marketing_campaign/marketing_campaign.py
+++ b/addons/marketing_campaign/marketing_campaign.py
@@ -2,7 +2,7 @@
##############################################################################
#
# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 OpenERP SA ().
+# Copyright (C) 2004-2013 OpenERP SA ().
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -32,6 +32,7 @@ import re
from openerp.addons.decimal_precision import decimal_precision as dp
from openerp.osv import fields, osv
+from openerp.report import render_report
from openerp.tools.translate import _
_intervalTypes = {
@@ -461,8 +462,7 @@ class marketing_campaign_activity(osv.osv):
#dead code
def _process_wi_report(self, cr, uid, activity, workitem, context=None):
- service = netsvc.LocalService('report.%s'%activity.report_id.report_name)
- (report_data, format) = service.create(cr, uid, [], {}, {})
+ report_data, format = render_report(cr, uid, [], activity.report_id.report_name, {}, context=context)
attach_vals = {
'name': '%s_%s_%s'%(activity.report_id.report_name,
activity.name,workitem.partner_id.name),
diff --git a/addons/mass_mailing/mass_mailing_demo.xml b/addons/mass_mailing/mass_mailing_demo.xml
index d75351e1166..5a2388846e4 100644
--- a/addons/mass_mailing/mass_mailing_demo.xml
+++ b/addons/mass_mailing/mass_mailing_demo.xml
@@ -41,49 +41,41 @@
1111000@OpenERP.com
- sent
1111001@OpenERP.com
- sent
1111002@OpenERP.com
- sent
1111003@OpenERP.com
- sent
1111004@OpenERP.com
- sent
1111005@OpenERP.com
- sent
1111006@OpenERP.com
- sent
1111007@OpenERP.com
- sent
diff --git a/addons/mrp_operations/test/workcenter_operations.yml b/addons/mrp_operations/test/workcenter_operations.yml
index 588ad639659..30c1f4c0a0c 100644
--- a/addons/mrp_operations/test/workcenter_operations.yml
+++ b/addons/mrp_operations/test/workcenter_operations.yml
@@ -110,8 +110,16 @@
I print a Barcode Report of Operation line.
-
!python {model: mrp_operations.operation.code}: |
- from openerp import netsvc, tools
- (data, format) = netsvc.LocalService('report.mrp.code.barcode').create(cr, uid, [ref('mrp_operations.mrp_op_1'),ref('mrp_operations.mrp_op_2'),ref('mrp_operations.mrp_op_3'),ref('mrp_operations.mrp_op_4'),ref('mrp_operations.mrp_op_5')], {}, {})
+ from openerp import tools
+ from openerp.report import render_report
+ ids = [
+ ref('mrp_operations.mrp_op_1'),
+ ref('mrp_operations.mrp_op_2'),
+ ref('mrp_operations.mrp_op_3'),
+ ref('mrp_operations.mrp_op_4'),
+ ref('mrp_operations.mrp_op_5')
+ ]
+ data, format = render_report(cr, uid, ids, 'mrp.code.barcode', {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'mrp_operations-barcode_report.'+format), 'wb+').write(data)
@@ -119,7 +127,9 @@
I print Workcenter's Barcode Report.
-
!python {model: mrp.workcenter}: |
- from openerp import netsvc, tools
- (data, format) = netsvc.LocalService('report.mrp.wc.barcode').create(cr, uid, [ref('mrp.mrp_workcenter_0'),ref('mrp.mrp_workcenter_1')], {}, {})
+ from openerp import tools
+ from openerp.report import render_report
+ ids = [ref('mrp.mrp_workcenter_0'), ref('mrp.mrp_workcenter_1')]
+ data, format = render_report(cr, uid, ids, 'mrp.wc.barcode', {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'mrp_operations-workcenter_barcode_report.'+format), 'wb+').write(data)
diff --git a/addons/point_of_sale/point_of_sale.py b/addons/point_of_sale/point_of_sale.py
index a7bc2f5f59e..144f672469e 100644
--- a/addons/point_of_sale/point_of_sale.py
+++ b/addons/point_of_sale/point_of_sale.py
@@ -747,7 +747,6 @@ class pos_order(osv.osv):
@return: True
"""
stock_picking_obj = self.pool.get('stock.picking')
- wf_service = netsvc.LocalService("workflow")
for order in self.browse(cr, uid, ids, context=context):
stock_picking_obj.signal_button_cancel(cr, uid, [order.picking_id.id])
if stock_picking_obj.browse(cr, uid, order.picking_id.id, context=context).state <> 'cancel':
diff --git a/addons/portal/portal_demo.xml b/addons/portal/portal_demo.xml
index 2f61c997e08..01986d060ac 100644
--- a/addons/portal/portal_demo.xml
+++ b/addons/portal/portal_demo.xml
@@ -10,7 +10,7 @@
none
-
+
portal
portal
diff --git a/addons/procurement/procurement.py b/addons/procurement/procurement.py
index c2878df69cb..5e3f8b54752 100644
--- a/addons/procurement/procurement.py
+++ b/addons/procurement/procurement.py
@@ -24,7 +24,7 @@ import time
from openerp.osv import fields, osv
from openerp.tools.translate import _
-from openerp import netsvc
+from openerp import workflow
import openerp.addons.decimal_precision as dp
# Procurement
@@ -441,9 +441,8 @@ class procurement_order(osv.osv):
if len(to_assign):
move_obj.write(cr, uid, to_assign, {'state': 'assigned'})
self.write(cr, uid, ids, {'state': 'cancel'})
- wf_service = netsvc.LocalService("workflow")
for id in ids:
- wf_service.trg_trigger(uid, 'procurement.order', id, cr)
+ workflow.trg_trigger(uid, 'procurement.order', id, cr)
return True
def action_check_finished(self, cr, uid, ids):
@@ -477,9 +476,8 @@ class procurement_order(osv.osv):
if procurement.close_move and (procurement.move_id.state <> 'done'):
move_obj.action_done(cr, uid, [procurement.move_id.id])
res = self.write(cr, uid, ids, {'state': 'done', 'date_close': time.strftime('%Y-%m-%d')})
- wf_service = netsvc.LocalService("workflow")
for id in ids:
- wf_service.trg_trigger(uid, 'procurement.order', id, cr)
+ workflow.trg_trigger(uid, 'procurement.order', id, cr)
return res
class StockPicking(osv.osv):
diff --git a/addons/project/project_data.xml b/addons/project/project_data.xml
index bc53c4a436f..93e3ea51285 100644
--- a/addons/project/project_data.xml
+++ b/addons/project/project_data.xml
@@ -63,14 +63,12 @@
Done
-
30
Cancelled
-
diff --git a/addons/project_mrp/project_mrp.py b/addons/project_mrp/project_mrp.py
index d7880ba90cd..2a25a1b1ea0 100644
--- a/addons/project_mrp/project_mrp.py
+++ b/addons/project_mrp/project_mrp.py
@@ -20,7 +20,7 @@
##############################################################################
from openerp.osv import fields, osv
-from openerp import netsvc
+from openerp import workflow
class ProjectTaskStageMrp(osv.Model):
@@ -48,10 +48,9 @@ class project_task(osv.osv):
}
def _validate_subflows(self, cr, uid, ids, context=None):
- wf_service = netsvc.LocalService("workflow")
for task in self.browse(cr, uid, ids):
if task.procurement_id:
- wf_service.trg_write(uid, 'procurement.order', task.procurement_id.id, cr)
+ workflow.trg_write(uid, 'procurement.order', task.procurement_id.id, cr)
def write(self, cr, uid, ids, values, context=None):
""" When closing tasks, validate subflows. """
diff --git a/addons/purchase/test/ui/print_report.yml b/addons/purchase/test/ui/print_report.yml
index 94cf49655b6..2fe7ec89d25 100644
--- a/addons/purchase/test/ui/print_report.yml
+++ b/addons/purchase/test/ui/print_report.yml
@@ -13,7 +13,9 @@
-
!python {model: purchase.order}: |
import os
- from openerp import netsvc, tools
- (data, format) = netsvc.LocalService('report.purchase.order').create(cr, uid, [ref('purchase.purchase_order_1'),ref('purchase.purchase_order_2')], {}, {})
+ from openerp import tools
+ from openerp.report import render_report
+ ids = [ref('purchase.purchase_order_1'), ref('purchase.purchase_order_2')]
+ data, format = render_report(cr, uid, ids, 'purchase.order', {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'purchase-purchase_order_report'+format), 'wb+').write(data)
diff --git a/addons/report_webkit/test/print.yml b/addons/report_webkit/test/print.yml
index b201efa97de..b906a991f64 100644
--- a/addons/report_webkit/test/print.yml
+++ b/addons/report_webkit/test/print.yml
@@ -3,8 +3,9 @@
-
!python {model: ir.actions.report.xml}: |
import os
- from openerp import netsvc, tools
+ from openerp import tools
+ from openerp.report import render_report
ids = self.pool['ir.actions.report.xml'].search(cr, uid, [], {})
- (data, format) = netsvc.LocalService('report.webkit.ir.actions.report.xml').create(cr, uid, ids, {}, {})
+ data, format = render_report(cr, uid, ids, 'webkit.ir.actions.report.xml', {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'report_webkit_demo_report.'+format), 'wb+').write(data)
diff --git a/addons/sale/sale.py b/addons/sale/sale.py
index e4c48cf3620..7dfffabbcd3 100644
--- a/addons/sale/sale.py
+++ b/addons/sale/sale.py
@@ -26,7 +26,7 @@ from openerp.osv import fields, osv
from openerp.tools.translate import _
from openerp.tools import DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT, DATETIME_FORMATS_MAP, float_compare
import openerp.addons.decimal_precision as dp
-from openerp import netsvc
+from openerp import workflow
class sale_order(osv.osv):
_name = "sale.order"
@@ -792,9 +792,8 @@ class sale_order_line(osv.osv):
sales.add(line.order_id.id)
create_ids.append(inv_id)
# Trigger workflow events
- wf_service = netsvc.LocalService("workflow")
for sale_id in sales:
- wf_service.trg_write(uid, 'sale.order', sale_id, cr)
+ workflow.trg_write(uid, 'sale.order', sale_id, cr)
return create_ids
def button_cancel(self, cr, uid, ids, context=None):
@@ -807,10 +806,9 @@ class sale_order_line(osv.osv):
return self.write(cr, uid, ids, {'state': 'confirmed'})
def button_done(self, cr, uid, ids, context=None):
- wf_service = netsvc.LocalService("workflow")
res = self.write(cr, uid, ids, {'state': 'done'})
for line in self.browse(cr, uid, ids, context=context):
- wf_service.trg_write(uid, 'sale.order', line.order_id.id, cr)
+ workflow.trg_write(uid, 'sale.order', line.order_id.id, cr)
return res
def uos_change(self, cr, uid, ids, product_uos, product_uos_qty=0, product_id=None):
@@ -1002,9 +1000,8 @@ class account_invoice(osv.Model):
if len(invoice_ids) == len(ids):
#Cancel invoice(s) first before deleting them so that if any sale order is associated with them
#it will trigger the workflow to put the sale order in an 'invoice exception' state
- wf_service = netsvc.LocalService("workflow")
for id in ids:
- wf_service.trg_validate(uid, 'account.invoice', id, 'invoice_cancel', cr)
+ workflow.trg_validate(uid, 'account.invoice', id, 'invoice_cancel', cr)
return super(account_invoice, self).unlink(cr, uid, ids, context=context)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/sale/wizard/sale_line_invoice.py b/addons/sale/wizard/sale_line_invoice.py
index 3b04319f5c7..e7c854b84aa 100644
--- a/addons/sale/wizard/sale_line_invoice.py
+++ b/addons/sale/wizard/sale_line_invoice.py
@@ -21,7 +21,7 @@
from openerp.osv import osv, fields
from openerp.tools.translate import _
-from openerp import netsvc
+from openerp import workflow
class sale_order_line_make_invoice(osv.osv_memory):
_name = "sale.order.line.make.invoice"
@@ -81,7 +81,6 @@ class sale_order_line_make_invoice(osv.osv_memory):
sales_order_line_obj = self.pool.get('sale.order.line')
sales_order_obj = self.pool.get('sale.order')
- wf_service = netsvc.LocalService('workflow')
for line in sales_order_line_obj.browse(cr, uid, context.get('active_ids', []), context=context):
if (not line.invoiced) and (line.state not in ('draft', 'cancel')):
if not line.order_id in invoices:
@@ -101,7 +100,7 @@ class sale_order_line_make_invoice(osv.osv_memory):
flag = False
break
if flag:
- wf_service.trg_validate(uid, 'sale.order', order.id, 'manual_invoice', cr)
+ workflow.trg_validate(uid, 'sale.order', order.id, 'manual_invoice', cr)
sales_order_obj.write(cr, uid, [order.id], {'state': 'progress'})
if not invoices:
diff --git a/addons/stock/stock.py b/addons/stock/stock.py
index 1c3e8d41062..c6637163d87 100644
--- a/addons/stock/stock.py
+++ b/addons/stock/stock.py
@@ -27,7 +27,7 @@ from itertools import groupby
from openerp.osv import fields, osv, orm
from openerp.tools.translate import _
-from openerp import netsvc
+from openerp import workflow
from openerp import tools
from openerp.tools import float_compare, DEFAULT_SERVER_DATETIME_FORMAT
import openerp.addons.decimal_precision as dp
@@ -786,11 +786,10 @@ class stock_picking(osv.osv):
""" Changes state of picking to available if moves are confirmed or waiting.
@return: True
"""
- wf_service = netsvc.LocalService("workflow")
for pick in self.browse(cr, uid, ids):
move_ids = [x.id for x in pick.move_lines if x.state in ['confirmed','waiting']]
self.pool.get('stock.move').force_assign(cr, uid, move_ids)
- wf_service.trg_write(uid, 'stock.picking', pick.id, cr)
+ workflow.trg_write(uid, 'stock.picking', pick.id, cr)
return True
def draft_force_assign(self, cr, uid, ids, *args):
@@ -807,23 +806,21 @@ class stock_picking(osv.osv):
""" Validates picking directly from draft state.
@return: True
"""
- wf_service = netsvc.LocalService("workflow")
self.draft_force_assign(cr, uid, ids)
for pick in self.browse(cr, uid, ids, context=context):
move_ids = [x.id for x in pick.move_lines]
self.pool.get('stock.move').force_assign(cr, uid, move_ids)
- wf_service.trg_write(uid, 'stock.picking', pick.id, cr)
+ workflow.trg_write(uid, 'stock.picking', pick.id, cr)
return self.action_process(
cr, uid, ids, context=context)
def cancel_assign(self, cr, uid, ids, *args):
""" Cancels picking and moves.
@return: True
"""
- wf_service = netsvc.LocalService("workflow")
for pick in self.browse(cr, uid, ids):
move_ids = [x.id for x in pick.move_lines]
self.pool.get('stock.move').cancel_assign(cr, uid, move_ids)
- wf_service.trg_write(uid, 'stock.picking', pick.id, cr)
+ workflow.trg_write(uid, 'stock.picking', pick.id, cr)
return True
def action_assign_wkf(self, cr, uid, ids, context=None):
@@ -1238,7 +1235,6 @@ class stock_picking(osv.osv):
currency_obj = self.pool.get('res.currency')
uom_obj = self.pool.get('product.uom')
sequence_obj = self.pool.get('ir.sequence')
- wf_service = netsvc.LocalService("workflow")
for pick in self.browse(cr, uid, ids, context=context):
new_picking = None
complete, too_many, too_few = [], [], []
@@ -1364,7 +1360,7 @@ class stock_picking(osv.osv):
self.write(cr, uid, [pick.id], {'backorder_id': new_picking})
self.action_move(cr, uid, [new_picking], context=context)
self.signal_button_done(cr, uid, [new_picking])
- wf_service.trg_write(uid, 'stock.picking', pick.id, cr)
+ workflow.trg_write(uid, 'stock.picking', pick.id, cr)
delivered_pack_id = new_picking
back_order_name = self.browse(cr, uid, delivered_pack_id, context=context).name
self.message_post(cr, uid, ids, body=_("Back order %s has been created.") % (back_order_name), context=context)
@@ -2140,10 +2136,9 @@ class stock_move(osv.osv):
@return: True
"""
self.write(cr, uid, ids, {'state': 'assigned'})
- wf_service = netsvc.LocalService('workflow')
for move in self.browse(cr, uid, ids, context):
if move.picking_id:
- wf_service.trg_write(uid, 'stock.picking', move.picking_id.id, cr)
+ workflow.trg_write(uid, 'stock.picking', move.picking_id.id, cr)
return True
def cancel_assign(self, cr, uid, ids, context=None):
@@ -2155,10 +2150,9 @@ class stock_move(osv.osv):
# fix for bug lp:707031
# called write of related picking because changing move availability does
# not trigger workflow of picking in order to change the state of picking
- wf_service = netsvc.LocalService('workflow')
for move in self.browse(cr, uid, ids, context):
if move.picking_id:
- wf_service.trg_write(uid, 'stock.picking', move.picking_id.id, cr)
+ workflow.trg_write(uid, 'stock.picking', move.picking_id.id, cr)
return True
#
@@ -2205,8 +2199,7 @@ class stock_move(osv.osv):
if count:
for pick_id in pickings:
- wf_service = netsvc.LocalService("workflow")
- wf_service.trg_write(uid, 'stock.picking', pick_id, cr)
+ workflow.trg_write(uid, 'stock.picking', pick_id, cr)
return count
def setlast_tracking(self, cr, uid, ids, context=None):
@@ -2233,7 +2226,6 @@ class stock_move(osv.osv):
return True
if context is None:
context = {}
- wf_service = netsvc.LocalService("workflow")
pickings = set()
for move in self.browse(cr, uid, ids, context=context):
if move.state in ('confirmed', 'waiting', 'assigned', 'draft'):
@@ -2242,7 +2234,7 @@ class stock_move(osv.osv):
if move.move_dest_id and move.move_dest_id.state == 'waiting':
self.write(cr, uid, [move.move_dest_id.id], {'state': 'confirmed'})
if context.get('call_unlink',False) and move.move_dest_id.picking_id:
- wf_service.trg_write(uid, 'stock.picking', move.move_dest_id.picking_id.id, cr)
+ workflow.trg_write(uid, 'stock.picking', move.move_dest_id.picking_id.id, cr)
self.write(cr, uid, ids, {'state': 'cancel', 'move_dest_id': False})
if not context.get('call_unlink',False):
for pick in self.pool.get('stock.picking').browse(cr, uid, list(pickings), context=context):
@@ -2250,7 +2242,7 @@ class stock_move(osv.osv):
self.pool.get('stock.picking').write(cr, uid, [pick.id], {'state': 'cancel'})
for id in ids:
- wf_service.trg_trigger(uid, 'stock.move', id, cr)
+ workflow.trg_trigger(uid, 'stock.move', id, cr)
return True
def _get_accounting_data_for_valuation(self, cr, uid, move, context=None):
@@ -2378,7 +2370,6 @@ class stock_move(osv.osv):
"""
picking_ids = []
move_ids = []
- wf_service = netsvc.LocalService("workflow")
if context is None:
context = {}
@@ -2406,7 +2397,7 @@ class stock_move(osv.osv):
if move.move_dest_id.state in ('waiting', 'confirmed'):
self.force_assign(cr, uid, [move.move_dest_id.id], context=context)
if move.move_dest_id.picking_id:
- wf_service.trg_write(uid, 'stock.picking', move.move_dest_id.picking_id.id, cr)
+ workflow.trg_write(uid, 'stock.picking', move.move_dest_id.picking_id.id, cr)
if move.move_dest_id.auto_validate:
self.action_done(cr, uid, [move.move_dest_id.id], context=context)
@@ -2419,10 +2410,10 @@ class stock_move(osv.osv):
self.write(cr, uid, move_ids, {'state': 'done', 'date': time.strftime(DEFAULT_SERVER_DATETIME_FORMAT)}, context=context)
for id in move_ids:
- wf_service.trg_trigger(uid, 'stock.move', id, cr)
+ workflow.trg_trigger(uid, 'stock.move', id, cr)
for pick_id in picking_ids:
- wf_service.trg_write(uid, 'stock.picking', pick_id, cr)
+ workflow.trg_write(uid, 'stock.picking', pick_id, cr)
return True