[MERGE] use new report API.

bzr revid: vmt@openerp.com-20130328121009-r3n63gmhfkv0dnby
This commit is contained in:
Vo Minh Thu 2013-03-28 13:10:09 +01:00
commit 5639a52431
54 changed files with 172 additions and 228 deletions

View File

@ -24,7 +24,6 @@ from datetime import datetime
from dateutil.relativedelta import relativedelta
from operator import itemgetter
from openerp import netsvc
from openerp.osv import fields, osv
import openerp.addons.decimal_precision as dp
from openerp.tools.translate import _

View File

@ -11,7 +11,7 @@
<report auto="False" id="account_general_journal" model="account.journal.period" name="account.general.journal" rml="account/report/account_general_journal.rml" string="General Journal" header="False"/>
<report auto="False" id="account_journal" model="account.journal.period" name="account.journal.period.print" rml="account/report/account_journal.rml" string="Journal" header="False"/>
<report auto="False" id="account_journal_sale_purchase" model="account.journal.period" name="account.journal.period.print.sale.purchase" rml="account/report/account_journal_sale_purchase.rml" string="Sale/Purchase Journal" header="False"/>
<report auto="False" id="account_overdue" model="res.partner" name="account.overdue" rml="account/report/account_print_overdue.rml" string="Overdue Payments"/>
<report id="account_overdue" model="res.partner" name="account.overdue" rml="account/report/account_print_overdue.rml" string="Overdue Payments" parser="account.report.account_print_overdue.Overdue"/>
<report
auto="False"
id="account_invoices"

View File

@ -26,7 +26,7 @@ from operator import itemgetter
from os.path import join as opj
import time
from openerp import netsvc, tools
from openerp import tools
from openerp.tools.translate import _
from openerp.osv import fields, osv

View File

@ -61,9 +61,6 @@ class Overdue(report_sxw.rml_parse):
message = company_pool.browse(self.cr, self.uid, company.id, {'lang':obj.lang}).overdue_msg
return message.split('\n')
report_sxw.report_sxw('report.account.overdue', 'res.partner',
'addons/account/report/account_print_overdue.rml', parser=Overdue)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -14,8 +14,9 @@
-
!python {model: account.invoice}: |
import os
from openerp import netsvc, tools
(data, format) = netsvc.LocalService('report.account.invoice').create(cr, uid, [ref('account.account_invoice_customer0')], {}, {})
import openerp.report
from openerp import tools
data, format = openerp.report.render_report(cr, uid, [ref('account.account_invoice_customer0')], 'account.invoice', {}, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'account-invoice.'+format), 'wb+').write(data)
@ -24,8 +25,9 @@
-
!python {model: res.partner}: |
import os
from openerp import netsvc, tools
(data, format) = netsvc.LocalService('report.account.overdue').create(cr, uid, [ref('base.res_partner_1'),ref('base.res_partner_2'),ref('base.res_partner_12')], {}, {})
import openerp.report
from openerp import tools
data, format = openerp.report.render_report(cr, uid, [ref('base.res_partner_1'),ref('base.res_partner_2'),ref('base.res_partner_12')], 'account.overdue', {}, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'account-report_overdue.'+format), 'wb+').write(data)
-

View File

@ -20,7 +20,6 @@
##############################################################################
from openerp.osv import osv
from openerp import netsvc
from openerp.tools.translate import _
class account_state_open(osv.osv_memory):

View File

@ -3,8 +3,9 @@
-
!python {model: account.analytic.account}: |
import os, time
from openerp import netsvc, tools
import openerp.report
from openerp import tools
data_dict = {'model': 'account.analytic.account', 'form': {'date1':time.strftime("%Y-01-01"),'date2':time.strftime('%Y-%m-%d'),'journal_ids':[6,0,(ref('account.cose_journal_sale'))],'ref':ref('account.analytic_root'),'empty_line':True,'id':ref('account.analytic_root'),'context':{}}}
(data, format) = netsvc.LocalService('report.account.analytic.account.crossovered.analytic').create(cr, uid, [ref('account.analytic_root')], data_dict, {})
data, format = openerp.report.render_report(cr, uid, [ref('account.analytic_root')], 'account.analytic.account.crossovered.analytic', data_dict, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'account_analytic_plans-crossovered_analyitic.'+format), 'wb+').write(data)
file(os.path.join(tools.config['test_report_directory'], 'account_analytic_plans-crossovered_analyitic.'+format), 'wb+').write(data)

View File

@ -5,8 +5,6 @@ import datetime
from openerp import tools
from openerp.tests.common import TransactionCase
from openerp import netsvc
class TestAccountFollowup(TransactionCase):
def setUp(self):
""" setUp ***"""

View File

@ -3,7 +3,8 @@
-
!python {model: payment.order}: |
import os
from openerp import netsvc, tools
(data, format) = netsvc.LocalService('report.payment.order').create(cr, uid, [ref('payment_order_1')], {}, {})
import openerp.report
from openerp import tools
data, format = openerp.report.render_report(cr, uid, [ref('payment_order_1')], 'payment.order', {}, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'account_payment-payment_order_report.'+format), 'wb+').write(data)

View File

@ -20,7 +20,8 @@
-
!python {model: account.voucher}: |
import os
from openerp import netsvc, tools
(data, format) = netsvc.LocalService('report.voucher.cash_receipt.drcr').create(cr, uid, [ref("account_voucher_voucheraxelor0again")], {}, {})
import openerp.report
from openerp import tools
data, format = openerp.report.render_report(cr, uid, [ref("account_voucher_voucheraxelor0again")], 'voucher.cash_receipt.drcr', {}, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'account_voucher-report.'+format), 'wb+').write(data)

View File

@ -125,7 +125,6 @@
-
!python {model: account.voucher}: |
import time
from openerp import netsvc
vals = {}
voucher_id = self.browse(cr, uid, ref('account_voucher_case_5_supplier_flow'))
for item in voucher_id.line_dr_ids:

View File

@ -37,7 +37,6 @@
I will create and post an account voucher of amount 450.0 for the partner Seagate.
-
!python {model: account.voucher}: |
from openerp import netsvc
vals = {}
journal_id = self.default_get(cr, uid, ['journal_id']).get('journal_id',None)
res = self.onchange_partner_id(cr, uid, [], ref("base.res_partner_19"), journal_id, 0.0, 1, ttype='receipt', date=False)

View File

@ -45,7 +45,6 @@
I create and post a voucher payment of amount 30000.0 for the partner Seagate
-
!python {model: account.voucher}: |
from openerp import netsvc
vals = {}
journal_id = self.default_get(cr, uid, ['journal_id']).get('journal_id',None)
res = self.onchange_partner_id(cr, uid, [], ref("base.res_partner_19"), journal_id, 0.0, 1, ttype='receipt', date=False)

View File

@ -55,11 +55,6 @@ class report_xml(osv.osv):
'report_rml_content': str(sxw2rml(sxwval, xsl=fp.read())),
})
# FIXME: this should be moved to an override of the ir.actions.report_xml.create() method
cr.commit()
self.pool['ir.actions.report.xml'].register_all(cr)
openerp.modules.registry.RegistryManager.signal_registry_change(cr.dbname)
return True
def report_get(self, cr, uid, report_id, context=None):

View File

@ -20,7 +20,6 @@
##############################################################################
import os, time
from openerp import netsvc
import random
import StringIO

View File

@ -32,11 +32,12 @@
-
!python {model: stock.picking}: |
import os
from openerp import netsvc, tools
import openerp.report
from openerp import tools
sale = self.pool.get('sale.order')
sale_order = sale.browse(cr, uid, ref("sale.sale_order_6"))
ship_ids = [x.id for x in sale_order.picking_ids]
(data, format) = netsvc.LocalService('report.sale.shipping').create(cr, uid, ship_ids, {}, {})
data, format = openerp.report.render_report(cr, uid, ship_ids, 'sale.shipping', {}, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'delivery-shipping'+format), 'wb+').write(data)
-

View File

@ -37,7 +37,7 @@ except ImportError:
from DAV.davcmd import copyone, copytree, moveone, movetree, delone, deltree
import openerp
from openerp import sql_db, netsvc
from openerp import sql_db
import openerp.service
from openerp.tools import misc

View File

@ -36,7 +36,6 @@
import logging
import openerp
from openerp import netsvc
from dav_fs import openerp_dav_handler
from openerp.tools.config import config
try:

View File

@ -29,7 +29,6 @@ import urllib2
import openerp
import openerp.release as release
import openerp.netsvc as netsvc
from openerp.osv import osv, fields
from openerp.tools.translate import _
from openerp.tools.safe_eval import safe_eval as eval
@ -418,9 +417,7 @@ class EDIMixin(object):
('usage','=','default')])
if matching_reports:
report = ir_actions_report.browse(cr, uid, matching_reports[0])
report_service = 'report.' + report.report_name
service = netsvc.LocalService(report_service)
(result, format) = service.create(cr, uid, [record.id], {'model': self._name}, context=context)
result, format = openerp.report.render_report(cr, uid, [record.id], report.report_name, {'model': self._name}, context=context)
eval_context = {'time': time, 'object': record}
if not report.attachment or not eval(report.attachment, eval_context):
# no auto-saving of report as attachment, need to do it manually

View File

@ -23,7 +23,7 @@
import base64
import logging
from openerp import netsvc
import openerp
from openerp.osv import osv, fields
from openerp.osv import fields
from openerp import tools
@ -336,16 +336,15 @@ class email_template(osv.osv):
# Add report in attachments
if template.report_template:
report_name = self.render_template(cr, uid, template.report_name, template.model, res_id, context=context)
report_service = 'report.' + report_xml_pool.browse(cr, uid, template.report_template.id, context).report_name
report_service = report_xml_pool.browse(cr, uid, template.report_template.id, context).report_name
# Ensure report is rendered using template's language
ctx = context.copy()
if template.lang:
ctx['lang'] = self.render_template(cr, uid, template.lang, template.model, res_id, context)
service = netsvc.LocalService(report_service)
(result, format) = service.create(cr, uid, [res_id], {'model': template.model}, ctx)
result, format = openerp.report.render_report(cr, uid, [res_id], report_service, {'model': template.model}, ctx)
result = base64.b64encode(result)
if not report_name:
report_name = report_service
report_name = 'report.' + report_service
ext = "." + format
if not report_name.endswith(ext):
report_name += ext

View File

@ -34,7 +34,6 @@ import zipfile
import base64
from openerp import addons
from openerp import netsvc
from openerp.osv import fields, osv
from openerp import tools
from openerp.tools.translate import _

View File

@ -101,8 +101,8 @@
-
!python {model: hr.evaluation.report}: |
import os, time
from openerp import netsvc, tools
from openerp import tools
ctx={}
data_dict={'state': 'done', 'rating': 2, 'employee_id': ref("hr.employee_fp")}
from openerp.tools import test_reports
test_reports.try_report_action(cr, uid, 'hr_evaluation_evaluation_0',wiz_data=data_dict, context=ctx, our_module='hr_evaluation')
test_reports.try_report_action(cr, uid, 'hr_evaluation_evaluation_0',wiz_data=data_dict, context=ctx, our_module='hr_evaluation')

View File

@ -36,8 +36,7 @@
I print a report of the expenses.
-
!python {model: hr.expense.expense}: |
import os
from openerp import netsvc, tools
(data, format) = netsvc.LocalService('report.hr.expense').create(cr, uid, [ref('hr_expense.sep_expenses')], {}, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'hr_expense-report.'+format), 'wb+').write(data)
data, format = self.print_report(cr, uid, [ref('hr_expense.sep_expenses')], 'hr.expense', {}, {})
if openerp.tools.config['test_report_directory']:
import os
file(os.path.join(openerp.tools.config['test_report_directory'], 'hr_expense-report.'+format), 'wb+').write(data)

View File

@ -5,7 +5,8 @@
-
!python {model: hr.payslip}: |
import os
from openerp import netsvc, tools
(data, format) = netsvc.LocalService('report.payslip.pdf').create(cr, uid, [ref('hr_payroll.hr_payslip_salaryslipofbonamyforjune0')], {}, {})
import openerp.report
from openerp import tools
data, format = openerp.report.render_report(cr, uid, [ref('hr_payroll.hr_payslip_salaryslipofbonamyforjune0')], 'payslip.pdf', {}, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'hr_payroll-payslip_report.'+format), 'wb+').write(data)
file(os.path.join(tools.config['test_report_directory'], 'hr_payroll-payslip_report.'+format), 'wb+').write(data)

View File

@ -20,7 +20,6 @@
#
##############################################################################
import time
from openerp import netsvc
from datetime import date, datetime, timedelta
from openerp.osv import fields, osv

View File

@ -3,8 +3,9 @@
-
!python {model: account.analytic.line}: |
import os, time
from openerp import netsvc, tools
import openerp.report
from openerp import tools
data_dict = {'model': 'ir.ui.menu', 'form': {'date_from': time.strftime('%Y-%m-01'), 'employee_ids': [[6,0,[ref('hr.employee_fp'), ref('hr.employee_qdp'),ref('hr.employee_al')]]], 'journal_ids': [[6,0,[ref('hr_timesheet.analytic_journal')]]], 'date_to': time.strftime('%Y-%m-%d')}}
(data, format) = netsvc.LocalService('report.account.analytic.profit').create(cr, uid, [], data_dict, {})
data, format = openerp.report.render_report(cr, uid, [], 'account.analytic.profit', data_dict, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'hr_timesheet_invoice-account_analytic_profit_report.'+format), 'wb+').write(data)

View File

@ -60,7 +60,6 @@
-
!python {model: hr_timesheet_sheet.sheet}: |
uid = ref('base.user_root')
from openerp import netsvc
try:
self.button_confirm(cr, uid, [ref('hr_timesheet_sheet_sheet_deddk0')], {"active_ids":
[ref("hr_timesheet_sheet.menu_act_hr_timesheet_sheet_form")],"active_id": ref("hr_timesheet_sheet.menu_act_hr_timesheet_sheet_form"),

View File

@ -3,8 +3,9 @@
-
!python {model: account.move.line}: |
import os
from openerp import netsvc, tools
(data, format) = netsvc.LocalService('report.l10n.fr.bilan').create(cr, uid, [], {'model':'account.move.line', 'form':{'fiscalyear_id': ref('account.data_fiscalyear')}}, {})
import openerp.report
from openerp import tools
data, format = openerp.report.render_report(cr, uid, [], 'l10n.fr.bilan', {'model':'account.move.line', 'form':{'fiscalyear_id': ref('account.data_fiscalyear')}}, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'l10n_fr-bilan_report.'+format), 'wb+').write(data)
@ -13,7 +14,8 @@
-
!python {model: account.move.line}: |
import os
from openerp import netsvc, tools
(data, format) = netsvc.LocalService('report.l10n.fr.compute_resultant').create(cr, uid, [], {'model':'account.move.line', 'form':{'fiscalyear_id': ref('account.data_fiscalyear')}}, {})
import openerp.report
from openerp import tools
data, format = openerp.report.render_report(cr, uid, [], 'l10n.fr.compute_resultant', {'model':'account.move.line', 'form':{'fiscalyear_id': ref('account.data_fiscalyear')}}, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'l10n_fr-compute_resultant_report.'+format), 'wb+').write(data)

View File

@ -19,7 +19,6 @@
#
##############################################################################
from openerp import netsvc
from openerp.osv import fields, osv
from openerp.tools.translate import _

View File

@ -36,7 +36,8 @@
-
!python {model: hr.payroll.advice}: |
import os
from openerp import netsvc, tools
(data, format) = netsvc.LocalService('report.payroll.advice').create(cr, uid, [ref('l10n_in_hr_payroll.payment_advice_1')], {})
import openerp.report
from openerp import tools
data, format = openerp.report.render_report(cr, uid, [ref('l10n_in_hr_payroll.payment_advice_1')], 'payroll.advice', {}, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'l10n_in_hr_payroll_summary report'+format), 'wb+').write(data)
file(os.path.join(tools.config['test_report_directory'], 'l10n_in_hr_payroll_summary report'+format), 'wb+').write(data)

View File

@ -9,8 +9,9 @@
-
!python {model: res.partner}: |
import os
from openerp import netsvc, tools
(data, format) = netsvc.LocalService('report.l10n_lu.tax.report.print').create(cr, uid, [], {'model':'ir.ui.menu', 'form':{'tax_code_id': ref('account_tax_code_id_r1'), 'period_id': ref('account.period_1')}}, {})
import openerp.report
from openerp import tools
data, format = openerp.report.render_report(cr, uid, [], 'l10n_lu.tax.report.print', {'model':'ir.ui.menu', 'form':{'tax_code_id': ref('account_tax_code_id_r1'), 'period_id': ref('account.period_1')}}, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'l10n_lu-vat_report.'+format), 'wb+').write(data)

View File

@ -32,7 +32,6 @@ import re
from openerp.addons.decimal_precision import decimal_precision as dp
from openerp.osv import fields, osv
from openerp import netsvc
from openerp.tools.translate import _
_intervalTypes = {

View File

@ -215,9 +215,10 @@
-
!python {model: mrp.production}: |
import os
from openerp import netsvc, tools
import openerp.report
from openerp import tools
order = self.browse(cr, uid, ref("mrp_production_test1"))
(data, format) = netsvc.LocalService('report.bom.structure').create(cr, uid, [order.bom_id.id], {}, {})
data, format = openerp.report.render_report(cr, uid, [order.bom_id.id], 'bom.structure', {}, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'mrp-bom_structure_report.'+format), 'wb+').write(data)
-
@ -225,8 +226,9 @@
-
!python {model: mrp.production}: |
import os
from openerp import netsvc, tools
(data, format) = netsvc.LocalService('report.mrp.production.order').create(cr, uid, [ref("mrp_production_test1")], {}, {})
import openerp.report
from openerp import tools
data, format = openerp.report.render_report(cr, uid, [ref("mrp_production_test1")], 'mrp.production.order', {}, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'mrp-production_order_report.'+format), 'wb+').write(data)
-

View File

@ -21,7 +21,6 @@
from openerp.osv import fields
from openerp.osv import osv
from openerp import netsvc
import time
from datetime import datetime
from openerp.tools.translate import _

View File

@ -3,7 +3,8 @@
-
!python {model: mrp.repair}: |
import os
from openerp import netsvc, tools
(data, format) = netsvc.LocalService('report.repair.order').create(cr, uid, [ref('mrp_repair.mrp_repair_rmrp0')], {}, {})
import openerp.report
from openerp import tools
data, format = openerp.report.render_report(cr, uid, [ref('mrp_repair.mrp_repair_rmrp0')], 'repair.order', {}, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'mrp_repair-order_report.'+format), 'wb+').write(data)

View File

@ -21,7 +21,6 @@
from openerp.osv import fields, osv
import time
from openerp import netsvc
from openerp import tools
class report_transaction_pos(osv.osv):

View File

@ -3,8 +3,9 @@
-
!python {model: pos.order}: |
import os
from openerp import netsvc, tools
(data, format) = netsvc.LocalService('report.pos.details_summary').create(cr, uid, [ref('point_of_sale.pos_order_pos1')], {}, {})
import openerp.report
from openerp import tools
data, format = openerp.report.render_report(cr, uid, [ref('point_of_sale.pos_order_pos1')], 'pos.details_summary', {}, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'point_of_sale-details_summary report'+format), 'wb+').write(data)
@ -13,8 +14,9 @@
-
!python {model: pos.order}: |
import os
from openerp import netsvc, tools
(data, format) = netsvc.LocalService('report.pos.invoice').create(cr, uid, [ref('point_of_sale.pos_order_pos1')], {}, {})
import openerp.report
from openerp import tools
data, format = openerp.report.render_report(cr, uid, [ref('point_of_sale.pos_order_pos1')], 'pos.invoice', {}, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'point_of_sale-invoice report'+format), 'wb+').write(data)
@ -23,8 +25,9 @@
-
!python {model: pos.order}: |
import os
from openerp import netsvc, tools
(data, format) = netsvc.LocalService('report.pos.lines').create(cr, uid, [ref('point_of_sale.pos_order_pos1')], {}, {})
import openerp.report
from openerp import tools
data, format = openerp.report.render_report(cr, uid, [ref('point_of_sale.pos_order_pos1')], 'pos.lines', {}, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'point_of_sale-lines report'+format), 'wb+').write(data)
@ -33,8 +36,9 @@
-
!python {model: pos.order}: |
import os
from openerp import netsvc, tools
(data, format) = netsvc.LocalService('report.pos.receipt').create(cr, uid, [ref('point_of_sale.pos_order_pos1')], {}, {})
import openerp.report
from openerp import tools
data, format = openerp.report.render_report(cr, uid, [ref('point_of_sale.pos_order_pos1')], 'pos.receipt', {}, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'point_of_sale-receipt report'+format), 'wb+').write(data)
@ -54,9 +58,10 @@
-
!python {model: pos.order}: |
import os, time
from openerp import netsvc, tools
import openerp.report
from openerp import tools
data_dict = {'model':'ir.ui.menu', 'form':{'date_start': time.strftime('%Y-%m-%d'), 'date_end': time.strftime('%Y-%m-%d'),'user_id':[ref('base.user_root')] }}
(data, format) = netsvc.LocalService('report.pos.sales.user').create(cr, uid, [ref('point_of_sale.pos_order_pos1')], data_dict, {})
data, format = openerp.report.render_report(cr, uid, [ref('point_of_sale.pos_order_pos1')], 'pos.sales.user', data_dict, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'point_of_sale-sales_user_report'+format), 'wb+').write(data)
-
@ -64,8 +69,9 @@
-
!python {model: pos.order}: |
import os, time
from openerp import netsvc, tools
(data, format) = netsvc.LocalService('report.pos.payment.report').create(cr, uid, [ref('point_of_sale.pos_order_pos0')], {}, {})
import openerp.report
from openerp import tools
data, format = openerp.report.render_report(cr, uid, [ref('point_of_sale.pos_order_pos0')], 'pos.payment.report', {}, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'point_of_sale-payment_report'+format), 'wb+').write(data)
-
@ -73,8 +79,9 @@
-
!python {model: pos.order}: |
import os, time
from openerp import netsvc, tools
import openerp.report
from openerp import tools
data_dict = {'model':'ir.ui.menu', 'form':{'user_id':[ref('base.user_root'),ref('base.user_demo')] }}
(data, format) = netsvc.LocalService('report.pos.payment.report.user').create(cr, uid, [ref('point_of_sale.pos_order_pos1')], data_dict, {})
data, format = openerp.report.render_report(cr, uid, [ref('point_of_sale.pos_order_pos1')], 'pos.payment.report.user', data_dict, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'point_of_sale-payment_user_report'+format), 'wb+').write(data)

View File

@ -9,6 +9,7 @@
name="product.pricelist"
rml="product/report/product_pricelist.rml"
menu="False"
auto="False"/>
parser="product.report.product_pricelist.product_pricelist"
/>
</data>
</openerp>

View File

@ -120,6 +120,4 @@ class product_pricelist(report_sxw.rml_parse):
price = self.formatLang(res[0]['list_price'], digits=sale_price_digits, currency_obj=pricelist.currency_id)
return price
report_sxw.report_sxw('report.product.pricelist','product.product','addons/product/report/product_pricelist.rml',parser=product_pricelist)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -3,8 +3,9 @@
-
!python {model: purchase.order}: |
import os
from openerp import netsvc, tools
(data, format) = netsvc.LocalService('report.purchase.quotation').create(cr, uid, [ref('purchase.purchase_order_1'),ref('purchase.purchase_order_2')], {}, {})
import openerp.report
from openerp import tools
data, format = openerp.report.render_report(cr, uid, [ref('purchase.purchase_order_1'), ref('purchase.purchase_order_2')], 'purchase.quotation', {}, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'purchase-request_quotation'+format), 'wb+').write(data)
-

View File

@ -21,7 +21,6 @@
import time
from openerp.osv import fields, osv
from openerp.osv.orm import browse_record, browse_null
from openerp.tools.translate import _
class purchase_order_group(osv.osv_memory):

View File

@ -84,7 +84,8 @@
-
!python {model: purchase.requisition}: |
import os
from openerp import netsvc, tools
(data, format) = netsvc.LocalService('report.purchase.requisition').create(cr, uid, [ref('purchase_requisition.requisition1')], {}, {})
import openerp.report
from openerp import tools
data, format = openerp.report.render_report(cr, uid, [ref('purchase_requisition.requisition1')], 'purchase.requisition', {}, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'purchase_requisition-purchase_requisition_report.'+format), 'wb+').write(data)

View File

@ -14,7 +14,8 @@
-
!python {model: account.invoice}: |
import os
from openerp import netsvc, tools
(data, format) = netsvc.LocalService('report.account.invoice.intrastat').create(cr, uid, [ref('test_invoice_1')], {}, {})
import openerp.report
from openerp import tools
data, format = openerp.report.render_report(cr, uid, [ref('test_invoice_1')], 'account.invoice.intrastat', {}, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'report_intrastat-intrastat_report.'+format), 'wb+').write(data)

View File

@ -29,113 +29,61 @@
#
##############################################################################
from openerp.osv import fields, osv
import openerp.report.interface
from openerp.report.report_sxw import rml_parse
import openerp
from openerp.osv import fields, orm
from webkit_report import WebKitParser
def register_report(name, model, tmpl_path, parser=rml_parse):
"""Register the report into the services"""
name = 'report.%s' % name
if name in openerp.report.interface.report_int._reports:
service = openerp.report.interface.report_int._reports[name]
if isinstance(service, WebKitParser):
#already instantiated properly, skip it
return
if hasattr(service, 'parser'):
parser = service.parser
del openerp.report.interface.report_int._reports[name]
WebKitParser(name, model, tmpl_path, parser=parser)
class ReportXML(osv.osv):
def __init__(self, pool, cr):
super(ReportXML, self).__init__(pool, cr)
def register_all(self,cursor):
value = super(ReportXML, self).register_all(cursor)
cursor.execute("SELECT * FROM ir_act_report_xml WHERE report_type = 'webkit'")
records = cursor.dictfetchall()
for record in records:
register_report(record['report_name'], record['model'], record['report_rml'])
return value
def unlink(self, cursor, user, ids, context=None):
"""Delete report and unregister it"""
trans_obj = self.pool.get('ir.translation')
trans_ids = trans_obj.search(
cursor,
user,
[('type', '=', 'report'), ('res_id', 'in', ids)]
)
trans_obj.unlink(cursor, user, trans_ids)
# Warning: we cannot unregister the services at the moment
# because they are shared across databases. Calling a deleted
# report will fail so it's ok.
res = super(ReportXML, self).unlink(
cursor,
user,
ids,
context
)
return res
def create(self, cursor, user, vals, context=None):
"Create report and register it"
res = super(ReportXML, self).create(cursor, user, vals, context)
if vals.get('report_type','') == 'webkit':
# I really look forward to virtual functions :S
register_report(
vals['report_name'],
vals['model'],
vals.get('report_rml', False)
)
return res
def write(self, cr, uid, ids, vals, context=None):
"Edit report and manage it registration"
if isinstance(ids, (int, long)):
ids = [ids,]
for rep in self.browse(cr, uid, ids, context=context):
if rep.report_type != 'webkit':
continue
if vals.get('report_name', False) and \
vals['report_name'] != rep.report_name:
report_name = vals['report_name']
else:
report_name = rep.report_name
register_report(
report_name,
vals.get('model', rep.model),
vals.get('report_rml', rep.report_rml)
)
res = super(ReportXML, self).write(cr, uid, ids, vals, context)
return res
_name = 'ir.actions.report.xml'
class ir_actions_report_xml(orm.Model):
_inherit = 'ir.actions.report.xml'
_columns = {
'webkit_header': fields.property(
'ir.header_webkit',
type='many2one',
relation='ir.header_webkit',
string='Webkit Header',
help="The header linked to the report",
view_load=True,
required=True
),
'webkit_debug' : fields.boolean('Webkit debug', help="Enable the webkit engine debugger"),
'report_webkit_data': fields.text('Webkit Template', help="This template will be used if the main report file is not found"),
'precise_mode':fields.boolean('Precise Mode', help='This mode allow more precise element \
position as each object is printed on a separate HTML.\
but memory and disk usage is wider')
'webkit_header': fields.property('ir.header_webkit',
type='many2one', relation='ir.header_webkit',
string='Webkit Header', help="The header linked to the report",
view_load=True, required=True),
'webkit_debug': fields.boolean('Webkit debug',
help="Enable the webkit engine debugger"),
'report_webkit_data': fields.text('Webkit Template',
help="This template will be used if the main report file is not found"),
'precise_mode': fields.boolean('Precise Mode',
help="This mode allow more precise element position as each object"
" is printed on a separate HTML but memory and disk usage are wider.")
}
ReportXML()
def _lookup_report(self, cr, name):
"""
Look up a report definition.
"""
import operator
import os
opj = os.path.join
# First lookup in the deprecated place, because if the report definition
# has not been updated, it is more likely the correct definition is there.
# Only reports with custom parser specified in Python are still there.
if 'report.' + name in openerp.report.interface.report_int._reports:
new_report = openerp.report.interface.report_int._reports['report.' + name]
if not isinstance(new_report, WebKitParser):
new_report = None
else:
cr.execute("SELECT * FROM ir_act_report_xml WHERE report_name=%s and report_type=%s", (name, 'webkit'))
r = cr.dictfetchone()
if r:
if r['parser']:
parser = operator.attrgetter(r['parser'])(openerp.addons)
kwargs = { 'parser': parser }
else:
kwargs = {}
new_report = WebKitParser('report.'+r['report_name'],
r['model'], opj('addons',r['report_rml'] or '/'),
header=r['header'], register=False, **kwargs)
else:
new_report = None
if new_report:
return new_report
else:
return super(ir_actions_report_xml, self)._lookup_report(cr, name)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -38,8 +38,8 @@ import tempfile
import time
import logging
from openerp import netsvc
from report_helper import WebKitHelper
import openerp
from openerp.report.report_sxw import *
from openerp import addons
from openerp import tools
@ -116,12 +116,12 @@ class WebKitParser(report_sxw):
"""Custom class that use webkit to render HTML reports
Code partially taken from report openoffice. Thanks guys :)
"""
def __init__(self, name, table, rml=False, parser=False,
header=True, store=False):
def __init__(self, name, table, rml=False, parser=rml_parse,
header=True, store=False, register=True):
self.parser_instance = False
self.localcontext = {}
report_sxw.__init__(self, name, table, rml, parser,
header, store)
header, store, register=register)
def get_lib(self, cursor, uid):
"""Return the lib wkhtml path"""

View File

@ -21,7 +21,6 @@
from openerp.osv import osv, fields
from openerp.tools.translate import _
from openerp import netsvc
class sale_order_line_make_invoice(osv.osv_memory):
_name = "sale.order.line.make.invoice"

View File

@ -20,7 +20,6 @@
from openerp.osv import fields, osv
from openerp.tools.translate import _
from openerp import netsvc
class sale_make_invoice(osv.osv_memory):
_name = "sale.make.invoice"

View File

@ -162,8 +162,9 @@
-
!python {model: sale.order}: |
import os
from openerp import netsvc, tools
(data, format) = netsvc.LocalService('report.sale.order').create(cr, uid, [ref('sale.sale_order_6')], {}, {})
import openerp.report
from openerp import tools
data, format = openerp.report.render_report(cr, uid, [ref('sale.sale_order_6')], 'sale.order', {}, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'sale-sale_order.'+format), 'wb+').write(data)

View File

@ -3,8 +3,9 @@
-
!python {model: stock.location}: |
import os
from openerp import netsvc, tools
(data, format) = netsvc.LocalService('report.lot.stock.overview').create(cr, uid, [ref('location_refrigerator')], {}, {})
import openerp.report
from openerp import tools
data, format = openerp.report.render_report(cr, uid, [ref('location_refrigerator')], 'lot.stock.overview', {}, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'stock-overview'+format), 'wb+').write(data)
-
@ -12,8 +13,9 @@
-
!python {model: stock.location}: |
import os
from openerp import netsvc, tools
(data, format) = netsvc.LocalService('report.lot.stock.overview_all').create(cr, uid, [ref('location_refrigerator')], {}, {})
import openerp.report
from openerp import tools
data, format = openerp.report.render_report(cr, uid, [ref('location_refrigerator')], 'lot.stock.overview_all', {}, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'stock-overviewall'+format), 'wb+').write(data)
-
@ -21,8 +23,9 @@
-
!python {model: stock.inventory}: |
import os
from openerp import netsvc, tools
(data, format) = netsvc.LocalService('report.stock.inventory.move').create(cr, uid, [ref('stock_inventory_icecream')], {}, {})
import openerp.report
from openerp import tools
data, format = openerp.report.render_report(cr, uid, [ref('stock_inventory_icecream')], 'stock.inventory.move', {}, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'stock-stock_inventory_move.'+format), 'wb+').write(data)
-
@ -30,8 +33,9 @@
-
!python {model: stock.picking}: |
import os
from openerp import netsvc, tools
(data, format) = netsvc.LocalService('report.stock.picking.list').create(cr, uid, [ref('outgoing_shipment')], {}, {})
import openerp.report
from openerp import tools
data, format = openerp.report.render_report(cr, uid, [ref('outgoing_shipment')], 'stock.picking.list', {}, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'stock-picking_list'+format), 'wb+').write(data)
-
@ -39,8 +43,9 @@
-
!python {model: product.product}: |
import os
from openerp import netsvc, tools
(data, format) = netsvc.LocalService('report.stock.product.history').create(cr, uid, [ref('product_icecream')], {}, {})
import openerp.report
from openerp import tools
data, format = openerp.report.render_report(cr, uid, [ref('product_icecream')], 'stock.product.history', {}, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'stock-product_stock_report.'+format), 'wb+').write(data)

View File

@ -19,7 +19,6 @@
#
##############################################################################
from openerp import netsvc
import time
from openerp.osv import osv,fields

View File

@ -19,7 +19,6 @@
##############################################################################
from openerp.osv import osv
from openerp import netsvc
from openerp.tools.translate import _
class procurement_order(osv.osv):

View File

@ -25,7 +25,7 @@ from dateutil.relativedelta import relativedelta
from time import strftime
import os
from openerp import netsvc, tools
from openerp import tools
from openerp.osv import fields, osv
from openerp.tools.translate import _

View File

@ -25,8 +25,9 @@ from lxml import etree
import os
from time import strftime
from openerp import addons, netsvc, tools
from openerp import addons, tools
from openerp.osv import fields, osv
import openerp.report
from openerp.tools import to_xml
from openerp.tools.translate import _
from openerp.tools.safe_eval import safe_eval
@ -463,8 +464,7 @@ class survey_question_wiz(osv.osv_memory):
return (False, Exception('Report name and Resources ids are required !!!'))
try:
uid = 1
service = netsvc.LocalService(report_name);
(result, format) = service.create(cr, uid, res_ids, {}, context)
result, format = openerp.report.render_report(cr, uid, res_ids, report_name[len('report.'):], {}, context)
ret_file_name = addons.get_module_resource('survey', 'report') + file_name + '.pdf'
fp = open(ret_file_name, 'wb+');
fp.write(result);

View File

@ -26,8 +26,9 @@ import os
import datetime
import socket
from openerp import addons, netsvc, tools
from openerp import addons, tools
from openerp.osv import fields, osv
import openerp.report
from openerp.tools.translate import _
@ -85,8 +86,7 @@ Thanks,''') % (name, self.pool.get('ir.config_parameter').get_param(cr, uid, 'we
return (False, Exception('Report name and Resources ids are required !!!'))
try:
ret_file_name = addons.get_module_resource('survey', 'report') + file_name + '.pdf'
service = netsvc.LocalService(report_name);
(result, format) = service.create(cr, uid, res_ids, {}, {})
result, format = openerp.report.render_report(cr, uid, res_ids, report_name[len('report.'):], {}, {})
fp = open(ret_file_name, 'wb+');
fp.write(result);
fp.close();