@ -1,3 +1,5 @@ | |||
# -*- 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 | |||
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> |