Merge pull request #3878 from expsa/samir-aladawi-fix-transactions-forward-user
[FIX] exp_transaction_documents
This commit is contained in:
commit
64a459c067
|
|
@ -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': [
|
||||
],
|
||||
|
|
|
|||
|
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<record id="server_action_fix_internal_transactions_forward_user" model="ir.actions.server">
|
||||
<field name="name">Fix forward user in internal transactions</field>
|
||||
<field name="model_id" ref="base.model_ir_actions_server"/>
|
||||
<field name="state">code</field>
|
||||
<field name="code">
|
||||
env['internal.transaction']._fix_forward_user()
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
|
|
@ -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'{}<br /><b>{}</b> {}.<br />{}'.format(msg,
|
||||
# _(u'Action Taken'), record.procedure_id.name,
|
||||
# u'<a href="%s" >رابط المعاملة</a> ' % (
|
||||
# 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'{}<br /><b>{}</b> {}.<br />{}'.format(msg,
|
||||
# _(u'Action Taken'), self.procedure_id.name,
|
||||
# u'<a href="%s" >رابط المعاملة</a> ' % (
|
||||
# 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 <<<")
|
||||
|
|
|
|||
Loading…
Reference in New Issue