Merge pull request #2410 from expsa/samir-aladawi-transactions-improvements

[UPD] exp_transation_letters: remove the letter attachment from the t…
This commit is contained in:
SamirLADOUI-sa 2025-02-16 11:28:36 +01:00 committed by GitHub
commit 24543b5db0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 40 additions and 12 deletions

View File

@ -21,11 +21,11 @@ Letters Managment
'data': [
'security/groups.xml',
'security/ir.model.access.csv',
'views/transaction_views.xml',
'views/letters_view.xml',
'reports/letter_template.xml',
'reports/formal_letter.xml',
'views/editor.xml',
'views/transaction_views.xml'
],
'qweb' : [
],

View File

@ -98,14 +98,8 @@ class Letters(models.Model):
final_content = final_content.replace('line-height', '')
rec.content = final_content
def action_generate_attachment(self):
""" this method called from button action in view xml """
# generate pdf from report, use report's id as reference
REPORT_ID = 'exp_transation_letters.report_letter_action_report'
pdf = self.env.ref(REPORT_ID)._render_qweb_pdf(self.ids)
# pdf result is a list
b64_pdf = base64.b64encode(pdf[0])
res_id = ''
def _get_transaction_values(self):
self.ensure_one()
field_name = 'internal_transaction_id'
if self.transaction_type == 'internal':
res_id = self.internal_transaction_id.id
@ -116,6 +110,18 @@ 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):
""" this method called from button action in view xml """
# generate pdf from report, use report's id as reference
REPORT_ID = 'exp_transation_letters.report_letter_action_report'
pdf = self.env.ref(REPORT_ID)._render_qweb_pdf(self.ids)
# pdf result is a list
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()
@ -156,6 +162,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()
self.state = 'draft'

View File

@ -46,9 +46,15 @@
<field name="date" required="1" attrs="{'readonly': [('state', '!=', 'draft')]}"/>
<field name="hijir_date"/>
<field name="transaction_type" attrs="{'readonly': [('state', '!=', 'draft')]}"/>
<field name="incoming_transaction_id" attrs="{'invisible': [('transaction_type','!=','incoming')], 'readonly': [('state', '!=', 'draft')]}"/>
<field name="internal_transaction_id" attrs="{'invisible': [('transaction_type','!=','internal')], 'readonly': [('state', '!=', 'draft')]}"/>
<field name="outgoing_transaction_id" attrs="{'invisible': [('transaction_type','!=','outgoing')], 'readonly': [('state', '!=', 'draft')]}"/>
<field name="incoming_transaction_id"
attrs="{'invisible': [('transaction_type','!=','incoming')], 'readonly': [('state', '!=', 'draft')]}"
context="{'tree_view_ref': 'exp_transation_letters.common_transaction_external_tree_exp_transaction_documents'}"/>
<field name="internal_transaction_id"
attrs="{'invisible': [('transaction_type','!=','internal')], 'readonly': [('state', '!=', 'draft')]}"
context="{'tree_view_ref': 'exp_transation_letters.common_outgoing_transaction_internal_tree_exp_transaction_documents'}"/>
<field name="outgoing_transaction_id"
attrs="{'invisible': [('transaction_type','!=','outgoing')], 'readonly': [('state', '!=', 'draft')]}"
context="{'tree_view_ref': 'exp_transation_letters.common_outgoing_transaction_external_tree_exp_transaction_documents'}"/>
</group>
</group>
<group>

View File

@ -5,6 +5,8 @@
<field name="name">incoming.transaction.view.form.inherit</field>
<field name="model">incoming.transaction</field>
<field name="inherit_id" ref="exp_transaction_documents.view_incoming_transaction_filter"/>
<field name="mode">primary</field>
<field name="priority">99</field>
<field name="arch" type="xml">
<xpath expr="//search/field[@name='subject']" position="attributes">
<attribute name="groups">exp_transaction_documents.group_transaction_manager</attribute>
@ -15,6 +17,8 @@
<field name="name">incoming.transaction.view.form.inherit</field>
<field name="model">incoming.transaction</field>
<field name="inherit_id" ref="exp_transaction_documents.common_transaction_external_tree"/>
<field name="mode">primary</field>
<field name="priority">99</field>
<field name="arch" type="xml">
<xpath expr="//tree/field[@name='subject']" position="attributes">
<attribute name="groups">exp_transaction_documents.group_transaction_manager</attribute>
@ -26,6 +30,8 @@
<field name="name">internal.transaction.view.form.inherit</field>
<field name="model">internal.transaction</field>
<field name="inherit_id" ref="exp_transaction_documents.view_internal_transaction_filter"/>
<field name="mode">primary</field>
<field name="priority">99</field>
<field name="arch" type="xml">
<xpath expr="//search/field[@name='subject']" position="attributes">
<attribute name="groups">exp_transaction_documents.group_transaction_manager</attribute>
@ -36,6 +42,8 @@
<field name="name">internal.transaction.view.form.inherit</field>
<field name="model">internal.transaction</field>
<field name="inherit_id" ref="exp_transaction_documents.common_transaction_internal_tree"/>
<field name="mode">primary</field>
<field name="priority">99</field>
<field name="arch" type="xml">
<xpath expr="//tree/field[@name='subject']" position="attributes">
<attribute name="groups">exp_transaction_documents.group_transaction_manager</attribute>
@ -47,6 +55,8 @@
<field name="name">outgoing.transaction.view.form.inherit</field>
<field name="model">outgoing.transaction</field>
<field name="inherit_id" ref="exp_transaction_documents.view_outgoing_transaction_filter"/>
<field name="mode">primary</field>
<field name="priority">99</field>
<field name="arch" type="xml">
<xpath expr="//search/field[@name='subject']" position="attributes">
<attribute name="groups">exp_transaction_documents.group_transaction_manager</attribute>
@ -57,6 +67,8 @@
<field name="name">outgoing.transaction.view.form.inherit</field>
<field name="model">outgoing.transaction</field>
<field name="inherit_id" ref="exp_transaction_documents.common_outgoing_transaction_external_tree"/>
<field name="mode">primary</field>
<field name="priority">99</field>
<field name="arch" type="xml">
<xpath expr="//tree/field[@name='subject']" position="attributes">
<attribute name="groups">exp_transaction_documents.group_transaction_manager</attribute>