fix
This commit is contained in:
parent
42843ca389
commit
fc9221ea4b
|
|
@ -5,58 +5,58 @@ from odoo.exceptions import AccessError
|
|||
class AccountPayment(models.Model):
|
||||
_inherit = 'account.payment'
|
||||
|
||||
def _is_authorized_to_notify(self):
|
||||
|
||||
user = self.env.user
|
||||
|
||||
authorized_groups = [
|
||||
'account.group_account_manager',
|
||||
'account.group_account_invoice',
|
||||
# 'purchase.group_purchase_manager',
|
||||
]
|
||||
|
||||
for group_xml_id in authorized_groups:
|
||||
if user.has_group(group_xml_id):
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
def action_notify_payment(self, payment):
|
||||
# Check authorization before sending notification
|
||||
if not self._is_authorized_to_notify():
|
||||
return
|
||||
|
||||
# Prepare notification content
|
||||
subject = _('Payment Notification') + ' - {}'.format(payment.partner_id.name)
|
||||
message = '{} '.format(payment.partner_id.name) + _('is successfully paid.') + '\n' + _(
|
||||
'Payment Amount: ') + '{}'.format(payment.amount) + '\n' + _('Ref: ') + '{}'.format(payment.ref) + '\n' + _(
|
||||
'On Date: ') + '{}'.format(payment.date)
|
||||
|
||||
# Get recipients from the notification group, excluding purchase managers
|
||||
recipient_group = self.env.ref('purchase_requisition_custom.group_receive_payment_notification')
|
||||
excluded_group = self.env.ref('purchase.group_purchase_manager')
|
||||
|
||||
# Filter out users who belong to the excluded group
|
||||
partner_ids = recipient_group.users.filtered(
|
||||
lambda u: u not in excluded_group.users
|
||||
).mapped('partner_id').ids
|
||||
|
||||
# Send notification only to filtered recipients
|
||||
if partner_ids:
|
||||
author_id = self.env.user.partner_id.id or None
|
||||
self.env.user.partner_id.message_post(
|
||||
type="notification",
|
||||
subject=subject,
|
||||
body=message,
|
||||
author_id=author_id,
|
||||
partner_ids=partner_ids,
|
||||
subtype_xmlid="mail.mt_comment"
|
||||
)
|
||||
|
||||
@api.model
|
||||
def create(self, vals):
|
||||
res = super(AccountPayment, self).create(vals)
|
||||
# print("Hi payment!", res.amount)
|
||||
self.action_notify_payment(res)
|
||||
|
||||
return res
|
||||
# def _is_authorized_to_notify(self):
|
||||
#
|
||||
# user = self.env.user
|
||||
#
|
||||
# authorized_groups = [
|
||||
# 'account.group_account_manager',
|
||||
# 'account.group_account_invoice',
|
||||
# # 'purchase.group_purchase_manager',
|
||||
# ]
|
||||
#
|
||||
# for group_xml_id in authorized_groups:
|
||||
# if user.has_group(group_xml_id):
|
||||
# return True
|
||||
#
|
||||
# return False
|
||||
#
|
||||
# def action_notify_payment(self, payment):
|
||||
# # Check authorization before sending notification
|
||||
# if not self._is_authorized_to_notify():
|
||||
# return
|
||||
#
|
||||
# # Prepare notification content
|
||||
# subject = _('Payment Notification') + ' - {}'.format(payment.partner_id.name)
|
||||
# message = '{} '.format(payment.partner_id.name) + _('is successfully paid.') + '\n' + _(
|
||||
# 'Payment Amount: ') + '{}'.format(payment.amount) + '\n' + _('Ref: ') + '{}'.format(payment.ref) + '\n' + _(
|
||||
# 'On Date: ') + '{}'.format(payment.date)
|
||||
#
|
||||
# # Get recipients from the notification group, excluding purchase managers
|
||||
# recipient_group = self.env.ref('purchase_requisition_custom.group_receive_payment_notification')
|
||||
# excluded_group = self.env.ref('purchase.group_purchase_manager')
|
||||
#
|
||||
# # Filter out users who belong to the excluded group
|
||||
# partner_ids = recipient_group.users.filtered(
|
||||
# lambda u: u not in excluded_group.users
|
||||
# ).mapped('partner_id').ids
|
||||
#
|
||||
# # Send notification only to filtered recipients
|
||||
# if partner_ids:
|
||||
# author_id = self.env.user.partner_id.id or None
|
||||
# self.env.user.partner_id.message_post(
|
||||
# type="notification",
|
||||
# subject=subject,
|
||||
# body=message,
|
||||
# author_id=author_id,
|
||||
# partner_ids=partner_ids,
|
||||
# subtype_xmlid="mail.mt_comment"
|
||||
# )
|
||||
#
|
||||
# @api.model
|
||||
# def create(self, vals):
|
||||
# res = super(AccountPayment, self).create(vals)
|
||||
# # print("Hi payment!", res.amount)
|
||||
# self.action_notify_payment(res)
|
||||
#
|
||||
# return res
|
||||
|
|
|
|||
|
|
@ -7,61 +7,61 @@ class AccountPayment(models.Model):
|
|||
|
||||
_inherit = 'account.payment'
|
||||
|
||||
def _is_authorized_to_notify(self):
|
||||
"""
|
||||
Check if the current user is authorized to send payment notifications.
|
||||
Returns True if user belongs to authorized groups.
|
||||
"""
|
||||
user = self.env.user
|
||||
|
||||
# Define authorized groups (users who can send payment notifications)
|
||||
authorized_groups = [
|
||||
'account.group_account_manager', # Account Manager
|
||||
'account.group_account_invoice', # Billing/Invoicing
|
||||
# 'purchase.group_purchase_manager', # Purchase Manager - Excluded
|
||||
]
|
||||
|
||||
# Check if user belongs to any authorized group
|
||||
for group_xml_id in authorized_groups:
|
||||
if user.has_group(group_xml_id):
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
def action_notify_payment(self, payment):
|
||||
# Check authorization before sending notification
|
||||
if not self._is_authorized_to_notify():
|
||||
return
|
||||
|
||||
# Prepare notification content
|
||||
subject = _('Payment Notification') + ' - {}'.format(payment.partner_id.name)
|
||||
message = '{} '.format(payment.partner_id.name) + _('is successfully paid.') + '\n' + _('Payment Amount: ') + '{}'.format(payment.amount) + '\n' + _('Ref: ') + '{}'.format(payment.ref) + '\n' + _('On Date: ') + '{}'.format(payment.date)
|
||||
|
||||
# Get recipients from the notification group, excluding purchase managers
|
||||
recipient_group = self.env.ref('purchase_requisition_custom.group_receive_payment_notification')
|
||||
excluded_group = self.env.ref('purchase.group_purchase_manager')
|
||||
|
||||
# Filter out users who belong to the excluded group
|
||||
partner_ids = recipient_group.users.filtered(
|
||||
lambda u: u not in excluded_group.users
|
||||
).mapped('partner_id').ids
|
||||
|
||||
# Send notification only to filtered recipients
|
||||
if partner_ids:
|
||||
author_id = self.env.user.partner_id.id or None
|
||||
self.env.user.partner_id.message_post(
|
||||
type="notification",
|
||||
subject=subject,
|
||||
body=message,
|
||||
author_id=author_id,
|
||||
partner_ids=partner_ids,
|
||||
subtype_xmlid="mail.mt_comment"
|
||||
)
|
||||
|
||||
@api.model
|
||||
def create(self, vals):
|
||||
res = super(AccountPayment, self).create(vals)
|
||||
# print("Hi payment!", res.amount)
|
||||
self.action_notify_payment(res)
|
||||
|
||||
return res
|
||||
# def _is_authorized_to_notify(self):
|
||||
# """
|
||||
# Check if the current user is authorized to send payment notifications.
|
||||
# Returns True if user belongs to authorized groups.
|
||||
# """
|
||||
# user = self.env.user
|
||||
#
|
||||
# # Define authorized groups (users who can send payment notifications)
|
||||
# authorized_groups = [
|
||||
# 'account.group_account_manager', # Account Manager
|
||||
# 'account.group_account_invoice', # Billing/Invoicing
|
||||
# # 'purchase.group_purchase_manager', # Purchase Manager - Excluded
|
||||
# ]
|
||||
#
|
||||
# # Check if user belongs to any authorized group
|
||||
# for group_xml_id in authorized_groups:
|
||||
# if user.has_group(group_xml_id):
|
||||
# return True
|
||||
#
|
||||
# return False
|
||||
#
|
||||
# def action_notify_payment(self, payment):
|
||||
# # Check authorization before sending notification
|
||||
# if not self._is_authorized_to_notify():
|
||||
# return
|
||||
#
|
||||
# # Prepare notification content
|
||||
# subject = _('Payment Notification') + ' - {}'.format(payment.partner_id.name)
|
||||
# message = '{} '.format(payment.partner_id.name) + _('is successfully paid.') + '\n' + _('Payment Amount: ') + '{}'.format(payment.amount) + '\n' + _('Ref: ') + '{}'.format(payment.ref) + '\n' + _('On Date: ') + '{}'.format(payment.date)
|
||||
#
|
||||
# # Get recipients from the notification group, excluding purchase managers
|
||||
# recipient_group = self.env.ref('purchase_requisition_custom.group_receive_payment_notification')
|
||||
# excluded_group = self.env.ref('purchase.group_purchase_manager')
|
||||
#
|
||||
# # Filter out users who belong to the excluded group
|
||||
# partner_ids = recipient_group.users.filtered(
|
||||
# lambda u: u not in excluded_group.users
|
||||
# ).mapped('partner_id').ids
|
||||
#
|
||||
# # Send notification only to filtered recipients
|
||||
# if partner_ids:
|
||||
# author_id = self.env.user.partner_id.id or None
|
||||
# self.env.user.partner_id.message_post(
|
||||
# type="notification",
|
||||
# subject=subject,
|
||||
# body=message,
|
||||
# author_id=author_id,
|
||||
# partner_ids=partner_ids,
|
||||
# subtype_xmlid="mail.mt_comment"
|
||||
# )
|
||||
#
|
||||
# @api.model
|
||||
# def create(self, vals):
|
||||
# res = super(AccountPayment, self).create(vals)
|
||||
# # print("Hi payment!", res.amount)
|
||||
# self.action_notify_payment(res)
|
||||
#
|
||||
# return res
|
||||
Loading…
Reference in New Issue