← Back to team overview

openerp-dev-web team mailing list archive

lp:~openerp-dev/openobject-addons/addons-training-exam-report-fix-ysa into lp:~openobject-training/openobject-addons/training

 

Yogesh(Open ERP) has proposed merging lp:~openerp-dev/openobject-addons/addons-training-exam-report-fix-ysa into lp:~openobject-training/openobject-addons/training.

Requested reviews:
  OpenObject Training (openobject-training)

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/addons-training-exam-report-fix-ysa/+merge/56518

[FIX] training_exam, training:- fix some problem and add search view of training.participation.line object.
-- 
https://code.launchpad.net/~openerp-dev/openobject-addons/addons-training-exam-report-fix-ysa/+merge/56518
Your team OpenERP R&D Team is subscribed to branch lp:~openerp-dev/openobject-addons/addons-training-exam-report-fix-ysa.
=== modified file 'training/training.py'
--- training/training.py	2011-04-06 05:38:14 +0000
+++ training/training.py	2011-04-06 07:10:58 +0000
@@ -4264,6 +4264,7 @@
                 'date_planned' : obj.seance_id.date,
                 'order_id' : po_id,
                 'price_unit' : price / qty,
+                'seance_id' : obj.seance_id.id,
                 'product_qty' : qty,
                 'product_id' : product.id,
                 'product_uom' : product.uom_id.id,

=== modified file 'training_exam/report/exam_sheet.py'
--- training_exam/report/exam_sheet.py	2011-03-28 06:20:12 +0000
+++ training_exam/report/exam_sheet.py	2011-04-06 07:10:58 +0000
@@ -119,10 +119,11 @@
 
     def preformat(self, string):
         lines = []
-        for l in string.split('\n'):
-            new_l = l.lstrip()
-            full_l = u'\xa0' * (len(l) - len(new_l)) + new_l
-            lines.append(full_l)
+        if string:
+            for l in string.split('\n'):
+                new_l = l.lstrip()
+                full_l = u'\xa0' * (len(l) - len(new_l)) + new_l
+                lines.append(full_l)
         return '\n'.join(lines)
 
     def get_partner_name(self, participation):
@@ -180,13 +181,15 @@
         res = []
         if self.localcontext.get('show_response_note',False) and not participation:
             return []
+        part_line = False
         if self.localcontext.get('show_response_note',False):
             # we are displaying was the user checked
             part_line_pool = self.pool.get('training.participation.line')
             part_line_ids = part_line_pool.search(self.cr, self.uid, [('participation_id','=',participation.id),('question_id','=',question.id)])
-            part_line = part_line_pool.browse(self.cr, self.uid, part_line_ids[0])
+            if part_line_ids:
+                part_line = part_line_pool.browse(self.cr, self.uid, part_line_ids[0])
 
-        if question_type not in['plain','yesno']:
+        if part_line and question_type not in['plain','yesno']:
             self.cr.execute('select name,id,is_solution from training_exam_question_answer where question_id = %s',(question.id,))
             res = self.cr.dictfetchall()
             if self.localcontext.get('show_response_note',False):
@@ -194,7 +197,7 @@
                 for row in res:
                     row['is_solution'] = (row['id'] in part_mcq_answers) and 'yes' or 'no'
             return res
-        elif question_type =='yesno':
+        elif part_line and question_type =='yesno':
             resp_yesno = question.response_yesno
             if self.localcontext.get('show_response_note',False):
                 resp_yesno = part_line.response_yesno

=== modified file 'training_exam/report/exam_sheet.rml'
--- training_exam/report/exam_sheet.rml	2011-04-05 11:22:51 +0000
+++ training_exam/report/exam_sheet.rml	2011-04-06 07:10:58 +0000
@@ -304,8 +304,8 @@
                     <td>
                         <blockTable colWidths="30.0,495.0" style="Table2_Responses">
                             <tr>[[ response is None and removeParentNode('blockTable') ]]
-                                <td>[[ (show_solution and response['is_solution'] == 'yes') or removeParentNode('td') ]]<CheckBox checked="1" x="0" y="0" size="7">[[ '%s-%s' % (question.question_id.id, response['id']) ]]</CheckBox></td>
-                                <td>[[ ((show_solution and response['is_solution'] == 'no') or (not show_solution)) or removeParentNode('td') ]]<CheckBox x="0" y="0" size="7">[[ '%s-%s' % (question.question_id.id, response['id']) ]]</CheckBox></td>
+                                <td>[[ (show_solution and response.get('is_solution','no') == 'yes') or removeParentNode('td') ]]<CheckBox checked="1" x="0" y="0" size="7">[[ '%s-%s' % (question.question_id.id, response['id']) ]]</CheckBox></td>
+                                <td>[[ ((show_solution and response.get('is_solution','no') == 'no') or (not show_solution)) or removeParentNode('td') ]]<CheckBox x="0" y="0" size="7">[[ '%s-%s' % (question.question_id.id, response['id']) ]]</CheckBox></td>
                                 <td><para style="terp_default_8">[[ preformat(response['name']) ]]</para></td>
                             </tr>
                         </blockTable>

=== modified file 'training_exam/training_exam_view.xml'
--- training_exam/training_exam_view.xml	2011-04-04 10:31:56 +0000
+++ training_exam/training_exam_view.xml	2011-04-06 07:10:58 +0000
@@ -842,6 +842,20 @@
             </field>
         </record>
 
+        <record model="ir.ui.view" id="participation_line_correction_search">
+            <field name="name">training.participation.line.correction.search</field>
+            <field name="model">training.participation.line</field>
+            <field name="type">search</field>
+            <field name="priority">32</field>
+            <field name="arch" type="xml">
+                <search string="Questions">
+                    <field name="question_question_id"/>
+                    <field name="graded"/>
+                    <field name="point"/>
+                </search>
+            </field>
+        </record>
+
         <record model="ir.ui.view" id="participation_line_correction_form">
             <field name="name">training.participation.line.correction.form</field>
             <field name="model">training.participation.line</field>
@@ -852,11 +866,13 @@
                     <field name="sequence" readonly="1"/>
                     <field name="page_num" readonly="1"/>
                     <field name="type_question_id" readonly="1"/>
-                    <field name="question_question_id" readonly="1" colspan="6"/>
+                    <separator string="Question" colspan="6"/>
+                    <field name="question_question_id" readonly="1" colspan="6" nolabel="1"/>
                     <field name="point" sum="Candidate Points"/>
                     <field name="point_question_id" readonly="1"/>
                     <field name="graded"/>
-                    <field name="note" colspan="6"/>
+                    <separator string="Note" colspan="6"/>
+                    <field name="note" colspan="6" nolabel="1"/>
                 </form>
             </field>
         </record>


Follow ups