X-Git-Url: http://git.inspyration.org/?a=blobdiff_plain;f=addons%2Fpurchase%2Fpurchase.py;h=3a15861e104057ca6d0dcbce3c4a4e1578b6557b;hb=dbac14474fd41c094a0aacf5e39f1915d9661e9b;hp=f4a28bc9934325f78ac996dd38c8398793655f4f;hpb=c536c5a432186114c507880cff58eb493dcb130f;p=odoo%2Fodoo.git diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index f4a28bc..3a15861 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -1035,28 +1035,27 @@ class procurement_order(osv.osv): partner_obj = self.pool.get('res.partner') user = self.pool.get('res.users').browse(cr, uid, uid, context=context) for procurement in self.browse(cr, uid, ids, context=context): - if not procurement.product_id.seller_ids: - message = _('No supplier defined for this product !') - self.message_post(cr, uid, [procurement.id], body=message) - cr.execute('update procurement_order set message=%s where id=%s', (message, procurement.id)) - return False + message = '' partner = procurement.product_id.seller_id #Taken Main Supplier of Product of Procurement. - if not partner: + if not procurement.product_id.seller_ids: + message = _('No supplier defined for this product !') + elif not partner: message = _('No default supplier defined for this product') - self.message_post(cr, uid, [procurement.id], body=message) - cr.execute('update procurement_order set message=%s where id=%s', (message, procurement.id)) + elif not partner_obj.address_get(cr, uid, [partner.id], ['delivery'])['delivery']: + message = _('No address defined for the supplier') + + if message: + if procurement.message != message: + # avoid sending too many messages + self.message_post(cr, uid, [procurement.id], body=message) + self.write(cr, uid, [procurement.id], {'message':message}, context=context) return False + if user.company_id and user.company_id.partner_id: if partner.id == user.company_id.partner_id.id: raise osv.except_osv(_('Configuration Error!'), _('The product "%s" has been defined with your company as reseller which seems to be a configuration error!' % procurement.product_id.name)) - address_id = partner_obj.address_get(cr, uid, [partner.id], ['delivery'])['delivery'] - if not address_id: - message = _('No address defined for the supplier') - self.message_post(cr, uid, [procurement.id], body=message) - cr.execute('update procurement_order set message=%s where id=%s', (message, procurement.id)) - return False return True