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