From: Ludovic CHEVALIER Date: Mon, 1 Oct 2012 12:33:50 +0000 (+0200) Subject: [module] +website lhc X-Git-Url: https://git.cyclocoop.org/admin/%7B%24www_url%7Dadmin/%27.%20sinon%28find_in_path%28%27css/leaflet.markercluster.css%27%29%2Cfind_in_path%28_DIR_LIB_GIS.%27plugins/%40%20%27info_desinstaller_plugin%27%20=%3E%20%27%20deactivates%20the%20plugin%20and%20deletes%20the%20data%27%2C%20%27info_discussion_cours%27%20=%3E%20%27Current%20discussions%27%2C%20%27info_ecrire_article%27%20=%3E%20%27Before%20writing%20any%20articles%2C%20you%20must%20create%20at%20least%20one%20section.%27%2C-%27info_email_envoi%27%20=%3E%20%27Sender/%27s%20email%20address%20%28optional%29%27%2C-%27info_email_envoi_txt%27%20=%3E%20%27Enter%20the%20sender/%27s%20email%20address%20used%20for%20sending%20emails%20%28by%20default%2C%20the%20recipient/%27s%20address%20is%20used%20as%20the%20sender/%27s%20address%29%C3%82%C2%A0:%27%2C-%27info_email_webmestre%27%20=%3E%20%27Webmaster/%27s%20email%20address%27%2C%20%27info_email_envoi%27%20=%3E%20%27Sender%C3%A2%C2%80%C2%99s%20email%20address%20%28optional%29%27%2C%20%27info_email_envoi_txt%27%20=%3E%20%27Enter%20the%20sender%C3%A2%C2%80%C2%99s%20email%20address%20used%20for%20sending%20emails%20%28by%20default%2C%20the%20recipient%C3%A2%C2%80%C2%99s%20address%20is%20used%20as%20the%20sender%C3%A2%C2%80%C2%99s%20address%29%C3%82%C2%A0:%27%2C%20%27info_email_webmestre%27%20=%3E%20%27Webmaster%C3%A2%C2%80%C2%99s%20email%20address%27%2C%20%27info_entrer_code_alphabet%27%20=%3E%20%27Enter%20the%20code%20of%20the%20character%20set%20to%20be%20used:%27%2C%20%27info_envoi_email_automatique%27%20=%3E%20%27Automated%20mailing%27%2C%20%27info_envoyer_maintenant%27%20=%3E%20%27Send%20now%27%2C%40%40%20-340%2C8%20%20340%2C8%20%40%40%20Do%20not%20submit%20this%20import%20request.%3Cp%3EFor%20more%20information%2C%20please%20see%20%3Ca%20href=?a=commitdiff_plain;h=9efdcb4433b01c194c03a71f64485ebdeca038d1;p=burette%2Fremembership.git [module] +website lhc --- diff --git a/__openerp__.py b/__openerp__.py index 6e9738d..eeb1df7 100644 --- a/__openerp__.py +++ b/__openerp__.py @@ -29,6 +29,7 @@ This module overload official OpenERP membership module for adding some functionnalities that could be useful. """, 'author': 'L\'Heureux Cyclage - LHC', + 'website': 'http://www.heureux-cyclage.org', 'depends': ['membership'], 'init_xml': [], 'data': [ diff --git a/remembership.py b/remembership.py index 2004770..2072258 100644 --- a/remembership.py +++ b/remembership.py @@ -92,4 +92,36 @@ class Partner(osv.osv): Partner() +class account_invoice_line(osv.osv): + _inherit='account.invoice.line' + + def write(self, cr, uid, ids, vals, context=None): + """Overrides orm write method + """ + member_line_obj = self.pool.get('membership.membership_line') + res = super(account_invoice_line, self).write(cr, uid, ids, vals, context=context) + for line in self.browse(cr, uid, ids, context=context): + if line.invoice_id.type == 'out_invoice': + ml_ids = member_line_obj.search(cr, uid, [('account_invoice_line', '=', line.id)], context=context) + if line.product_id and line.product_id.membership and not ml_ids: + # Product line has changed to a membership product + date_from = line.product_id.membership_date_from + date_to = line.product_id.membership_date_to + if line.invoice_id.date_invoice > date_from and line.invoice_id.date_invoice < date_to: + date_from = line.invoice_id.date_invoice + member_line_obj.create(cr, uid, { + 'partner': line.invoice_id.partner_id.id, + 'membership_id': line.product_id.id, + 'member_price': line.price_unit, + 'date': time.strftime('%Y-%m-%d'), + 'date_from': date_from, + 'date_to': date_to, + 'account_invoice_line': line.id, + }, context=context) + if line.product_id and not line.product_id.membership and ml_ids: + # Product line has changed to a non membership product + member_line_obj.unlink(cr, uid, ml_ids, context=context) + return res + +account_invoice_line() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: