Partner synchronization from OpenERP to ldap

partner_address_ldap
REPOSITORY
REPOSITORYOCA/partner-contact
GIT
GIThttps://github.com/OCA/partner-contact.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/partner-contact/tree/6.1/partner_address_ldap
VERSION
VERSION 1.2
CATEGORY
CATEGORYGeneric Modules/Misc
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSAlexandre Fayolle, Joël Grand-Guillaume, Sandy Carter
WEBSITE
WEBSITEhttp://www.camptocamp.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:04:05
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Live partner address synchronization through a LDAP module (inetOrgPerson).
OpenERP becomes the master of the LDAP. Each time an address is deleted,
created or updated the same is done in the ldap (a new record is pushed).
The LDAP configuration is done in the company view. There can be one different
LDAP per company. Do not forget to activate the LDAP link in the configuration.
The used LDAP depends on the current user company.

This module does not allows bulk batching synchronisation into the LDAP and is
thus not suitable for an instant use with an existing LDAP.
In order to use it with an existing LDAP you have to alter the uid of contact
in your LDAP. The uid should be terp_ plus the OpenERP
contact id (for example terp_10).

N.B:
The module requires the python-ldap library
Unicode support --> As python ldap does not support unicode we try to decode
string if it fails we transliterate values.
Active Directory Support for Windows server 2003, try 2008 at your own risk
(AD support not tested for Version 6 of OpenERP looking for active dir test infra)


Code Analysis

Views touched (7)
XML IDNameModelTypeStatus
base.view_partner_address_tree res.partner.address.tree res.partner.address tree New
view_company_for_ldap res.company.form res.company page Inherits base.view_company_form
view_partner_address_form1_inherit_ldap res.partner.address.form1.c2c_partner_adress res.partner.address field Inherits base.view_partner_address_form1
view_partner_address_form1_inherit_ldap2 res.partner.address.form1.c2c_partner_adress res.partner.address field Inherits base.view_partner_address_form1
view_partner_address_form2_inerit_ldap res.partner.address.form2_c2c_partner_address res.partner.address field Inherits base.view_partner_address_form2
view_partner_address_form_inerit_ldap res.partner.address.form2_c2c_partner_address res.partner.address field Inherits base.view_partner_address_form2
view_partner_form_inherite_contact_ldap res.partner.form2_partner_address res.partner xpath Inherits base.view_partner_form
Models touched (2)

New fields (0)

No new fields.

Public methods (1)
  • unlink(self, cursor, uid, ids, context=None)

New fields (0)

No new fields.

Public methods (16)
  • addNeededFields(self, id, vals, cursor, uid)
  • connectToLdap(self, cursor, uid, context=None)
    Reinitialize ldap connection
  • create(self, cursor, uid, vals, context=None)
  • getLdapContact(self, conn, id)
  • getVals(self, att_name, key, vals, dico, uid, ids, cursor, context=None)
    map to values to dict
  • getconn(self, cursor, uid, context=None)
    LdapConnMApper
  • init(self, cr)
  • ldaplinkactive(self, cursor, uid, context=None)
    Check if ldap is activated for this company
  • mappLdapObject(self, id, vals, cursor, uid, context)
    Mapp ResPArtner adress to moddlist
  • removeLdapContact(self, id, cursor, uid)
    Remove a contact from ldap
  • saveLdapContact(self, id, vals, cursor, uid, context=None)
    save openerp adress to ldap
  • unUnicodize(self, indict)
    remove unicode data of modlist as unicode is not supported by python-ldap librairy till version 2.7
  • unlink(self, cursor, uid, ids, context=None)
  • updateLdapContact(self, id, vals, cursor, uid, context)
    update an existing contact with the data of OpenERP
  • validate_entries(self, vals, cursor, uid, ids)
    Validate data of an address based on the inetOrgPerson schema
  • write(self, cursor, uid, ids, vals, context=None)