openerp-dev-web team mailing list archive
-
openerp-dev-web team
-
Mailing list archive
-
Message #05084
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