@ -0,0 +1,24 @@ | |||
from odoo import models, fields, api | |||
from odoo.exceptions import UserError, ValidationError,Warning | |||
from psycopg2 import sql, DatabaseError | |||
from werkzeug import utils | |||
class opendons_accounting_deposit(models.Model): | |||
_name = 'opendons.accountingdeposit' | |||
_description = 'manage accounting deposit' | |||
company_id = fields.Many2one( | |||
"res.company", | |||
string="Company", | |||
ondelete="cascade", | |||
default=lambda self: self.env.company, | |||
) | |||
payment_batch_ids = fields.One2many( | |||
'opendons_payment_batch', | |||
'accountingdeposit_id', | |||
string='Payment batchs', | |||
readonly=True | |||
) | |||
@ -0,0 +1,24 @@ | |||
from odoo import models, fields, api | |||
from odoo.exceptions import UserError, ValidationError,Warning | |||
from psycopg2 import sql, DatabaseError | |||
from werkzeug import utils | |||
class opendons_bank_deposit(models.Model): | |||
_name = 'opendons.bankdeposit' | |||
_description = 'manage bank deposit' | |||
company_id = fields.Many2one( | |||
"res.company", | |||
string="Company", | |||
ondelete="cascade", | |||
default=lambda self: self.env.company, | |||
) | |||
payment_batch_ids = fields.One2many( | |||
'opendons_payment_batch', | |||
'bankdeposit_id', | |||
string='Payment batchs', | |||
readonly=True | |||
) | |||
@ -0,0 +1,59 @@ | |||
<odoo> | |||
<data> | |||
<record model="ir.ui.view" id="opendons.accounting_deposit_list"> | |||
<field name="name">opendons_accounting_deposit list</field> | |||
<field name="model">opendons.accountingdeposit</field> | |||
<field name="arch" type="xml"> | |||
<tree> | |||
<field name="create_date"/> | |||
<field name="create_uid"/> | |||
<field name="payment_batch_ids"/> | |||
</tree> | |||
</field> | |||
</record> | |||
<record model="ir.ui.view" id="opendons.accounting_deposit_form"> | |||
<field name="name">opendons_payment_batch_accounting Form</field> | |||
<field name="model">opendons.accountingdeposit</field> | |||
<field name="arch" type="xml"> | |||
<form string="accounting_deposit_form"> | |||
<group name="accounting_deposit"> | |||
<field name="create_date"/> | |||
<field name="create_uid"/> | |||
<field name="payment_batch_ids"> | |||
<tree> | |||
<field name="create_date"/> | |||
<field name="create_uid"/> | |||
<field name="payment_mode_id"/> | |||
<field name="amount_total" string="Total"/> | |||
<field name="payment_count" string="Payments count"/> | |||
</tree> | |||
</field> | |||
</group> | |||
</form> | |||
</field> | |||
</record> | |||
<record model="ir.actions.act_window" id="accounting_deposit_action"> | |||
<field name="name">accounting deposits</field> | |||
<field name="res_model">opendons.accountingdeposit</field> | |||
<field name="view_mode">tree,form</field> | |||
</record> | |||
<menuitem id="accounting_deposit_menu" action="accounting_deposit_action" | |||
parent="payment_batch_top_menu" sequence="30"/> | |||
</data> | |||
</odoo> |
@ -0,0 +1,61 @@ | |||
<odoo> | |||
<data> | |||
<record model="ir.ui.view" id="opendons.bank_deposit_list"> | |||
<field name="name">opendons_bank_deposit list</field> | |||
<field name="model">opendons.bankdeposit</field> | |||
<field name="arch" type="xml"> | |||
<tree> | |||
<field name="create_date"/> | |||
<field name="create_uid"/> | |||
<field name="payment_batch_ids"/> | |||
</tree> | |||
</field> | |||
</record> | |||
<record model="ir.ui.view" id="opendons.bank_deposit_form"> | |||
<field name="name">opendons_payment_batch_bank Form</field> | |||
<field name="model">opendons.bankdeposit</field> | |||
<field name="arch" type="xml"> | |||
<header> | |||
</header> | |||
<sheet> | |||
<form string="bank_deposit_form"> | |||
<group name="bank_deposit"> | |||
<field name="create_date"/> | |||
<field name="create_uid"/> | |||
<field name="payment_batch_ids"> | |||
<tree> | |||
<field name="create_date"/> | |||
<field name="create_uid"/> | |||
<field name="payment_mode_id"/> | |||
<field name="amount_total" string="Total"/> | |||
<field name="payment_count" string="Payments count"/> | |||
</tree> | |||
</field> | |||
</group> | |||
</form> | |||
</sheet> | |||
</field> | |||
</record> | |||
<record model="ir.actions.act_window" id="bank_deposit_action"> | |||
<field name="name">Bank deposits</field> | |||
<field name="res_model">opendons.bankdeposit</field> | |||
<field name="view_mode">tree,form</field> | |||
</record> | |||
<menuitem id="bank_deposit_menu" action="bank_deposit_action" | |||
parent="payment_batch_top_menu" sequence="20"/> | |||
</data> | |||
</odoo> |
@ -1,2 +1,4 @@ | |||
from . import operation_duplicate_wizard | |||
from . import recurring_donation_wizard | |||
from . import recurring_donation_wizard | |||
from . import create_bank_deposit_wizard | |||
from . import create_accounting_deposit_wizard |
@ -0,0 +1,29 @@ | |||
from odoo import fields, models, _ | |||
from odoo.exceptions import UserError, ValidationError,Warning | |||
class CreateaccountingDeposit(models.TransientModel): | |||
_name = 'opendons.createaccountingdeposit' | |||
_description = 'Create a accounting deposit form batchs selected' | |||
def create_accounting_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.bank_deposit_date==False: raise Warning('the batch payment selected was not deposited in bank : operation cancelled') | |||
if p.accounting_deposit_date: raise Warning('the batch payment selected was already deposited in bank : operation cancelled') | |||
#create accounting deposit | |||
vals={} | |||
bd=self.env['opendons.accountingdeposit'].create(vals) | |||
for p in payments: | |||
#add payment to accounting deposit | |||
bd.write({'payment_batch_ids':[(4,p.id)]}) | |||
#add accounting deposit to payment | |||
p.accountingdeposit_id=bd.id | |||
p.state='deposited_in_accounting' | |||
@ -0,0 +1,29 @@ | |||
<odoo> | |||
<record id="create_accounting_deposit_view" model="ir.ui.view"> | |||
<field name="name">create_accounting_deposit view</field> | |||
<field name="model">opendons.createaccountingdeposit</field> | |||
<field name="arch" type="xml"> | |||
<form> | |||
<p> | |||
Are you sure do you want to create a accounting deposit with selected payments ? | |||
</p> | |||
<footer> | |||
<button name="create_accounting_deposit" string="Create a accounting deposit" type="object"/> | |||
<button string="Cancel" class="btn btn-secondary" special="cancel" /> | |||
</footer> | |||
</form> | |||
</field> | |||
</record> | |||
<record id="action_create_new_accounting_deposit" model="ir.actions.act_window"> | |||
<field name="name">Create an accounting deposit</field> | |||
<field name="res_model">opendons.createaccountingdeposit</field> | |||
<field name="view_mode">form</field> | |||
<field name="target">new</field> | |||
<field name="binding_model_id" ref="opendons.model_opendons_payment_batch"/> | |||
</record> | |||
</odoo> |
@ -0,0 +1,38 @@ | |||
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' | |||
# #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) |
@ -0,0 +1,29 @@ | |||
<odoo> | |||
<record id="create_bank_deposit_view" model="ir.ui.view"> | |||
<field name="name">create_bank_deposit view</field> | |||
<field name="model">opendons.createbankdeposit</field> | |||
<field name="arch" type="xml"> | |||
<form> | |||
<p> | |||
Are you sure do you want to create a bank deposit with selected payments ? | |||
</p> | |||
<footer> | |||
<button name="create_bank_deposit" string="Create a bank deposit" type="object"/> | |||
<button string="Cancel" class="btn btn-secondary" special="cancel" /> | |||
</footer> | |||
</form> | |||
</field> | |||
</record> | |||
<record id="action_create_new_bank_deposit" model="ir.actions.act_window"> | |||
<field name="name">Create a bank deposit</field> | |||
<field name="res_model">opendons.createbankdeposit</field> | |||
<field name="view_mode">form</field> | |||
<field name="target">new</field> | |||
<field name="binding_model_id" ref="opendons.model_opendons_payment_batch"/> | |||
</record> | |||
</odoo> |