This commit is contained in:
mohammed-alkhazrji 2025-12-08 21:53:51 +03:00
parent 04c955fed0
commit ccd6bd44c8
2 changed files with 25 additions and 16 deletions

View File

@ -243,27 +243,45 @@ class PurchaseRFQ(models.Model):
# self.source_request_ref.write({'state': 'rejected_by_committee'}) # self.source_request_ref.write({'state': 'rejected_by_committee'})
# self.action_reject() # self.action_reject()
# self.message_post(body=_("تم رفض عرض السعر من قبل جميع أعضاء اللجنة.")) # self.message_post(body=_("تم رفض عرض السعر من قبل جميع أعضاء اللجنة."))
def _check_committee_rejection(self): def _check_committee_rejection(self):
self.ensure_one() self.ensure_one()
if not self.source_request_ref or not self.committe_members: if not self.source_request_ref or not self.committe_members:
return return
if all(member.refused for member in self.committe_members): main_committee_users = self.source_request_ref.committe_members
rfq_members = self.committe_members
rfq_refused_users = rfq_members.filtered(lambda m: m.refused).mapped('user_id')
if (
main_committee_users
and rfq_refused_users
and set(rfq_refused_users.ids) == set(main_committee_users.ids)
):
self.action_reject() self.action_reject()
self.message_post(body=_("تم رفض هذا العرض من قبل جميع أعضاء اللجنة.")) self.message_post(body=_("تم رفض هذا العرض من قبل جميع أعضاء اللجنة."))
all_rfqs = self.source_request_ref.rfq_ids all_rfqs = self.source_request_ref.rfq_ids
if all_rfqs and all(
rfq.committe_members and all(member.refused for member in rfq.committe_members) def rfq_fully_rejected_by_committee(rfq):
for rfq in all_rfqs rfq_members = rfq.committe_members
): rfq_refused_users = rfq_members.filtered(lambda m: m.refused).mapped('user_id')
return (
rfq.committe_members
and rfq_refused_users
and set(rfq_refused_users.ids) == set(main_committee_users.ids)
)
if all_rfqs and all(rfq_fully_rejected_by_committee(rfq) for rfq in all_rfqs):
self.source_request_ref.write({'state': 'rejected_by_committee'}) self.source_request_ref.write({'state': 'rejected_by_committee'})
self.source_request_ref.message_post( self.source_request_ref.message_post(
body=_("تم رفض جميع عروض الأسعار المرتبطة بهذا الطلب السنوي من قبل جميع أعضاء اللجنة.") body=_("تم رفض جميع عروض الأسعار المرتبطة بهذا الطلب السنوي من قبل جميع أعضاء اللجنة.")
) )
def action_submit_to_committees(self): def action_submit_to_committees(self):
res = super(PurchaseRFQ, self).action_submit_to_committees() res = super(PurchaseRFQ, self).action_submit_to_committees()
for rec in self: for rec in self:

View File

@ -9,16 +9,7 @@ class PurchaseOrder(models.Model):
petty_employee_id = fields.Many2one('hr.employee', string='Petty Cashier', copy=False) petty_employee_id = fields.Many2one('hr.employee', string='Petty Cashier', copy=False)
def _prepare_invoice(self):
res = super(PurchaseOrder, self)._prepare_invoice()
res.update({
'purchase_id': self.id,
'res_id': self.id,
'res_model': 'purchase.order',
'is_petty_paid': self.is_petty_paid,
'petty_employee_id': self.petty_employee_id.id
})
return res
class AccountMove(models.Model): class AccountMove(models.Model):
_inherit = 'account.move' _inherit = 'account.move'