From: Ludovic CHEVALIER Date: Fri, 5 Oct 2012 15:03:06 +0000 (+0200) Subject: [Identifiant] -numerotation depuis partenaire X-Git-Url: http://git.cyclocoop.org/data/%22%24diffUrl/%7B%24www_url%7Dadmin/clavettes/images/%40%20%27entree_nom_pseudo_1%27%20=%3E%20%27%28Your%20name%20or%20alias%29%27%2C%20%27entree_nom_pseudo_2%27%20=%3E%20%27Name%20or%20alias%27%2C%20%27entree_nom_site%27%20=%3E%20%27Name%20of%20your%20site%27%2C-%27entree_nom_site_2%27%20=%3E%20%27Name%20of%20the%20author/%27s%20site%27%2C%20%27entree_nom_site_2%27%20=%3E%20%27Name%20of%20the%20author%C3%A2%C2%80%C2%99s%20site%27%2C%20%27entree_nouveau_passe%27%20=%3E%20%27New%20password%27%2C%20%27entree_passe_ldap%27%20=%3E%20%27Password%27%2C%20%27entree_port_annuaire%27%20=%3E%20%27Port%20number%20of%20the%20directory%27%2C%40%40%20-175%2C7%20%20175%2C7%20%40%40%20Do%20not%20submit%20this%20import%20request.%3Cp%3EFor%20more%20information%2C%20please%20see%20%3Ca%20href=?a=commitdiff_plain;h=949a540145c18b4e4b9ac9e709c5085c64b2e8f2;p=burette%2Fremembership.git [Identifiant] -numerotation depuis partenaire --- diff --git a/remembership.py b/remembership.py index 6dde317..fa16f56 100644 --- a/remembership.py +++ b/remembership.py @@ -21,8 +21,6 @@ # ############################################################################## -import time - from osv import osv from osv import fields @@ -33,64 +31,6 @@ class Partner(osv.osv): 'member_ident': fields.char('Member identifier', size=64, readonly=True), } - def create_membership_invoice(self, cr, uid, ids, product_id=None, datas=None, context=None): - """ Create Customer Invoice of Membership for partners. - @param datas: datas has dictionary value which consist Id of Membership product and Cost Amount of Membership. - datas = {'membership_product_id': None, 'amount': None} - """ - invoice_obj = self.pool.get('account.invoice') - invoice_line_obj = self.pool.get('account.invoice.line') - invoice_tax_obj = self.pool.get('account.invoice.tax') - product_id = product_id or datas.get('membership_product_id', False) - amount = datas.get('amount', 0.0) - invoice_list = [] - if type(ids) in (int, long,): - ids = [ids] - for partner in self.browse(cr, uid, ids, context=context): - account_id = partner.property_account_receivable and partner.property_account_receivable.id or False - fpos_id = partner.property_account_position and partner.property_account_position.id or False - addr = self.address_get(cr, uid, [partner.id], ['invoice']) - if partner.free_member: - raise osv.except_osv(_('Error !'), - _("Partner is a free Member.")) - if not addr.get('invoice', False): - raise osv.except_osv(_('Error !'), - _("Partner doesn't have an address to make the invoice.")) - quantity = 1 - line_value = { - 'product_id': product_id, - } - - line_dict = invoice_line_obj.product_id_change(cr, uid, {}, - product_id, False, quantity, '', 'out_invoice', partner.id, fpos_id, price_unit=amount, context=context) - line_value.update(line_dict['value']) - line_value['price_unit'] = amount - if line_value.get('invoice_line_tax_id', False): - tax_tab = [(6, 0, line_value['invoice_line_tax_id'])] - line_value['invoice_line_tax_id'] = tax_tab - - invoice_id = invoice_obj.create(cr, uid, { - 'partner_id': partner.id, - 'address_invoice_id': addr.get('invoice', False), - 'account_id': account_id, - 'fiscal_position': fpos_id or False - }, context=context) - line_value['invoice_id'] = invoice_id - invoice_line_id = invoice_line_obj.create(cr, uid, line_value, context=context) - invoice_obj.write(cr, uid, invoice_id, {'invoice_line': [(6, 0, [invoice_line_id])]}, context=context) - invoice_list.append(invoice_id) - if line_value['invoice_line_tax_id']: - tax_value = invoice_tax_obj.compute(cr, uid, invoice_id).values() - for tax in tax_value: - invoice_tax_obj.create(cr, uid, tax, context=context) - if partner.member_ident: - mbr_id = partner.member_ident - else: - mbr_id = self.pool.get('ir.sequence').get(cr, uid, 'member_ident') - #recompute the membership_state of those partners - self.pool.get('res.partner').write(cr, uid, ids, {'member_ident': mbr_id}) - return invoice_list - Partner()