From d9761100452cfe95120d14133064524156be5f16 Mon Sep 17 00:00:00 2001 From: root Date: Sat, 27 Jan 2024 21:25:47 +0100 Subject: [PATCH] export individual booking --- models/booking_event.py | 9 +++++- wizard/accounting_file_wizard_cdr.py | 47 ++++++++-------------------- 2 files changed, 21 insertions(+), 35 deletions(-) diff --git a/models/booking_event.py b/models/booking_event.py index a0129a0..a47dce2 100755 --- a/models/booking_event.py +++ b/models/booking_event.py @@ -115,6 +115,9 @@ class BookingEvent(models.Model): booking=self.env['event.event'].search([('id','=',int(id))]) header_ligne='Nom & Prénom;Genre;Rôle;Options;Montant retraite;Adhésion;Autre options;Montant à payer;Statut commande;Type de paiement;Règlement\n' + if booking.booking_event: + header_ligne='Date de début;Nom & Prénom;Genre;Rôle;Options;Montant retraite;Adhésion;Autre options;Montant à payer;Statut commande;Type de paiement;Règlement\n' + csv_lines='' for reg in booking.registration_ids: if reg.state in ('draft','cancel'): continue @@ -137,8 +140,12 @@ class BookingEvent(models.Model): payment_status=str(reg.payment_status) payment_mode=self._compute_payment_mode(reg) amount_paid=str(round(self._compute_amount_paid(reg))) + start_date=str(reg.start_day_individual_booking) - csv_lines=csv_lines+name+';'+gender+';'+role+';'+options+';'+booking_amount+';'+membership_amount+';'+invoice_options_amount+';'+amount_to_be_paid+';'+payment_status+';'+payment_mode+';'+amount_paid+'\n' + if booking.individual_booking_event: + csv_lines=csv_lines+start_date+';'+name+';'+gender+';'+role+';'+options+';'+booking_amount+';'+membership_amount+';'+invoice_options_amount+';'+amount_to_be_paid+';'+payment_status+';'+payment_mode+';'+amount_paid+'\n' + else: + csv_lines=csv_lines+name+';'+gender+';'+role+';'+options+';'+booking_amount+';'+membership_amount+';'+invoice_options_amount+';'+amount_to_be_paid+';'+payment_status+';'+payment_mode+';'+amount_paid+'\n' return str.encode(header_ligne+csv_lines,'utf-8') diff --git a/wizard/accounting_file_wizard_cdr.py b/wizard/accounting_file_wizard_cdr.py index 33dc45d..2d35b04 100644 --- a/wizard/accounting_file_wizard_cdr.py +++ b/wizard/accounting_file_wizard_cdr.py @@ -195,17 +195,13 @@ class CdrAccountingFileWizard(models.TransientModel): if reg.date_payment_end_of_stay and reg.date_payment_end_of_stayself.end_date.date(): continue - account_debit_number=self._file_format(str(reg.end_of_stay_invoice_id.payment_mode_id.fixed_journal_id.default_account_id.code),6) - trans=self.env['payment.transaction'].search([('invoice_ids','in',reg.end_of_stay_invoice_id.id),('state','=','done')],limit=1) - if trans and trans.acquirer_id.name=='Paypal': - - account_debit_number=self._file_format(str(self.env['account.payment.mode'].search([('name','=','Paypal')]).fixed_journal_id.default_account_id.code),6) - - if trans and trans.acquirer_id.name=='Paiement par carte bancaire': - - account_debit_number=self._file_format(str(self.env['account.payment.mode'].search([('name','=','CB')]).fixed_journal_id.default_account_id.code),6) - account_credit_number=self._file_format('170000',6) + if reg.event_id.individual_booking_event: + account_credit_number=self._file_format('754799',6) + else: + account_credit_number=self._file_format('754700',6) + + account_debit_number=self._file_format('170000',6) firstname=reg.partner_id.firstname name=reg.partner_id.name @@ -215,21 +211,13 @@ class CdrAccountingFileWizard(models.TransientModel): lib1=self._file_format(lib1,12) lib2=self._file_format(reg.event_id.booking_product_id.name,13) lib=lib1+' '+lib2 - - #recherche de l'adhésion - membership_credit_line=False - membership=self.env['kalachakra.membership'].search([('invoice_id','=',int(reg.end_of_stay_invoice_id.id))]) - membership_amount=0 - if membership: - membership_credit_line=True - membership_amount=membership.amount #recherche de dons - donation_credit_line=False + donation_debit_line=False donation_amount=0 donations=donation_booking=self.env['donation.donation'].search([('invoice_id','=',int(reg.end_of_stay_invoice_id.id))]) if donations: - donation_credit_line=True + donation_debit_line=True for d in donations: donation_amount+=d.amount_total date_line=self._payment_date(reg.end_of_stay_invoice_id) @@ -249,28 +237,19 @@ class CdrAccountingFileWizard(models.TransientModel): total_debit+=amount #écriture de crédit debit='' - credit=str(amount-membership_amount-donation_amount) + credit=str(amount-donation_amount) account_number=account_credit_number fic_line=self._accounting_line(no_mvt,date_line,account_number,lib,debit,credit,lib_piece) f.write(fic_line) no_mvt+=1 total_credit+=amount - - if membership_credit_line: - debit='' - credit=str(membership_amount) - account_number=self._file_format('756100',6) - fic_line=self._accounting_line(no_mvt,date_line,account_number,lib,debit,credit,lib_piece) - f.write(fic_line) - no_mvt=no_mvt+1 - total_credit+=membership_amount - if donation_credit_line: + if donation_debit_line: for d in donations : - debit='' + credit='' amount=d.amount_total - credit=str(amount) - account_number=account_credit_number + debit=str(amount) + account_number='170000' fic_line=self._accounting_line(no_mvt,date_line,account_number,lib,debit,credit,lib_piece) f.write(fic_line) no_mvt=no_mvt+1