Odoo Help

0

[SOLVED]- Generate reports from wizards-Empty Pages !?

By
Mostafa Mohamed Abdel Monaem
on 4/8/15, 8:42 PM 2,731 views



I updated the code but it generate error in calling `gen_student_attendance_report` function in ther report

Hint : if i remove the table of `gen_student_attendance_report` function the report print successfully

Here is my error :

except_orm: (u'"gen_student_attendance_report() got multiple values for keyword argument \'context\'" while evaluating\n\'o.gen_student_attendance_report(o.id)\'', (<class 'openerp.addons.base.ir.ir_qweb.QWebException'>, QWebException(ValueError(u'"gen_student_attendance_report() got multiple values for keyword argument \'context\'" while evaluating\n\'o.gen_student_attendance_report(o.id)\'',),), <traceback object at 0x7f3478bd0a28>))

Here is my python code :

from openerp.osv import osv,fields
import time

class fci_attendance_analysis (osv.osv):
_name='fci.attendance.analysis'
_rec_name='student_id'

_columns={
'standard_id':fields.many2one('fci.standard',string='Standard',required=True),
'group_id':fields.many2one('fci.standard.groups',string='Group'),
'date':fields.date('Date Of generation',readonly=True),
'_date':fields.date('Date'),
'student_id':fields.many2one('fci.student',string='Student'),
'number_of_absence': fields.integer( 'Number Of Absence'),
'terms_id': fields.many2one('fci.terms', string='Term',required=True),
'subject_id':fields.many2one('fci.subject',string='Subject',required=True),
'state': fields.selection([('s','by Subject'),('t','By Student')],string='Select Report Type',required=True),
}
_defaults = {
'state': 't',
'date': time.strftime("%Y-%m-%d")
}
def gen_student_attendance_report(self,cr, uid, ids, context=None ):
datas = {}
if context is None:context = {}
noobs_data=[]
data = self.read(cr, uid, ids, ['state','subject_id','student_id'], context=context)
stu= data[0]['student_id']
sub=data[0]['subject_id']
darsh=int(stu[0])
sasa=int(sub[0])
if data[0]['state'] == 't':
cr.execute(
"select DISTINCT ON (s.name) s.name as student_name,d.name as subject_name,attendance_date from fci_attendance_line ,fci_student s,fci_subject d where s.id=%d and d.id=%d and present=False "% (
darsh,sasa))
noobs = cr.dictfetchall()
cr.execute(
"select DISTINCT ON (s.name) s.name as student_name,d.name as subject_name,attendance_date from fci_attendance_line ,fci_student s,fci_subject d where s.id=%d and d.id=%d and present=False "% (
darsh,sasa))
noobs_details = cr.dictfetchall()
for details_ids in noobs_details:
for datae in noobs:
details_ids[datae['student_name']] = str(datae['student_name'])+str(datae['subject_name']) + str(datae['attendance_date'])
noobs_data.append(details_ids)

datas = {
'ids': [],
'model': 'fci.attendance.analysis',
'form': noobs_data[0]
}
return {
'type': 'ir.actions.report.xml',
'report_name': 'FCI_ERP.abcence_report_stu_document',
'datas': datas
}

fci_attendance_analysis()

here is my wizard code :

<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
<record id="fci_attendance_analysis_form" model="ir.ui.view">
<field name="name">fci.attendance.analysis.form</field>
<field name="model">fci.attendance.analysis</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<form string="Time Table Report" version="7.0">
<header>
<span groups="base.group_user">
<button special="cancel" string="Close" type="object"
icon="terp-dialog-close"/>
<button string="Generate Time Table Report" type="object"
name="gen_student_attendance_report"/>
</span>
</header>
<sheet>
<separator string="Select Teacher/Student" colspan="4"/>
<div>
<group colspan="4" cols="4">
<field name="state"/>
<field name="standard_id"/>
<field name="date"/>
<field name="terms_id"/>
<field name="subject_id"/>
</group>
<group col="4" colspan="4">
<field name="group_id"
attrs="{'required':[('state','=','t')],'invisible':[('state','!=','t')]}"/>
<field name="student_id"
attrs="{'required':[('state','=','t')],'invisible':[('state','!=','t')]}"/>
</group>
</div>
</sheet>
</form>
</field>
</record>

<record model="ir.actions.act_window" id="fci_attendance_analysis_reports_view">
<field name="name">Generate Time Table Report</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">fci.attendance.analysis</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="target">new</field>
<field name="domain">[]</field>
<field name="context">{}</field>
</record>
<record model="ir.actions.act_window.view" id="fci_attendance_analysis_reports_view_form">
<field name="act_window_id" ref="fci_attendance_analysis_reports_view"/>
<field name="sequence" eval="20"/>
<field name="view_mode">form</field>
<field name="view_id" ref="fci_attendance_analysis_form"/>
</record>
</data>
</openerp>

and here is my report.xml :


<?xml version="1.0" encoding="utf-8"?>
<openerp>

<data>
<template id="abcence_report_stu_document">
<style type="text/css">
table.gridtable {
font-family: verdana,arial,sans-serif;
font-size:14px;
color:#333333;
border-width: 1px;
border-color: #666666;
border-collapse: collapse;
}
table.gridtable th {
border-width: 1px;
padding: 9px;
border-style: solid;
border-color: #666666;
background-color: #dedede;
}
table.gridtable td {
border-width: 1px;
padding: 9px;
border-style: solid;
border-color: #666666;
background-color: #ffffff;
}
</style>

<t t-call="report.html_container">
<t t-foreach="docs" t-as="o">
<t t-call="report.external_layout">
<div class="font">
<div class="page">
<div class="row text-center">
<h2>
<b>
<span t-field='res_company.name'/>
</b>
</h2>
</div>
<para>
<font color="white">......</font>
</para>
<para>
<font color="white">......</font>
</para>
<para>
<font color="white">......</font>
</para>
<div class="row text-center">
<h2>
<strong>
كشف غياب الطالب
<p>
<span t-esc="o.student_id.name"/>
</p>
فى مادة
<p>
<span t-esc="o.subject_id.name"/>
</p>
</strong>
</h2>
</div>
<para>
<font color="white">......</font>
</para>
<para>
<font color="white">......</font>
</para>
<para>
<font color="white">......</font>
</para>
<para>
<font color="white">......</font>
</para>
<table class="gridtable">
<tbody>
<tr>
<th>Student Name</th>
<th>Standard</th>
<th>Group</th>
</tr>
<tr>
<td>
<span t-esc="o.student_id.name"/>
</td>
<td>
<span t-esc="o.standard_id.name"/>
</td>
<td>
<span t-esc="o.group_id.name"/>
</td>
</tr>
</tbody>
</table>
<para>
<font color="white">......</font>
</para>
<para>
<font color="white">......</font>
</para>
<table class="gridtable">
<tbody>
<tr>
<th>Subject Name</th>
<th>Absence Day</th>
</tr>
<tr t-foreach="o.gen_student_attendance_report(datas)" t-as="a">
<td>
<span t-esc="datas.get('student_name')"/>
</td>
<td>
<span t-esc="datas.get('attendance_date') "/>
</td>

</tr>

</tbody>
</table>
<para>
<font color="white">......</font>
</para>
<para>
<font color="white">......</font>
</para>
</div>
</div>
</t>
</t>
</t>
</template>
</data>
</openerp>

and here is my report tag :

<report
string="Student Report Absence"
id="report_Absence_subject"
model="fci.attendance.analysis"
report_type="qweb-pdf"
name="FCI_ERP.abcence_report_stu_document"
file="FCI_ERP.abcence_report_stu_document"/>

 i Hope i find some help :(

Any help !!!

Mostafa Mohamed Abdel Monaem
on 4/9/15, 8:29 PM
2
Anil R. Kesariya
On 4/9/15, 9:53 PM

Hello  John carter,

I faced the same issue before, even I asked that question already.

If you are using parser, for report than it create problem, because it passing wrong doc model.

To get exact model you have to override one method and have to expclitly pass few arguments for for qweb report. Click below link for more information.

Click Here


Hope this will helps.


Rgds,

Anil.



so what should i do ? where is should add this new class and what is 'report.model'

Mostafa Mohamed Abdel Monaem
on 4/10/15, 2:03 PM

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

Register

Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

0 follower(s)

Stats

Asked: 4/8/15, 8:42 PM
Seen: 2731 times
Last updated: 4/10/15, 10:45 PM