@ -1,3 +1,5 @@ | |||||
# -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||
from . import models | |||||
from . import models | |||||
from . import partnerimport | |||||
from . import partner |
@ -0,0 +1,62 @@ | |||||
from odoo import models, fields, api | |||||
from odoo.exceptions import UserError, ValidationError, Warning | |||||
from psycopg2 import sql, DatabaseError | |||||
from werkzeug import utils | |||||
class partner(models.Model): | |||||
_inherit = 'res.partner' | |||||
statut=fields.Selection([('adherent', 'Adhérent'), ('bienfaiteur', 'Bienfaiteur'),('contact', 'Contact'), ('soutien','Soutien') ],'Statut', required=True, index=True) | |||||
date_contact_joomla=fields.Date(string='Date joomla de création du contact', readonly=True) | |||||
origine=fields.Selection([ | |||||
('Boutique','Boutique'), | |||||
('Visiteur','Visiteur'), | |||||
('Vincennes','Vincennes'), | |||||
('Bercy','Bercy'), | |||||
('Salon Zen','Salon Zen'), | |||||
('Autre','Autre'), | |||||
('Internet Boutique','Internet Boutique'), | |||||
('Conf M Ricard','Conf M Ricard'), | |||||
('Visite lzr 09','Visite lzr 09'), | |||||
('Retraite','Retraite'), | |||||
('Amis','Amis'), | |||||
('Centre FPMT','Centre FPMT'), | |||||
('Site réservations','Site réservations'), | |||||
('Réservations','Réservations'), | |||||
('Voyage inde','Voyage inde'), | |||||
('Internet','Internet'), | |||||
('Librairie','Librairie'), | |||||
('Site internet boutique','Site internet boutique'), | |||||
('Portes ouvertes st cosme','Portes ouvertes st cosme'), | |||||
('T','T'), | |||||
('maitreya','maitreya'), | |||||
('Zen','Zen'), | |||||
('Lille','Lille'), | |||||
('Alan wallace','Alan wallace'), | |||||
('Salon Rouen','Salon Rouen'), | |||||
('Stage','Stage'), | |||||
('B.Actualit','B.Actualit'), | |||||
('B. Actualit','B. Actualit'), | |||||
('R','R'), | |||||
('Institut vy','Institut vy'), | |||||
('Initiation kalachakr','Initiation kalachakr'), | |||||
('Yoga','Yoga'), | |||||
('Samsara','Samsara'), | |||||
('missun@gmail.com','missun@gmail.com'), | |||||
('Reliques','Reliques'), | |||||
('Journal m','Journal m'), | |||||
('Nantes','Nantes'), | |||||
('retraite vipassana','retraite vipassana'), | |||||
('Presse bouddhiste','Presse bouddhiste'), | |||||
('Réservtions','Réservtions'), | |||||
('Réservation','Réservation'), | |||||
('Site','Site'), | |||||
('Question mail','Question mail'), | |||||
('interreligieux','interreligieux'), | |||||
('Refuge','Refuge'), | |||||
('zoom','zoom'), | |||||
],'Origine', required=True, index=True) | |||||
date_adhesion=fields.Date(string='Date adhesion', readonly=True) |
@ -0,0 +1,105 @@ | |||||
from odoo import models, fields, api | |||||
from odoo.exceptions import UserError, ValidationError | |||||
from psycopg2 import sql, DatabaseError | |||||
from odoo.tools.safe_eval import safe_eval, datetime | |||||
from werkzeug import utils | |||||
class kalachakra_partnerdraft(models.Model): | |||||
_name = 'kalachakra.partnerdraft' | |||||
_description = 'import draft partner' | |||||
external_id=fields.Char(string='external id') | |||||
source=fields.Char(String='source file',required=True) | |||||
name=fields.Char(string='name') | |||||
firstname=fields.Char(string='firstname') | |||||
title=fields.Char(string='civilité') | |||||
phone = fields.Char(string='phone') | |||||
mobile = fields.Char(string='mobile') | |||||
email = fields.Char(string='email') | |||||
complement_ident = fields.Char(string='N° appartment,floor') | |||||
complement_geo = fields.Char(string='entry,tower,bat') | |||||
street = fields.Char(string='street') | |||||
street2 = fields.Char(string='street2') | |||||
city = fields.Char(string='city') | |||||
zip = fields.Char(string='zip code') | |||||
country = fields.Char(string='country') | |||||
statut=fields.Selection([('adherent', 'Adhérent'), ('bienfaiteur', 'Bienfaiteur'),('contact', 'Contact'), ('soutien','Soutien') ],'Statut') | |||||
date_contact_joomla=fields.Date(string='Date joomla de création du contact') | |||||
origine=fields.Selection([ | |||||
('Boutique','Boutique'), | |||||
('Visiteur','Visiteur'), | |||||
('Vincennes','Vincennes'), | |||||
('Bercy','Bercy'), | |||||
('Salon Zen','Salon Zen'), | |||||
('Autre','Autre'), | |||||
('Internet Boutique','Internet Boutique'), | |||||
('Conf M Ricard','Conf M Ricard'), | |||||
('Visite lzr 09','Visite lzr 09'), | |||||
('Retraite','Retraite'), | |||||
('Amis','Amis'), | |||||
('Centre FPMT','Centre FPMT'), | |||||
('Site réservations','Site réservations'), | |||||
('Réservations','Réservations'), | |||||
('Voyage inde','Voyage inde'), | |||||
('Internet','Internet'), | |||||
('Librairie','Librairie'), | |||||
('Site internet boutique','Site internet boutique'), | |||||
('Portes ouvertes st cosme','Portes ouvertes st cosme'), | |||||
('T','T'), | |||||
('maitreya','maitreya'), | |||||
('Zen','Zen'), | |||||
('Lille','Lille'), | |||||
('Alan wallace','Alan wallace'), | |||||
('Salon Rouen','Salon Rouen'), | |||||
('Stage','Stage'), | |||||
('B.Actualit','B.Actualit'), | |||||
('B. Actualit','B. Actualit'), | |||||
('R','R'), | |||||
('Institut vy','Institut vy'), | |||||
('Initiation kalachakr','Initiation kalachakr'), | |||||
('Yoga','Yoga'), | |||||
('Samsara','Samsara'), | |||||
('missun@gmail.com','missun@gmail.com'), | |||||
('Reliques','Reliques'), | |||||
('Journal m','Journal m'), | |||||
('Nantes','Nantes'), | |||||
('retraite vipassana','retraite vipassana'), | |||||
('Presse bouddhiste','Presse bouddhiste'), | |||||
('Réservtions','Réservtions'), | |||||
('Réservation','Réservation'), | |||||
('Site','Site'), | |||||
('Question mail','Question mail'), | |||||
('interreligieux','interreligieux'), | |||||
('Refuge','Refuge'), | |||||
('zoom','zoom')],'Origine', index=True) | |||||
date_adhesion=fields.Date(string='Date adhesion') | |||||
doublon=fields.Boolean(string='Doublon') | |||||
def find_duplicated_partner(self): | |||||
#affichage des doublons | |||||
action = self.env.ref("kalachakra.kalachakra_partnerdraft_action").sudo().read([])[0] | |||||
action.update( | |||||
{ | |||||
"domain": [("doublon", "=", True)], | |||||
} | |||||
) | |||||
return action | |||||
class kalachakra_doublonfield(models.Model): | |||||
_name = 'kalachakra.doublonfield' | |||||
_description = 'doublons fields' | |||||
name=fields.Char('Doublon field name') |
@ -1,2 +1,3 @@ | |||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink | ||||
access_kalachakra_kalachakra,kalachakra.kalachakra,model_kalachakra_kalachakra,base.group_user,1,1,1,1 | |||||
access_kalachakra_partnerdraft,kalachakra_partnerdraft,model_kalachakra_partnerdraft,donation.group_donation_manager,1,1,1,1 | |||||
access_kalachakra_doublonsfields,kalachakra_doublonsfields,model_kalachakra_doublonfield,donation.group_donation_manager,1,1,1,1 |
@ -0,0 +1,68 @@ | |||||
<?xml version="1.0"?> | |||||
<odoo> | |||||
<record id="view_partner_form" model="ir.ui.view"> | |||||
<field name="name">kalachakra.res.partner.form</field> | |||||
<field name="model">res.partner</field> | |||||
<field name="inherit_id" ref="base.view_partner_form" /> | |||||
<field name="arch" type="xml"> | |||||
<xpath expr="//page[@name='internal_notes']" position="before"> | |||||
<page name="Kalachakra" string="Kalachakra"> | |||||
<group name="kalachakra" string="kalachakra" col="6"> | |||||
<field name="statut"/> | |||||
<field name="date_contact_joomla"/> | |||||
<field name="origine"/> | |||||
<field name="date_adhesion"/> | |||||
</group> | |||||
</page> | |||||
</xpath> | |||||
</field> | |||||
</record> | |||||
<record id="kalachakra_partnerdraft_action" model="ir.actions.act_window"> | |||||
<field name="name">Partners draft</field> | |||||
<field name="res_model">kalachakra.partnerdraft</field> | |||||
<field name="view_mode">tree,form</field> | |||||
<field name="context"></field> | |||||
</record> | |||||
<record id="kalachakra_doublonfield_action" model="ir.actions.act_window"> | |||||
<field name="name">Doublons fields</field> | |||||
<field name="res_model">kalachakra.doublonfield</field> | |||||
<field name="view_mode">tree,form</field> | |||||
<field name="context"></field> | |||||
</record> | |||||
<!--attention : ajouter mail comme dépendance pour que l'action server fonctionne--> | |||||
<record model="ir.actions.server" id="ir_action_find_duplicated_partner"> | |||||
<field name="name">find_duplicated_partner</field> | |||||
<field name="model_id" ref="kalachakra.model_kalachakra_partnerdraft"/> | |||||
<field name="state">code</field> | |||||
<field name="code">action=model.find_duplicated_partner()</field> | |||||
</record> | |||||
<menuitem id="kalachakra_partnerdraft_title_menu" name ="Partners import" | |||||
parent="contacts.menu_contacts" sequence="4"/> | |||||
<menuitem id="kalachakra_partnerdraft_menu" action="kalachakra_partnerdraft_action" name ="Partners import" | |||||
parent="kalachakra_partnerdraft_title_menu" sequence="1"/> | |||||
<menuitem id="kalachakra_doublonfield_menu" action="kalachakra_doublonfield_action" name ="Doublons fields" | |||||
parent="kalachakra_partnerdraft_title_menu" sequence="2"/> | |||||
<menuitem id="kalachakra_doublonfield_menu" action="kalachakra_doublonfield_action" name ="Doublons fields" | |||||
parent="kalachakra_partnerdraft_title_menu" sequence="2"/> | |||||
<menuitem id="kalachakra_find_duplicated_partner_menu" action="ir_action_find_duplicated_partner" | |||||
name="find duplicated partners" parent="kalachakra_partnerdraft_title_menu" sequence="3"/> | |||||
</odoo> |
@ -0,0 +1,70 @@ | |||||
<?xml version="1.0"?> | |||||
<odoo> | |||||
<record model="ir.ui.view" id="kalachakra.partner_draft"> | |||||
<field name="name">_partner_draft list</field> | |||||
<field name="model">kalachakra.partnerdraft</field> | |||||
<field name="arch" type="xml"> | |||||
<tree default_order="name,firstname"> | |||||
<field name="doublon"/> | |||||
<field name="source"/> | |||||
<field name="external_id"/> | |||||
<field name="name"/> | |||||
<field name="firstname"/> | |||||
<field name="phone"/> | |||||
<field name="mobile"/> | |||||
<field name="email"/> | |||||
<field name="complement_ident"/> | |||||
<field name="complement_geo"/> | |||||
<field name="street"/> | |||||
<field name="street2"/> | |||||
<field name="city"/> | |||||
<field name="zip"/> | |||||
<field name="country"/> | |||||
</tree> | |||||
</field> | |||||
</record> | |||||
<record model="ir.ui.view" id="kalachakra.doublonsfield"> | |||||
<field name="name">doublons fields list</field> | |||||
<field name="model">kalachakra.doublonfield</field> | |||||
<field name="arch" type="xml"> | |||||
<tree> | |||||
<field name="name"/> | |||||
</tree> | |||||
</field> | |||||
</record> | |||||
<record model="ir.ui.view" id="kalachakra.partnerdraft_form" > | |||||
<field name="name">kalachakra_partnerdraft_form</field> | |||||
<field name="model">kalachakra.partnerdraft</field> | |||||
<field name="arch" type="xml"> | |||||
<form string="Partner draft import"> | |||||
<header> | |||||
<!-- <button name="compute_aggregate" type="object" string="Compute"/> --> | |||||
</header> | |||||
<sheet> | |||||
<group name="main"> | |||||
<field name="doublon"/> | |||||
<field name="source"/> | |||||
<field name="external_id"/> | |||||
<field name="name"/> | |||||
<field name="firstname"/> | |||||
<field name="phone"/> | |||||
<field name="mobile"/> | |||||
<field name="email"/> | |||||
<field name="complement_ident"/> | |||||
<field name="complement_geo"/> | |||||
<field name="street"/> | |||||
<field name="street2"/> | |||||
<field name="city"/> | |||||
<field name="zip"/> | |||||
<field name="country"/> | |||||
</group> | |||||
</sheet> | |||||
</form> | |||||
</field> | |||||
</record> | |||||
</odoo> |