diff --git a/models/account_move.py b/models/account_move.py
index 55b6291..a3bb1e4 100755
--- a/models/account_move.py
+++ b/models/account_move.py
@@ -17,7 +17,7 @@ class AccountMove(models.Model):
date_compta=fields.Datetime('date import',default=False)
date_compta_out_refund=fields.Datetime('date import',default=False)
out_invoice_id=fields.Many2one('account.move' ,ondelete="cascade",domain="[('partner_id','=',partner_id),('move_type','=','out_invoice'),('state','!=','paid')]")
-
+
def _compute_description(self):
for a in self:
diff --git a/models/accounting_file.py b/models/accounting_file.py
index 8975826..f3945a2 100755
--- a/models/accounting_file.py
+++ b/models/accounting_file.py
@@ -9,5 +9,6 @@ class accounting_file(models.Model):
accounting_file = fields.Binary('accounting file', readonly=True)
document_fname=fields.Char(default='undefined')
exported_date=fields.Date(string='Exported Date',tracking=True, readonly=True)
+ start_date=fields.Date(string='Start Date',tracking=True, readonly=True)
\ No newline at end of file
diff --git a/models/event_registration.py b/models/event_registration.py
index eef05c4..1a1dfe0 100755
--- a/models/event_registration.py
+++ b/models/event_registration.py
@@ -16,6 +16,95 @@ class EventRegistration(models.Model):
headphone=fields.Boolean('headphone')
date_compta=fields.Datetime('date import',default=False)
date_compta_down_payment=fields.Datetime('date import down payment',default=False)
+
+ date_payment=fields.Date('date payment',compute='_compute_event_date_payment')
+ date_payment_down_payment=fields.Date('date payment down payment',compute='_compute_event_date_payment_down_payment')
+ date_payment_balance=fields.Date('date payment balance',compute='_compute_event_date_payment_balance')
+ date_payment_end_of_stay=fields.Date('date payment end of stay',compute='_compute_event_date_payment_end_of_stay')
+
+ def _compute_event_date_payment(self):
+ for rec in self:
+ if not rec.booking_event:
+ if rec.invoice_id.invoice_payments_widget:
+ payment_info=json.loads(rec.invoice_id.invoice_payments_widget)
+ if payment_info:
+ rec.date_payment= payment_info['content'][0]['date']
+
+ else:
+ rec.date_payment=False
+ else: rec.date_payment=False
+ #booking event
+ else:
+ if rec.invoice_id:
+ if rec.invoice_id.invoice_payments_widget:
+ payment_info=json.loads(rec.invoice_id.invoice_payments_widget)
+ if payment_info:
+ rec.date_payment= payment_info['content'][0]['date']
+ else : rec.date_payment=False
+ else :rec.date_payment=False
+ else:
+ rec.date_payment=False
+ def _compute_event_date_payment_down_payment(self):
+ for rec in self:
+ if not rec.booking_event:
+ rec.date_payment_down_payment=False
+ else:
+
+ if rec.down_payment_invoice_id:
+ if rec.down_payment_invoice_id.invoice_payments_widget:
+ payment_info=json.loads(rec.down_payment_invoice_id.invoice_payments_widget)
+ if payment_info:
+ rec.date_payment_down_payment= payment_info['content'][0]['date']
+ else : rec.date_payment_down_payment=False
+ else :rec.date_payment_down_payment=False
+ else:
+ rec.date_payment_down_payment=False
+ def _compute_event_date_payment_balance(self):
+ for rec in self:
+ if not rec.booking_event:
+ rec.date_payment_balance=False
+ else:
+
+ if rec.balance_invoice_id:
+ if rec.balance_invoice_id.invoice_payments_widget:
+ payment_info=json.loads(rec.balance_invoice_id.invoice_payments_widget)
+ if payment_info:
+ rec.date_payment_balance= payment_info['content'][0]['date']
+ else : rec.date_payment_balance=False
+ else :rec.date_payment_balance=False
+ else:
+ rec.date_payment_balance=False
+ def _compute_event_date_payment_end_of_stay(self):
+ for rec in self:
+ if not rec.booking_event:
+ rec.date_payment_end_of_stay=False
+ else:
+
+ if rec.end_of_stay_invoice_id:
+ if rec.end_of_stay_invoice_id.invoice_payments_widget:
+ payment_info=json.loads(rec.end_of_stay_invoice_id.invoice_payments_widget)
+ if payment_info:
+ rec.date_payment_end_of_stay= payment_info['content'][0]['date']
+ else : rec.date_payment_end_of_stay=False
+ else :rec.date_payment_end_of_stay=False
+ else:
+ rec.date_payment_end_of_stay=False
+
+ def action_cancel(self):
+ self.write({'state': 'cancel'})
+ #annulation des factures non payées
+ # if self.invoice_id :
+ # if self.invoice_id.payment_state!='paid':
+ # self.invoice_id.button_draft()
+ # if self.down_payment_invoice_id :
+ # if self.down_payment_invoice_id.payment_state!='paid':
+ # self.down_payment_invoice_id.button_draft()
+
+ #création d'un avoir pour les factures déjà réglées
+ # if self.down_payment_invoice_id :
+ # if self.down_payment_invoice_id.payment_state=='paid':
+ # self.down_payment_invoice_id.button_draft()
+
def create(self,vals):
diff --git a/views/account.xml b/views/account.xml
index 224e62a..a772215 100644
--- a/views/account.xml
+++ b/views/account.xml
@@ -34,6 +34,7 @@
+
diff --git a/views/accounting_file.xml b/views/accounting_file.xml
index b574610..d333092 100755
--- a/views/accounting_file.xml
+++ b/views/accounting_file.xml
@@ -8,6 +8,7 @@
+
@@ -29,6 +30,7 @@
+
diff --git a/views/booking_event_registration.xml b/views/booking_event_registration.xml
index 9b63d37..9e05109 100755
--- a/views/booking_event_registration.xml
+++ b/views/booking_event_registration.xml
@@ -129,8 +129,15 @@
+
+
+
+
+
+
+
diff --git a/views/event_registration.xml b/views/event_registration.xml
index 140748f..57ab1d5 100755
--- a/views/event_registration.xml
+++ b/views/event_registration.xml
@@ -28,6 +28,7 @@
+
diff --git a/wizard/accounting_file_wizard.py b/wizard/accounting_file_wizard.py
index bbd6b09..5dc05c9 100644
--- a/wizard/accounting_file_wizard.py
+++ b/wizard/accounting_file_wizard.py
@@ -12,6 +12,7 @@ code_journal='IN'
date_compta=fields.datetime.now()
total_debit=total_credit=0
no_mvt=1
+debug=True
class AccountingFileWizard(models.TransientModel):
_name = 'accounting.file.wizard'
@@ -58,24 +59,25 @@ class AccountingFileWizard(models.TransientModel):
total_credit=0
#debug
- donation=self.env['donation.donation'].search([])
- for d in donation:
- d.date_compta=False
- membership=self.env['kalachakra.membership'].search([])
- for m in membership:
- m.date_compta=False
- reg=self.env['event.registration'].search([])
- for r in reg:
- r.date_compta=False
- r.date_compta_down_payment=False
- invoices=self.env['account.move'].search([])
- for i in invoices:
- i.date_compta_out_refund=False
- i.date_compta=False
-
+ # if debug:
+ # donation=self.env['donation.donation'].search([])
+ # for d in donation:
+ # d.date_compta=False
+ # membership=self.env['kalachakra.membership'].search([])
+ # for m in membership:
+ # m.date_compta=False
+ # reg=self.env['event.registration'].search([])
+ # for r in reg:
+ # r.date_compta=False
+ # r.date_compta_down_payment=False
+ # invoices=self.env['account.move'].search([])
+ # for i in invoices:
+ # i.date_compta_out_refund=False
+ # i.date_compta=False
+ # return True
tmstp=secrets.token_hex(16)
- filename='/tmp/accounting_file_'+tmstp+'.txt'
+ filename='/tmp/accounting_file_'+tmstp+'.csv'
f = open(filename, "a")
@@ -97,7 +99,7 @@ class AccountingFileWizard(models.TransientModel):
self.membership_lines(f)
self.event_lines(f)
self.booking_event_lines(f)
- #self.out_refund_lines(f)
+ self.out_refund_lines(f)
fic_line="TOTAL_DEBIT="+str(total_debit)+ " TOTAL CREDIT="+str(total_credit)
f.write(fic_line)
@@ -107,8 +109,9 @@ class AccountingFileWizard(models.TransientModel):
#raise UserError('gg'+f.read())
vals={}
vals['accounting_file']=base64.encodebytes(data)
- vals['document_fname']='export_comptable.txt'
+ vals['document_fname']='export_comptable.csv'
vals['exported_date']=fields.Date.context_today(self)
+ vals['start_date']=self.start_date
res=self.env['accounting.file'].create(vals)
f.close
os.unlink(filename)
@@ -165,11 +168,18 @@ class AccountingFileWizard(models.TransientModel):
donation=self.env['donation.donation'].search([('date_compta','=',False),('state','=','done')])
#raise UserError(donation)
for d in donation:
- if datetime(d.donation_date.year, d.donation_date.month, d.donation_date.day)self.start_date:
- return False
+ _logger.error(payment_info['content'][0]['date'])
+ if datetime.strptime(payment_info['content'][0]['date'],'%Y-%m-%d')>=self.start_date:
+ return True
else:
- return True
- else:return True
+ return False
+ else:
+ return False
def _payment_date(self,move_id):
if move_id.invoice_payments_widget:
@@ -776,6 +808,8 @@ class AccountingFileWizard(models.TransientModel):
#_logger.error('date='+str(data))
if data:
r=str(data).split('-')
+ if len(r[2])==1:r[2]='0'+r[2]
+ if len(r[1])==1:r[1]='0'+r[1]
return r[2]+'/'+r[1]+'/'+r[0]
else: