You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

91 lines
2.4 KiB

from odoo import models, fields, api
from odoo.exceptions import UserError, ValidationError
from psycopg2 import sql, DatabaseError
from werkzeug import utils
class opendons_payment_batch(models.Model):
_name = 'opendons_payment_batch'
_description = 'manage payment batch'
company_id = fields.Many2one(
"res.company",
string="Company",
ondelete="cascade",
default=lambda self: self.env.company,
)
payment_mode_id = fields.Many2one(
"account.payment.mode",
string="Payment Mode",
domain="[('company_id', '=', company_id), ('donation', '=', True)]",
copy=False,
tracking=True
)
# product_id=fields.Many2one(
# 'product.product',
# string='Product',
# index=True,
# track_visibility='onchange',
# ondelete='restrict'
# )
operation_id=fields.Many2one(
'opendons.operation',
string='Operation',
index=True,
domain=[('state', '=', 'exported')],
track_visibility='onchange',
ondelete='restrict'
)
segment_id=fields.Many2one(
'opendons.segment',
string='Segment',
index=True,
track_visibility='onchange',
ondelete='restrict'
)
donation_ids = fields.One2many(
'donation.donation',
'payment_batch_id',
string='donation',
track_visibility='onchange')
payment_count=fields.Integer(string='payments count', readonly=True)
payment_input=fields.Char('Input field')
# payment_lines = fields.One2many(
# 'opendons_payment_batch.lines',
# 'payment_batch_id',
# string='Payment lines',
# track_visibility='onchange')
@api.onchange('operation_id')
def _onchange_operation_id(self):
res = {}
res['domain']={'segment_id':[('operation_id', '=', self.operation_id.id)]}
return res
def action_ajouter_payment(self):
return True
class opendons_payment_batch_lines(models.Model):
_name = 'opendons_payment_batch.lines'
_description = 'manage payment batch lines'
_inherits = {
'donation.donation': 'donation_id',
}
# payment_batch_id = fields.Many2one(
# 'opendons_payment_batch',
# string='Payment Batch',
# ondelete='set null'
# )