diff options
| author | Azka Nathan <darizkyfaz@gmail.com> | 2024-10-01 15:36:03 +0700 |
|---|---|---|
| committer | Azka Nathan <darizkyfaz@gmail.com> | 2024-10-01 15:36:03 +0700 |
| commit | 14fe99d8cfa175cf959d0ec35660b47493955228 (patch) | |
| tree | 3f5aeea429df3c66f4854efc97f7a3c8dd7eac59 | |
| parent | 9da8f3d5b2bd966bf873d8d760b179ba41f26542 (diff) | |
cr due extension
| -rw-r--r-- | indoteknik_custom/models/account_move_due_extension.py | 2 | ||||
| -rw-r--r-- | indoteknik_custom/views/account_move_views.xml | 248 |
2 files changed, 146 insertions, 104 deletions
diff --git a/indoteknik_custom/models/account_move_due_extension.py b/indoteknik_custom/models/account_move_due_extension.py index 0399c6a2..23f8888c 100644 --- a/indoteknik_custom/models/account_move_due_extension.py +++ b/indoteknik_custom/models/account_move_due_extension.py @@ -96,6 +96,8 @@ class DueExtension(models.Model): sales.action_confirm() self.order_id.due_id = self.id + template = self.env.ref('indoteknik_custom.mail_template_due_extension_approve') + template.send_mail(self.id, force_send=True) def generate_due_line(self): partners = self.partner_id.get_child_ids() diff --git a/indoteknik_custom/views/account_move_views.xml b/indoteknik_custom/views/account_move_views.xml index 1c70cc7b..057e80d3 100644 --- a/indoteknik_custom/views/account_move_views.xml +++ b/indoteknik_custom/views/account_move_views.xml @@ -1,117 +1,157 @@ <?xml version="1.0" encoding="UTF-8"?> <odoo> - <record id="due_extension_tree" model="ir.ui.view"> - <field name="name">due.extension.tree</field> - <field name="model">due.extension</field> - <field name="arch" type="xml"> - <tree default_order="create_date desc" create="0"> - <field name="number"/> - <field name="partner_id"/> - <field name="day_extension"/> - <field name="description"/> - <field name="approval_status"/> - <field name="is_approve"/> - </tree> - </field> - </record> + <data> + <record id="due_extension_tree" model="ir.ui.view"> + <field name="name">due.extension.tree</field> + <field name="model">due.extension</field> + <field name="arch" type="xml"> + <tree default_order="create_date desc" create="0"> + <field name="number"/> + <field name="partner_id"/> + <field name="day_extension"/> + <field name="description"/> + <field name="approval_status"/> + <field name="is_approve"/> + </tree> + </field> + </record> - <record id="due_extension_line_tree" model="ir.ui.view"> - <field name="name">due.extension.line.tree</field> - <field name="model">due.extension.line</field> - <field name="arch" type="xml"> - <tree> - <field name="partner_id"/> - <field name="invoice_id"/> - <field name="date_invoice"/> - <field name="due_date"/> - <field name="day_to_due"/> - <field name="efaktur_id"/> - <field name="reference"/> - <field name="total_amt"/> - <field name="open_amt"/> - </tree> - </field> - </record> + <record id="due_extension_line_tree" model="ir.ui.view"> + <field name="name">due.extension.line.tree</field> + <field name="model">due.extension.line</field> + <field name="arch" type="xml"> + <tree> + <field name="partner_id"/> + <field name="invoice_id"/> + <field name="date_invoice"/> + <field name="due_date"/> + <field name="day_to_due"/> + <field name="efaktur_id"/> + <field name="reference"/> + <field name="total_amt"/> + <field name="open_amt"/> + </tree> + </field> + </record> - <record id="due_extension_form" model="ir.ui.view"> - <field name="name">due.extension.form</field> - <field name="model">due.extension</field> - <field name="arch" type="xml"> - <form create="false"> - <header> - <button name="approve_new_due" - string="Approve" - type="object" - /> - <button name="due_extension_approval" - string="Ask Approval" + <record id="due_extension_form" model="ir.ui.view"> + <field name="name">due.extension.form</field> + <field name="model">due.extension</field> + <field name="arch" type="xml"> + <form create="false"> + <header> + <button name="approve_new_due" + string="Approve" type="object" - /> - <button name="due_extension_cancel" - string="Cancel" - type="object" - /> - </header> - <sheet> - <group> + /> + <button name="due_extension_approval" + string="Ask Approval" + type="object" + /> + <button name="due_extension_cancel" + string="Cancel" + type="object" + /> + </header> + <sheet> <group> - <field name="partner_id" readonly="1"/> - <field name="day_extension" attrs="{'readonly': [('is_approve', '=', True)]}"/> + <group> + <field name="partner_id" readonly="1"/> + <field name="day_extension" attrs="{'readonly': [('is_approve', '=', True)]}"/> + </group> + <group> + <field name="is_approve" readonly="1"/> + <field name="order_id" readonly="1"/> + <field name="counter" readonly="1"/> + <field name="approval_status" readonly="1"/> + </group> </group> <group> - <field name="is_approve" readonly="1"/> - <field name="order_id" readonly="1"/> - <field name="counter" readonly="1"/> - <field name="approval_status" readonly="1"/> + <field name="description" attrs="{'readonly': [('approval_status', '=', 'approved')]}"/> </group> - </group> - <group> - <field name="description" attrs="{'readonly': [('approval_status', '=', 'approved')]}"/> - </group> - <notebook> - <page string="Invoices"> - <field name="due_line" attrs="{'readonly': [('is_approve', '=', True)]}"/> - </page> - </notebook> - </sheet> - <div class="oe_chatter"> - <field name="message_follower_ids" widget="mail_followers"/> - <field name="message_ids" widget="mail_thread"/> - </div> - </form> - </field> - </record> + <notebook> + <page string="Invoices"> + <field name="due_line" attrs="{'readonly': [('is_approve', '=', True)]}"/> + </page> + </notebook> + </sheet> + <div class="oe_chatter"> + <field name="message_follower_ids" widget="mail_followers"/> + <field name="message_ids" widget="mail_thread"/> + </div> + </form> + </field> + </record> - <record id="due_extension_view_search" model="ir.ui.view"> - <field name="name">due.extension.search.view</field> <!-- Made the name more descriptive --> - <field name="model">due.extension</field> - <field name="arch" type="xml"> - <search string="Search Due Extension"> - <field name="number"/> - <field name="partner_id"/> - <field name="invoice_id"/> - <field name="order_id"/> - </search> - </field> - </record> + <record id="due_extension_view_search" model="ir.ui.view"> + <field name="name">due.extension.search.view</field> <!-- Made the name more descriptive --> + <field name="model">due.extension</field> + <field name="arch" type="xml"> + <search string="Search Due Extension"> + <field name="number"/> + <field name="partner_id"/> + <field name="invoice_id"/> + <field name="order_id"/> + </search> + </field> + </record> - <record id="due_extension_action" model="ir.actions.act_window"> - <field name="name">Due Extension</field> - <field name="type">ir.actions.act_window</field> - <field name="res_model">due.extension</field> - <field name="view_mode">tree,form</field> - </record> + <record id="due_extension_action" model="ir.actions.act_window"> + <field name="name">Due Extension</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">due.extension</field> + <field name="view_mode">tree,form</field> + </record> - <menuitem - id="menu_due_extension" - name="Due Extension" - parent="sale.product_menu_catalog" - sequence="4" - action="due_extension_action" - /> - <menuitem id="menu_due_extension" name="Due Extension" - parent="account.menu_finance_receivables" - action="due_extension_action" - sequence="100" - /> + <menuitem + id="menu_due_extension" + name="Due Extension" + parent="sale.product_menu_catalog" + sequence="4" + action="due_extension_action" + /> + <menuitem id="menu_due_extension" name="Due Extension" + parent="account.menu_finance_receivables" + action="due_extension_action" + sequence="100" + /> + + <record id="mail_template_due_extension_approve" model="mail.template"> + <field name="name">Due Extension: Approve</field> + <field name="model_id" ref="indoteknik_custom.model_due_extension"/> + <field name="subject">Approval for Due Extension: DE ${object.name}</field> + <field name="email_from">"PT. Indoteknik Dotcom Gemilang" <noreply@indoteknik.com></field> + <field name="reply_to">anto@indoteknik.co.id</field> + <field name="email_to">azkan4elll@gmail.com</field> + <field name="body_html" type="html"> + <p>Dear Anto,</p> + + <p>We would like to inform you that the due extension for the following document has been approved:</p> + + <table border="0" cellpadding="5" cellspacing="0" width="15%"> + <tr> + <td><strong>DE Number:</strong></td> + <td>${object.number}</td> + </tr> + <tr> + <td><strong>SO Number:</strong></td> + <td>${object.order_id.name}</td> + </tr> + <tr> + <td><strong>New Due Date:</strong></td> + <td>${object.due_line[0].invoice_id.new_due_date}</td> + </tr> + <tr> + <td><strong>Extension (days):</strong></td> + <td>${object.day_extension}</td> + </tr> + </table> + + <p>If you have any further questions or need additional information, please feel free to contact us.</p> + + <p>Best regards,</p> + <p><strong>PT. Indoteknik Dotcom Gemilang</strong></p> + </field> + </record> + </data> </odoo> |
