← Back to team overview

openerp-dev-web team mailing list archive

[Merge] lp:~openerp-dev/openobject-addons/price_list_fix into lp:~openobject-training/openobject-addons/training

 

gpa(Open ERP) has proposed merging lp:~openerp-dev/openobject-addons/price_list_fix 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/price_list_fix/+merge/56888

Resubmit
-- 
https://code.launchpad.net/~openerp-dev/openobject-addons/price_list_fix/+merge/56888
Your team OpenERP R&D Team is subscribed to branch lp:~openerp-dev/openobject-addons/price_list_fix.
=== modified file 'training/training.py'
--- training/training.py	2011-04-06 07:06:20 +0000
+++ training/training.py	2011-04-08 07:29:00 +0000
@@ -3840,6 +3840,8 @@
         return list(keys)
 
     def _price_compute(self, cr, uid, ids, fieldnames, args, context=None):
+        if context is None:
+            context = {}
         res = dict.fromkeys(ids, 0.0)
         for this in self.browse(cr, uid, ids, context=context):
             res[this.id] = sum(p.price for p in this.participation_ids)
@@ -3847,7 +3849,7 @@
 
     def _date_compute(self, cr, uid, ids, fieldnames, args, context=None):
         res = dict.fromkeys(ids, False)
-        for this in self.browse(cr, uid, ids, context):
+        for this in self.browse(cr, uid, ids, context=context):
             if this.participation_ids:
                 res[this.id] = min(p.seance_id.date for p in this.participation_ids)
         return res
@@ -3944,6 +3946,9 @@
         po_proxy = self.pool.get('purchase.order')
 
         for this in self.browse(cr, uid, ids, context=context):
+            if not this.job_id.name.property_product_pricelist_purchase:
+                raise osv.except_osv(_('No Pricelist'),_('You have to select a  pricelist for this contact'))
+
             po_id = po_proxy.create(cr, uid, {
                 'name': "Session - %s" % (this.session_id.name),
                 'partner_id': this.job_id.name.id,
@@ -4126,7 +4131,7 @@
     def on_change_seance(self, cr, uid, _, job_id, seance_id, context=None):
         if context is None:
             context = {}
-        seance = seance_id and self.pool.get('training.seance').browse(cr, uid, seance_id, context) or False
+        seance = seance_id and self.pool.get('training.seance').browse(cr, uid, seance_id, context=context) or False
         return {'value': {
             'group_id': seance and seance.group_id.id or False,
             'date': seance and seance.date or False,
@@ -4167,7 +4172,7 @@
             return False
 
         if product_id and isinstance(product_id, (int,long)):
-            product = self.pool.get('product.product').browse(cr, uid, product_id)
+            product = self.pool.get('product.product').browse(cr, uid, product_id, context=context)
         else:
             product = seance._get_product()
         if not product:
@@ -4295,7 +4300,7 @@
             res = cr.fetchone()
             if res:
                 name = '%s %s' % (contact.first_name, contact.name)
-                other_seance = self.pool.get('training.seance').browse(cr, uid, res[0], context)
+                other_seance = self.pool.get('training.seance').browse(cr, uid, res[0], context=context)
 
                 raise osv.except_osv(_('Error'), _('%(stakeholder)s is not available for seance "%(this_seance)s" because (s)he is already requested or confirmed for the seance "%(other_seance)s"') % {'stakeholder':name, 'this_seance': this.seance_id.name, 'other_seance': other_seance.name})
 
@@ -4572,7 +4577,7 @@
             #Passing partner_id to context for purchase order line integrity of Line name
             context.update({'lang':partner.lang, 'partner_id':partner_id})
 
-            product=self.pool.get('product.product').browse(cr,uid, po_line.product_id.id,context=context)
+            product=self.pool.get('product.product').browse(cr, uid, po_line.product_id.id, context=context)
 
 
             line = {

=== modified file 'training/training_view.xml'
--- training/training_view.xml	2011-04-07 09:36:54 +0000
+++ training/training_view.xml	2011-04-08 07:29:00 +0000
@@ -484,7 +484,7 @@
                             confirm="Do you want to cancel this catalog ?" icon="gtk-cancel"/>
                         <button name="signal_inprogress" string="In Progress" type="workflow" states="validated" icon="gtk-apply" />
                         <button name="signal_deprecate" string="Deprecate" type="workflow" states="inprogress"
-                            confirm="Do you want to deprecate this catalog ?" icon="gtk-cancel" />
+                            confirm="Do you want to deprecate this catalog ?" icon="terp-dialog-close" />
                     </group>
                 </form>
             </field>

=== modified file 'training_exam/training_exam.py'
--- training_exam/training_exam.py	2011-04-07 13:04:11 +0000
+++ training_exam/training_exam.py	2011-04-08 07:29:00 +0000
@@ -331,7 +331,7 @@
         if context is None:
             context = {}
         values = dict.fromkeys(ids, 0)
-        for obj in self.browse(cr, uid, ids, context=None):
+        for obj in self.browse(cr, uid, ids, context=context):
             if obj.type in ('qcm', 'qcu'):
                 if obj.question_answer_ids:
                     values[obj.id] = reduce(lambda prev, curr: prev + int(curr.is_solution == 'yes'), obj.question_answer_ids, 0)
@@ -677,13 +677,13 @@
     #compute the time of questionnaire
     def point_compute(self, cr, uid, ids, name, args, context=None):
         res = dict.fromkeys(ids, '')
-        for questionnaire in self.browse(cr,uid,ids,context=context):
+        for questionnaire in self.browse(cr, uid, ids, context=context):
             res[questionnaire.id] = reduce(lambda acc,question: acc + question.question_id.point, questionnaire.question_ids, 0.0)
         return res or 0.0
 
     def duration_compute(self, cr, uid, ids, name, args, context=None):
         res = dict.fromkeys(ids, '')
-        for questionnaire in self.browse(cr,uid,ids,context=context):
+        for questionnaire in self.browse(cr, uid, ids ,context=context):
             res[questionnaire.id] = reduce(lambda acc,question: acc + question.question_id.duration, questionnaire.question_ids, 0.0)
         return res or 0.0
 
@@ -1276,13 +1276,15 @@
     _inherit = 'training.participation'
 
     def copy_data(self, cr, uid, object_id, values=None, context=None):
+        if context is None:
+            context = {}
         if not values:
             values = {}
         if 'course_line_ids' not in values:
             values.update({'course_line_ids' : []})
         if 'participation_line_ids' not in values:
             values.update({'participation_line_ids' : []})
-        return super(training_participation_exam, self).copy_data(cr, uid, object_id, values, context)
+        return super(training_participation_exam, self).copy_data(cr, uid, object_id, values, context=context)
 
     def after_exam_sheet_generation(self, cr, uid, participation_id, context=None):
         if context is None:
@@ -1510,6 +1512,8 @@
         return [('type','=','examen'),('state','in',['validated']),('main_course_id','=',participation.course_questionnaire_id.id),('printable','=',True)]
 
     def random_questionnaire_assign(self, cr, uid, ids,  context=None):
+        if context is None:
+            context = {}
         t_quizz = self.pool.get('training.exam.questionnaire')
 
         for p in self.browse(cr, uid, ids,context=context):


Follow ups