@ -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 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> |