summaryrefslogtreecommitdiff
path: root/indoteknik_custom/views
diff options
context:
space:
mode:
authorMiqdad <ahmadmiqdad27@gmail.com>2025-09-15 13:40:46 +0700
committerMiqdad <ahmadmiqdad27@gmail.com>2025-09-15 13:40:46 +0700
commit2f835b71aaad9d2d6fef1fafcb600bf50b034f2b (patch)
tree1e4463e3b4fd8f86231625253152bc2a8d7ea215 /indoteknik_custom/views
parenta47bdc61945b8ab153d80590f06975210f8d2a80 (diff)
parentcf64a8c5913308c3121a55b1b4cd1acf17c86d73 (diff)
Merge branch 'odoo-backup' of https://bitbucket.org/altafixco/indoteknik-addons into cbd-apt
merge
Diffstat (limited to 'indoteknik_custom/views')
-rw-r--r--indoteknik_custom/views/account_move.xml7
-rw-r--r--indoteknik_custom/views/approval_payment_term.xml2
-rw-r--r--indoteknik_custom/views/dunning_run.xml7
-rw-r--r--indoteknik_custom/views/ir_sequence.xml2
-rw-r--r--indoteknik_custom/views/refund_sale_order.xml309
-rw-r--r--indoteknik_custom/views/res_partner.xml13
-rwxr-xr-xindoteknik_custom/views/sale_order.xml31
-rw-r--r--indoteknik_custom/views/stock_move_line.xml9
-rw-r--r--indoteknik_custom/views/stock_picking.xml105
9 files changed, 417 insertions, 68 deletions
diff --git a/indoteknik_custom/views/account_move.xml b/indoteknik_custom/views/account_move.xml
index b399d4c9..c88effd5 100644
--- a/indoteknik_custom/views/account_move.xml
+++ b/indoteknik_custom/views/account_move.xml
@@ -38,9 +38,10 @@
<!-- <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 name="sale_id" readonly="1" attrs="{'invisible': ['|', ('move_type', '!=', 'entry'), ('has_refund_so', '=', True)]}"/>
+ <field name="refund_id" readonly="1" attrs="{'invisible': ['|', ('move_type', '!=', 'entry'), ('has_refund_so', '=', False)]}"/>
+ <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}"/>
diff --git a/indoteknik_custom/views/approval_payment_term.xml b/indoteknik_custom/views/approval_payment_term.xml
index 5c130f3f..b0b99689 100644
--- a/indoteknik_custom/views/approval_payment_term.xml
+++ b/indoteknik_custom/views/approval_payment_term.xml
@@ -7,7 +7,7 @@
<tree default_order="create_date desc">
<field name="number"/>
<field name="partner_id"/>
- <field name="parent_id"/>
+ <field name="parent_id" optional="hide"/>
<field name="property_payment_term_id"/>
<field name="create_date" optional="hide"/>
<field name="approve_date" optional="hide"/>
diff --git a/indoteknik_custom/views/dunning_run.xml b/indoteknik_custom/views/dunning_run.xml
index 210f7917..51377f78 100644
--- a/indoteknik_custom/views/dunning_run.xml
+++ b/indoteknik_custom/views/dunning_run.xml
@@ -13,7 +13,7 @@
<field name="resi_tukar_faktur"/>
<field name="date_terima_tukar_faktur"/>
<field name="shipper_faktur_id"/>
- <field name="grand_total"/>
+ <field name="grand_total" sum="Grand Total"/>
<field name="create_uid" optional="hide"/>
</tree>
</field>
@@ -25,13 +25,14 @@
<field name="arch" type="xml">
<tree>
<field name="partner_id"/>
+ <field name="reference"/>
<field name="invoice_id"/>
<field name="date_invoice"/>
- <field name="efaktur_id"/>
- <field name="reference"/>
+ <field name="efaktur_id" optional="hide"/>
<field name="total_amt" sum="Grand Total Amount"/>
<field name="open_amt"/>
<field name="due_date"/>
+ <field name="payment_term"/>
</tree>
</field>
</record>
diff --git a/indoteknik_custom/views/ir_sequence.xml b/indoteknik_custom/views/ir_sequence.xml
index 4915e4c5..94c2cd07 100644
--- a/indoteknik_custom/views/ir_sequence.xml
+++ b/indoteknik_custom/views/ir_sequence.xml
@@ -220,7 +220,7 @@
</record>
<record id="seq_refund_sale_order" model="ir.sequence">
- <field name="name">Refund Sale Order</field>
+ <field name="name">Refund Sales Order</field>
<field name="code">refund.sale.order</field>
<field name="prefix">RC/%(year)s/%(month)s/</field>
<field name="padding">4</field>
diff --git a/indoteknik_custom/views/refund_sale_order.xml b/indoteknik_custom/views/refund_sale_order.xml
new file mode 100644
index 00000000..0c6cd371
--- /dev/null
+++ b/indoteknik_custom/views/refund_sale_order.xml
@@ -0,0 +1,309 @@
+<?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="remaining_refundable" readonly="1" optional="hide"/>
+ <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', 'in', ['reject', 'refund'])]}" />
+ <button name="action_confirm_refund"
+ type="object"
+ string="Confirm Payment"
+ class="btn-primary"
+ attrs="{'invisible': ['|', ('status', 'not in', ['pengajuan3','refund']), ('status_payment', '!=', 'pending')]}"/>
+ <button name="action_create_journal_refund"
+ string="AP Only"
+ type="object"
+ class="oe_highlight"
+ attrs="{'invisible': ['|', ('journal_refund_state', 'in', ['posted', 'draft']), ('status', 'not in', ['pengajuan3','refund'])]}"/>
+ <button name="action_create_tukar_guling"
+ string="Create Return"
+ type="object"
+ class="oe_highlight"
+ attrs="{'invisible': [('refund_type', 'not in', ['retur_half', 'retur'])]}"/>
+
+ <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>
+ <xpath expr="//sheet" position="inside">
+ <field name="show_return_alert" invisible="1"/>
+ <div class="alert alert-danger" role="alert"
+ attrs="{'invisible': [('show_return_alert', '=', False)]}">
+ ⚠️ SO belum melakukan retur barang. Silakan buat pengajuan retur.
+ </div>
+ <field name="show_approval_alert" invisible="1"/>
+ <div class="alert alert-info" role="alert"
+ attrs="{'invisible': ['|', ('show_approval_alert', '=', False), ('status', 'in', ['reject', 'refund'])]}">
+ ⚠️ SO sudah melakukan retur barang. Silakan lanjutkan refund.
+ </div>
+ </xpath>
+ <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)]}">
+ <field name="journal_refund_move_id" string="Journal Refund" widget="statinfo"/>
+ </button>
+
+ <button name="action_open_tukar_guling"
+ type="object"
+ class="oe_stat_button"
+ icon="fa-refresh"
+ attrs="{'invisible': ['|', ('tukar_guling_count','=', 0), ('has_picking','=',True)]}">
+ <div class="o_stat_info">
+ <field name="tukar_guling_count" widget="statinfo"/>
+ <span class="o_stat_text">Pengajuan Return SO</span>
+ </div>
+ </button>
+
+ <button name="action_view_picking"
+ type="object"
+ class="oe_stat_button"
+ icon="fa-truck"
+ attrs="{'invisible': [('has_picking','=',False)]}">
+ <field name="picking_ids" widget="statinfo" string="Delivery"/>
+ </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)], 'invisible': [('refund_type', '=', 'salah_transfer')]}"/>
+ <field name="invoice_ids" widget="many2many_tags" readonly="1" attrs="{'invisible': [('refund_type', '=', 'salah_transfer')]}"/>
+ <field name="tukar_guling_count" invisible="1"/>
+ <field name="invoice_names" widget="html" readonly="1" attrs="{'invisible': [('refund_type', '=', 'salah_transfer')]}"/>
+ <field name="so_names" widget="html" readonly="1" attrs="{'invisible': [('refund_type', '=', 'salah_transfer')]}"/>
+ <field name="advance_move_names" widget="html" readonly="1" attrs="{'invisible': [('refund_type', '=', 'salah_transfer')]}"/>
+ <field name="transfer_move_id"
+ attrs="{'invisible': [('refund_type', '!=', 'salah_transfer')],
+ 'required': [('refund_type', '=', 'salah_transfer')]}"/>
+ <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': [('refund_type', '!=', 'salah_transfer')]}"/>
+ <field name="total_invoice" readonly="1" attrs="{'invisible': [('refund_type', '=', 'salah_transfer')]}"/>
+ <field name="ongkir" attrs="{'readonly': [('is_locked', '=', True)], 'invisible': [('refund_type', '=', 'salah_transfer')]}"/>
+ <field name="amount_refund" attrs="{'readonly': [('is_locked', '=', True)]}"/>
+ <field name="amount_refund_text" readonly="1"/>
+ <field name="sale_order_count" invisible="1"/>
+ <field name="has_picking" invisible="1"/>
+ <field name="tukar_guling_ids" invisible="1"/>
+ <field name="remaining_refundable" readonly="1" attrs="{'invisible': [('sale_order_count', '>', 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" create="0" delete="1">
+ <field name="from_name"/>
+ <field name="prod_id" invisible="1"/>
+ <field name="ref_id" invisible="1"/>
+ <field name="product_id"/>
+ <field name="quantity"/>
+ <field name="price_unit"/>
+ <field name="discount"/>
+ <field name="subtotal"/>
+ <field name="tax" widget="many2many_tags"/>
+ <field name="tax_amt" widget="monetary" options="{'currency_field': 'currency_id'}"/>
+ <field name="total" widget="monetary" options="{'currency_field': 'currency_id'}" sum="Grand Total"/>
+ <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)]}"/>
+ <field name="kcp" attrs="{'readonly': [('is_locked', '=', True)]}"/>
+ </group>
+ </group>
+ </page>
+
+ <page string="Finance Note">
+ <group col="2">
+ <group>
+ <field name="finance_note"/>
+ </group>
+ <group>
+ <field name="bukti_refund_type" reqiured="1"/>
+ <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="Sales Order Lines">
+ <field name="so_order_line_ids" nolabel="1" readonly="1">
+ <tree>
+ <field name="order_id"/>
+ <field name="product_id"/>
+ <field name="purchase_price"/>
+ <field name="product_uom_qty"/>
+ <field name="price_unit"/>
+ <field name="tax_id" widget="many2many_tags"/>
+ <field name="discount"/>
+ <field name="price_subtotal"/>
+ <field name="item_percent_margin"/>
+ <field name="item_percent_margin_before"/>
+ </tree>
+ </field>
+ <group class="oe_subtotal_footer oe_right" colspan="2" name="refund_total">
+ <field name="amount_untaxed" widget="monetary" options="{'currency_field': 'currency_id'}" readonly="1"/>
+ <field name="amount_tax" widget="monetary" options="{'currency_field': 'currency_id'}" readonly="1"/>
+ <div class="oe_subtotal_footer_separator oe_inline o_td_label">
+ <label for="amount_total"/>
+ </div>
+ <field name="amount_total" nolabel="1" class="oe_subtotal_footer_separator"
+ widget="monetary" options="{'currency_field': 'currency_id'}" readonly="1"/>
+ <field name="delivery_amt" widget="monetary" options="{'currency_field': 'currency_id'}" readonly="1"/>
+ <div class="oe_subtotal_footer_separator oe_inline o_td_label">
+ <label for="grand_total"/>
+ </div>
+ <field name="grand_total" nolabel="1" class="oe_subtotal_footer_separator"
+ widget="monetary" options="{'currency_field': 'currency_id'}" readonly="1"/>
+ <field name="total_margin" widget="monetary" options="{'currency_field': 'currency_id'}" readonly="1"/>
+ </group>
+ </page>
+
+ <page string="Cancel Reason" attrs="{'invisible': [('status', '=', 'refund')]}">
+ <group>
+ <field name="reason_reject"/>
+ </group>
+ </page>
+
+ <page string="Return Line" attrs="{'invisible': ['|', ('tukar_guling_count','=', 0), ('has_picking', '=', False)]}">
+ <group>
+ <field name="tukar_guling_ids" readonly="1" nolabel="1">
+ <tree>
+ <field name="name"/>
+ <field name="partner_id" string="Customer"/>
+ <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-warning="state == 'approved'"
+ decoration-success="state == 'done'"
+ decoration-muted="state == 'cancel'"
+ />
+ <field name="ba_num" string="Nomor BA"/>
+ <field name="date"/>
+ </tree>
+ </field>
+ </group>
+ </page>
+ </notebook>
+ </sheet>
+ <div class="oe_chatter">
+ <field name="message_follower_ids" widget="mail_followers"/>
+ <field name="message_ids" widget="mail_thread"/>
+ <field name="activity_ids" widget="mail_activity"/>
+ </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 ca1a36de..c32151d8 100644
--- a/indoteknik_custom/views/res_partner.xml
+++ b/indoteknik_custom/views/res_partner.xml
@@ -21,6 +21,7 @@
<field name="reference_number"/>
</field>
<field name="property_payment_term_id" position="after">
+ <field name="is_cbd_locked" readonly="1"/>
<field name="user_payment_terms_sales" readonly="1"/>
<field name="date_payment_terms_sales" readonly="1"/>
</field>
@@ -35,9 +36,9 @@
<field name="pareto_status"/>
<field name="digital_invoice_tax"/>
</field>
- <field name="nama_wajib_pajak" position="attributes">
+ <!-- <field name="nama_wajib_pajak" position="attributes">
<attribute name="required">1</attribute>
- </field>
+ </field> -->
<field name="kota_id" position="attributes">
<attribute name="required">0</attribute>
</field>
@@ -47,14 +48,14 @@
<field name="kelurahan_id" position="attributes">
<attribute name="required">0</attribute>
</field>
- <field name="npwp" position="attributes">
+ <!-- <field name="npwp" position="attributes">
<attribute name="required">1</attribute>
</field>
<field name="alamat_lengkap_text" position="attributes">
<attribute name="required">1</attribute>
- </field>
+ </field> -->
<field name="npwp" position="before">
- <field name="customer_type" required="1"/>
+ <field name="customer_type"/>
</field>
<field name="alamat_lengkap_text" position="after">
<field name="nitku" />
@@ -107,7 +108,7 @@
<field name="reminder_invoices"/>
</xpath>
<xpath expr="//field[@name='property_payment_term_id']" position="attributes">
- <attribute name="readonly">0</attribute>
+ <attribute name="readonly">1</attribute>
</xpath>
<xpath expr="//field[@name='property_supplier_payment_term_id']" position="attributes">
<attribute name="readonly">1</attribute>
diff --git a/indoteknik_custom/views/sale_order.xml b/indoteknik_custom/views/sale_order.xml
index a1a5e0cd..44da3e13 100755
--- a/indoteknik_custom/views/sale_order.xml
+++ b/indoteknik_custom/views/sale_order.xml
@@ -35,13 +35,21 @@
string="UangMuka"
type="action" attrs="{'invisible': [('approval_status', '!=', 'approved')]}"/>
</button>
- <!-- <xpath expr="//header" position="inside">
+ <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> -->
+ class="btn-primary" />
+ </xpath>
+ <xpath expr="//sheet" position="before">
+ <field name="partner_is_cbd_locked" invisible="1"/>
+ <div class="alert alert-danger"
+ role="alert"
+ style="height: 40px; margin-bottom:0px;"
+ attrs="{'invisible':['|', ('partner_is_cbd_locked','=',False), ('state', 'not in', ['draft', 'cancel'])]}">
+ <strong>Warning!</strong> Payment Terms Customer terkunci menjadi <b>Cash Before Delivery (C.B.D.)</b> karena ada invoice telah jatuh tempo <b>30 hari</b>. Silakan ajukan <b>Approval Payment Term</b> untuk membuka kunci.
+ </div>
+ </xpath>
<div class="oe_button_box" name="button_box">
<field name="advance_payment_move_ids" invisible="1"/>
<button name="action_open_advance_payment_moves"
@@ -52,13 +60,13 @@
<field name="advance_payment_move_count" widget="statinfo" string="Journals"/>
</button>
- <!-- <button type="object"
+ <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> -->
+ </button>
</div>
<field name="payment_term_id" position="after">
<field name="create_uid" invisible="1"/>
@@ -140,9 +148,9 @@
<field name="pareto_status"/>
</field>
<field name="analytic_account_id" position="after">
- <field name="customer_type" readonly="1"/>
- <field name="npwp" placeholder='99.999.999.9-999.999' readonly="1"/>
- <field name="sppkp" attrs="{'required': [('customer_type', '=', 'pkp')]}" readonly="1"/>
+ <field name="customer_type"/>
+ <field name="npwp" placeholder='99.999.999.9-999.999'/>
+ <field name="sppkp" attrs="{'required': [('customer_type', '=', 'pkp')]}"/>
<field name="email" required="1"/>
<field name="unreserve_id"/>
<field name="due_id" readonly="1"/>
@@ -177,7 +185,6 @@
<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"/>
@@ -674,7 +681,7 @@
</record>
</data>
- <!-- <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"/>
@@ -682,7 +689,7 @@
<field name="state">code</field>
<field name="code">action = records.open_form_multi_create_refund()</field>
</record>
- </data> -->
+ </data>
<data>
<record id="mail_template_sale_order_notification_to_salesperson" model="mail.template">
diff --git a/indoteknik_custom/views/stock_move_line.xml b/indoteknik_custom/views/stock_move_line.xml
index 757d2522..94c0bf53 100644
--- a/indoteknik_custom/views/stock_move_line.xml
+++ b/indoteknik_custom/views/stock_move_line.xml
@@ -3,18 +3,19 @@
<record id="stock_move_line_form_view_inherited" model="ir.ui.view">
<field name="name">Stock Move Line</field>
<field name="model">stock.move.line</field>
- <field name="inherit_id" ref="stock.view_move_line_form" />
+ <field name="inherit_id" ref="stock.view_move_line_form"/>
+ <field name="priority" eval="100"/>
<field name="arch" type="xml">
- <field name="qty_done" position="after">
+ <xpath expr="(//form//group[.//field[@name='qty_done']])[last()]" position="inside">
<field name="manufacture"/>
- </field>
+ </xpath>
</field>
</record>
<record id="stock_move_line_tree_view_inherited" model="ir.ui.view">
<field name="name">Stock Move Line</field>
<field name="model">stock.move.line</field>
- <field name="inherit_id" ref="stock.view_move_line_tree" />
+ <field name="inherit_id" ref="stock.view_move_line_tree"/>
<field name="arch" type="xml">
<field name="product_id" position="after">
<field name="manufacture"/>
diff --git a/indoteknik_custom/views/stock_picking.xml b/indoteknik_custom/views/stock_picking.xml
index b3f0ce9f..fc8be790 100644
--- a/indoteknik_custom/views/stock_picking.xml
+++ b/indoteknik_custom/views/stock_picking.xml
@@ -8,7 +8,7 @@
<field name="arch" type="xml">
<tree position="attributes">
<attribute name="default_order">final_seq asc</attribute>
- <!-- <attribute name="default_order">create_date desc</attribute> -->
+ <!-- <attribute name="default_order">create_date desc</attribute> -->
</tree>
<field name="json_popover" position="after">
<field name="date_done" optional="hide"/>
@@ -20,9 +20,11 @@
<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"/>
+ <field name="state_packing" widget="badge" decoration-success="state_packing == 'packing_done'"
+ decoration-danger="state_packing == 'not_packing'" optional="hide"/>
<field name="final_seq"/>
- <field name="state_approve_md" widget="badge" decoration-success="state_approve_md == 'done'" decoration-warning="state_approve_md == 'pending'" optional="hide"/>
+ <field name="state_approve_md" widget="badge" decoration-success="state_approve_md == 'done'"
+ decoration-warning="state_approve_md == 'pending'" optional="hide"/>
<!-- <field name="countdown_hours" optional="hide"/>
<field name="countdown_ready_to_ship" /> -->
</field>
@@ -50,11 +52,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"
@@ -64,12 +66,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="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"
@@ -97,6 +99,11 @@
attrs="{'invisible': [('state_approve_md', 'not in', ['waiting'])]}"
/>
</button>
+ <!-- <xpath expr="//field[@name='move_ids_without_package']//tree//field[@name='product_uom']"
+ position="after">
+ <field name="product_image" widget="image"
+ style="height:128px;width:128px;" readonly="1"/>
+ </xpath> -->
<field name="backorder_id" position="after">
<field name="select_shipping_option_so"/>
<field name="shipping_method_so_id"/>
@@ -105,7 +112,8 @@
<field name="count_line_detail"/>
<field name="dokumen_tanda_terima"/>
<field name="dokumen_pengiriman"/>
- <field name="quantity_koli" attrs="{'invisible': [('location_dest_id', '!=', 60)], 'required': [('location_dest_id', '=', 60)]}"/>
+ <field name="quantity_koli"
+ attrs="{'invisible': [('location_dest_id', '!=', 60)], 'required': [('location_dest_id', '=', 60)]}"/>
<field name="total_mapping_koli" attrs="{'invisible': [('location_id', '!=', 60)]}"/>
<field name="total_koli_display" readonly="1" attrs="{'invisible': [('location_id', '!=', 60)]}"/>
<field name="linked_out_picking_id" readonly="1" attrs="{'invisible': [('location_id', '=', 60)]}"/>
@@ -132,8 +140,13 @@
<field name="scheduled_date" position="attributes">
<attribute name="readonly">1</attribute>
</field>
+ <xpath expr="//field[@name='move_ids_without_package']/form/group/field[@name='description_picking']"
+ position="after">
+ <field name="product_image" widget="image" string="Product Image"/>
+ </xpath>
+
<field name="origin" position="after">
-<!-- <field name="show_state_approve_md" invisible="1" optional="hide"/>-->
+ <!-- <field name="show_state_approve_md" invisible="1" optional="hide"/>-->
<field name="state_approve_md" widget="badge"/>
<field name="purchase_id"/>
<field name="sale_order"/>
@@ -141,7 +154,8 @@
<field name="date_doc_kirim" attrs="{'readonly':[('invoice_status', '=', 'invoiced')]}"/>
<field name="summary_qty_operation"/>
<field name="count_line_operation"/>
- <field name="linked_manual_bu_out" attrs="{'invisible': [('location_id', '=', 60)]}" domain="[('picking_type_code', '=', 'outgoing'),('state', 'not in', ['done','cancel']), ('group_id', '=', group_id)]"/>
+ <field name="linked_manual_bu_out" attrs="{'invisible': [('location_id', '=', 60)]}"
+ domain="[('picking_type_code', '=', 'outgoing'),('state', 'not in', ['done','cancel']), ('group_id', '=', group_id)]"/>
<field name="account_id"
attrs="{
'readonly': [['state', 'in', ['done', 'cancel']]],
@@ -189,29 +203,35 @@
</group>
</group>
</page>
- <page string="Delivery" name="delivery_order" attrs="{'invisible': [('location_dest_id', '=', 60)]}">
+ <page string="Delivery" name="delivery_order"
+ attrs="{'invisible': [('location_dest_id', '=', 60)]}">
<group>
<group>
<field name="notee"/>
<field name="note_logistic"/>
<field name="note_info"/>
- <field name="responsible" />
- <field name="carrier_id" attrs="{'invisible': [('select_shipping_option_so', '=', 'biteship')]}" />
+ <field name="responsible"/>
+ <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="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" attrs="{'invisible': [('select_shipping_option_so', '=', 'biteship')]}"/>
+ <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" />
+ <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="delivery_tracking_no"/>
<field name="shipping_method_so_id"/>
<field name="shipping_option_so_id"/>
<field name="biteship_shipping_price" readonly="1"/>
@@ -220,7 +240,8 @@
<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"/>
+ <button name="action_open_biteship_tracking" string="Visit Biteship Tracking"
+ type="object"/>
</group>
<group attrs="{'invisible': [('carrier_id', '!=', 151)]}">
@@ -261,23 +282,27 @@
</group>
</group>
</page>
- <page string="Check Product" name="check_product" attrs="{'invisible': [('picking_type_code', '=', 'outgoing')]}">
+ <page string="Check Product" name="check_product"
+ attrs="{'invisible': [('picking_type_code', '=', 'outgoing')]}">
<field name="check_product_lines"/>
</page>
- <page string="Barcode Product" name="barcode_product" attrs="{'invisible': [('picking_type_code', '!=', 'incoming')]}">
+ <page string="Barcode Product" name="barcode_product"
+ attrs="{'invisible': [('picking_type_code', '!=', 'incoming')]}">
<field name="barcode_product_lines"/>
</page>
<page string="Check Koli" name="check_koli" attrs="{'invisible': [('location_dest_id', '!=', 60)]}">
<field name="check_koli_lines"/>
</page>
- <page string="Mapping Koli" name="konfirm_koli" attrs="{'invisible': [('picking_type_code', '!=', 'outgoing')]}">
+ <page string="Mapping Koli" name="konfirm_koli"
+ attrs="{'invisible': [('picking_type_code', '!=', 'outgoing')]}">
<field name="konfirm_koli_lines"/>
</page>
- <page string="Konfirm Koli" name="scan_koli" attrs="{'invisible': [('picking_type_code', '!=', 'outgoing')]}">
+ <page string="Konfirm Koli" name="scan_koli"
+ attrs="{'invisible': [('picking_type_code', '!=', 'outgoing')]}">
<field name="scan_koli_lines"/>
</page>
</page>
-
+
</field>
</record>
@@ -287,18 +312,20 @@
<field name="arch" type="xml">
<tree editable="bottom">
<field name="code_koli"/>
- <field name="koli_id" options="{'no_create': True}" domain="[('state', '=', 'not_delivered')]"/>
+ <field name="koli_id" options="{'no_create': True}" domain="[('state', '=', 'not_delivered')]"/>
<field name="scan_koli_progress"/>
</tree>
</field>
</record>
+
<record id="konfirm_koli_tree" model="ir.ui.view">
<field name="name">konfirm.koli.tree</field>
<field name="model">konfirm.koli</field>
<field name="arch" type="xml">
<tree editable="bottom">
- <field name="pick_id" options="{'no_create': True}" required="1" domain="[('picking_type_code', '=', 'internal'), ('group_id', '=', parent.group_id), ('linked_manual_bu_out', '=', parent.id)]"/>
+ <field name="pick_id" options="{'no_create': True}" required="1"
+ domain="[('picking_type_code', '=', 'internal'), ('group_id', '=', parent.group_id), ('linked_manual_bu_out', '=', parent.id)]"/>
</tree>
</field>
</record>
@@ -307,7 +334,7 @@
<field name="name">check.koli.tree</field>
<field name="model">check.koli</field>
<field name="arch" type="xml">
- <tree editable="bottom">
+ <tree editable="bottom">
<field name="koli"/>
<field name="reserved_id"/>
<field name="check_koli_progress"/>
@@ -344,12 +371,14 @@
<field name="model">stock.move.line</field>
<field name="inherit_id" ref="stock.view_stock_move_line_detailed_operation_tree"/>
<field name="arch" type="xml">
- <tree editable="bottom" decoration-muted="(state == 'done' and is_locked == True)" decoration-danger="qty_done&gt;product_uom_qty and state!='done' and parent.picking_type_code != 'incoming'" decoration-success="qty_done==product_uom_qty and state!='done' and not result_package_id">
+ <tree editable="bottom" decoration-muted="(state == 'done' and is_locked == True)"
+ decoration-danger="qty_done&gt;product_uom_qty and state!='done' and parent.picking_type_code != 'incoming'"
+ decoration-success="qty_done==product_uom_qty and state!='done' and not result_package_id">
<field name="note" placeholder="Add a note here"/>
</tree>
</field>
</record>
-
+
<record id="view_picking_internal_search_inherit" model="ir.ui.view">
<field name="name">stock.picking.internal.search.inherit</field>
@@ -382,7 +411,7 @@
</form>
</field>
</record>
-
+
<record id="action_warning_modal_wizard" model="ir.actions.act_window">
<field name="name">Peringatan Koli</field>
<field name="res_model">warning.modal.wizard</field>