diff --git a/odex25_transactions/exp_transaction_documents/__manifest__.py b/odex25_transactions/exp_transaction_documents/__manifest__.py
index 9cac42058..56f251f1f 100644
--- a/odex25_transactions/exp_transaction_documents/__manifest__.py
+++ b/odex25_transactions/exp_transaction_documents/__manifest__.py
@@ -43,7 +43,7 @@ Managing Communications Transcations flows
'wizard/sign_letter_transaction_view.xml',
'email_templates/internal_templates.xml',
'email_templates/incoming_templates.xml',
-
+ 'data/server_action.xml'
],
'qweb': [
],
diff --git a/odex25_transactions/exp_transaction_documents/data/server_action.xml b/odex25_transactions/exp_transaction_documents/data/server_action.xml
new file mode 100644
index 000000000..9b8ea66dd
--- /dev/null
+++ b/odex25_transactions/exp_transaction_documents/data/server_action.xml
@@ -0,0 +1,13 @@
+
+
+
+
+ Fix forward user in internal transactions
+
+ code
+
+ env['internal.transaction']._fix_forward_user()
+
+
+
+
diff --git a/odex25_transactions/exp_transaction_documents/models/internal_transaction.py b/odex25_transactions/exp_transaction_documents/models/internal_transaction.py
index a13e2dbd0..0e783fe10 100644
--- a/odex25_transactions/exp_transaction_documents/models/internal_transaction.py
+++ b/odex25_transactions/exp_transaction_documents/models/internal_transaction.py
@@ -157,17 +157,12 @@ class InternalTransaction(models.Model):
else:
record.state = 'send'
-
-
-
-
-
record.trace_create_ids('internal_transaction_id', record, sent)
partner_ids = []
if record.to_ids.type == 'unit':
partner_ids.append(record.to_ids.secretary_id.user_id.partner_id.id)
- #record.forward_user_id = record.to_ids.preparation_id.manager_id.id
+ record.forward_user_id = record.to_ids.manager_id.user_id.id
elif record.to_ids.type == 'employee':
partner_ids.append(record.to_ids.user_id.partner_id.id)
record.forward_user_id = record.to_ids.user_id.id
@@ -189,43 +184,6 @@ class InternalTransaction(models.Model):
return res
- # def action_draft(self):
- # for record in self:
- # """her i need to review code for to_ids"""
- # res = super(InternalTransaction, self).action_draft()
- # sent = 'sent'
- # template = 'exp_transaction_documents.internal_notify_send_send_email'
- # if record.subject_type_id.transaction_need_approve or record.preparation_id.need_approve:
- # template = 'exp_transaction_documents.internal_approval1_request_email'
- # sent = 'waite'
- # record.trace_create_ids('internal_transaction_id', record, sent)
- # partner_ids = []
- # for partner in record.to_ids:
- # if partner.type == 'unit':
- # partner_ids.append(partner.secretary_id.user_id.partner_id.id)
- # record.forward_user_id = partner.secretary_id.user_id.id
- # elif partner.type == 'employee':
- # partner_ids.append(partner.user_id.partner_id.id)
- # record.forward_user_id = partner.user_id.id
- # if record.to_user_have_leave:
- # record.forward_user_id = record.receive_id.user_id.id
- # record.send_message(template=template)
- # subj = _('Message Has been send !')
- # msg = _(u'{} ← {}').format(record.employee_id.name, u' / '.join([k.name for k in record.to_ids]))
- # msg = u'{}
{} {}.
{}'.format(msg,
- # _(u'Action Taken'), record.procedure_id.name,
- # u'رابط المعاملة ' % (
- # record.get_url()))
- # company_id = self.env.user.company_id
- # if company_id.sms_active == True:
- # message = "There is a transaction that needs to " + self.procedure_id.name if self.procedure_id else ""
- # message += " with the number " + self.name
- # print(record.employee_id.employee_id.phone)
- # print(message)
- # request = company_id.send_sms(str(record.employee_id.employee_id.phone), message if message else "")
- # # for rec in record:
- # # rec.action_send_notification(subj, msg, partner_ids)
- # return res
def action_approve(self):
res = super(InternalTransaction, self).action_approve()
template = 'exp_transaction_documents.internal_notify_send_send_email'
@@ -257,32 +215,6 @@ class InternalTransaction(models.Model):
self.action_send_notification(subj, msg, partner_ids)
return res
- # def action_approve(self):
- # res = super(InternalTransaction, self).action_approve()
- # template = 'exp_transaction_documents.internal_notify_send_send_email'
- # self.send_message(template=template)
- # employee = self.current_employee()
- # to_id = self.to_ids[0].id
- # if self.to_ids[0].type != 'employee':
- # to_id = self.to_ids[0].secretary_id.id
- # self.trace_ids.create({
- # 'action': 'sent',
- # 'to_id': to_id,
- # 'from_id': employee and employee.id or False,
- # 'procedure_id': self.procedure_id.id or False,
- # 'internal_transaction_id': self.id
- # })
- # # self.trace_create_ids('internal_transaction_id', self, 'sent')
- # subj = _('Message Has been approved !')
- # msg = _(u'{} ← {}').format(self.preparation_id.manager_id.name, u' / '.join([k.name for k in self.to_ids]))
- # msg = u'{}
{} {}.
{}'.format(msg,
- # _(u'Action Taken'), self.procedure_id.name,
- # u'رابط المعاملة ' % (
- # self.get_url()))
- # partner_ids = [self.employee_id.user_id.partner_id.id, self.to_ids[0].user_id.partner_id.id]
- # self.action_send_notification(subj, msg, partner_ids)
- # return res
-
def action_reject_internal(self):
name = 'default_internal_transaction_id'
return self.action_reject(name, self)
@@ -375,3 +307,17 @@ class InternalTransaction(models.Model):
# if self.env.uid != 1:
# raise ValidationError(_("You can not delete transaction....."))
# return super(InternalTransaction, self).unlink()
+
+ def _fix_forward_user(self):
+ # Get all records where state is send and forward user is False
+ records = self.search([('state', '=', 'send')])
+
+ for record in records:
+ last_trace_user_id = record.trace_ids.search([('internal_transaction_id', '=', record.id)], order='date DESC', limit=1).to_id.user_id.id
+
+ if isinstance(last_trace_user_id, int):
+ record.write({'forward_user_id': last_trace_user_id})
+
+ print(f">>> internal transaction {record.id} fixed <<<")
+
+ print(f">>> Fixing internal transactions completed for {len(records)} records <<<")