openerp-dev-web team mailing list archive
-
openerp-dev-web team
-
Mailing list archive
-
Message #05321
[Merge] lp:~openerp-dev/openobject-addons/fixed_empty_evalution_report into lp:~openobject-training/openobject-addons/training
gpa(Open ERP) has proposed merging lp:~openerp-dev/openobject-addons/fixed_empty_evalution_report into lp:~openobject-training/openobject-addons/training.
Requested reviews:
Bhumika (OpenERP) (sbh-openerp)
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/fixed_empty_evalution_report/+merge/57139
Fixed error on the training_evalution module Empty Evalution Report
--
https://code.launchpad.net/~openerp-dev/openobject-addons/fixed_empty_evalution_report/+merge/57139
Your team OpenERP R&D Team is subscribed to branch lp:~openerp-dev/openobject-addons/fixed_empty_evalution_report.
=== modified file 'training_evaluation/report/empty_evaluation.rml'
--- training_evaluation/report/empty_evaluation.rml 2011-04-05 11:22:51 +0000
+++ training_evaluation/report/empty_evaluation.rml 2011-04-11 10:58:27 +0000
@@ -1,11 +1,5 @@
<?xml version="1.0"?>
<document filename="test.pdf">
- <docinit>
- <registerFont fontName="Arial" fontFile="/usr/share/fonts/truetype/msttcorefonts/Arial.ttf"/>
- <registerFont fontName="Arial-Bold" fontFile="/usr/share/fonts/truetype/msttcorefonts/Arial_Bold.ttf"/>
- <registerFont fontName="Arial-Bold-Italic" fontFile="/usr/share/fonts/truetype/msttcorefonts/Arial_Bold_Italic.ttf"/>
- <registerFont fontName="OpenSymbol" fontFile="/usr/share/fonts/truetype/openoffice/opens___.ttf"/>
- </docinit>
<template pageSize="(595.0,842.0)" title="Test" author="Martin Simon" allowSplitting="20">
<pageTemplate>
<frame id="first" x1="0.9cm" y1="1.7cm" height="25.30cm" width="20cm"/>
@@ -124,8 +118,8 @@
<paraStyle name="Heading 9" fontName="Helvetica-Bold" fontSize="75%" leading="NaN" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="terp_tblheader_General" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_tblheader_Details" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
- <paraStyle name="terp_default_8" fontName="Arial" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#808080"/>
- <paraStyle name="terp_default_Bold_8" fontName="Arial-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#808080"/>
+ <paraStyle name="terp_default_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#808080"/>
+ <paraStyle name="terp_default_Bold_8" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#808080"/>
<paraStyle name="terp_tblheader_General_Centre" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_tblheader_General_Right" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_tblheader_Details_Centre" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
@@ -133,29 +127,29 @@
<paraStyle name="terp_default_Right_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_Centre_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_header_Right" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
- <paraStyle name="terp_header_Centre" fontName="Arial-Bold" fontSize="18.0" leading="20" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0" textColor="#808080"/>
+ <paraStyle name="terp_header_Centre" fontName="Helvetica-Bold" fontSize="18.0" leading="20" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0" textColor="#808080"/>
<paraStyle name="terp_default_address" fontName="Helvetica" fontSize="10.0" leading="13" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
- <paraStyle name="terp_default_9" fontName="Arial" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#808080"/>
- <paraStyle name="terp_default_Bold_9" fontName="Arial-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#808080"/>
+ <paraStyle name="terp_default_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#808080"/>
+ <paraStyle name="terp_default_Bold_9" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#808080"/>
<paraStyle name="terp_default_Centre_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_Right_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_space" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="9.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_2" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_Right_9_Bold" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
- <paraStyle name="terp_default_10" fontName="Arial" fontSize="10.0" leading="12" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#808080"/>
- <paraStyle name="terp_default_10_bold" fontName="Arial-Bold" fontSize="10.0" leading="12" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#808080"/>
- <paraStyle name="terp_default_10_center" fontName="Arial" fontSize="10.0" leading="12" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0" textColor="#808080"/>
- <paraStyle name="terp_plain_question" fontName="Arial-Bold-Italic" fontSize="10.0" leading="12" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#808080"/>
- <paraStyle name="terp_main_category" fontName="Arial-Bold" fontSize="12.0" leading="14" alignment="LEFT" spaceBefore="5.0" spaceAfter="10.0" textColor="#808080"/>
- <paraStyle name="terp_default_12_bold" fontName="Arial-Bold" fontSize="12.0" leading="14" alignment="LEFT" spaceBefore="5" spaceAfter="5" textColor="#808080"/>
- <paraStyle name="terp_default_12_bold_black" fontName="Arial-Bold" fontSize="12.0" leading="14" alignment="LEFT" spaceBefore="5" spaceAfter="5" textColor="#000000"/>
- <paraStyle name="symb_default_center" fontName="OpenSymbol" fontSize="14.0" leading="14" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0" textColor="#808080"/>
- <paraStyle name="symb_default_right" fontName="OpenSymbol" fontSize="14.0" leading="14" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0" textColor="#808080"/>
+ <paraStyle name="terp_default_10" fontName="Helvetica" fontSize="10.0" leading="12" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#808080"/>
+ <paraStyle name="terp_default_10_bold" fontName="Helvetica-Bold" fontSize="10.0" leading="12" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#808080"/>
+ <paraStyle name="terp_default_10_center" fontName="Helvetica" fontSize="10.0" leading="12" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0" textColor="#808080"/>
+ <paraStyle name="terp_plain_question" fontName="Helvetica-Oblique" fontSize="10.0" leading="12" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0" textColor="#808080"/>
+ <paraStyle name="terp_main_category" fontName="Helvetica-Bold" fontSize="12.0" leading="14" alignment="LEFT" spaceBefore="5.0" spaceAfter="10.0" textColor="#808080"/>
+ <paraStyle name="terp_default_12_bold" fontName="Helvetica-Bold" fontSize="12.0" leading="14" alignment="LEFT" spaceBefore="5" spaceAfter="5" textColor="#808080"/>
+ <paraStyle name="terp_default_12_bold_black" fontName="Helvetica-Bold" fontSize="12.0" leading="14" alignment="LEFT" spaceBefore="5" spaceAfter="5" textColor="#000000"/>
+ <paraStyle name="symb_default_center" fontName="Helvetica" fontSize="14.0" leading="14" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0" textColor="#808080"/>
+ <paraStyle name="symb_default_right" fontName="Helvetica" fontSize="14.0" leading="14" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0" textColor="#808080"/>
</stylesheet>
<images/>
<story>
<para style="Standard">[[ repeatIn(get_eval(objects),'evg') ]]</para>
- <para style="Standard">[[ setLang(evg.seance_id.course_id and evg.seance_id.course_id.lang_id.code) ]]</para>
+ <para style="Standard">[[ setLang(evg.seance_id.course_id and evg.seance_id.course_id.lang_id.code) ]]</para>
<para style="Standard">
<font color="white"> </font>
</para>
@@ -163,13 +157,13 @@
<para style="Standard">
<font color="white"> </font>
</para>
- <para style="terp_default_12_bold">NOM, PRENOM DU PARTICIPANT <font name="Arial-Bold-Italic">(faculatif)</font> : .................................................................................</para>
- <para style="terp_default_12_bold">ADRESSE E-MAIL <font name="Arial-Bold-Italic">(facultatif)</font> : ..........................................................................................................</para>
- <para style="terp_default_12_bold">SERVICE/FONCTION : ........................................................................................................................</para>
- <para style="terp_default_12_bold">BANQUE/SOCIETE : ...........................................................................................................................</para>
- <para style="terp_default_12_bold_black">INTITULE DE LA FORMATION: <font name="Arial">[[ evg.seance_id.name ]]</font></para>
- <para style="terp_default_12_bold_black">FORMATEUR: <font name="Arial">[[ evg.seance_id.contact_names ]]</font></para>
- <para style="terp_default_12_bold_black">DATE(S) DE LA FORMATION: <font name="Arial">[[ formatLang(evg.seance_id.date, date_time=True)[:16] ]]</font></para>
+ <para style="terp_default_12_bold">NOM, PRENOM DU PARTICIPANT <font name="Helvetica">(faculatif)</font> : .................................................................................</para>
+ <para style="terp_default_12_bold">ADRESSE E-MAIL <font name="Helvetica">(facultatif)</font> : ..........................................................................................................</para>
+ <para style="terp_default_12_bold">SERVICE/FONCTION : ........................................................................................................................</para>
+ <para style="terp_default_12_bold">BANQUE/SOCIETE : ...........................................................................................................................</para>
+ <para style="terp_default_12_bold_black">INTITULE DE LA FORMATION: <font name="Helvetica">[[ evg.seance_id.name ]]</font></para>
+ <para style="terp_default_12_bold_black">FORMATEUR: <font name="Helvetica">[[ evg.seance_id.contact_names ]]</font></para>
+ <para style="terp_default_12_bold_black">DATE(S) DE LA FORMATION: <font name="Helvetica">[[ formatLang(evg.seance_id.date, date_time=True)[:16] ]]</font></para>
<para style="Standard">
<font color="white"> </font>
</para>
@@ -182,81 +176,71 @@
<para style="terp_default_Bold_9">Merci de commenter vos réponses !</para>
</td>
<td>
- <para style="terp_default_9">1 = note la plus faible
- 5 = note la plus élevée</para>
+ <para style="terp_default_9">1 = note la plus faible 5 = note la plus élevée</para>
</td>
<td></td>
</tr>
</blockTable>
<para style="Standard"><font color="white"> </font></para>
-
<section>
- [[ repeatIn(get_question_by_main_category(evg.questionnaire_id.question_ids), 'main_categ') ]]
- <blockTable colWidths="380.0,155.0,15.0" style="Table1">
- <tr>[[ repeatIn([ x for x in main_categ[1] if x.type == 'qcu'], 'question') ]]
- <td>[[ question.type == 'qcu' or removeParentNode('td') ]]
- <para style="terp_default_10_bold">[[ main_categ[0].name + u' / ' + ((question.category_id and question.category_id.id != main_categ[0].id) and question.category_id.name or removeParentNode('para')) ]]</para>
- <para style="terp_default_10">[[ question.question_id.question ]] </para>
- </td>
- <td>[[ question.type == 'qcu' or removeParentNode('td') ]]
- <blockTable colWidths="17.0,21.0,21.0,21.0,21.0,21.0,17.0" style="Table1_CheckBox">
- <tr>
- <td></td>
- <td><para style="terp_default_10_center">1</para></td>
- <td><para style="terp_default_10_center">2</para></td>
- <td><para style="terp_default_10_center">3</para></td>
- <td><para style="terp_default_10_center">4</para></td>
- <td><para style="terp_default_10_center">5</para></td>
- <td></td>
- </tr>
- <tr>
- <td><para style="symb_default_right">â¹</para></td>
- <td><CheckBox x="0" y="0" size="7" bordercolor="#808080">[[ '%d-%d' % (question.question_id.id, 1) ]]</CheckBox></td>
- <td><CheckBox x="0" y="0" size="7" bordercolor="#808080">[[ '%d-%d' % (question.question_id.id, 2) ]]</CheckBox></td>
- <td><CheckBox x="0" y="0" size="7" bordercolor="#808080">[[ '%d-%d' % (question.question_id.id, 3) ]]</CheckBox></td>
- <td><CheckBox x="0" y="0" size="7" bordercolor="#808080">[[ '%d-%d' % (question.question_id.id, 4) ]]</CheckBox></td>
- <td><CheckBox x="0" y="0" size="7" bordercolor="#808080">[[ '%d-%d' % (question.question_id.id, 5) ]]</CheckBox></td>
- <td><para style="symb_default_center">âº</para></td>
- </tr>
- </blockTable>
- </td>
- <td>[[ question.type == 'plain' and setTag('tr', 'tr', {'style': "Table1_ColSpan2"}) ]]
- [[ question.type == 'plain' or removeParentNode('td') ]]
- <para style="terp_default_10_bold">[[ question.question_id.question ]] </para>
- <para style="Standard"><font color="white"> </font></para>
- <para style="Standard"><font color="white"> </font></para>
- <para style="Standard"><font color="white"> </font></para>
- <para style="Standard"><font color="white"> </font></para>
- <para style="Standard"><font color="white"> </font></para>
- <para style="Standard"><font color="white"> </font></para>
- <para style="Standard"><font color="white"> </font></para>
- </td>
- <td></td>
- </tr>
- </blockTable>
+ <para>[[ repeatIn(get_question_by_main_category(evg.questionnaire_id.question_ids), 'main_categ') ]]</para>
+ <section>
+ <para> [[ repeatIn([ x for x in main_categ[1] if x.type == 'qcu'], 'question') ]] </para>
+ <blockTable colWidths="300.0,155.0,95.0" style="Table1">
+ <tr>
+ <td>[[ question.type == 'qcu' or removeParentNode('td') ]]
+ <para style="terp_default_10_bold">[[ main_categ[0].name + u' / ' + ((question.category_id and question.category_id.id != main_categ[0].id) and question.category_id.name or removeParentNode('para')) ]]</para>
+ <para style="terp_default_10">[[ question.question_id.question ]] </para>
+ </td>
+ <td>[[ question.type == 'qcu' or removeParentNode('td') ]]
+ <blockTable colWidths="17.0,21.0,21.0,21.0,21.0,21.0,17.0" style="Table1_CheckBox">
+ <tr>
+ <td></td>
+ <td><para style="terp_default_10_center">1</para></td>
+ <td><para style="terp_default_10_center">2</para></td>
+ <td><para style="terp_default_10_center">3</para></td>
+ <td><para style="terp_default_10_center">4</para></td>
+ <td><para style="terp_default_10_center">5</para></td>
+ <td></td>
+ </tr>
+ <tr>
+ <!--<td><para style="symb_default_right">â¹</para></td>
+ <td><CheckBox x="0" y="0" size="7" bordercolor="#808080">[[ '%d-%d' % (question.question_id.id, 1) ]]</CheckBox></td>
+ <td><CheckBox x="0" y="0" size="7" bordercolor="#808080">[[ '%d-%d' % (question.question_id.id, 2) ]]</CheckBox></td>
+ <td><CheckBox x="0" y="0" size="7" bordercolor="#808080">[[ '%d-%d' % (question.question_id.id, 3) ]]</CheckBox></td>
+ <td><CheckBox x="0" y="0" size="7" bordercolor="#808080">[[ '%d-%d' % (question.question_id.id, 4) ]]</CheckBox></td>
+ <td><CheckBox x="0" y="0" size="7" bordercolor="#808080">[[ '%d-%d' % (question.question_id.id, 5) ]]</CheckBox></td>
+ <td><para style="symb_default_center">âº</para></td>-->
+ </tr>
+ </blockTable>
+ </td>
+ <td>[[ question.type == 'plain' and setTag('tr', 'tr', {'style': "Table1_ColSpan2"}) or removeParentNode('td') ]]
+ <para style="terp_default_10_bold">[[ question.question_id.question ]] </para>
+ </td>
+ </tr>
+ </blockTable>
+ </section>
<spacer length=".3cm" />
</section>
+
<section>
- [[ repeatIn(get_question_by_main_category(evg.questionnaire_id.question_ids), 'main_categ') ]]
+ <para style="terp_default_10_center"> [[ repeatIn(get_question_by_main_category(evg.questionnaire_id.question_ids), 'main_categ') ]] </para>
<condPageBreak height="40"/>
- <para style="terp_main_category">[[ main_categ[0].name ]] </para>
-
- <blockTable colWidths="380.0,155.0,15.0,15.0" style="Table1_ColSpan2">
- <tr>[[ repeatIn([ x for x in main_categ[1] if x.type != 'qcu'], 'question') ]]
- <td> <para style="terp_default_10_bold">[[ question.question_id.question ]] </para>
- <para style="Standard"><font color="white"> </font></para>
- <para style="Standard"><font color="white"> </font></para>
- <para style="Standard"><font color="white"> </font></para>
- <para style="Standard"><font color="white"> </font></para>
- <para style="Standard"><font color="white"> </font></para>
- <para style="Standard"><font color="white"> </font></para>
- <para style="Standard"><font color="white"> </font></para>
- </td>
- <td></td>
- <td></td>
- </tr>
- </blockTable>
- <spacer length=".3cm" />
+ <para style="terp_main_category">[[ main_categ[0].name ]]</para>
+ <section>
+ <para style="terp_default_10_center">[[ repeatIn([ x for x in main_categ[1] if x.type != 'qcu'], 'question') ]] </para>
+ <blockTable colWidths="380.0,155.0,15.0,15.0" style="Table1_ColSpan2">
+ <tr>
+ <td>
+ <para style="terp_default_10_bold">[[ question.question_id.question ]]</para>
+ </td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ </blockTable>
+ <spacer length=".3cm" />
+ </section>
</section>
<spacer length="1.2cm" />
<para style="terp_default_10">Autres commentaires ou suggestions :</para>
=== modified file 'training_evaluation/report/in_construction.py'
--- training_evaluation/report/in_construction.py 2011-04-08 11:07:04 +0000
+++ training_evaluation/report/in_construction.py 2011-04-11 10:58:27 +0000
@@ -28,6 +28,7 @@
import pooler
import cStringIO
import base64
+from setuptools import find_packages
class fake_obj(object):
def __init__(self, d):
@@ -92,6 +93,7 @@
'get_plain_results' : self._get_plain_results,
'get_question_by_main_category': self.get_question_by_main_category,
'get_eval': self.get_eval,
+ 'xrange': self.xrange,
})
def _get_plain_results(self, global_evaluation):
@@ -152,6 +154,9 @@
objs.append(obj)
return objs
+ def xrange(self, number):
+ return range(number)
+
class report_and_store_checkboxes_position(report_sxw.report_sxw):
def __init__(self, *args, **kwargs):
super(report_and_store_checkboxes_position, self).__init__(*args, **kwargs)
@@ -200,6 +205,11 @@
results.append(result)
if results:
if results[0][1]=='pdf':
+ install_pack = []
+ for package in find_packages():
+ install_pack.append(package)
+ if 'report.pyPdf' not in install_pack:
+ netsvc.Logger().notifyChannel('report', netsvc.LOG_ERROR, "pyPdf package must be install")
from report.pyPdf import PdfFileWriter, PdfFileReader
output = PdfFileWriter()
for r in results:
@@ -219,10 +229,12 @@
context['checkboxes_position'] = [] # add a reference in context since it can't be modified during next call
context['checkboxes_context'] = [] # add a reference in context since it can't be modified during next call
context['participation_id'] = [] # add a reference in context since it can't be modified during next call
+ global_evaluation_id = False
pdf, report_type = super(report_and_store_checkboxes_position, self).create_single_pdf(cr, uid, ids, data, report_xml, context)
if 'preview' not in context:
# only store checkboxes position for real print
- global_evaluation_id = int(context['participation_id'][0])
+ if context['participation_id']:
+ global_evaluation_id = int(context['participation_id'][0])
training_scan_result = pool.get('position.storage')
training_scan_result.save_checkboxes_position(cr, uid, 'training.evaluation.global', global_evaluation_id, context['checkboxes_position'], context['checkboxes_context'])
Follow ups