diff --git a/odex25_purchase/purchase_requisition_custom/models/account_payment.py b/odex25_purchase/purchase_requisition_custom/models/account_payment.py index d09d162fb..b5e9e92a9 100644 --- a/odex25_purchase/purchase_requisition_custom/models/account_payment.py +++ b/odex25_purchase/purchase_requisition_custom/models/account_payment.py @@ -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 diff --git a/odex25_purchase/purchase_requisition_custom/models/account_res.py b/odex25_purchase/purchase_requisition_custom/models/account_res.py index 9a27849b2..59b97012d 100644 --- a/odex25_purchase/purchase_requisition_custom/models/account_res.py +++ b/odex25_purchase/purchase_requisition_custom/models/account_res.py @@ -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 \ No newline at end of file + # 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 \ No newline at end of file