diff --git a/users_ldap_mail/__init__.py b/users_ldap_mail/__init__.py
new file mode 100644
index 000000000..a6d454183
--- /dev/null
+++ b/users_ldap_mail/__init__.py
@@ -0,0 +1,22 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# This module copyright (C) 2013 Daniel Reis.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+##############################################################################
+
+import users_ldap_model
diff --git a/users_ldap_mail/__openerp__.py b/users_ldap_mail/__openerp__.py
new file mode 100644
index 000000000..97709502d
--- /dev/null
+++ b/users_ldap_mail/__openerp__.py
@@ -0,0 +1,40 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# This module copyright (C) 2013 Daniel Reis.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+##############################################################################
+
+{
+"name" : "LDAP mapping for user name and e-mail",
+"version" : "1.0",
+"depends" : ["auth_ldap"],
+"author" : "Daniel Reis",
+"description": """\
+Allows to define the LDAP attributes to use to retrieve user name and e-mail address.
+
+The default attribute used for the name is "cn".
+For Active Directory, you might prefer to use "displayName" instead.
+AD also supports the "mail" attribute, so it can be mapped into OpenERP.
+""",
+"category" : "Tools",
+"data" : [
+ 'users_ldap_view.xml',
+],
+"installable": True,
+}
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/users_ldap_mail/users_ldap_model.py b/users_ldap_mail/users_ldap_model.py
new file mode 100644
index 000000000..52b3899e8
--- /dev/null
+++ b/users_ldap_mail/users_ldap_model.py
@@ -0,0 +1,63 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# This module copyright (C) 2013 Daniel Reis
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+##############################################################################
+
+from openerp.osv import fields, orm
+
+
+class CompanyLDAP(orm.Model):
+ _inherit='res.company.ldap'
+ _columns={
+ 'name_attribute': fields.char('Name Attribute', size=64,
+ help="Default in 'cn'. For an AD you could use 'displayName' instead."),
+ 'mail_attribute': fields.char('E-mail attribute', size=64,
+ help="Active Directory uses the 'mail' attribute."),
+ }
+
+
+ def get_ldap_dicts(self, cr, ids=None):
+ """
+ Copy of auth_ldap's funtion, changing only the SQL, so that it returns
+ all fields in the table.
+ """
+
+ if ids:
+ id_clause = 'AND id IN (%s)'
+ args = [tuple(ids)]
+ else:
+ id_clause = ''
+ args = []
+ cr.execute("""
+ SELECT *
+ FROM res_company_ldap
+ WHERE ldap_server != '' """ + id_clause + """ ORDER BY sequence
+ """, args)
+ return cr.dictfetchall()
+
+
+ def map_ldap_attributes(self, cr, uid, conf, login, ldap_entry):
+ values = super(CompanyLDAP, self).map_ldap_attributes(cr, uid, conf,
+ login, ldap_entry)
+ if conf.get('name_attribute'):
+ values['name'] = ldap_entry[1][conf['name_attribute']][0]
+ if conf.get('mail_attribute'):
+ values['email'] = ldap_entry[1][conf['mail_attribute']][0]
+ return values
+
diff --git a/users_ldap_mail/users_ldap_view.xml b/users_ldap_mail/users_ldap_view.xml
new file mode 100644
index 000000000..9395e602f
--- /dev/null
+++ b/users_ldap_mail/users_ldap_view.xml
@@ -0,0 +1,18 @@
+
+
+
+
+ res.company.form.inherit.users_ldap_mail
+ res.company
+
+
+
+
+
+
+
+
+
+
+
+