Merge pull request #3273 from expsa/dev_odex25_transactions

Dev odex25 transactions
This commit is contained in:
kchyounes19 2025-05-21 14:52:26 +01:00 committed by GitHub
commit 7fc0ea34fc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 23 additions and 22 deletions

View File

@ -16,28 +16,29 @@ class Letters(models.Model):
date = fields.Date(string="Date", tracking=True)
hijir_date = fields.Char(string="Hijir Date", compute='compute_hijri')
content = fields.Html(string="Content", tracking=True)
signature = fields.Binary("Signature image",compute='compute_img',store=True)
is_sign = fields.Boolean(string='Is Sign',readonly=True)
signature = fields.Binary("Signature image", compute='compute_img', store=True)
is_sign = fields.Boolean(string='Is Sign', readonly=True)
is_signed = fields.Boolean(default=False, readonly=True)
new_signature = fields.Binary("Signature image",readonly=True)
new_signature = fields.Binary("Signature image", readonly=True)
transaction_type = fields.Selection([('internal', 'Internal'), ('outgoing', 'Outgoing'),
('incoming', 'Incoming')], default='internal', string='Transaction Type', tracking=True)
('incoming', 'Incoming')], default='internal', string='Transaction Type',
tracking=True)
incoming_transaction_id = fields.Many2one(
comodel_name='incoming.transaction',
comodel_name='incoming.transaction',
string='Incoming Transaction',
domain="[('state', 'not in', ['closed', 'canceled'])]",
domain="[('state', 'not in', ['closed', 'canceled'])]",
tracking=True
)
internal_transaction_id = fields.Many2one(
comodel_name='internal.transaction',
comodel_name='internal.transaction',
string='Internal Transaction',
domain="[('state', 'not in', ['closed', 'canceled'])]",
domain="[('state', 'not in', ['closed', 'canceled'])]",
tracking=True
)
outgoing_transaction_id = fields.Many2one(
comodel_name='outgoing.transaction',
comodel_name='outgoing.transaction',
string='Outgoing Transaction',
domain="[('state', 'not in', ['closed', 'canceled'])]",
domain="[('state', 'not in', ['closed', 'canceled'])]",
tracking=True
)
# attachment_generated = fields.Boolean()
@ -52,12 +53,12 @@ class Letters(models.Model):
tracking=True
)
@api.depends('transaction_type','name')
@api.depends('transaction_type', 'name')
def compute_img(self):
employee_id = self.env['hr.employee'].search([('user_id', '=', self.env.uid)], limit=1)
if employee_id:
entity = self.env['cm.entity'].search([('type','=','employee'),('employee_id', '=',employee_id.id)], limit=1)
entity = self.env['cm.entity'].search([('type', '=', 'employee'), ('employee_id', '=', employee_id.id)],
limit=1)
for rec in self:
rec.signature = entity.image
@ -111,7 +112,7 @@ class Letters(models.Model):
elif self.transaction_type == "incoming":
res_id = self.incoming_transaction_id.id
field_name = 'incoming_transaction_id'
return field_name, res_id
def action_generate_attachment(self):
@ -123,9 +124,9 @@ class Letters(models.Model):
b64_pdf = base64.b64encode(pdf[0])
res_id = ''
field_name, res_id = self._get_transaction_values()
file_exists = self.env['cm.attachment.rule'].search([(field_name, '=', res_id),('created_from_system','=',True)])
if file_exists:
file_exists.unlink()
# file_exists = self.env['cm.attachment.rule'].search([(field_name, '=', res_id),('created_from_system','=',True)])
# if file_exists:
# file_exists.unlink()
ATTACHMENT_NAME = "Letter"
attach_id = self.env['ir.attachment'].create({
'name': ATTACHMENT_NAME + '.pdf',
@ -154,7 +155,7 @@ class Letters(models.Model):
final_content = values.get('content')
values['content'] = final_content.replace('line-height', '')
return super(Letters, self).write(values)
def unlink(self):
for record in self:
if record.state == 'attached':
@ -163,10 +164,10 @@ class Letters(models.Model):
def action_draft(self):
self.ensure_one()
field_name, res_id = self._get_transaction_values()
letter_attachment = self.env['cm.attachment.rule'].search([(field_name, '=', res_id), ('created_from_system', '=', True)])
if letter_attachment:
letter_attachment.unlink()
# field_name, res_id = self._get_transaction_values()
# letter_attachment = self.env['cm.attachment.rule'].search([(field_name, '=', res_id), ('created_from_system', '=', True)])
# if letter_attachment:
# letter_attachment.unlink()
self.write({
'state': 'draft',
'is_signed': False