From: Ludovic CHEVALIER Date: Fri, 5 Oct 2012 15:03:06 +0000 (+0200) Subject: [Identifiant] -numerotation depuis partenaire X-Git-Url: https://git.cyclocoop.org/%7B%24admin_url%7Dmembres/%40%20%27info_classement_2%27%20=%3E%20%27%C3%82%C2%A0out%20of%20%40liste%40%27%2C%20%27info_code_acces%27%20=%3E%20%27Do%20not%20forget%20your%20own%20access%20codes%21%27%2C%20%27info_compatibilite_html%27%20=%3E%20%27HTML%20norm%20to%20apply%27%2C-%27info_compresseur_gzip%27%20=%3E%20%27It%20is%20advisable%20to%20check%20first%20whether%20your%20hosting%20provider%20already%20systematically%20compresses%20PHP%20scripts.%20To%20do%20this%20you%20can%20use%20a%20service%20such%20as%20%40testgzip%40%27%2C-%27info_compresseur_texte%27%20=%3E%20%27If%20your%20server%20does%20not%20compress%20HTML%20pages%20before%20sending%20them%2C%20you%20can%20attempt%20to%20force%20compression%20in%20order%20to%20reduce%20the%20size%20of%20the%20pages%20transmitted.%3Cb%3EWarning%3C/%40%20%27entree_url%27%20=%3E%20%27URL%20of%20your%20site%27%2C%20%27entree_url_2%27%20=%3E%20%27Site%20URL%27%2C%20%27erreur_connect_deja_existant%27%20=%3E%20%27There%20is%20already%20a%20server%20with%20that%20name%20%27%2C%20%27erreur_email_deja_existant%27%20=%3E%20%27This%20email%20address%20is%20already%20registered.%27%2C%20%27erreur_nom_connect_incorrect%27%20=%3E%20%27Server%20name%20not%20allowed%27%2C%20%27erreur_plugin_desinstalation_echouee%27%20=%3E%20%27Uninstallation%20of%20the%20plugin%20failed.%20However%2C%20you%20may%20deactivate%20it.%27%2C%20%27erreur_plugin_fichier_absent%27%20=%3E%20%27File%20missing%27%2C%40%40%20-175%2C7%20%20147%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()