| @ -0,0 +1,19 @@ | |||
| from odoo import models, fields, api | |||
| from odoo.exceptions import UserError, ValidationError | |||
| from psycopg2 import sql, DatabaseError | |||
| from werkzeug import utils | |||
| class opendons_direct_debit(models.Model): | |||
| _name = 'opendons_direct_debit' | |||
| _description = 'manage direct debit' | |||
| partner_id = fields.Many2one( | |||
| 'res.partner', | |||
| string='partner', | |||
| required=True, | |||
| index=True, | |||
| readonly=True, | |||
| track_visibility='onchange', | |||
| ondelete='restrict' | |||
| ) | |||
| @ -0,0 +1,72 @@ | |||
| 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' | |||
| payment_mode=fields.Selection([('check', 'Check'),('credit card', 'Credit Card'),('pa', 'Prélèvement automatique') ],'Payment mode', default='check', required=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, | |||
| 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') | |||
| 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' | |||
| # ) | |||
| @ -0,0 +1,84 @@ | |||
| # -*- coding: utf-8 -*- | |||
| from odoo import models, fields, api | |||
| from odoo.exceptions import UserError, ValidationError | |||
| from psycopg2 import sql, DatabaseError | |||
| from werkzeug import utils | |||
| class opendons_returnmail(models.Model): | |||
| _name = 'opendons_returnmail' | |||
| _description = 'manage return mail' | |||
| return_type=fields.Selection(string='Type', | |||
| selection=[ | |||
| ('npai', 'NPAI'), | |||
| ('decedee','Décédée'), | |||
| ('refusee','Refusée') | |||
| ],default='npai') | |||
| return_count=fields.Integer(string='returns count', readonly=True) | |||
| return_input=fields.Char('Input field') | |||
| npai_lines = fields.One2many( | |||
| 'opendons_returnmail.npai', | |||
| 'returnmail_id', | |||
| string='NPAI', | |||
| track_visibility='onchange') | |||
| #related_npai_partner_id = fields.Many2one(related='returnmailnpai_ids.partner_id') | |||
| def action_ajouter_npai(self): | |||
| data=self.return_input.split(';') | |||
| vals={} | |||
| vals['partner_id']=data[0] | |||
| vals['operation_id']=data[1] | |||
| vals['segment_id']=data[2] | |||
| vals['returnmail_id']=self.id | |||
| p=self.env['res.partner'].search_count([('id','=',int(vals['partner_id']))]) | |||
| if p==0 : raise UserError("ce contact n'existe pas") | |||
| op=self.env['opendons.operation'].search_count([('id','=',int(vals['operation_id']))]) | |||
| if op==0 : raise UserError("cette operation n'existe pas") | |||
| seg=self.env['opendons.segment'].search_count([('id','=',int(vals['segment_id']))]) | |||
| if seg==0 : raise UserError("ce segment n'existe pas") | |||
| res=self.env['opendons_returnmail.npai'].create(vals) | |||
| self.env.cr.commit() | |||
| class opendons_returnmailNpai(models.Model): | |||
| _name = 'opendons_returnmail.npai' | |||
| _description = 'gestion des retours NPAI' | |||
| returnmail_id = fields.Many2one( | |||
| 'opendons_returnmail', | |||
| string='return mail', | |||
| ondelete='set null' | |||
| ) | |||
| partner_id=fields.Many2one( | |||
| 'res.partner', | |||
| string='Partner', | |||
| required=True, | |||
| index=True, | |||
| track_visibility='onchange', | |||
| ondelete='restrict' | |||
| ) | |||
| operation_id=fields.Many2one( | |||
| 'opendons.operation', | |||
| string='Operation', | |||
| required=True, | |||
| index=True, | |||
| track_visibility='onchange', | |||
| ondelete='restrict' | |||
| ) | |||
| segment_id=fields.Many2one( | |||
| 'opendons.segment', | |||
| string='Segment', | |||
| required=True, | |||
| index=True, | |||
| track_visibility='onchange', | |||
| ondelete='restrict' | |||
| ) | |||
| @ -0,0 +1,64 @@ | |||
| <odoo> | |||
| <data> | |||
| <record model="ir.ui.view" id="opendons.payment_batch"> | |||
| <field name="name">opendons_payment_batch list</field> | |||
| <field name="model">opendons_payment_batch</field> | |||
| <field name="arch" type="xml"> | |||
| <tree> | |||
| <field name="create_date"/> | |||
| <field name="create_uid"/> | |||
| <field name="payment_mode"/> | |||
| </tree> | |||
| </field> | |||
| </record> | |||
| <record model="ir.ui.view" id="opendons.payment_batch_form"> | |||
| <field name="name">opendons_payment_batch Form</field> | |||
| <field name="model">opendons_payment_batch</field> | |||
| <field name="arch" type="xml"> | |||
| <form string="payment_batch_form"> | |||
| <header> | |||
| </header> | |||
| <sheet> | |||
| <group name="payment_batch"> | |||
| <field name="create_date"/> | |||
| <field name="create_uid"/> | |||
| <field name="payment_mode"/> | |||
| <field name="operation_id"/> | |||
| <field name="segment_id"/> | |||
| <field name="payment_input"/> | |||
| </group> | |||
| <button name="action_ajouter_payment" type="object" string="Ajouter" class="oe_highlight"/> | |||
| </sheet> | |||
| </form> | |||
| </field> | |||
| </record> | |||
| <record model="ir.actions.act_window" id="payment_batch_action"> | |||
| <field name="name">Payment batch</field> | |||
| <field name="res_model">opendons_payment_batch</field> | |||
| <field name="view_mode">tree,form</field> | |||
| </record> | |||
| <menuitem id="payment_batch_top_menu" sequence="16" | |||
| name="Payments batchs"/> | |||
| <menuitem id="payment_batch_title_menu" parent="payment_batch_top_menu" | |||
| sequence="15" name="Payments batchs"/> | |||
| <menuitem id="payment_batch_menu" action="payment_batch_action" | |||
| parent="payment_batch_title_menu" sequence="10"/> | |||
| </data> | |||
| </odoo> | |||
| @ -0,0 +1,63 @@ | |||
| <odoo> | |||
| <data> | |||
| <record model="ir.ui.view" id="opendons.returnmail"> | |||
| <field name="name">opendons_returnmail list</field> | |||
| <field name="model">opendons_returnmail</field> | |||
| <field name="arch" type="xml"> | |||
| <tree> | |||
| <field name="create_date"/> | |||
| <field name="create_uid"/> | |||
| <field name="return_type"/> | |||
| <field name="return_count"/> | |||
| </tree> | |||
| </field> | |||
| </record> | |||
| <record model="ir.ui.view" id="opendons.returnmail_form" > | |||
| <field name="name">opendons_returnmail Form</field> | |||
| <field name="model">opendons_returnmail</field> | |||
| <field name="arch" type="xml"> | |||
| <form string="returnmail_form"> | |||
| <header> | |||
| </header> | |||
| <sheet> | |||
| <group name="returnmail"> | |||
| <field name="create_date"/> | |||
| <field name="create_uid"/> | |||
| <field name="return_type"/> | |||
| <field name="return_count"/> | |||
| <field name="return_input"/> | |||
| </group> | |||
| <button name="action_ajouter_npai" type="object" string="Ajouter" class="oe_highlight"/> | |||
| <field name="npai_lines"> | |||
| <tree editable="bottom"> | |||
| <field name="returnmail_id" invisible="1"/> | |||
| <field name="partner_id"/> | |||
| <field name="operation_id"/> | |||
| <field name="segment_id"/> | |||
| </tree> | |||
| </field> | |||
| </sheet> | |||
| </form> | |||
| </field> | |||
| </record> | |||
| <record model="ir.actions.act_window" id="returnmail_action"> | |||
| <field name="name">return mail</field> | |||
| <field name="res_model">opendons_returnmail</field> | |||
| <field name="view_mode">tree,form</field> | |||
| </record> | |||
| <menuitem id="returnmail_menu" action="returnmail_action" | |||
| parent="returnmail_title_menu" sequence="10"/> | |||
| </data> | |||
| </odoo> | |||