Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
b1bac53
Therp's modules to sync OpenERP with LDAP directories
dreispt Jul 23, 2013
0a71924
FIX version numbers; view type is deprecated
dreispt Jul 24, 2013
43f4960
Generate .pot files
Mar 14, 2014
eabb043
Write needs list to browse.
yajo Apr 8, 2014
a0c6603
move all modules to __unported__ on master branch and set installable…
sbidoul Jul 12, 2014
64fcd2b
start moving the users_ldap_groups outside the __unported__ folder
giacomos85 Jul 16, 2015
f25a16b
porting to v8
giacomos85 Jul 16, 2015
bf120c8
move to new apis
giacomos85 Jul 16, 2015
251da03
fix missing new api call
giacomos85 Jul 16, 2015
653fa04
some makeup and change the ldap operators from plain python objects t…
giacomos85 Jul 16, 2015
7972f7e
use AbstractModel instead of TransientModel so we don't create useles…
giacomos85 Jul 17, 2015
fda1968
change description with summary to have the following sentence show u…
giacomos85 Jul 17, 2015
e658b98
Add missing default oca icons
yvaucher Aug 18, 2015
a4d7f44
[UPD] prefix versions with 8.0
sbidoul Oct 9, 2015
ff07d27
[MIG] Make modules uninstallable
pedrobaeza Oct 14, 2015
2db0a50
[MIG] Rename manifest files
pedrobaeza Oct 6, 2016
390cb32
[MIG] users_ldap_groups
hbrunn Feb 5, 2018
ff20526
remove obsolete .pot files [ci skip]
sbidoul Jun 15, 2018
48e6326
[MIG] users_ldap_groups: Migration to 12.0
alexey-pelykh Nov 9, 2018
f3977e2
Added translation using Weblate (Croatian)
badbole Nov 13, 2019
cbf1cb5
[UPD] Brainbean Apps => CorporateHub
alexey-pelykh Nov 4, 2020
c4801dc
[IMP] users_ldap_groups: black, isort, prettier
joao-p-marques Feb 16, 2021
b640848
[MIG] users_ldap_groups: Migration to 13.0
joao-p-marques Feb 17, 2021
479633b
[IMP] users_ldap_groups: Check and warn about wrong user config
joao-p-marques Feb 19, 2021
a0544d7
[IMP] users_ldap_groups: Black, Isort, Prettier.
dsolanki-initos Mar 15, 2021
7ce3fbe
[MIG] Migrate module users_ldap_groups to v14.
dsolanki-initos Mar 15, 2021
29e474b
[MIG] users_ldap_groups: Migration to 15.0
ortlam Dec 21, 2022
4edf99e
[MIG] users_ldap_groups: Migration to 16.0
carolinafernandez-tecnativa Sep 22, 2023
4932304
Translated using Weblate (Spanish)
Ivorra78 Oct 15, 2023
e914ed9
Translated using Weblate (Italian)
mymage Jan 3, 2024
9a39e65
[16.0][FIX] users_ldap_groups: vulnerability
oh2fih Mar 30, 2024
51bf364
Translated using Weblate (Portuguese (Brazil))
May 21, 2024
0ddb21e
users_ldap_groups update docstring on operators()
oh2fih Jun 6, 2024
ae0a226
[IMP] users_ldap_groups: pre-commit auto fixes
ryanc-me Jul 30, 2024
60c6833
[MIG] users_ldap_groups: Migrate to 17.0
ryanc-me Jul 30, 2024
39443f2
Fix issue with mock cursor in tests
ryanc-me Jul 30, 2024
235909c
[16.0][FIX] users_ldap_groups: safe LDAP decode
oh2fih Jun 6, 2024
6a49051
[UPD] Update users_ldap_groups.pot
Aug 11, 2025
4f9e187
[BOT] post-merge updates
OCA-git-bot Aug 11, 2025
431b96e
[IMP] users_ldap_groups: pre-commit auto fixes
cvinh Jan 19, 2026
39c9a20
[MIG] users_ldap_groups: Migration to 18.0
cvinh Jan 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ lxml
pyjwt
pysaml2
python-jose
python-ldap
124 changes: 124 additions & 0 deletions users_ldap_groups/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
======================
LDAP groups assignment
======================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:5538d0664000dd276401538dfe2ecc07df73df425f496375b7ff738bba905479
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--auth-lightgray.png?logo=github
:target: https://github.com/OCA/server-auth/tree/18.0/users_ldap_groups
:alt: OCA/server-auth
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/server-auth-18-0/server-auth-18-0-users_ldap_groups
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/server-auth&target_branch=18.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

|License: AGPL-3|

Adds user accounts to groups based on rules defined by the
administrator.

.. |License: AGPL-3| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
:target: https://www.gnu.org/licenses/agpl

**Table of contents**

.. contents::
:local:

Usage
=====

Define mappings in Settings / General Settings / Integrations / LDAP
Authentication / LDAP Server

Decide whether you want only groups mapped from LDAP (Only LDAP groups
checked) or a mix of manually set groups and LDAP groups (Only LDAP
groups unchecked). Setting this to "no" will result in users never
losing privileges when you remove them from a LDAP group, so that's a
potential security issue. It is still the default to prevent losing
group information by accident. If set to "Yes", you need to make sure
each user has at least on of the "User types" groups

For active directory, use LDAP attribute 'memberOf' and operator
'contains'. Fill in the DN of the windows group as value and choose an
Odoo group users with this windows group are to be assigned to.

For posix accounts, use operator 'query' and a value like:

::

(&(cn=bzr)(objectClass=posixGroup)(memberUid=$uid))

The operator query matches if the filter in value returns something, and
value can contain ``$attribute`` which will be replaced by the first
value of the user's LDAP record's attribute named attribute.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/server-auth/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/server-auth/issues/new?body=module:%20users_ldap_groups%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Therp BV

Contributors
------------

- Holger Brunn <hbrunn@therp.nl>
- Giacomo Spettoli <giacomo.spettoli@gmail.com>
- `CorporateHub <https://corporatehub.eu/>`__

- Alexey Pelykh <alexey.pelykh@corphub.eu>

- Tecnativa <https://www.tecnativa.com>

- João Marques
- Carolina Fernandez

- Dhara Solanki <dhara.solanki@initos.com>
- Invitu <https://www.invitu.com>

- Cyril Vinh-Tung <cyril@invitu.com>

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/server-auth <https://github.com/OCA/server-auth/tree/18.0/users_ldap_groups>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
3 changes: 3 additions & 0 deletions users_ldap_groups/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Copyright 2012-2018 Therp BV <https://therp.nl>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from . import models
19 changes: 19 additions & 0 deletions users_ldap_groups/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Copyright 2012-2018 Therp BV <https://therp.nl>
# Copyright 2018 Brainbean Apps <https://brainbeanapps.com>
# Copyright 2021 Tecnativa - João Marques
# Copyright 2023 Tecnativa - Carolina Fernandez
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).

{
"name": "LDAP groups assignment",
"version": "18.0.1.0.0",
"depends": ["auth_ldap"],
"author": "Therp BV, " "Odoo Community Association (OCA)",
"website": "https://github.com/OCA/server-auth",
"license": "AGPL-3",
"summary": "Adds user accounts to groups based on rules defined "
"by the administrator.",
"category": "Authentication",
"data": ["views/res_company_ldap_views.xml", "security/ir.model.access.csv"],
"external_dependencies": {"python": ["python-ldap"]},
}
163 changes: 163 additions & 0 deletions users_ldap_groups/i18n/de.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * users_ldap_groups
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: server-tools (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-09-29 11:14+0000\n"
"PO-Revision-Date: 2015-09-18 13:56+0000\n"
"Last-Translator: <>\n"
"Language-Team: German (http://www.transifex.com/oca/OCA-server-tools-8-0/"
"language/de/)\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. module: users_ldap_groups
#: model:ir.model,name:users_ldap_groups.model_res_company_ldap
msgid "Company LDAP configuration"
msgstr ""

#. module: users_ldap_groups
#: model:ir.model.fields,field_description:users_ldap_groups.field_res_company_ldap_group_mapping__create_uid
msgid "Created by"
msgstr "Erstellt von"

#. module: users_ldap_groups
#: model:ir.model.fields,field_description:users_ldap_groups.field_res_company_ldap_group_mapping__create_date
msgid "Created on"
msgstr "Erstellt am:"

#. module: users_ldap_groups
#: model:ir.model.fields,help:users_ldap_groups.field_res_company_ldap__group_mapping_ids
msgid "Define how Odoo groups are assigned to LDAP users"
msgstr ""

#. module: users_ldap_groups
#: model:ir.model,name:users_ldap_groups.model_res_company_ldap_operator
msgid "Definition op LDAP operations"
msgstr ""

#. module: users_ldap_groups
#: model:ir.model.fields,field_description:users_ldap_groups.field_res_company_ldap_group_mapping__display_name
msgid "Display Name"
msgstr ""

#. module: users_ldap_groups
#: model:ir.model.fields,field_description:users_ldap_groups.field_res_company_ldap__group_mapping_ids
msgid "Group mappings"
msgstr ""

#. module: users_ldap_groups
#: model:ir.model.fields,field_description:users_ldap_groups.field_res_company_ldap_group_mapping__id
msgid "ID"
msgstr "ID"

#. module: users_ldap_groups
#: model:ir.model.fields,help:users_ldap_groups.field_res_company_ldap__only_ldap_groups
msgid ""
"If this is checked, manual changes to group membership are undone on every "
"login (so Odoo groups are always synchronous with LDAP groups). If not, "
"manually added groups are preserved."
msgstr ""

#. module: users_ldap_groups
#: model:ir.model.fields,field_description:users_ldap_groups.field_res_company_ldap_group_mapping__ldap_attribute
msgid "LDAP attribute"
msgstr ""

#. module: users_ldap_groups
#: model:ir.model,name:users_ldap_groups.model_res_company_ldap_group_mapping
msgid "LDAP group mapping"
msgstr ""

#. module: users_ldap_groups
#: model:ir.model.fields,field_description:users_ldap_groups.field_res_company_ldap_group_mapping__ldap_id
msgid "LDAP server"
msgstr ""

#. module: users_ldap_groups
#: model:ir.model.fields,field_description:users_ldap_groups.field_res_company_ldap_group_mapping____last_update
#, fuzzy
msgid "Last Modified on"
msgstr "Zuletzt aktualisiert am"

#. module: users_ldap_groups
#: model:ir.model.fields,field_description:users_ldap_groups.field_res_company_ldap_group_mapping__write_uid
msgid "Last Updated by"
msgstr "Zuletzt aktualisiert von"

#. module: users_ldap_groups
#: model:ir.model.fields,field_description:users_ldap_groups.field_res_company_ldap_group_mapping__write_date
msgid "Last Updated on"
msgstr "Zuletzt aktualisiert am"

#. module: users_ldap_groups
#: model_terms:ir.ui.view,arch_db:users_ldap_groups.view_ldap_installer_form
msgid "Map User Groups"
msgstr ""

#. module: users_ldap_groups
#: model:ir.model.fields,field_description:users_ldap_groups.field_res_company_ldap_group_mapping__group_id
msgid "Odoo group"
msgstr ""

#. module: users_ldap_groups
#: model:ir.model.fields,field_description:users_ldap_groups.field_res_company_ldap__only_ldap_groups
msgid "Only LDAP groups"
msgstr ""

#. module: users_ldap_groups
#: model:ir.model.fields,field_description:users_ldap_groups.field_res_company_ldap_group_mapping__operator
msgid "Operator"
msgstr ""

#. module: users_ldap_groups
#: model:ir.model.fields,help:users_ldap_groups.field_res_company_ldap_group_mapping__ldap_attribute
msgid ""
"The LDAP attribute to check.\n"
"For active directory, use memberOf."
msgstr ""

#. module: users_ldap_groups
#: model:ir.model.fields,help:users_ldap_groups.field_res_company_ldap_group_mapping__group_id
msgid "The Odoo group to assign"
msgstr ""

#. module: users_ldap_groups
#. odoo-python
#: code:addons/users_ldap_groups/models/res_company_ldap.py:0
#, python-format
msgid ""
"The created user needs to have one (and only one) of the 'User types /' "
"groups defined."
msgstr ""

#. module: users_ldap_groups
#: model:ir.model.fields,help:users_ldap_groups.field_res_company_ldap_group_mapping__operator
msgid ""
"The operator to check the attribute against the value\n"
"For active directory, use 'contains'"
msgstr ""

#. module: users_ldap_groups
#: model:ir.model.fields,help:users_ldap_groups.field_res_company_ldap_group_mapping__value
msgid ""
"The value to check the attribute against.\n"
"For active directory, use the dn of the desired group"
msgstr ""

#. module: users_ldap_groups
#: model:ir.model,name:users_ldap_groups.model_res_users
msgid "User"
msgstr ""

#. module: users_ldap_groups
#: model:ir.model.fields,field_description:users_ldap_groups.field_res_company_ldap_group_mapping__value
msgid "Value"
msgstr ""
Loading