diff --git a/odex25_purchase/odex25_purchase_coc/i18n/ar_001.po b/odex25_purchase/odex25_purchase_coc/i18n/ar_001.po
index 5a47e0243..a433aed26 100644
--- a/odex25_purchase/odex25_purchase_coc/i18n/ar_001.po
+++ b/odex25_purchase/odex25_purchase_coc/i18n/ar_001.po
@@ -868,3 +868,8 @@ msgid ""
"Sorry, you are not allowed to Confirm this CoC.\n"
"Allowed user: %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 "مستخدم الاستلام اليدوي"
\ No newline at end of file
diff --git a/odex25_purchase/odex25_purchase_coc/models/new_models.py b/odex25_purchase/odex25_purchase_coc/models/new_models.py
index b4a91d6cf..3fe008200 100644
--- a/odex25_purchase/odex25_purchase_coc/models/new_models.py
+++ b/odex25_purchase/odex25_purchase_coc/models/new_models.py
@@ -322,7 +322,7 @@ class PurchaseCoC(models.Model):
def action_manager_reject(self):
- request = self.po_id.request_id
+ request = self.po_id.sudo().request_id
user = self.env.user
if request:
@@ -330,7 +330,7 @@ class PurchaseCoC(models.Model):
if employee.parent_id.user_id.id != user.id:
raise ValidationError(_('Sorry, you are not allowed to confirm this CoC.'))
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:
raise ValidationError(_('Sorry, you are not allowed to confirm this CoC.'))
@@ -351,7 +351,7 @@ class PurchaseCoC(models.Model):
self.ensure_one()
user = self.env.user
for rec in self:
- request = rec.po_id.request_id
+ request = rec.po_id.sudo().request_id
if request:
if request.employee_id.user_id.id != user.id:
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
)
else:
- if rec.po_id.department_id.manager_id.user_id.id != user.id:
- allowed_name = rec.po_id.department_id.manager_id.name
+ if rec.po_id.sudo().department_id.sudo().manager_id.user_id.id != user.id:
+ allowed_name = rec.po_id.sudo().department_id.sudo().manager_id.name
raise ValidationError(
_('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_name = None
- if request and request.employee_id and request.employee_id.coach_id:
- coach = request.employee_id.sudo().coach_id
+ if request and request.employee_id and request.employee_id.partner_id:
+ coach = request.employee_id.sudo().partner_id
manager = coach.work_email
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:
- coach = user.employee_id.sudo().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().partner_id
manager = coach.work_email
manager_name = coach.name
@@ -405,15 +405,15 @@ class PurchaseCoC(models.Model):
request = po.request_id
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
if coach_user.id != user.id:
raise ValidationError(
_('Sorry, you are not allowed to Confirm this CoC.\nAllowed user: %s') % allowed_name
)
else:
- dept_manager = self.po_id.department_id.manager_id.sudo()
- coach_user = dept_manager.coach_id.user_id
+ dept_manager = self.po_id.sudo().department_id.manager_id.sudo()
+ coach_user = dept_manager.partner_id.user_id
allowed_name = coach_user.name
if coach_user.id != user.id:
raise ValidationError(
@@ -493,7 +493,7 @@ class PurchaseCoC(models.Model):
def _create_backorder_coc(self, backorder_lines_data):
backorder_coc = self.create({
- 'po_id': self.po_id.id,
+ 'po_id': self.po_id.sudo().id,
'parent_coc_id': self.id,
'is_backorder': True,
'date': fields.Date.today(),
@@ -527,12 +527,12 @@ class PurchaseCoC(models.Model):
request = po.request_id
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:
raise ValidationError(_('Only the department manager can approve this CoC.'))
else:
- dept_manager = self.po_id.department_id.manager_id.sudo()
- coach_user = dept_manager.coach_id.user_id
+ dept_manager = self.po_id.sudo().department_id.manager_id.sudo()
+ coach_user = dept_manager.partner_id.user_id
if coach_user.id != user.id:
raise ValidationError(_('You are not allowed to approve this CoC.'))
@@ -554,7 +554,7 @@ class PurchaseCoC(models.Model):
'state': 'cancel',
'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') %
(self.name, self.env.user.name, self.reject_reason or 'No reason provided')
)
diff --git a/odex25_purchase/odex25_purchase_coc/security/security.xml b/odex25_purchase/odex25_purchase_coc/security/security.xml
index 2eb131ec2..76d8afe76 100644
--- a/odex25_purchase/odex25_purchase_coc/security/security.xml
+++ b/odex25_purchase/odex25_purchase_coc/security/security.xml
@@ -24,10 +24,10 @@
-
- Manager Direct Group
-
-
+
+
+
+
Manual Receipt