[MERGE] use new report API.
bzr revid: vmt@openerp.com-20130328121009-r3n63gmhfkv0dnby
This commit is contained in:
commit
5639a52431
|
@ -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 _
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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:
|
||||
|
||||
|
|
|
@ -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)
|
||||
-
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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 ***"""
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
##############################################################################
|
||||
|
||||
import os, time
|
||||
from openerp import netsvc
|
||||
|
||||
import random
|
||||
import StringIO
|
||||
|
|
|
@ -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)
|
||||
-
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 _
|
||||
|
|
|
@ -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')
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
#
|
||||
##############################################################################
|
||||
import time
|
||||
from openerp import netsvc
|
||||
from datetime import date, datetime, timedelta
|
||||
|
||||
from openerp.osv import fields, osv
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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"),
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
#
|
||||
##############################################################################
|
||||
|
||||
from openerp import netsvc
|
||||
from openerp.osv import fields, osv
|
||||
from openerp.tools.translate import _
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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 = {
|
||||
|
|
|
@ -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)
|
||||
-
|
||||
|
|
|
@ -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 _
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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)
|
||||
-
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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"""
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
#
|
||||
##############################################################################
|
||||
|
||||
from openerp import netsvc
|
||||
import time
|
||||
|
||||
from openerp.osv import osv,fields
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
##############################################################################
|
||||
|
||||
from openerp.osv import osv
|
||||
from openerp import netsvc
|
||||
from openerp.tools.translate import _
|
||||
|
||||
class procurement_order(osv.osv):
|
||||
|
|
|
@ -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 _
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Reference in New Issue