Skip to content

Commit

Permalink
Merge PR #1021 into 15.0
Browse files Browse the repository at this point in the history
Signed-off-by pedrobaeza
  • Loading branch information
OCA-git-bot committed Feb 20, 2025
2 parents 2b352b5 + 29a259f commit 9910738
Show file tree
Hide file tree
Showing 20 changed files with 740 additions and 0 deletions.
6 changes: 6 additions & 0 deletions setup/website_sale_partner_restrict_payment_acquirer/setup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import setuptools

setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
)
108 changes: 108 additions & 0 deletions website_sale_partner_restrict_payment_acquirer/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
==============================================
Website Sale Partner Restrict Payment Acquirer
==============================================

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

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

This module extends the functionality of `partner_restrict_payment_acquirer` to restrict payment acquirers for a partner during the checkout process in e-commerce. Only the selected acquirers will be available for online payments.

**Table of contents**

.. contents::
:local:

Usage
=====

Open the partner form and go to the `Sales & Purchases` tab. Add payment acquirers in the `Allowed Acquirers` field.

Note: Leaving this field empty will remove restrictions and allow the selection of any acquirer.

.. figure:: https://raw.githubusercontent.com/OCA/e-commerce/15.0/website_sale_partner_restrict_payment_acquirer/static/description/partner_form_allowed_acquirers.png
:width: 800px
:alt: Partner Form Allowed Acquirers

When the partner proceeds to checkout in the portal, only the allowed acquirers will be available for payment.

.. figure:: https://raw.githubusercontent.com/OCA/e-commerce/15.0/website_sale_partner_restrict_payment_acquirer/static/description/partner_form_allowed_acquirers.png
:width: 800px
:alt: Partner Form Allowed Acquirers

For not logged-in users, if you want to restrict their allowed acquirers, you need to edit the `Allowed Acquirers` field for the `Public user` partner (`base.public_user`).

.. figure:: https://raw.githubusercontent.com/OCA/e-commerce/15.0/website_sale_partner_restrict_payment_acquirer/static/description/public_user.png
:width: 800px
:alt: Public User

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

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

* APSL-Nagarro

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

* `APSL-Nagarro <https://www.apsl.tech>`_:
* Patryk Pyczko <[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-ppyczko| image:: https://github.com/ppyczko.png?size=40px
:target: https://github.com/ppyczko
:alt: ppyczko

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

|maintainer-ppyczko|

This module is part of the `OCA/e-commerce <https://github.com/OCA/e-commerce/tree/15.0/website_sale_partner_restrict_payment_acquirer>`_ 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 website_sale_partner_restrict_payment_acquirer/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from . import models
17 changes: 17 additions & 0 deletions website_sale_partner_restrict_payment_acquirer/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Copyright 2025 Patryk Pyczko (APSL-Nagarro)<[email protected]>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

{
"name": "Website Sale Partner Restrict Payment Acquirer",
"version": "15.0.1.0.0",
"summary": "Restrict payment acquirers for partners during the "
"checkout process on eCommerce.",
"category": "Website",
"website": "https://github.com/OCA/e-commerce",
"author": "APSL-Nagarro, Odoo Community Association (OCA)",
"maintainers": ["ppyczko"],
"license": "AGPL-3",
"application": False,
"installable": True,
"depends": ["partner_restrict_payment_acquirer", "website_sale"],
}
21 changes: 21 additions & 0 deletions website_sale_partner_restrict_payment_acquirer/i18n/ca.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * website_sale_partner_restrict_payment_acquirer
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-06 16:51+0000\n"
"PO-Revision-Date: 2025-02-06 16:51+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: website_sale_partner_restrict_payment_acquirer
#: model:ir.model,name:website_sale_partner_restrict_payment_acquirer.model_payment_acquirer
msgid "Payment Acquirer"
msgstr "Mètode de pagament"
21 changes: 21 additions & 0 deletions website_sale_partner_restrict_payment_acquirer/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * website_sale_partner_restrict_payment_acquirer
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-06 16:51+0000\n"
"PO-Revision-Date: 2025-02-06 16:51+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: website_sale_partner_restrict_payment_acquirer
#: model:ir.model,name:website_sale_partner_restrict_payment_acquirer.model_payment_acquirer
msgid "Payment Acquirer"
msgstr "Método de Pago"
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * website_sale_partner_restrict_payment_acquirer
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-06 16:51+0000\n"
"PO-Revision-Date: 2025-02-06 16:51+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: website_sale_partner_restrict_payment_acquirer
#: model:ir.model,name:website_sale_partner_restrict_payment_acquirer.model_payment_acquirer
msgid "Payment Acquirer"
msgstr ""
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from . import payment_acquirer
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Copyright 2025 Patryk Pyczko (APSL-Nagarro)<[email protected]>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from odoo import api, models


class PaymentAcquirer(models.Model):
_inherit = "payment.acquirer"

@api.model
def _get_compatible_acquirers(self, *args, website_id=None, **kwargs):
"""
Override to filter acquirers based on the partner's allowed acquirers.
This method first fetches acquirers based on general criteria, then
filters them by the partner's allowed acquirers list.
:param int website_id: The provided website, as a `website` id
:return: The filtered list of compatible acquirers.
:rtype: recordset of `payment.acquirer`
"""
acquirers = super()._get_compatible_acquirers(
*args, website_id=website_id, **kwargs
)

allowed_acquirers = self.env.user.partner_id.allowed_acquirer_ids
return (
acquirers.filtered(lambda acq: acq in allowed_acquirers)
if allowed_acquirers
else acquirers
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
* `APSL-Nagarro <https://www.apsl.tech>`_:
* Patryk Pyczko <[email protected]>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
This module extends the functionality of `partner_restrict_payment_acquirer` to restrict payment acquirers for a partner during the checkout process in e-commerce. Only the selected acquirers will be available for online payments.
19 changes: 19 additions & 0 deletions website_sale_partner_restrict_payment_acquirer/readme/USAGE.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
Open the partner form and go to the `Sales & Purchases` tab. Add payment acquirers in the `Allowed Acquirers` field.

Note: Leaving this field empty will remove restrictions and allow the selection of any acquirer.

.. figure:: ../static/description/partner_form_allowed_acquirers.png
:width: 800px
:alt: Partner Form Allowed Acquirers

When the partner proceeds to checkout in the portal, only the allowed acquirers will be available for payment.

.. figure:: ../static/description/partner_form_allowed_acquirers.png
:width: 800px
:alt: Partner Form Allowed Acquirers

For not logged-in users, if you want to restrict their allowed acquirers, you need to edit the `Allowed Acquirers` field for the `Public user` partner (`base.public_user`).

.. figure:: ../static/description/public_user.png
:width: 800px
:alt: Public User
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 9910738

Please sign in to comment.