Skip to content

Commit

Permalink
Merge pull request #465 from OCA/16.0
Browse files Browse the repository at this point in the history
Syncing from upstream OCA/commission (16.0)
  • Loading branch information
bt-admin authored Jul 3, 2024
2 parents c6badaf + 8149a70 commit ec879f1
Show file tree
Hide file tree
Showing 30 changed files with 4,399 additions and 1 deletion.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ addon | version | maintainers | summary
[commission_formula](commission_formula/) | 16.0.1.0.0 | | Commissions computed by formulas
[hr_commission](hr_commission/) | 16.0.1.0.0 | | HR commissions
[sale_commission](sale_commission/) | 16.0.1.0.2 | [![pedrobaeza](https://github.com/pedrobaeza.png?size=30px)](https://github.com/pedrobaeza) | Sales commissions
[sale_commission_agent_restrict](sale_commission_agent_restrict/) | 16.0.1.0.0 | [![aleuffre](https://github.com/aleuffre.png?size=30px)](https://github.com/aleuffre) | Sales Commissions Agent Restrict
[sale_commission_product_criteria](sale_commission_product_criteria/) | 16.0.1.0.0 | [![ilyasProgrammer](https://github.com/ilyasProgrammer.png?size=30px)](https://github.com/ilyasProgrammer) | Advanced commissions rules
[sale_commission_product_criteria_discount](sale_commission_product_criteria_discount/) | 16.0.1.0.0 | [![ilyasProgrammer](https://github.com/ilyasProgrammer.png?size=30px)](https://github.com/ilyasProgrammer) | Advanced commissions rules with discount
[sale_commission_product_criteria_domain](sale_commission_product_criteria_domain/) | 16.0.1.0.1 | [![ilyasProgrammer](https://github.com/ilyasProgrammer.png?size=30px)](https://github.com/ilyasProgrammer) | Sale Commission Product Criteria Domain
Expand Down
130 changes: 130 additions & 0 deletions sale_commission_agent_restrict/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
================================
Sales Commissions Agent Restrict
================================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:cd9e06255acadec9bc3a25c0ac86804002c6445d2eb8783ccb4784e6b68d49ba
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |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%2Fcommission-lightgray.png?logo=github
:target: https://github.com/OCA/commission/tree/16.0/sale_commission_agent_restrict
:alt: OCA/commission
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/commission-16-0/commission-16-0-sale_commission_agent_restrict
: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/commission&target_branch=16.0
:alt: Try me on Runboat

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

This module provides access groups and rules to restrict access of agent user
to contacts and sales.

If installing with demo data, the module also provides a user to ease testing
from the point of view of the agent. You can log in using username `agent`
and password `agent`.

**Table of contents**

.. contents::
:local:

Configuration
=============

* Create new user.
* Open related to user partner.
* Tick Agent checkbox.
* Go back to user.
* Select desired access groups related to agent.
* Grant to agent user one group from Sales category. Recommended to use Own Records Only.

Usage
=====

After agent user is configured, try to login as agent user and open contacts.
You will see only contacts created by this user and contacts,
to which he assigned as agent.

Agent user can see only sale orders, quotation created by him or where he present as agent.

Agent can create Sale Orders and Contacts (if has Create Contacts right).

Agent can see only own commission lines.

Agent can see only own commission lines total (My Commission) in the Sale Order.

Agent can't open commission line form.

Agent can't recompute agents commissions.

Agent can't edit commission lines.

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/commission/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/commission/issues/new?body=module:%20sale_commission_agent_restrict%0Aversion:%2016.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
~~~~~~~

* Ooops404
* Ilyas

Contributors
~~~~~~~~~~~~

* `Ooops404 <https://www.ooops404.com>`__:

* Ilyas <[email protected]>

* `PyTech SRL <https://www.pytech.it>`__:

* Alessandro Uffreduzzi <[email protected]>
* `Aion Tech <https://aiontech.company/>`_:

* Simone Rubino <[email protected]>

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.

.. |maintainer-aleuffre| image:: https://github.com/aleuffre.png?size=40px
:target: https://github.com/aleuffre
:alt: aleuffre

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-aleuffre|

This module is part of the `OCA/commission <https://github.com/OCA/commission/tree/16.0/sale_commission_agent_restrict>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
1 change: 1 addition & 0 deletions sale_commission_agent_restrict/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
28 changes: 28 additions & 0 deletions sale_commission_agent_restrict/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Copyright 2024 Simone Rubino - Aion Tech
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

{
"name": "Sales Commissions Agent Restrict",
"version": "16.0.1.0.0",
"author": "Ooops404, Ilyas, Odoo Community Association (OCA)",
"maintainers": ["aleuffre"],
"category": "Sales",
"website": "https://github.com/OCA/commission",
"license": "AGPL-3",
"depends": [
"base_rule_visibility_restriction",
"commission",
"sale_commission",
"sales_team",
],
"data": [
"security/security.xml",
"security/ir.model.access.csv",
"views/res_partner_views.xml",
"views/sale_order_view.xml",
],
"demo": [
"demo/res_users_demo.xml",
],
"installable": True,
}
35 changes: 35 additions & 0 deletions sale_commission_agent_restrict/demo/res_users_demo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
~ Copyright 2024 Simone Rubino - Aion Tech
~ License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
-->
<odoo>

<record id="res_partner_agent" model="res.partner">
<field name="name">Agent Demo</field>
<field name="company_type">person</field>
<field name="email">[email protected]</field>
<field name="agent" eval="True" />
</record>

<record
id="res_users_agent"
model="res.users"
context="{'no_reset_password': True}"
>
<field name="name">Agent Demo</field>
<field name="partner_id" ref="res_partner_agent" />
<field name="login">agent</field>
<field name="password">agent</field>
<field
name="groups_id"
eval="[
Command.set([
ref('sale_commission_agent_restrict.group_agent_own_customers'),
ref('sale_commission_agent_restrict.group_agent_own_commissions')
])
]"
/>
</record>

</odoo>
98 changes: 98 additions & 0 deletions sale_commission_agent_restrict/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_commission_agent_restrict
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2023-12-13 11:29+0000\n"
"Last-Translator: Ivorra78 <[email protected]>\n"
"Language-Team: none\n"
"Language: es\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"
"X-Generator: Weblate 4.17\n"

#. module: sale_commission_agent_restrict
#: model:ir.module.category,name:sale_commission_agent_restrict.module_category_sale_commission
msgid "Agent Access"
msgstr "Acceso Agente"

#. module: sale_commission_agent_restrict
#: code:addons/sale_commission_agent_restrict/models/res_partner.py:0
#, python-format
msgid "Agents are not allowed to change Contacts' payment terms"
msgstr ""
"Los agentes no están autorizados a modificar los términos de pago de los "
"Contactos"

#. module: sale_commission_agent_restrict
#: code:addons/sale_commission_agent_restrict/models/res_partner.py:0
#, python-format
msgid "Agents are not allowed to change the agents assigned to a Contact"
msgstr "Los Agentes no pueden cambiar los agentes asignados a un Contacto"

#. module: sale_commission_agent_restrict
#: model:ir.model,name:sale_commission_agent_restrict.model_res_partner
msgid "Contact"
msgstr "Contacto"

#. module: sale_commission_agent_restrict
#: model:ir.model.fields,field_description:sale_commission_agent_restrict.field_res_partner__display_name
#: model:ir.model.fields,field_description:sale_commission_agent_restrict.field_res_users__display_name
#: model:ir.model.fields,field_description:sale_commission_agent_restrict.field_sale_order__display_name
msgid "Display Name"
msgstr "Mostrar Nombre"

#. module: sale_commission_agent_restrict
#: model:res.groups,name:sale_commission_agent_restrict.group_agent_own_commissions
msgid "Display only own commission data"
msgstr "Mostrar sólo los datos de comisiones propias"

#. module: sale_commission_agent_restrict
#: model:res.groups,name:sale_commission_agent_restrict.group_agent_own_customers
msgid "Display only own commission data and customers"
msgstr "Mostrar sólo los datos de comisiones y clientes propios"

#. module: sale_commission_agent_restrict
#: model:ir.model.fields,field_description:sale_commission_agent_restrict.field_res_partner__id
#: model:ir.model.fields,field_description:sale_commission_agent_restrict.field_res_users__id
#: model:ir.model.fields,field_description:sale_commission_agent_restrict.field_sale_order__id
msgid "ID"
msgstr "ID"

#. module: sale_commission_agent_restrict
#: model:ir.model.fields,field_description:sale_commission_agent_restrict.field_res_partner____last_update
#: model:ir.model.fields,field_description:sale_commission_agent_restrict.field_res_users____last_update
#: model:ir.model.fields,field_description:sale_commission_agent_restrict.field_sale_order____last_update
msgid "Last Modified on"
msgstr "Última Modificación el"

#. module: sale_commission_agent_restrict
#: model:ir.model.fields,field_description:sale_commission_agent_restrict.field_sale_order__current_agent_total
msgid "My Commission"
msgstr "Mi Comisión"

#. module: sale_commission_agent_restrict
#: model:ir.model,name:sale_commission_agent_restrict.model_sale_order
msgid "Sales Order"
msgstr "Orden de Venta"

#. module: sale_commission_agent_restrict
#: code:addons/sale_commission_agent_restrict/models/res_users.py:0
#, python-format
msgid ""
"This user is not associated to any agent. Please mark corresponding to this "
"user partner as agent to be able to assign agent related group to him."
msgstr ""
"Este usuario no está asociado a ningún agente. Por favor, marque el socio "
"correspondiente a este usuario como agente para poder asignarle un grupo "
"relacionado con agentes."

#. module: sale_commission_agent_restrict
#: model:ir.model,name:sale_commission_agent_restrict.model_res_users
msgid "Users"
msgstr "Usuarios"
Loading

0 comments on commit ec879f1

Please sign in to comment.