Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
63 changes: 63 additions & 0 deletions base_user_partner_fields_edit/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
=============================
Base User Partner Fields Edit
=============================

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

.. |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-NuoBiT%2Fodoo--addons-lightgray.png?logo=github
:target: https://github.com/NuoBiT/odoo-addons/tree/18.0/base_user_partner_fields_edit
:alt: NuoBiT/odoo-addons

|badge1| |badge2| |badge3|

Allow users without access right permissions to edit some partner fields

**Table of contents**

.. contents::
:local:

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

Bugs are tracked on `GitHub Issues <https://github.com/NuoBiT/odoo-addons/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/NuoBiT/odoo-addons/issues/new?body=module:%20base_user_partner_fields_edit%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
-------

* NuoBiT Solutions SL

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

- `NuoBiT <https://www.nuobit.com>`__:

- Eric Antones eantones@nuobit.com
- Deniz Gallo dgallo@nuobit.com

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

This module is part of the `NuoBiT/odoo-addons <https://github.com/NuoBiT/odoo-addons/tree/18.0/base_user_partner_fields_edit>`_ project on GitHub.

You are welcome to contribute.
1 change: 1 addition & 0 deletions base_user_partner_fields_edit/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
20 changes: 20 additions & 0 deletions base_user_partner_fields_edit/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Copyright 2025 NuoBiT Solutions SL - Eric Antones <eantones@nuobit.com>
# Copyright 2026 NuoBiT Solutions SL - Deniz Gallo <dgallo@nuobit.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)

{
"name": "Base User Partner Fields Edit",
"summary": "Allow users without access right permissions to "
"edit some partner fields",
"version": "18.0.1.0.0",
"category": "Hidden",
"author": "NuoBiT Solutions SL",
"website": "https://github.com/NuoBiT/odoo-addons",
"license": "AGPL-3",
"depends": [
"base",
],
"data": [
"security/res_groups_security.xml",
],
}
22 changes: 22 additions & 0 deletions base_user_partner_fields_edit/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * base_user_partner_fields_edit
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-04 15:41+0000\n"
"PO-Revision-Date: 2025-11-04 15:41+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

#. module: base_user_partner_fields_edit
#: model:res.groups,name:base_user_partner_fields_edit.group_user_partner_fields_edit
msgid "Allow editing partner-only fields on user-linked partners"
msgstr "Permitir editar campos exclusivos de contacto en contactos vinculados a usuarios"

2 changes: 2 additions & 0 deletions base_user_partner_fields_edit/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import res_partner
from . import res_users
19 changes: 19 additions & 0 deletions base_user_partner_fields_edit/models/res_partner.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Copyright 2025 NuoBiT Solutions SL - Eric Antones <eantones@nuobit.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)

from odoo import models


class Partner(models.Model):
_inherit = "res.partner"

def _partner_only_fields(self):
return ["ref"]

def write(self, vals):
partner_fields_in_vals = set(self._partner_only_fields()) & set(vals.keys())
if partner_fields_in_vals:
user_shared_fields = set(vals.keys()) - partner_fields_in_vals
if not user_shared_fields:
self = self.with_context(partner_only_fields=True)
return super().write(vals)
17 changes: 17 additions & 0 deletions base_user_partner_fields_edit/models/res_users.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Copyright 2025 NuoBiT Solutions SL - Eric Antones <eantones@nuobit.com>
# Copyright 2026 NuoBiT Solutions SL - Deniz Gallo <dgallo@nuobit.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)

from odoo import models


class Users(models.Model):
_inherit = "res.users"

def _check_access(self, operation):
if operation == "write" and self.env.user.has_group(
"base_user_partner_fields_edit.group_user_partner_fields_edit"
):
if self.env.context.get("partner_only_fields"):
return None
return super()._check_access(operation)
3 changes: 3 additions & 0 deletions base_user_partner_fields_edit/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[build-system]
requires = ["whool"]
build-backend = "whool.buildapi"
3 changes: 3 additions & 0 deletions base_user_partner_fields_edit/readme/CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- [NuoBiT](https://www.nuobit.com):
- Eric Antones <eantones@nuobit.com>
- Deniz Gallo <dgallo@nuobit.com>
1 change: 1 addition & 0 deletions base_user_partner_fields_edit/readme/DESCRIPTION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Allow users without access right permissions to edit some partner fields
11 changes: 11 additions & 0 deletions base_user_partner_fields_edit/security/res_groups_security.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2025 NuoBiT Solutions SL - Eric Antones <eantones@nuobit.com>
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) -->
<odoo>
<record id="group_user_partner_fields_edit" model="res.groups">
<field
name="name"
>Allow editing partner-only fields on user-linked partners</field>
<field name="category_id" ref="base.module_category_hidden" />
</record>
</odoo>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading