Benvenuto,
Ospite
|
ARGOMENTO: Report QWeb da wizard
Report QWeb da wizard 3 Anni 6 Mesi fa #21809
|
Salve a tutti,
sto provando a generare un report partendo da un wizard. Ho creato un modulo che contiene dei dati, successivamente ho creato un altro modulo che crea un wizard che genera un report. Il fatto è che non riesco ad accedere ai dati del primo modulo attraverso il secondo. L'oggetto del primo modulo è "tc_geco_test.courses" (contenuto nel modulo tc_geco_test), che contiene alcuni campi che vorrei stampare nel report PFD (usando QWeb). Di seguito l'albero del modulo di wizard: - __init__.py - __openerp__.py - geco_report_corsi_view.xml - tc_geco_test_report_corsi.xml - report/ ---- __init__.py ---- geco_report_corsi.py ---- report_corsi_geco.xml E tutti i file nel dettaglio: __init__.py import report __openerp__.py {
'name': 'Ge.Co. Test Wizard',
'version': '0.1',
'depends': ['tc_geco_test'],
'data': [
'geco_report_corsi_view.xml',
'tc_geco_test_report_corsi.xml',
'report/report_corsi_geco.xml',
],
'installable': True,
'application': False,
'description': '...',
} geco_report_corsi_view.xml <?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record model="ir.ui.view" id="wizard_form_view">
<field name="name">wizard.courses_report_form</field>
<field name="model">tc_geco.report_corsi</field>
<field name="arch" type="xml">
<form string="Courses Report">
<group>
<field name="date_start"/>
<field name="date_stop"/>
</group>
<footer>
<button name="submit" type="object"
string="Submit" class="oe_highlight"/>
or
<button special="cancel" string="Cancel"/>
</footer>
</form>
</field>
</record>
<act_window id="launch_courses_report_wizard"
name="Courses Report"
src_model="tc_geco_test.courses"
res_model="tc_geco.report_corsi"
view_mode="form"
target="new"
key2="client_action_multi"
/>
<menuitem action="launch_courses_report_wizard" id="menu_launch_courses_report_wizard" parent="hr.menu_hr_main" groups="base.group_hr_manager" name="Ge.Co. Courses Report"/>
</data>
</openerp> tc_geco_test_report_corsi.xml <?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<report
id="tc_geco_test_report_corsi"
model="tc_geco.report_corsi"
report_type="qweb-pdf"
string="Stampa Report Corsi"
name="tc_geco_report_wizard_due.report_corsi_geco"
file="tc_geco_report_wizard_due.report_corsi_geco"
/>
</data>
</openerp> report/geco_report_corsi.py import datetime
from openerp.osv import orm, fields
from openerp.tools.translate import _
class tc_geco_report_courses(orm.TransientModel):
_name = 'tc_geco.report_corsi'
_columns = {
'name': fields.char('Name'),
'date_start': fields.date('Start Date'),
'date_stop': fields.date('End Date'),
}
def _default_start(self, cr, uid, ids, context=None):
return datetime.date.today().replace(month=01, day=01)
def _default_stop(self, cr, uid, ids, context=None):
return datetime.date.today().replace(month=12, day=31)
def submit(self, cr, uid, ids, context=None):
geco_course_obj = self.pool.get('tc_geco_test.courses')
cur_obj = self.browse(cr, uid, ids, context=context)
datas = {}
courses_ids = geco_course_obj.search(cr, uid, [('start','>=',cur_obj.date_start),('end','<=',cur_obj.date_stop)], context=context)
course_obj = geco_course_obj.browse(cr, uid, courses_ids, context=context)
if courses_ids:
data = self.read(cr, uid, ids, context=context)[0]
datas = {
'ids': courses_ids,
'model': 'tc_geco_test.courses',
'form': data,
'context': context,
}
return {
'type': 'ir.actions.report.xml',
'report_name': 'tc_geco_report_wizard_due.report_corsi_geco',
'datas': datas,
} report/report_corsi_geco.xml <?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<template id="report_corsi_geco">
<t t-call="report.html_container">
<t t-call="report.external_layout">
<div class="page">
<table class="table">
<tr>
<td style="border: none; padding: 0;">
<p style="font-size: 20px; font-weight: bold;">Report Corsi</p>
</td>
</tr>
</table>
<table class="table table-condensed">
<tr>
<td style="font-size: 13px; text-align: center; color: #FFF; font-weight: bold; background-color: #0973BA; border-color: #8CBEE3;">Account</td>
<td style="font-size: 13px; text-align: center; color: #FFF; font-weight: bold; background-color: #0973BA; border-color: #8CBEE3;">Docente</td>
<td style="font-size: 13px; text-align: center; color: #FFF; font-weight: bold; background-color: #0973BA; border-color: #8CBEE3;">Corso Interno</td>
<td style="font-size: 13px; text-align: center; color: #FFF; font-weight: bold; background-color: #0973BA; border-color: #8CBEE3;">Corso Esterno</td>
<td style="font-size: 13px; text-align: center; color: #FFF; font-weight: bold; background-color: #0973BA; border-color: #8CBEE3;">Data Inizio</td>
<td style="font-size: 13px; text-align: center; color: #FFF; font-weight: bold; background-color: #0973BA; border-color: #8CBEE3;">Data Fine</td>
<td style="font-size: 13px; text-align: center; color: #FFF; font-weight: bold; background-color: #0973BA; border-color: #8CBEE3;">Valutazione</td>
</tr>
<tr t-foreach="docs" t-as="o">
<td> --- </td>
<td> --- </td>
<td> --- </td>
<td> --- </td>
<td> --- </td>
<td> --- </td>
<td> --- </td>
</tr>
</table>
</div>
</t>
</t>
</template>
</data>
</openerp> Ovviamente non riesco ad ottenere il risultato sperato, ovvero generare un report contenente le informazioni dei campi contenuti in "course_obj = geco_course_obj.browse(cr, uid, courses_ids, context=context)" Sapete aiutarmi? |
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
|
Tempo creazione pagina: 0.126 secondi