Merge branch 'julm' into membership_grouped
[burette/remembership.git] / remembership.py
index 849afcf..999f8c8 100644 (file)
@@ -26,6 +26,7 @@ from osv import fields
 import time
 from datetime import datetime, date
 from dateutil.relativedelta import relativedelta
+from openerp.tools.translate import _
 
 
 class Partner(osv.osv):
@@ -60,7 +61,7 @@ class Partner(osv.osv):
                         print ("DEV: [_membership_date] [associate] date_from: %s" % str(res[partner.id]['membership_start']))
                     else:
                         print ("DEV: [_membership_date] date_from: %s" % str(res[partner.id]['membership_start']))
-            
+
             if name == 'membership_stop':
                 line_id1 = member_line_obj.search(cr, uid, [('partner', '=', partner_id),('date_cancel','=',False)],
                             limit=1, order='date_to desc', context=context)
@@ -71,7 +72,7 @@ class Partner(osv.osv):
                         print ("DEV: [_membership_date] [associate] date_to: %s" % str(res[partner.id]['membership_stop']))
                     else:
                         print ("DEV: [_membership_date] date_to: %s" % str(res[partner.id]['membership_stop']))
-            
+
             if name == 'membership_cancel':
                 if partner.membership_state == 'canceled':
                     line_id2 = member_line_obj.search(cr, uid, [('partner', '=', partner.id)], limit=1, order='date_cancel', context=context)
@@ -279,6 +280,8 @@ class account_invoice_line(osv.osv):
                         'date_to': date_to,
                         'account_invoice_line': line.id,
                     }, context=context)
+            elif line.product_id.membership_grouped and not line.invoice_id.partner_id.associate_members:
+                raise osv.except_osv(_('Error!!!'), _('You try to invoice grouped membership product to a partner who hasn\'t associated partners.'))
             #Define member ident if it's necessary
             for i in partners:
                 if not i.member_ident: