from odoo import fields, models, _
|
|
from odoo.exceptions import UserError, ValidationError,Warning
|
|
|
|
class CreateBankDeposit(models.TransientModel):
|
|
_name = 'opendons.createbankdeposit'
|
|
_description = 'Create a bank deposit form batchs selected'
|
|
|
|
|
|
def create_bank_deposit(self):
|
|
|
|
active_ids = self._context.get('active_ids', []) or []
|
|
if active_ids:
|
|
payments=self.env['opendons_payment_batch'].browse(active_ids)
|
|
for p in payments:
|
|
if p.state=='draft': raise Warning('the batch payment selected is not validated : operation cancelled')
|
|
if p.accounting_deposit_date: raise Warning('the batch payment selected was already deposited in accounting : operation cancelled')
|
|
if p.bank_deposit_date: raise Warning('the batch payment selected was already deposited in bank : operation cancelled')
|
|
#create bank deposit
|
|
vals={}
|
|
bd=self.env['opendons.bankdeposit'].create(vals)
|
|
|
|
for p in self.env['opendons_payment_batch'].browse(active_ids):
|
|
|
|
#add payment to bank deposit
|
|
bd.write({'payment_batch_ids':[(4,p.id)]})
|
|
|
|
#add bank deposit to payment
|
|
p.bankdeposit_id=bd.id
|
|
p.state='deposited_in_bank'
|
|
p.bank_deposit_date=bd.create_date
|
|
|
|
|
|
# #creation de l'opération sans les segments
|
|
# vals={}
|
|
# vals['name']='copy of ' + record.name
|
|
# vals['chanel']=record.chanel
|
|
# vals['user_id']=self._uid
|
|
# vals['state']='draft'
|
|
# dup_operation=super(opendons_operation, self).create(vals)
|