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
98 changes: 98 additions & 0 deletions account_payment_order_vendor_email/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
===========================
Account Payment Order Email
===========================

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

.. |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%2Fbank--payment-lightgray.png?logo=github
:target: https://github.com/OCA/bank-payment/tree/18.0/account_payment_order_vendor_email
:alt: OCA/bank-payment
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/bank-payment-18-0/bank-payment-18-0-account_payment_order_vendor_email
: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/bank-payment&target_branch=18.0
:alt: Try me on Runboat

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

Add fields to Account Payment Mode.

**Table of contents**

.. contents::
:local:

Usage
=====

Add send_email_to_partner on Account Payment Mode records.

Add 'email_temp_id' on Account Payment Mode records.

Add Email templated to send the Payment Details on Mail

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/bank-payment/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/bank-payment/issues/new?body=module:%20account_payment_order_vendor_email%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bank this is my account for money success


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

Credits
=======

Authors
-------

* Open Source Integrators

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

- Murtaza Mithaiwala <[email protected]>
- Maxime Chambreuil <[email protected]>
- Serpent Consulting Services Pvt. Ltd. <[email protected]>
- Daniel Reis <[email protected]>
- Nikul Chaudhary <[email protected]>
- Do Anh Duy <[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-ursais| image:: https://github.com/ursais.png?size=40px
:target: https://github.com/ursais
:alt: ursais

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

|maintainer-ursais|

This module is part of the `OCA/bank-payment <https://github.com/OCA/bank-payment/tree/18.0/account_payment_order_vendor_email>`_ 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 account_payment_order_vendor_email/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
19 changes: 19 additions & 0 deletions account_payment_order_vendor_email/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Copyright (C) 2020 Open Source Integrators
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

{
"name": "Account Payment Order Email",
"version": "18.0.1.0.0",
"license": "AGPL-3",
"author": "Open Source Integrators, Odoo Community Association (OCA)",
"maintainers": ["ursais"],
"website": "https://github.com/OCA/bank-payment",
"category": "Accounting",
"depends": ["account_payment_order", "account_payment_mode"],
"data": [
"data/mail_template.xml",
"views/account_payment_mode_view.xml",
"views/account_payment_order_view.xml",
],
"installable": True,
}
331 changes: 331 additions & 0 deletions account_payment_order_vendor_email/data/mail_template.xml

Large diffs are not rendered by default.

Large diffs are not rendered by default.

521 changes: 521 additions & 0 deletions account_payment_order_vendor_email/i18n/it.po

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions account_payment_order_vendor_email/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import account_payment_mode
108 changes: 108 additions & 0 deletions account_payment_order_vendor_email/models/account_payment_mode.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
# Copyright (C) 2020 Open Source Integrators
# Copyright 2022 Tecnativa - Pedro M. Baeza
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

from datetime import datetime

from odoo import fields, models


class PaymentModeCustom(models.Model):
_inherit = "account.payment.mode"

send_email_to_partner = fields.Boolean(
string="Send Email to Partner", default=False
)
email_temp_id = fields.Many2one(
"mail.template",
string="Email Template",
)


class PaymentOrder(models.Model):
_inherit = "account.payment.order"

def send_vendor_email(self):
context = dict(self._context)
for rec in self.filtered(lambda r: r.payment_mode_id.send_email_to_partner):
date_generated = rec.date_generated
for payment in rec.payment_ids:
partner_name = payment.partner_id.name
total_amount = payment.amount
payment_ref = payment.payment_reference
line_data = []
header_data = {
"inv_no": "Invoice No.",
"payment_amount": "Payment (in dollars)",
"discount": "Discount (in dollars)",
"inv_date": "Invoice Date",
"credit_ref": "Credit ref#",
"supp_inv": "Supp. Invoice#",
"inv_amount": "Invoice Amount",
"credit_amount": "Credit Amount",
"due_amount": "Due Amount",
}
line_data.append(header_data)
for payment_line in payment.payment_line_ids:
invoice_date = (
payment_line.move_line_id.move_id.invoice_date
and datetime.strftime(
payment_line.move_line_id.move_id.invoice_date,
"%Y/%m/%d",
)
or ""
)
line_dict = {
"inv_no": payment_line.move_line_id.move_id.name or "",
"payment_amount": payment_line.amount_currency,
"discount": payment_line.discount_amount,
"inv_date": invoice_date or "",
"credit_ref": payment_line.order_id.name,
"supp_inv": payment_line.move_line_id.move_id.name or "",
"inv_amount": payment_line.move_line_id.move_id.amount_total,
"credit_amount": payment_line.move_line_id.move_id.amount_untaxed, # noqa: E501
"due_amount": payment_line.move_line_id.move_id.amount_residual,
}
line_data.append(line_dict)
template = rec.payment_mode_id.email_temp_id
if not template:
template = self.env.ref(

Check warning on line 69 in account_payment_order_vendor_email/models/account_payment_mode.py

View check run for this annotation

Codecov / codecov/patch

account_payment_order_vendor_email/models/account_payment_mode.py#L69

Added line #L69 was not covered by tests
"account_payment_order_vendor_email."
"ach_payment_email_template"
)
partner_email_id = payment.partner_id.email
if partner_email_id:
template.write({"email_to": partner_email_id})
context.update(
{
"date": date_generated,
"partner_name": partner_name,
"total_amount": total_amount,
"payment_ref": payment_ref,
"line_data": line_data,
}
)
template.with_context(**context).send_mail(rec.id, force_send=True)
rec.message_post(
body=self.env._(
"An email is sent successfully to %s vendor.", partner_name
) # noqa: E501
)
else:
rec.message_post(

Check warning on line 92 in account_payment_order_vendor_email/models/account_payment_mode.py

View check run for this annotation

Codecov / codecov/patch

account_payment_order_vendor_email/models/account_payment_mode.py#L92

Added line #L92 was not covered by tests
body=self.env._(
"An email is not able to send to %s vendor.", partner_name
) # noqa: E501
)

def generated2uploaded(self):
res = super().generated2uploaded()
if self.payment_mode_id.send_email_to_partner:
self.send_vendor_email()
return res


class AccountPaymentLine(models.Model):
_inherit = "account.payment.line"

discount_amount = fields.Monetary(currency_field="currency_id")
3 changes: 3 additions & 0 deletions account_payment_order_vendor_email/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[build-system]
requires = ["whool"]
build-backend = "whool.buildapi"
6 changes: 6 additions & 0 deletions account_payment_order_vendor_email/readme/CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
- Murtaza Mithaiwala \<<[email protected]>\>
- Maxime Chambreuil \<<[email protected]>\>
- Serpent Consulting Services Pvt. Ltd. \<<[email protected]>\>
- Daniel Reis \<<[email protected]>\>
- Nikul Chaudhary \<<[email protected]>\>
- Do Anh Duy \<<[email protected]>\>
1 change: 1 addition & 0 deletions account_payment_order_vendor_email/readme/DESCRIPTION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Add fields to Account Payment Mode.
5 changes: 5 additions & 0 deletions account_payment_order_vendor_email/readme/USAGE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Add send_email_to_partner on Account Payment Mode records.

Add 'email_temp_id' on Account Payment Mode records.

Add Email templated to send the Payment Details on Mail
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading