Merge pull request #5698 from expsa/khazraji_annual

coc
This commit is contained in:
mohammed-alkhazrji 2025-12-10 20:43:29 +03:00 committed by GitHub
commit a211155087
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 26 additions and 21 deletions

View File

@ -868,3 +868,8 @@ msgid ""
"Sorry, you are not allowed to Confirm this CoC.\n" "Sorry, you are not allowed to Confirm this CoC.\n"
"Allowed user: %s" "Allowed user: %s"
msgstr "عذرًا، غير مسموح لك بتأكيد شهادة المطابقة (CoC).\nالمستخدم المسموح له: %s" msgstr "عذرًا، غير مسموح لك بتأكيد شهادة المطابقة (CoC).\nالمستخدم المسموح له: %s"
#. module: odex25_purchase_coc
#: model:ir.model.fields,field_description:odex25_purchase_coc.field_purchase_order__is_manual_receipt_user
msgid "Is Manual Receipt User"
msgstr "مستخدم الاستلام اليدوي"

View File

@ -322,7 +322,7 @@ class PurchaseCoC(models.Model):
def action_manager_reject(self): def action_manager_reject(self):
request = self.po_id.request_id request = self.po_id.sudo().request_id
user = self.env.user user = self.env.user
if request: if request:
@ -330,7 +330,7 @@ class PurchaseCoC(models.Model):
if employee.parent_id.user_id.id != user.id: if employee.parent_id.user_id.id != user.id:
raise ValidationError(_('Sorry, you are not allowed to confirm this CoC.')) raise ValidationError(_('Sorry, you are not allowed to confirm this CoC.'))
else: else:
department_manager = self.po_id.department_id.manager_id.sudo() department_manager = self.po_id.sudo().department_id.sudo().manager_id.sudo()
if department_manager.user_id.id != user.id: if department_manager.user_id.id != user.id:
raise ValidationError(_('Sorry, you are not allowed to confirm this CoC.')) raise ValidationError(_('Sorry, you are not allowed to confirm this CoC.'))
@ -351,7 +351,7 @@ class PurchaseCoC(models.Model):
self.ensure_one() self.ensure_one()
user = self.env.user user = self.env.user
for rec in self: for rec in self:
request = rec.po_id.request_id request = rec.po_id.sudo().request_id
if request: if request:
if request.employee_id.user_id.id != user.id: if request.employee_id.user_id.id != user.id:
allowed_name = request.employee_id.name allowed_name = request.employee_id.name
@ -359,8 +359,8 @@ class PurchaseCoC(models.Model):
_('Sorry, you are not allowed to Confirm this CoC.\nAllowed user: %s') % allowed_name _('Sorry, you are not allowed to Confirm this CoC.\nAllowed user: %s') % allowed_name
) )
else: else:
if rec.po_id.department_id.manager_id.user_id.id != user.id: if rec.po_id.sudo().department_id.sudo().manager_id.user_id.id != user.id:
allowed_name = rec.po_id.department_id.manager_id.name allowed_name = rec.po_id.sudo().department_id.sudo().manager_id.name
raise ValidationError( raise ValidationError(
_('Sorry, you are not allowed to Confirm this CoC.\nAllowed user: %s') % allowed_name _('Sorry, you are not allowed to Confirm this CoC.\nAllowed user: %s') % allowed_name
) )
@ -377,12 +377,12 @@ class PurchaseCoC(models.Model):
manager = None manager = None
manager_name = None manager_name = None
if request and request.employee_id and request.employee_id.coach_id: if request and request.employee_id and request.employee_id.partner_id:
coach = request.employee_id.sudo().coach_id coach = request.employee_id.sudo().partner_id
manager = coach.work_email manager = coach.work_email
manager_name = coach.name manager_name = coach.name
elif not request and rec.po_id.user_id.id == user.id and user.employee_id and user.employee_id.coach_id: elif not request and rec.po_id.sudo().user_id.id == user.id and user.employee_id and user.employee_id.partner_id:
coach = user.employee_id.sudo().coach_id coach = user.employee_id.sudo().partner_id
manager = coach.work_email manager = coach.work_email
manager_name = coach.name manager_name = coach.name
@ -405,15 +405,15 @@ class PurchaseCoC(models.Model):
request = po.request_id request = po.request_id
if request: if request:
coach_user = request.employee_id.sudo().coach_id.user_id coach_user = request.employee_id.sudo().partner_id.user_id
allowed_name = coach_user.name allowed_name = coach_user.name
if coach_user.id != user.id: if coach_user.id != user.id:
raise ValidationError( raise ValidationError(
_('Sorry, you are not allowed to Confirm this CoC.\nAllowed user: %s') % allowed_name _('Sorry, you are not allowed to Confirm this CoC.\nAllowed user: %s') % allowed_name
) )
else: else:
dept_manager = self.po_id.department_id.manager_id.sudo() dept_manager = self.po_id.sudo().department_id.manager_id.sudo()
coach_user = dept_manager.coach_id.user_id coach_user = dept_manager.partner_id.user_id
allowed_name = coach_user.name allowed_name = coach_user.name
if coach_user.id != user.id: if coach_user.id != user.id:
raise ValidationError( raise ValidationError(
@ -493,7 +493,7 @@ class PurchaseCoC(models.Model):
def _create_backorder_coc(self, backorder_lines_data): def _create_backorder_coc(self, backorder_lines_data):
backorder_coc = self.create({ backorder_coc = self.create({
'po_id': self.po_id.id, 'po_id': self.po_id.sudo().id,
'parent_coc_id': self.id, 'parent_coc_id': self.id,
'is_backorder': True, 'is_backorder': True,
'date': fields.Date.today(), 'date': fields.Date.today(),
@ -527,12 +527,12 @@ class PurchaseCoC(models.Model):
request = po.request_id request = po.request_id
if request: if request:
coach_user = request.employee_id.sudo().coach_id.user_id coach_user = request.employee_id.sudo().partner_id.user_id
if coach_user.id != user.id: if coach_user.id != user.id:
raise ValidationError(_('Only the department manager can approve this CoC.')) raise ValidationError(_('Only the department manager can approve this CoC.'))
else: else:
dept_manager = self.po_id.department_id.manager_id.sudo() dept_manager = self.po_id.sudo().department_id.manager_id.sudo()
coach_user = dept_manager.coach_id.user_id coach_user = dept_manager.partner_id.user_id
if coach_user.id != user.id: if coach_user.id != user.id:
raise ValidationError(_('You are not allowed to approve this CoC.')) raise ValidationError(_('You are not allowed to approve this CoC.'))
@ -554,7 +554,7 @@ class PurchaseCoC(models.Model):
'state': 'cancel', 'state': 'cancel',
'reject_reason': self.env.context.get('reject_reason') 'reject_reason': self.env.context.get('reject_reason')
}) })
self.po_id.message_post( self.po_id.sudo().message_post(
body=_('CoC %s Rejected By %s. Reject Reason: %s') % body=_('CoC %s Rejected By %s. Reject Reason: %s') %
(self.name, self.env.user.name, self.reject_reason or 'No reason provided') (self.name, self.env.user.name, self.reject_reason or 'No reason provided')
) )

View File

@ -24,10 +24,10 @@
<record id="group_coc_manager_direct" model="res.groups"> <!-- <record id="group_coc_manager_direct" model="res.groups">-->
<field name="name">Manager Direct Group</field> <!-- <field name="name">Manager Direct Group</field>-->
<field name="category_id" ref="odex25_purchase_coc.module_category_coc"/> <!-- <field name="category_id" ref="odex25_purchase_coc.module_category_coc"/>-->
</record> <!-- </record>-->
<record id="group_coc_manual_receipt" model="res.groups"> <record id="group_coc_manual_receipt" model="res.groups">
<field name="name">Manual Receipt</field> <field name="name">Manual Receipt</field>
<field name="category_id" ref="odex25_purchase_coc.module_category_coc"/> <field name="category_id" ref="odex25_purchase_coc.module_category_coc"/>