Browse Source

return mail

master
root 3 years ago
parent
commit
535c0e3038
6 changed files with 302 additions and 0 deletions
  1. +19
    -0
      models/direct_debit.py
  2. +72
    -0
      models/payment_batch.py
  3. +84
    -0
      models/returnmail.py
  4. +0
    -0
      views/direct_debit.xml
  5. +64
    -0
      views/payment_batch.xml
  6. +63
    -0
      views/returnmail.xml

+ 19
- 0
models/direct_debit.py View File

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

+ 72
- 0
models/payment_batch.py View File

@ -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'
# )

+ 84
- 0
models/returnmail.py View File

@ -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
views/direct_debit.xml View File


+ 64
- 0
views/payment_batch.xml View File

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

+ 63
- 0
views/returnmail.xml View File

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

Loading…
Cancel
Save