diff options
| author | it-fixcomart <it@fixcomart.co.id> | 2025-07-28 15:09:55 +0700 |
|---|---|---|
| committer | it-fixcomart <it@fixcomart.co.id> | 2025-07-28 15:09:55 +0700 |
| commit | d15ce4e186e2b77f01e8dfd03886298cc733d4c1 (patch) | |
| tree | 1b32a4c29c4fcea85070fcecb5b77a7d55d30029 /indoteknik_custom/views | |
| parent | deba962d7368a5c4e30441b5a640102608e3dde6 (diff) | |
| parent | 36a53535dbdc5777266fd9276b4c557259dab6be (diff) | |
<hafid> merging odoo-backup
Diffstat (limited to 'indoteknik_custom/views')
18 files changed, 974 insertions, 29 deletions
diff --git a/indoteknik_custom/views/account_move.xml b/indoteknik_custom/views/account_move.xml index 46737a40..9b1c791b 100644 --- a/indoteknik_custom/views/account_move.xml +++ b/indoteknik_custom/views/account_move.xml @@ -6,6 +6,12 @@ <field name="model">account.move</field> <field name="inherit_id" ref="account.view_move_form"/> <field name="arch" type="xml"> + <xpath expr="//div[@name='journal_div']" position="after"> + <field name="reklas_misc_id" + string="Journal Entries Reklas" + attrs="{'invisible': [('move_type', '!=', 'in_invoice')]}" + readonly="1"/> + </xpath> <button name="action_register_payment" position="after"> <button name="indoteknik_custom.action_view_invoice_reklas" string="Reklas" type="action" class="btn-primary" attrs="{'invisible': [('state', '!=', 'posted')]}"/> @@ -27,10 +33,16 @@ </field> <field name="invoice_date" position="after"> <field name="sale_id" readonly="1" attrs="{'invisible': [('move_type', '!=', 'out_invoice')]}"/> - <field name="purchase_order_id" readonly="1" attrs="{'invisible': [('move_type', '!=', 'in_invoice')]}"/> + <!-- <field name="purchase_order_id" readonly="1" attrs="{'invisible': [('move_type', '!=', 'in_invoice')]}"/> --> </field> <field name="ref" position="after"> <field name="sale_id" readonly="1" attrs="{'invisible': [('move_type', '!=', 'entry')]}"/> + <!-- <field name="refund_so_links" readonly="1" widget="html" attrs="{'invisible': ['|', ('move_type', '!=', 'entry'), ('has_refund_so', '=', False)]}"/> + <field name="has_refund_so" invisible="1"/> --> + </field> + <field name="reklas_misc_id" position="after"> + <field name="purchase_order_id" context="{'form_view_ref': 'purchase.purchase_order_form'}" options="{'no_create': True}"/> + <field name="bill_id" readonly="1"/> </field> <field name="partner_shipping_id" position="before"> <field name="real_invoice_id" readonly="1" attrs="{'invisible': [('move_type', '!=', 'out_invoice')]}"/> @@ -52,6 +64,7 @@ <field name="due_extension"/> <field name="counter"/> <field name="nomor_kwitansi"/> + <field name="down_payment"/> </field> <field name="to_check" position="after"> <field name="already_paid"/> @@ -59,6 +72,7 @@ <field name="so_shipping_covered_by"/> <field name="so_delivery_amt"/> <field name="flag_delivery_amt"/> + <field name="length_of_payment"/> </field> <field name="amount_untaxed" position="after"> <field name="other_subtotal" invisible="1"/> diff --git a/indoteknik_custom/views/approval_payment_term.xml b/indoteknik_custom/views/approval_payment_term.xml new file mode 100644 index 00000000..cc9db914 --- /dev/null +++ b/indoteknik_custom/views/approval_payment_term.xml @@ -0,0 +1,94 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<odoo> + <record id="approval_payment_term_tree" model="ir.ui.view"> + <field name="name">approval.payment.term.tree</field> + <field name="model">approval.payment.term</field> + <field name="arch" type="xml"> + <tree default_order="create_date desc"> + <field name="number"/> + <field name="partner_id"/> + <field name="parent_id"/> + <field name="property_payment_term_id"/> + <field name="create_date" optional="hide"/> + <field name="approve_date" optional="hide"/> + <field name="approve_sales_manager" optional="hide"/> + <field name="approve_finance" optional="hide"/> + <field name="approve_leader" optional="hide"/> + <field name="create_uid" optional="hide"/> + <field name="sale_order_ids" optional="hide" widget="many2many_tags"/> + <field name="total" optional="hide"/> + <field name="grand_total" optional="hide"/> + <field name="state" widget="badge" decoration-danger="state == 'rejected'" + decoration-success="state == 'approved'" + decoration-info="state in ['waiting_approval_sales_manager', 'waiting_approval_finance', 'waiting_approval_leader']"/> + <field name="change_log_688" optional="hide"/> + </tree> + </field> + </record> + + <record id="approval_payment_term_form" model="ir.ui.view"> + <field name="name">approval.payment.term.form</field> + <field name="model">approval.payment.term</field> + <field name="arch" type="xml"> + <form> + <header> + <button name="button_approve" + string="Approve" + type="object" + attrs="{'invisible': [('approve_leader', '=', True)]}" + /> + <button name="button_reject" + string="Reject" + type="object" + attrs="{'invisible': [('approve_leader', '=', True)]}" + /> + <field name="state" widget="statusbar" + statusbar_visible="waiting_approval,approved,rejected" + statusbar_colors='{"rejected":"red"}'/> + </header> + <sheet string="Approval Payment Term"> + <group> + <group> + <field name="number" readonly="1"/> + <field name="partner_id"/> + <field name="parent_id" readonly="1"/> + <field name="blocking_stage" attrs="{'readonly': ['|', ('number', '=', False), ('state', 'in', ['approved','rejected'])]}"/> + <field name="warning_stage" attrs="{'readonly': ['|', ('number', '=', False), ('state', 'in', ['approved','rejected'])]}"/> + <field name="property_payment_term_id" attrs="{'readonly': ['|', ('number', '=', False), ('state', 'in', ['approved','rejected'])]}"/> + <field name="active_limit" attrs="{'readonly': ['|', ('number', '=', False), ('state', 'in', ['approved','rejected'])]}"/> + </group> + <group> + <field name="reason"/> + <field name="reason_reject" attrs="{'invisible': [('state', '!=', 'rejected')]}"/> + <field name="approve_date" readonly="1"/> + <field name="approve_sales_manager" readonly="1"/> + <field name="approve_finance" readonly="1"/> + <field name="approve_leader" readonly="1"/> + <field name="sale_order_ids" widget="many2many_tags"/> + <field name="total"/> + <field name="grand_total"/> + </group> + </group> + </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="approval_payment_term_action" model="ir.actions.act_window"> + <field name="name">Approval Payment Term</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">approval.payment.term</field> + <field name="view_mode">tree,form</field> + </record> + + <menuitem id="menu_approval_payment_term" name="Approval Payment Term" + parent="account.menu_finance_receivables" + action="approval_payment_term_action" + sequence="100" + /> + +</odoo>
\ No newline at end of file diff --git a/indoteknik_custom/views/customer_commision.xml b/indoteknik_custom/views/customer_commision.xml index 37df16ff..514e6284 100644 --- a/indoteknik_custom/views/customer_commision.xml +++ b/indoteknik_custom/views/customer_commision.xml @@ -70,7 +70,7 @@ statusbar_visible="draft,pengajuan1,pengajuan2,pengajuan3,pengajuan4,approved" statusbar_colors='{"reject":"red"}'/> </header> - <sheet string="Customer Commision"> + <sheet string="Customer Benefits"> <div class="oe_button_box" name="button_box"/> <group> <group> @@ -81,6 +81,9 @@ <field name="commision_percent"/> <field name="commision_amt"/> <field name="commision_amt_text"/> + <field name="cashback" attrs="{'invisible': [('commision_type', 'not in', ['cashback'])]}"/> + <field name="total_commision" attrs="{'invisible': [('commision_type', 'not in', ['cashback'])]}"/> + <field name="total_cashback_text" attrs="{'invisible': [('commision_type', 'not in', ['cashback'])]}"/> <field name="grouped_so_number" readonly="1"/> <field name="grouped_invoice_number" readonly="1"/> <field name="approved_by" readonly="1"/> @@ -100,6 +103,7 @@ <field name="notification" readonly="1"/> <!-- <field name="status" readonly="1"/>--> <field name="payment_status" readonly="1"/> + <field name="biaya_lain_lain"/> <field name="total_dpp"/> </group> </group> @@ -171,7 +175,7 @@ </record> <record id="customer_commision_action" model="ir.actions.act_window"> - <field name="name">Customer Commision</field> + <field name="name">Customer Benefits</field> <field name="type">ir.actions.act_window</field> <field name="res_model">customer.commision</field> <field name="search_view_id" ref="view_customer_commision_filter"/> @@ -179,14 +183,14 @@ </record> <menuitem id="menu_customer_commision_acct" - name="Customer Commision" + name="Customer Benefits" action="customer_commision_action" parent="account.menu_finance_entries" sequence="113" /> <menuitem id="menu_customer_commision_sales" - name="Customer Commision" + name="Customer Benefits" action="customer_commision_action" parent="sale.product_menu_catalog" sequence="101" diff --git a/indoteknik_custom/views/ir_sequence.xml b/indoteknik_custom/views/ir_sequence.xml index 97bf40bb..4915e4c5 100644 --- a/indoteknik_custom/views/ir_sequence.xml +++ b/indoteknik_custom/views/ir_sequence.xml @@ -131,7 +131,7 @@ <field name="number_increment">1</field> </record> - <record id="sequence_commision_customer" model="ir.sequence"> + <!-- <record id="sequence_commision_customer" model="ir.sequence"> <field name="name">Customer Commision</field> <field name="code">customer.commision</field> <field name="active">TRUE</field> @@ -139,6 +139,46 @@ <field name="padding">5</field> <field name="number_next">1</field> <field name="number_increment">1</field> + </record> --> + + <record id="sequence_commision_cashback" model="ir.sequence"> + <field name="name">Customer Commision Cashback</field> + <field name="code">customer.commision.cashback</field> + <field name="prefix">CB/%(year)s/</field> + <field name="padding">5</field> + <field name="number_next">1</field> + <field name="number_increment">1</field> + <field name="active">True</field> + </record> + + <record id="sequence_approval_payment_term" model="ir.sequence"> + <field name="name">Approval Payment Term</field> + <field name="code">approval.payment.term</field> + <field name="prefix">APT/%(year)s/</field> + <field name="padding">5</field> + <field name="number_next">1</field> + <field name="number_increment">1</field> + <field name="active">True</field> + </record> + + <record id="sequence_commision_fee" model="ir.sequence"> + <field name="name">Customer Commision Fee</field> + <field name="code">customer.commision.fee</field> + <field name="prefix">CC/%(year)s/</field> + <field name="padding">5</field> + <field name="number_next">1</field> + <field name="number_increment">1</field> + <field name="active">True</field> + </record> + + <record id="sequence_commision_rebate" model="ir.sequence"> + <field name="name">Customer Commision Rebate</field> + <field name="code">customer.commision.rebate</field> + <field name="prefix">RB/%(year)s/</field> + <field name="padding">5</field> + <field name="number_next">1</field> + <field name="number_increment">1</field> + <field name="active">True</field> </record> <record id="sequence_automatic_purchase" model="ir.sequence"> @@ -160,5 +200,33 @@ <field name="number_next">1</field> <field name="number_increment">1</field> </record> + <record id="seq_tukar_guling" model="ir.sequence"> + <field name="name">Pengajuan Return SO</field> + <field name="code">tukar.guling</field> + <field name="active">TRUE</field> + <field name="prefix">CCM/%(year)s/%(month)s/</field> + <field name="padding">4</field> + <field name="number_next">1</field> + <field name="number_increment">1</field> + </record> + <record id="seq_tukar_guling_po" model="ir.sequence"> + <field name="name">Pengajuan Return PO</field> + <field name="code">tukar.guling.po</field> + <field name="active">TRUE</field> + <field name="prefix">VCM/%(year)s/%(month)s/</field> + <field name="padding">4</field> + <field name="number_next">1</field> + <field name="number_increment">1</field> + </record> + + <record id="seq_refund_sale_order" model="ir.sequence"> + <field name="name">Refund Sale Order</field> + <field name="code">refund.sale.order</field> + <field name="prefix">RC/%(year)s/%(month)s/</field> + <field name="padding">4</field> + <field name="number_next">1</field> + <field name="number_increment">1</field> + <field name="active">True</field> + </record> </data> </odoo>
\ No newline at end of file diff --git a/indoteknik_custom/views/mail_template_invoice_reminder.xml b/indoteknik_custom/views/mail_template_invoice_reminder.xml new file mode 100644 index 00000000..21055eb0 --- /dev/null +++ b/indoteknik_custom/views/mail_template_invoice_reminder.xml @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <data noupdate="0"> + <record id="mail_template_invoice_due_reminder" model="mail.template"> + <field name="name">Invoice Reminder: Due Date Notification</field> + <field name="model_id" ref="account.model_account_move"/> + <field name="subject">Reminder Invoice Due - ${object.name}</field> + <field name="email_from">finance@indoteknik.co.id</field> + <field name="email_to">andrifebriyadiputra@gmail.com</field> + <field name="body_html" type="html"> + <div> + <p><b>Dear ${object.name},</b></p> + + <p>Berikut adalah daftar invoice Anda yang mendekati atau telah jatuh tempo:</p> + + <table border="1" cellpadding="4" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 12px"> + <thead> + <tr style="background-color: #f2f2f2;" align="left"> + <th>Invoice Number</th> + <th>Tanggal Invoice</th> + <th>Jatuh Tempo</th> + <th>Sisa Hari</th> + <th>Total</th> + <th>Referensi</th> + </tr> + </thead> + <tbody> + </tbody> + </table> + + <p>Mohon bantuan dan kerjasamanya agar tetap bisa bekerjasama dengan baik</p> + <p>Terima Kasih.</p> + <br/> + <br/> + <p><b>Best Regards, + <br/> + <br/> + Widya R.<br/> + Dept. Finance<br/> + PT. INDOTEKNIK DOTCOM GEMILANG<br/> + <img src="https://erp.indoteknik.com/api/image/ir.attachment/datas/2135765" alt="Indoteknik" style="max-width: 18%; height: auto;"></img><br/> + <a href="https://wa.me/6285716970374" target="_blank">+62-857-1697-0374</a> | + <a href="mailto:finance@indoteknik.co.id">finance@indoteknik.co.id</a> + </b></p> + + </div> + </field> + <field name="auto_delete" eval="True"/> + </record> + </data> +</odoo> diff --git a/indoteknik_custom/views/mrp_production.xml b/indoteknik_custom/views/mrp_production.xml index 3de52a08..5057415f 100644 --- a/indoteknik_custom/views/mrp_production.xml +++ b/indoteknik_custom/views/mrp_production.xml @@ -11,7 +11,7 @@ <field name="bom_id" position="after"> <field name="desc"/> <field name="sale_order"/> - <field name="is_po"/> + <field name="is_po" readonly="1"/> </field> <xpath expr="//form/sheet/notebook/page/field[@name='move_raw_ids']/tree/field[@name='product_uom_qty']" position="before"> <field name="vendor_id"/> diff --git a/indoteknik_custom/views/purchase_order.xml b/indoteknik_custom/views/purchase_order.xml index 0fbbb5e7..ff223125 100755 --- a/indoteknik_custom/views/purchase_order.xml +++ b/indoteknik_custom/views/purchase_order.xml @@ -14,6 +14,29 @@ attrs="{'invisible': ['|', ('sale_order_id', '=', False), ('state', 'not in', ['draft'])]}" /> </div> + <xpath expr="//button[@name='action_view_invoice']" position="before"> + <field name="is_cab_visible" invisible="1"/> + <button type="object" + name="action_view_journal_uangmuka" + class="oe_stat_button" + icon="fa-book" + attrs="{'invisible': [('is_cab_visible', '=', False)]}" + style="width: 200px;"> + <field name="move_id" widget="statinfo" string="Journal Uang Muka"/> + <span class="o_stat_text"> + <t t-esc="record.move_id.name"/> + </span> + </button> + <button type="object" + name="action_view_related_bu" + class="oe_stat_button" + icon="fa-truck" + style="width: 200px;" + attrs="{'invisible': [('state', 'in', ['draft', 'sent'])]}"> + <field name="bu_related_count" widget="statinfo" string="BU Related"/> + </button> + <field name="picking_count" invisible="1"/> + </xpath> <button id="draft_confirm" position="after"> <button name="po_approve" string="Ask Approval" @@ -64,7 +87,9 @@ <field name="payment_term_id"/> <field name="total_cost_service" attrs="{'required': [('partner_id', 'in', [9688, 29712])]}"/> <field name="total_delivery_amt" attrs="{'required': [('partner_id', 'in', [9688, 29712])]}"/> - <field name="product_bom_id"/> + <field name="product_bom_id" attrs="{'invisible': [('product_bom_id', '=', None)]}"/> + <field name="manufacturing_id" attrs="{'invisible': [('product_bom_id', '=', None)]}"/> + <!-- <field name="move_id" domain="[('move_type','=','entry')]" context="{'form_view_ref': 'account.view_move_form'}" options="{'no_create': True}"/> --> </field> <field name="amount_total" position="after"> <field name="total_margin"/> @@ -164,6 +189,13 @@ <field name="order_sales_match_line"/> </page> </xpath> + <xpath expr="//form/sheet/notebook/page[@name='purchase_delivery_invoice']" position="after"> + <page string="Other Info" name="purchase_order_sales_matches_lines"> + <group string="Return Doc"> + <field name="vcm_id"/> + </group> + </page> + </xpath> </field> </record> </data> @@ -308,6 +340,7 @@ <field name="delivery_amt" optional="hide"/> <field name="margin_deduct" optional="hide"/> <field name="hold_outgoing_so" optional="hide"/> + <field name="bu_pick" optional="hide"/> <field name="margin_so"/> </tree> </field> diff --git a/indoteknik_custom/views/purchasing_job.xml b/indoteknik_custom/views/purchasing_job.xml index bb1c7643..e3866d84 100644 --- a/indoteknik_custom/views/purchasing_job.xml +++ b/indoteknik_custom/views/purchasing_job.xml @@ -4,7 +4,7 @@ <field name="name">v.purchasing.job.tree</field> <field name="model">v.purchasing.job</field> <field name="arch" type="xml"> - <tree create="false" multi_edit="1"> + <tree decoration-info="(check_pj == False)" create="false" multi_edit="1"> <field name="product_id"/> <field name="vendor_id"/> <field name="purchase_representative_id"/> @@ -18,6 +18,15 @@ <field name="action"/> <field name="note"/> <field name="date_po"/> + <field name="so_number"/> + <field name="check_pj" invisible="1"/> + <button name="action_open_job_detail" + string="📄" + type="object" + icon="fa-file" + attrs="{'invisible': [('check_pj','=',True)]}" + context="{}"/> + </tree> </field> </record> @@ -41,6 +50,7 @@ <field name="item_code"/> <field name="product"/> <field name="action"/> + <field name="so_number"/> </group> <group> <field name="onhand"/> diff --git a/indoteknik_custom/views/refund_sale_order.xml b/indoteknik_custom/views/refund_sale_order.xml new file mode 100644 index 00000000..4f791722 --- /dev/null +++ b/indoteknik_custom/views/refund_sale_order.xml @@ -0,0 +1,199 @@ +<?xml version="1.0" encoding="UTF-8"?> +<odoo> + <!-- Tree View --> + <record id="view_refund_sale_order_tree" model="ir.ui.view"> + <field name="name">refund.sale.order.tree</field> + <field name="model">refund.sale.order</field> + <field name="arch" type="xml"> + <tree string="Refund Sales Orders"> + <field name="name" readonly="1"/> + <field name="created_date" readonly="1"/> + <field name="partner_id" readonly="1"/> + <field name="sale_order_ids" widget="many2many_tags" readonly="1"/> + <field name="uang_masuk" readonly="1"/> + <field name="ongkir" readonly="1"/> + <field name="total_invoice" readonly="1"/> + <field name="amount_refund" readonly="1"/> + <field name="status" + decoration-info="status == 'draft'" + decoration-danger="status == 'reject'" + decoration-success="status == 'refund'" + decoration-warning="status == 'pengajuan1' or status == 'pengajuan2' or status == 'pengajuan3'" + widget="badge" + readonly="1"/> + <field name="status_payment" + decoration-info="status_payment == 'pending'" + decoration-danger="status_payment == 'reject'" + decoration-success="status_payment == 'done'" + widget="badge" + readonly="1"/> + <field name="refund_date" readonly="1"/> + <field name="amount_refund_text" readonly="1" optional="hide"/> + <field name="invoice_ids" readonly="1" optional="hide"/> + <field name="refund_type" readonly="1" optional="hide"/> + <field name="user_ids" readonly="1" optional="hide"/> + </tree> + </field> + </record> + + <!-- Form View --> + <record id="view_refund_sale_order_form" model="ir.ui.view"> + <field name="name">refund.sale.order.form</field> + <field name="model">refund.sale.order</field> + <field name="arch" type="xml"> + <form string="Refund Sales Order"> + <header> + <button name="action_ask_approval" + type="object" + string="Ask Approval" + attrs="{'invisible': [('status', '!=', 'draft')]}"/> + + <button name="action_approve_flow" + type="object" + string="Approve" + class="oe_highlight" + attrs="{'invisible': [('status', 'in', ['refund', 'reject', 'draft'])]}"/> + <button name="action_trigger_cancel" + type="object" + string="Cancel" + attrs="{'invisible': ['|', ('status_payment', '!=', 'pending'), ('status', '=', 'reject')]}" /> + <button name="action_confirm_refund" + type="object" + string="Confirm Refund" + class="btn-primary" + attrs="{'invisible': ['|', ('status', 'not in', ['pengajuan3','refund']), ('status_payment', '!=', 'pending')]}"/> + <button name="action_create_journal_refund" + string="Journal Refund" + type="object" + class="oe_highlight" + attrs="{'invisible': ['|', ('status', 'not in', ['pengajuan3','refund']), ('journal_refund_state', '=', 'posted')]}"/> + + <field name="status" + widget="statusbar" + statusbar_visible="draft,pengajuan1,pengajuan2,pengajuan3,reject" + attrs="{'invisible': [('status', '!=', 'reject')]}" /> + + <field name="status" + widget="statusbar" + statusbar_visible="draft,pengajuan1,pengajuan2,pengajuan3,refund" + attrs="{'invisible': [('status', '=', 'reject')]}" /> + </header> + <sheet> + <div class="oe_button_box" name="button_box"> + <button name="action_open_journal_refund" + type="object" + class="oe_stat_button" + icon="fa-book" + width="250px" + attrs="{'invisible': ['|', ('journal_refund_move_id', '=', False), ('journal_refund_state', '!=', 'posted')]}"> + <field name="journal_refund_move_id" string="Journal Refund" widget="statinfo"/> + </button> + </div> + <widget name="web_ribbon" + title="PAID" + bg_color="bg-success" + attrs="{'invisible': [('status_payment', '!=', 'done')]}"/> + + <widget name="web_ribbon" + title="CANCEL" + bg_color="bg-danger" + attrs="{'invisible': [('status_payment', '!=', 'reject')]}"/> + <h1> + <field name="name" readonly="1"/> + </h1> + <group col="2"> + <group> + <field name="is_locked" invisible="1"/> + <field name="status_payment" invisible="1"/> + <field name="journal_refund_state" invisible="1"/> + + <field name="partner_id" attrs="{'readonly': [('is_locked', '=', True)]}"/> + <field name="sale_order_ids" widget="many2many_tags" attrs="{'readonly': [('is_locked', '=', True)]}"/> + <field name="invoice_ids" widget="many2many_tags" readonly="1"/> + <field name="invoice_names" widget="html" readonly="1"/> + <field name="so_names" widget="html" readonly="1"/> + <field name="advance_move_names" widget="html" readonly="1"/> + <field name="refund_type" attrs="{'readonly': [('is_locked', '=', True)]}"/> + <field name="note_refund" attrs="{'readonly': [('is_locked', '=', True)]}"/> + </group> + <group> + <field name="uang_masuk" attrs="{'readonly': [('is_locked', '=', True)]}"/> + <field name="total_invoice" attrs="{'readonly': [('is_locked', '=', True)]}"/> + <field name="ongkir" attrs="{'readonly': [('is_locked', '=', True)]}"/> + <field name="amount_refund" attrs="{'readonly': [('is_locked', '=', True)]}"/> + <field name="amount_refund_text" readonly="1"/> + <field name="uang_masuk_type" required="1" attrs="{'readonly': [('is_locked', '=', True)]}"/> + <field name="bukti_uang_masuk_image" widget="image" + attrs="{'invisible': [('uang_masuk_type', '=', 'pdf')], 'readonly': [('is_locked', '=', True)]}"/> + <field name="bukti_uang_masuk_pdf" widget="pdf_viewer" + attrs="{'invisible': [('uang_masuk_type', '=', 'image')], 'readonly': [('is_locked', '=', True)]}"/> + </group> + </group> + + <notebook> + <page string="Produk Line"> + <field name="line_ids" attrs="{'readonly': [('is_locked', '=', True)]}"> + <tree editable="bottom"> + <field name="product_id"/> + <field name="quantity"/> + <field name="reason"/> + </tree> + </field> + </page> + + <page string="Other Info"> + <group col="2"> + <group> + <field name="user_ids" widget="many2many_tags" readonly="1"/> + <field name="created_date" readonly="1"/> + <field name="refund_date" attrs="{'readonly': [('status', 'not in', ['pengajuan3','refund'])]}"/> + </group> + <group> + <field name="bank" attrs="{'readonly': [('is_locked', '=', True)]}"/> + <field name="account_name" attrs="{'readonly': [('is_locked', '=', True)]}"/> + <field name="account_no" attrs="{'readonly': [('is_locked', '=', True)]}"/> + </group> + </group> + </page> + + <page string="Finance Note"> + <group col="2"> + <group> + <field name="finance_note" attrs="{'readonly': [('is_locked', '=', True)]}"/> + </group> + <group> + <field name="bukti_refund_type" reqiured="1" attrs="{'readonly': [('is_locked', '=', True)]}"/> + <field name="bukti_transfer_refund_pdf" widget="pdf_viewer" attrs="{'invisible': [('bukti_refund_type', '=', 'image')]}"/> + <field name="bukti_transfer_refund_image" widget="image" attrs="{'invisible': [('bukti_refund_type', '=', 'pdf')]}"/> + </group> + </group> + </page> + + <page string="Cancel Reason" attrs="{'invisible': [('status', '=', 'refund')]}"> + <group> + <field name="reason_reject"/> + </group> + </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> + <!-- Action --> + <record id="action_refund_sale_order" model="ir.actions.act_window"> + <field name="name">Refund Sales Order</field> + <field name="res_model">refund.sale.order</field> + <field name="view_mode">tree,form</field> + </record> + + <!-- Menu --> + <menuitem id="menu_refund_sale_order" + name="Refund" + parent="sale.sale_order_menu" + sequence="10" + action="action_refund_sale_order"/> +</odoo> diff --git a/indoteknik_custom/views/res_partner.xml b/indoteknik_custom/views/res_partner.xml index cb9fa3ac..a030a75c 100644 --- a/indoteknik_custom/views/res_partner.xml +++ b/indoteknik_custom/views/res_partner.xml @@ -65,6 +65,21 @@ <group name="purchase" position="inside"> <field name="leadtime"/> </group> + <xpath expr="//notebook/page[@name='contact_addresses']" position="before"> + <page string="Pin Point Location" name="map_location"> + <group> + <button name="geocode_address" type="object" string="Get Pin Point Location" class="btn btn-primary"/> + </group> + <div style="margin: 16px 0;"> + <field name="map_view" widget="googlemap" nolabel="1"/> + </div> + <group> + <field name="address_map" readonly="1" force_save="1"/> + <field name="latitude" readonly="1" force_save="1"/> + <field name="longtitude" readonly="1" force_save="1"/> + </group> + </page> + </xpath> <field name="vat" position="after"> <field name="email_finance" widget="email"/> <field name="email_sales" widget="email"/> @@ -78,6 +93,15 @@ <field name="main_parent_id" invisible="1" /> <field name="site_id" attrs="{'readonly': [('parent_id', '=', False)]}" domain="[('partner_id', '=', main_parent_id)]" context="{'default_partner_id': active_id}" /> </xpath> + <xpath expr="//field[@name='child_ids']/form/sheet/group" position="after"> + <div class="oe_left" style="margin-top: 16px;"> + <button name="action_open_full_form" + type="object" + string="Detail Information" + class="btn btn-primary" + /> + </div> + </xpath> <xpath expr="//field[@name='property_payment_term_id']" position="attributes"> <attribute name="readonly">0</attribute> </xpath> @@ -189,6 +213,13 @@ <field name="dokumen_ktp_dirut" /> </group> </page> + <page string="Aging Info"> + <group string="Aging Info"> + <field name="avg_aging" readonly="1"/> + <field name="payment_difficulty" attrs="{'readonly': [('parent_id', '!=', False)]}" /> + <field name="payment_history_url" readonly="1" /> + </group> + </page> </notebook> </field> </record> diff --git a/indoteknik_custom/views/sale_order.xml b/indoteknik_custom/views/sale_order.xml index 0fabf279..c1f1fe61 100755 --- a/indoteknik_custom/views/sale_order.xml +++ b/indoteknik_custom/views/sale_order.xml @@ -35,7 +35,32 @@ string="UangMuka" type="action" attrs="{'invisible': [('approval_status', '!=', 'approved')]}"/> </button> - <field name="payment_term_id" position="after"> + <!-- <xpath expr="//header" position="inside"> + <button name="button_refund" + type="object" + string="Refund" + class="btn-primary" + attrs="{'invisible': ['|', ('state', 'not in', ['sale', 'done']), ('has_refund', '=', True)]}" /> + </xpath> --> + <div class="oe_button_box" name="button_box"> + <field name="advance_payment_move_ids" invisible="1"/> + <button name="action_open_advance_payment_moves" + type="object" + class="oe_stat_button" + icon="fa-book" + attrs="{'invisible': [('advance_payment_move_ids', '=', [])]}"> + <field name="advance_payment_move_count" widget="statinfo" string="Journals"/> + </button> + + <!-- <button type="object" + name="action_view_related_refunds" + class="oe_stat_button" + icon="fa-refresh" + attrs="{'invisible': [('refund_count', '=', 0)]}"> + <field name="refund_count" widget="statinfo" string="Refund"/> + </button> --> + </div> + <field name="payment_term_id" position="after"> <field name="create_uid" invisible="1"/> <field name="create_date" invisible="1"/> <field name="shipping_cost_covered" @@ -103,10 +128,10 @@ <field name="compute_fullfillment" invisible="1" /> </field> <field name="tag_ids" position="after"> - <field name="eta_date_start"/> + <!-- <field name="eta_date_start"/> --> <t t-esc="' to '"/> - <field name="eta_date" readonly="1"/> - <field name="expected_ready_to_ship"/> + <!-- <field name="eta_date" readonly="1"/> --> + <!-- <field name="expected_ready_to_ship"/> --> <field name="ready_to_ship_status_detail"/> <field name="flash_sale"/> <field name="margin_after_delivery_purchase"/> @@ -134,15 +159,29 @@ <field name="real_invoice_id"/> <field name="approval_status"/> <field name="sales_tax_id" - domain="[('type_tax_use','=','sale'), ('active', '=', True)]" required="1"/> - <field name="carrier_id" required="1"/> - <field name="delivery_service_type" readonly="1"/> - <field name="shipping_option_id"/> + domain="[('type_tax_use','=','sale'), ('active', '=', True)]" required="1" /> + <field name="select_shipping_option"/> + <field name="carrier_id" required="1" domain="[]" /> + <field name="delivery_service_type" readonly="1" /> + <field name="shipping_option_id" /> </field> <field name="medium_id" position="after"> <field name="date_doc_kirim" readonly="1"/> <field name="notification" readonly="1"/> </field> + <xpath expr="//page[@name='other_information']/group/group[@name='sale_reporting']" position="after"> + <group string="ETA"> + <field name="et_products"/> + <field name="eta_date_reserved"/> + <field name="expected_ready_to_ship"/> + <field name="eta_date_start"/> + <field name="eta_date" readonly="1"/> + <!-- <field name="has_refund" readonly="1"/> --> + </group> + <group string="Return Doc"> + <field name="ccm_id" readonly="1"/> + </group> + </xpath> <xpath expr="//form/sheet/notebook/page/field[@name='order_line']" position="attributes"> <attribute name="attrs"> @@ -208,6 +247,11 @@ <label for="item_percent_margin"/> <field name="item_percent_margin"/> </div> + <div name="item_percent_margin_before" groups="base.group_no_one" + attrs="{'invisible': [('display_type', '!=', False)]}"> + <label for="item_percent_margin_before"/> + <field name="item_percent_margin_before"/> + </div> </div> <div name="invoice_lines" position="before"> <div name="price_subtotal" groups="base.group_no_one" @@ -239,6 +283,7 @@ attrs="{'readonly': [('parent.approval_status', '!=', False)]}" domain="[('type_tax_use','=','purchase')]" options="{'no_create':True}"/> <field name="item_percent_margin"/> + <field name="item_percent_margin_before"/> <field name="item_margin" optional="hide"/> <field name="margin_md" optional="hide"/> <field name="note" optional="hide"/> @@ -296,10 +341,14 @@ <field name="picking_iu_id"/> <field name="note_ekspedisi"/> </field> + <field name="select_shipping_option" position="attributes"> + <attribute name="attrs"> + {'readonly': [('state', 'in', ['cancel', 'done'])]} + </attribute> + </field> <field name="carrier_id" position="attributes"> <attribute name="attrs"> - {'readonly': [('approval_status', '=', 'approved'), ('state', 'not in', - ['cancel', 'draft'])]} + {'readonly': [('state', 'in', ['cancel', 'done'])]} </attribute> </field> <field name="payment_term_id" position="attributes"> @@ -403,7 +452,7 @@ <field name="state" position="after"> <field name="approval_status"/> <field name="client_order_ref"/> - <field name="notes"/> + <field name="notes" optional="hide"/> <field name="payment_type" optional="hide"/> <field name="payment_status" optional="hide"/> <field name="pareto_status" optional="hide"/> @@ -428,6 +477,7 @@ <field name="payment_type" optional="hide"/> <field name="payment_status" optional="hide"/> <field name="pareto_status" optional="hide"/> + <field name="notes" optional="hide"/> </field> </field> </record> @@ -611,6 +661,16 @@ </record> </data> + <!-- <data> + <record id="sale_order_multi_create_refund_ir_actions_server" model="ir.actions.server"> + <field name="name">Refund</field> + <field name="model_id" ref="sale.model_sale_order"/> + <field name="binding_model_id" ref="sale.model_sale_order"/> + <field name="state">code</field> + <field name="code">action = records.open_form_multi_create_refund()</field> + </record> + </data> --> + <data> <record id="mail_template_sale_order_notification_to_salesperson" model="mail.template"> <field name="name">Sale Order: Notification to Salesperson</field> diff --git a/indoteknik_custom/views/sale_order_delay.xml b/indoteknik_custom/views/sale_order_delay.xml new file mode 100644 index 00000000..b2aad8eb --- /dev/null +++ b/indoteknik_custom/views/sale_order_delay.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <record id="view_sale_order_delay_tree" model="ir.ui.view"> + <field name="name">sale.order.delay.tree</field> + <field name="model">sale.order.delay</field> + <field name="arch" type="xml"> + <tree> + <field name="so_number" /> + <field name="days_delayed" /> + <field name="status" /> + </tree> + </field> + </record> + + <record id="sale_order_delay_action" model="ir.actions.act_window"> + <field name="name">Sale Order Delay</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">sale.order.delay</field> + <field name="view_mode">tree,form</field> + </record> + + <record id="view_sale_order_delay_form" model="ir.ui.view"> + <field name="name">sale.order.delay.form</field> + <field name="model">sale.order.delay</field> + <field name="arch" type="xml"> + <form> + <sheet> + <group> + <field name="so_number" /> + <field name="days_delayed" /> + <field name="status" /> + </group> + </sheet> + </form> + </field> + </record> + + <menuitem id="menu_sale_order_delay" + name="Sale Order Delay" + action="sale_order_delay_action" + parent="sale.product_menu_catalog" + sequence="8" + /> +</odoo>
\ No newline at end of file diff --git a/indoteknik_custom/views/stock_picking.xml b/indoteknik_custom/views/stock_picking.xml index ae77ab9a..f9200dfa 100644 --- a/indoteknik_custom/views/stock_picking.xml +++ b/indoteknik_custom/views/stock_picking.xml @@ -17,6 +17,7 @@ <field name="driver_arrival_date" optional="hide"/> <field name="note_logistic" optional="hide"/> <field name="note" optional="hide"/> + <field name="sj_return_date" optional="hide"/> <field name="date_reserved" optional="hide"/> <field name="state_reserve" optional="hide"/> <field name="state_packing" widget="badge" decoration-success="state_packing == 'packing_done'" decoration-danger="state_packing == 'not_packing'" optional="hide"/> @@ -49,11 +50,11 @@ type="object" attrs="{'invisible': ['|', ('state', 'in', ['done']), ('approval_receipt_status', '=', 'pengajuan1')]}" /> - <button name="ask_return_approval" - string="Ask Return/Acc" - type="object" - attrs="{'invisible': [('state', 'in', ['draft', 'cancel', 'assigned'])]}" - /> +<!-- <button name="ask_return_approval"--> +<!-- string="Ask Return/Acc"--> +<!-- type="object"--> +<!-- attrs="{'invisible': [('state', 'in', ['draft', 'cancel', 'assigned'])]}"--> +<!-- />--> <button name="action_create_invoice_from_mr" string="Create Bill" type="object" @@ -63,6 +64,12 @@ string="Biteship" type="object" /> + <!-- <button name="action_sync_biteship_tracking" + type="object" + string="Lacak dari Biteship" + class="btn-primary" + attrs="{'invisible': [('biteship_id', '=', False)]}" + /> --> <button name="track_envio_shipment" string="Tracking Envio" type="object" @@ -91,7 +98,9 @@ /> </button> <field name="backorder_id" position="after"> + <field name="select_shipping_option_so"/> <field name="shipping_method_so_id"/> + <field name="shipping_option_so_id"/> <field name="summary_qty_detail"/> <field name="count_line_detail"/> <field name="dokumen_tanda_terima"/> @@ -183,18 +192,33 @@ <field name="note_logistic"/> <field name="note_info"/> <field name="responsible" /> - <field name="carrier_id"/> + <field name="carrier_id" attrs="{'invisible': [('select_shipping_option_so', '=', 'biteship')]}" /> + <field name="biteship_id" invisible="1"/> <field name="out_code" attrs="{'invisible': [['out_code', '=', False]]}"/> <field name="picking_code" attrs="{'invisible': [['picking_code', '=', False]]}"/> <field name="picking_code" string="Picking code (akan digenerate ketika sudah di-validate)" attrs="{'invisible': [['picking_code', '!=', False]]}"/> <field name="driver_departure_date" attrs="{'readonly':[('invoice_status', '=', 'invoiced')]}"/> <field name="driver_arrival_date"/> - <field name="delivery_tracking_no"/> + <field name="delivery_tracking_no" attrs="{'invisible': [('select_shipping_option_so', '=', 'biteship')]}"/> <field name="driver_id"/> <field name='sj_return_date'/> <field name="sj_documentation" widget="image" /> <field name="paket_documentation" widget="image" /> </group> + <!-- Biteship Group --> + <group attrs="{'invisible': [('select_shipping_option_so', '!=', 'biteship')]}"> + <field name="delivery_tracking_no" /> + <field name="shipping_method_so_id"/> + <field name="shipping_option_so_id"/> + <field name="biteship_shipping_price" readonly="1"/> + <field name="currency_id" invisible="1"/> + <field name="biteship_shipping_status" readonly="1"/> + <field name="biteship_driver_name" readonly="1"/> + <field name="biteship_driver_phone" readonly="1"/> + <field name="biteship_driver_plate_number" readonly="1"/> + <button name="action_open_biteship_tracking" string="Visit Biteship Tracking" type="object"/> + </group> + <group attrs="{'invisible': [('carrier_id', '!=', 151)]}"> <field name="envio_id" invisible="1"/> <field name="envio_code"/> diff --git a/indoteknik_custom/views/tukar_guling.xml b/indoteknik_custom/views/tukar_guling.xml new file mode 100644 index 00000000..a79f8b55 --- /dev/null +++ b/indoteknik_custom/views/tukar_guling.xml @@ -0,0 +1,128 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<odoo> + <data> + <!-- Action --> + <record id="action_pengajuan_tukar_guling" model="ir.actions.act_window"> + <field name="name">Pengajuan Return SO</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">tukar.guling</field> + <field name="view_mode">tree,form</field> + </record> + <!-- Menu --> + <menuitem + id="menu_pengajuan_tukar_guling" + name="Pengajuan Return SO" + parent="sale.sale_order_menu" + sequence="7" + action="action_pengajuan_tukar_guling" + /> + <!-- Tree View --> + <record id="pengajuan_tukar_guling_tree" model="ir.ui.view"> + <field name="name">pengajuan.tukar.guling.tree</field> + <field name="model">tukar.guling</field> + <field name="arch" type="xml"> + <tree create="1" delete="1" default_order="create_date desc"> + <field name="name"/> + <field name="date"/> + <field name="origin" string="SO Number"/> + <field name="operations" string="Operations"/> + <field name="return_type" string="Return Type"/> + <field name="state" widget="badge" + decoration-info="state in ('draft', 'approval_sales', 'approval_finance','approval_logistic')" + decoration-success="state == 'done'" + decoration-muted="state == 'cancel'" + /> + <field name="ba_num" string="Nomor BA"/> + <field name="date_logistic" string="Approved Date"/> + </tree> + </field> + </record> + <!-- Form View --> + <record id="pengajuan_tukar_guling_form" model="ir.ui.view"> + <field name="name">pengajuan.tukar.guling.form</field> + <field name="model">tukar.guling</field> + <field name="arch" type="xml"> + <form> + <header> + <button name="action_submit" string="Submit" type="object" + class="btn-primary" + attrs="{'invisible': [('state', '!=', 'draft')]}"/> + <button name="action_approve" string="Approve" type="object" + class="btn-primary" + attrs="{'invisible': [('state', 'not in', ['approval_sales', 'approval_finance', 'approval_logistic'])]}"/> + <button name="action_cancel" string="Cancel" type="object" + class="btn-secondary" + attrs="{'invisible': [('state', '=', 'cancel')]}"/> + <button name="action_draft" string="Set to Draft" type="object" + class="btn-secondary" + attrs="{'invisible': [('state', '!=', 'cancel')]}"/> + <field name="state" widget="statusbar" readonly="1" + statusbar_visible="draft,approval_sales,approval_logistic,approval_finance,done"/> + </header> + <sheet> + <div class="oe_button_box"> + <button name="action_view_picking" + type="object" + class="oe_stat_button" + icon="fa-truck" + attrs="{'invisible': [('picking_ids', '=', False), ('state', 'in', ['draft', 'approval_sales', 'approval_logistic', 'approval_finance'])]}"> + <field name="picking_ids" widget="statinfo" string="Delivery"/> + </button> + </div> + <div class="oe_title"> + <h1> + <field name="name" readonly="1" class="oe_inline"/> + </h1> + </div> + <group> + <group> + <field name="date" string="Date" readonly="1"/> + <field name="partner_id" readonly="1"/> + <field name="return_type" attrs="{'readonly': [('state', 'not in', 'draft')]}"/> + <field name="operations" + attrs="{'readonly': [('state', 'not in', 'draft')]}"/> + <field name="origin" readonly="1"/> + </group> + <group> + <field name="ba_num" string="Nomor BA"/> + <field name="notes"/> + <field name="date_sales" readonly="1"/> + <field name="date_finance" readonly="1"/> + <field name="date_logistic" readonly="1"/> + </group> + </group> + <notebook> + <page string="Product Lines" name="product_lines"> + <field name="line_ids"> + <tree string="Product Lines" editable="top" create="0" delete="1"> + <field name="sequence" widget="handle"/> + <field name="product_id" required="0" + options="{'no_create': True, 'no_create_edit': True}" readonly="0"/> + <field name="name" force_save="0" readonly="1"/> + <field name="product_uom_qty" string="Quantity"/> + <field name="product_uom" string="UoM" + options="{'no_create': True, 'no_create_edit': True}"/> + </tree> + </field> + </page> + <page string="Mapping Koli" name="mapping_koli"> + <field name="mapping_koli_ids"> + <tree editable="top" create="0" delete="1"> + <field name="pick_id" readonly="1" force_save="1"/> + <field name="product_id" readonly="1" force_save="1"/> + <field name="qty_done" force_save="1" readonly="1"/> + <field name="qty_return"/> + </tree> + </field> + </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> + </data> +</odoo>
\ No newline at end of file diff --git a/indoteknik_custom/views/tukar_guling_po.xml b/indoteknik_custom/views/tukar_guling_po.xml new file mode 100644 index 00000000..77feb05f --- /dev/null +++ b/indoteknik_custom/views/tukar_guling_po.xml @@ -0,0 +1,127 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<odoo> + <data> + <!-- Action --> + <record id="action_pengajuan_tukar_guling_po" model="ir.actions.act_window"> + <field name="name">Pengajuan Return PO</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">tukar.guling.po</field> + <field name="view_mode">tree,form</field> + </record> + <!-- Menu --> + <menuitem + id="menu_pengajuan_tukar_guling_po" + name="Pengajuan Return PO" + parent="purchase.menu_procurement_management" + sequence="3" + action="action_pengajuan_tukar_guling_po" + /> + <!-- Tree View --> + <record id="pengajuan_tukar_guling_po_tree" model="ir.ui.view"> + <field name="name">pengajuan.tukar.guling.po.tree</field> + <field name="model">tukar.guling.po</field> + <field name="arch" type="xml"> + <tree create="1" delete="1" default_order="create_date desc"> + <field name="name"/> + <field name="date"/> + <field name="origin" string="PO Number"/> + <field name="operations" string="Operations"/> + <field name="return_type" string="Return Type"/> + <field name="ba_num" string="Nomor BA"/> + <field name="return_type" string="Return Type"/> + <field name="state" widget="badge" + decoration-info="state in ('draft', 'approval_purchase', 'approval_finance','approval_logistic')" + decoration-success="state == 'done'" + decoration-muted="state == 'cancel'" + /> + <field name="date_logistic" string="Approved Date"/> + </tree> + </field> + </record> + <!-- Form View --> + <record id="pengajuan_tukar_guling_po_form" model="ir.ui.view"> + <field name="name">pengajuan.tukar.guling.po.form</field> + <field name="model">tukar.guling.po</field> + <field name="arch" type="xml"> + <form> + <header> + <button name="action_submit" string="Submit" type="object" + class="btn-primary" + attrs="{'invisible': [('state', '!=', 'draft')]}"/> + <button name="action_approve" string="Approve" type="object" + class="btn-primary" + attrs="{'invisible': [('state', 'not in', ['approval_purchase', 'approval_finance', 'approval_logistic'])]}"/> + <button name="action_cancel" string="Cancel" type="object" + class="btn-secondary" + attrs="{'invisible': [('state', '=', 'cancel')]}" + confirm="Are you sure you want to cancel this record?"/> + <button name="action_draft" string="Set to Draft" type="object" + class="btn-secondary" + attrs="{'invisible': [('state', '!=', 'cancel')]}" + confirm="Are you sure you want to reset this record to draft?"/> + <field name="state" widget="statusbar" readonly="1" + statusbar_visible="draft,approval_purchase,approval_logistic,approval_finance,done"/> + </header> + <sheet> + <div class="oe_button_box"> + <button name="action_view_picking" + type="object" + class="oe_stat_button" + icon="fa-truck" + attrs="{'invisible': [('po_picking_ids', '=', False)]}"> + <field name="po_picking_ids" widget="statinfo" string="Delivery"/> + </button> + </div> + <div class="oe_title"> + <h1> + <field name="name" readonly="1" class="oe_inline"/> + </h1> + </div> + <group> + <group> + <field name="vendor_id" readonly="1"/> + <field name="date" string="Date" readonly="1"/> + <field name="return_type"/> + <!-- <field name="ort_num" readonly="1"/>--> + <!-- <field name="srt_num" readonly="1"/>--> + <field name="operations" string="Operations" + attrs="{ + 'required': [('return_type', 'in', ['revisi_po', 'tukar_guling'])] + }"/> + <field name="origin" readonly="1"/> + <!-- <field name="origin_so" readonly="1"/>--> + </group> + <group> + <field name="ba_num" string="Nomor BA"/> + <field name="notes"/> + <field name="date_purchase" readonly="1"/> + <field name="date_finance" readonly="1"/> + <field name="date_logistic" readonly="1"/> + </group> + </group> + <!-- Product Lines --> + <notebook> + <page string="Product Lines" name="product_lines" create="0" edit="0"> + <field name="line_ids" delete="1" readonly="1"> + <tree string="Product Lines"> + <field name="sequence" widget="handle"/> + <field name="product_id" required="1" + options="{'no_create': True, 'no_create_edit': True}"/> + <field name="name" force_save="1"/> + <field name="product_uom_qty" string="Quantity"/> + <field name="product_uom" string="UoM" + options="{'no_create': True, 'no_create_edit': True}"/> + </tree> + </field> + </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> + </data> +</odoo>
\ No newline at end of file diff --git a/indoteknik_custom/views/tukar_guling_return_views.xml b/indoteknik_custom/views/tukar_guling_return_views.xml new file mode 100644 index 00000000..9312005a --- /dev/null +++ b/indoteknik_custom/views/tukar_guling_return_views.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <!-- Inherit the return picking form view --> + <record id="view_stock_return_picking_form_inherit" model="ir.ui.view"> + <field name="name">stock.return.picking.form.inherit.tukar.guling</field> + <field name="model">stock.return.picking</field> + <field name="inherit_id" ref="stock.view_stock_return_picking_form"/> + <field name="priority" eval="20"/> <!-- Higher than stock_account --> + <field name="arch" type="xml"> + <!-- Add fields above the product moves table --> + <xpath expr="//field[@name='product_return_moves']" position="before"> + <div class="row mb-3"> + <div class="col-12"> + <field name="return_type" class="oe_inline"/> + </div> + </div> + </xpath> + </field> + </record> +</odoo>
\ No newline at end of file diff --git a/indoteknik_custom/views/user_pengajuan_tempo.xml b/indoteknik_custom/views/user_pengajuan_tempo.xml index 4eebe9e4..f9dca4ca 100644 --- a/indoteknik_custom/views/user_pengajuan_tempo.xml +++ b/indoteknik_custom/views/user_pengajuan_tempo.xml @@ -204,7 +204,7 @@ <field name="subject">Pengajuan Tempo Harus di Periksa!</field> <field name="email_from">"Indoteknik.com" <noreply@indoteknik.com></field> <field name="reply_to">sales@indoteknik.com</field> - <field name="email_to">vita@indoteknik.co.id</field> + <field name="email_to">putra@indoteknik.co.id,Darren@indoteknik.co.id</field> <!-- <field name="email_to">sapiabon768@gmail.com</field>--> <field name="body_html" type="html"> <table border="0" cellpadding="0" cellspacing="0" style="padding-top: 16px; background-color: #F1F1F1; font-family:Inter, Helvetica, Verdana, Arial,sans-serif; line-height: 24px; color: #454748; width: 100%; border-collapse:separate;"> diff --git a/indoteknik_custom/views/x_manufactures.xml b/indoteknik_custom/views/x_manufactures.xml index 01e90a1e..02061251 100755 --- a/indoteknik_custom/views/x_manufactures.xml +++ b/indoteknik_custom/views/x_manufactures.xml @@ -3,7 +3,7 @@ <record id="x_manufactures_action" model="ir.actions.act_window"> <field name="name">Manufacture</field> <field name="res_model">x_manufactures</field> - <field name="view_mode">tree,form</field> + <field name="view_mode">kanban,tree,form</field> <!-- Tambahkan kanban di sini --> <field name="help" type="html"> <p class="o_view_nocontent_smiling_face"> Add Manufactures! @@ -11,6 +11,44 @@ </field> </record> + <record id="x_manufactures_kanban" model="ir.ui.view"> + <field name="name">Manufactures Kanban</field> + <field name="model">x_manufactures</field> + <field name="arch" type="xml"> + <kanban default_group_by="x_manufacture_level"> + <field name="id"/> <!-- Tambahkan ini --> + <field name="x_name"/> + <field name="x_logo_manufacture"/> + <field name="x_manufacture_level"/> + <templates> + <t t-name="kanban-box"> + <div class="oe_kanban_global_click"> + <div class="o_kanban_image"> + <img t-if="record.x_logo_manufacture.raw_value" + t-att-src="kanban_image('x_manufactures', 'x_logo_manufacture', record.id.raw_value)" + alt="Logo" class="img-fluid" width="64" height="64"/> + <img t-else="" + src="/web/static/src/img/placeholder.png" + alt="No Logo" class="img-fluid" width="64" height="64"/> + </div> + <div class="o_kanban_details"> + <strong><field name="x_name"/></strong> + <div> + <span class="badge badge-secondary"> + <field name="x_manufacture_level"/> + </span> + </div> + <div t-if="record.x_short_desc.raw_value"> + <small><field name="x_short_desc"/></small> + </div> + </div> + </div> + </t> + </templates> + </kanban> + </field> + </record> + <record id="x_manufactures_tree" model="ir.ui.view"> <field name="name">Manufactures</field> <field name="model">x_manufactures</field> |
