← Back to team overview

openerp-dev-web team mailing list archive

[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