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