summaryrefslogtreecommitdiff
path: root/indoteknik_custom/report/purchase_report.xml
diff options
context:
space:
mode:
authorHafidBuroiroh <hafidburoiroh09@gmail.com>2025-09-23 11:31:14 +0700
committerHafidBuroiroh <hafidburoiroh09@gmail.com>2025-09-23 11:31:14 +0700
commite1678372f8af653d30d49f38abe8ca3129e29a03 (patch)
tree2375aac399c56d917d0ed6d419b182fdaa50897e /indoteknik_custom/report/purchase_report.xml
parent6d50b35724592c4f8c302204adcfbc0f5db3727f (diff)
parentf58e6e2fa013789bfa8ac8456cd29735a83a56d0 (diff)
Merge branch 'odoo-backup' of https://bitbucket.org/altafixco/indoteknik-addons into refund_system
Diffstat (limited to 'indoteknik_custom/report/purchase_report.xml')
-rw-r--r--indoteknik_custom/report/purchase_report.xml216
1 files changed, 116 insertions, 100 deletions
diff --git a/indoteknik_custom/report/purchase_report.xml b/indoteknik_custom/report/purchase_report.xml
index 9d7f4028..9ff7e718 100644
--- a/indoteknik_custom/report/purchase_report.xml
+++ b/indoteknik_custom/report/purchase_report.xml
@@ -9,7 +9,7 @@
<field name="report_name">indoteknik_custom.report_purchaseorder_website</field>
<field name="report_file">indoteknik_custom.report_purchaseorder_website</field>
<field name="print_report_name">
- ('PO - %s - %s' % (object.partner_id.name, object.name))
+ ('%s - %s' % (object.name, object.partner_id.name))
</field>
<field name="binding_model_id" ref="purchase.model_purchase_order"/>
<field name="binding_type">report</field>
@@ -25,96 +25,114 @@
</t>
</template>
- <!-- Document Template -->
-<template id="report_purchaseorder_website_document">
- <t t-call="web.external_layout">
+ <template id="report_purchaseorder_website_document">
+ <t t-call="web.html_container">
<t t-set="doc" t-value="doc.with_context(lang=doc.partner_id.lang)" />
- <div class="page">
- <!-- Header Image -->
- <div class="mb16">
- <img src="https://erp.indoteknik.com/api/image/ir.attachment/datas/2498521"
- style="width:100%; max-height:100px; object-fit:contain;"/>
- </div>
+ <!-- HEADER -->
+ <div class="header">
+ <img src="https://erp.indoteknik.com/api/image/ir.attachment/datas/2498521"
+ style="width:100%; display:block;"/>
+ </div>
+
+ <!-- PAGE CONTENT -->
+ <div class="article" style="margin: 0 1.5cm 0 1.5cm; font-family:Arial, sans-serif; font-size:14px; color:#333;">
- <!-- Title -->
- <h2 class="text-center mb4" style="color:#d32f2f; font-weight:bold;">
+ <!-- TITLE -->
+ <h2 style="text-align:center; margin:8px 0 0 0; color:#d32f2f; font-weight:800; letter-spacing:1px;">
PURCHASE ORDER
</h2>
- <h4 class="text-center mb32">
+ <h4 style="text-align:center; margin:4px 0 20px 0; font-weight:normal; color:#555;">
No. <span t-field="doc.name"/>
</h4>
- <!-- Top Info sejajar -->
- <div class="row mb16" style="font-size:12px;">
- <div class="col-4">
- <strong>Term Of Payment:</strong>
- <span t-field="doc.payment_term_id.name"/>
- </div>
- <div class="col-4">
- <strong>Order Date:</strong>
- <span t-field="doc.date_order" t-options='{"widget": "date"}'/>
- </div>
- <div class="col-4">
- <strong>Responsible:</strong>
- <span t-field="doc.user_id"/>
- </div>
- </div>
+ <!-- TOP INFO -->
+ <table style="width:100%; margin-bottom:20px; border-radius:8px; box-shadow:0 1px 4px rgba(0,0,0,0.1); overflow:hidden; border:1px solid #ddd;">
+ <tr style="background:#fafafa;">
+ <td style="padding:10px 12px;"><strong>Term Of Payment:</strong> <span t-field="doc.payment_term_id.name"/></td>
+ <td style="padding:10px 12px;"><strong>Order Date:</strong> <span t-field="doc.date_order" t-options='{"widget": "date"}'/></td>
+ <td style="padding:10px 12px;"><strong>Responsible:</strong> <span t-field="doc.user_id"/></td>
+ </tr>
+ </table>
- <!-- Vendor & Shipping Info sejajar -->
- <div class="row mb32" style="font-size:12px;">
- <div class="col-6" style="border:1px solid #ccc; padding:8px;">
- <strong>Alamat Pengiriman:</strong><br/>
- PT Indoteknik (Bandengan 1 Depan)<br/>
- Jl. Bandengan Utara Komp A 8 B<br/>
- RT. Penjaringan, Kec. Penjaringan, Jakarta (BELAKANG INDOMARET)<br/>
- JK 14440<br/>
- Indonesia
- </div>
- <div class="col-6" style="border:1px solid #ccc; padding:8px;">
- <strong>Nama Vendor:</strong><br/>
- <div t-field="doc.partner_id"
- t-options='{"widget": "contact", "fields": ["address", "name", "phone"],
- "no_marker": True, "phone_icons": True}'/>
- </div>
- </div>
+ <!-- VENDOR & DELIVERY -->
+ <table style="width:100%; margin-bottom:24px; border-spacing:16px 0;">
+ <tr>
+ <td style="width:50%; border:1px solid #ccc; border-radius:8px; padding:10px; background:#fcfcfc; vertical-align:top;">
+ <strong style="color:#d32f2f;">Alamat Pengiriman</strong><br/>
+ PT. Indoteknik Dotcom Gemilang<br/>
+ Jl. Bandengan Utara Komp A 8 B
+ RT. Penjaringan, Kec. Penjaringan, Jakarta
+ (BELAKANG INDOMARET)<br/>
+ Daerah Khusus Ibukota Jakarta 14440
+ </td>
+ <td style="width:50%; border:1px solid #ccc; border-radius:8px; padding:10px; background:#fcfcfc; vertical-align:top;">
+ <strong style="color:#d32f2f;">Nama Vendor</strong><br/>
+ <span t-field="doc.partner_id.name"/><br/>
+ <span t-field="doc.partner_id.street"/><br/>
+ <span t-field="doc.partner_id.city"/> - <span t-field="doc.partner_id.zip"/>
+ </td>
+ </tr>
+ </table>
- <!-- Order Lines -->
- <table class="table table-sm o_main_table" style="font-size:11px; border:1px solid #000; border-collapse: collapse; width:100%;">
- <thead style="display: table-row-group; background:#f5f5f5;">
- <tr>
- <th style="border:1px solid #000; padding:4px;">Description</th>
- <th class="text-right" style="border:1px solid #000; padding:4px;">Quantity</th>
- <th class="text-right" style="border:1px solid #000; padding:4px;">Unit Price</th>
- <th class="text-right" style="border:1px solid #000; padding:4px;">Taxes</th>
- <th class="text-right" style="border:1px solid #000; padding:4px;">Subtotal</th>
- </tr>
- </thead>
+ <!-- ORDER LINES -->
+ <table style="border-collapse:collapse; width:100%; margin-top:16px; font-size:14px;">
<tbody>
- <t t-foreach="doc.order_line" t-as="line">
- <!-- Main row -->
- <tr>
- <td style="border:1px solid #000; padding:4px;">
- <span t-field="line.name"/>
+ <!-- HEADER -->
+ <tr style="background:#e53935; color:white;">
+ <th style="border:1px solid #ccc; padding:8px; text-align:left;">No. &amp; Description</th>
+ <th style="border:1px solid #ccc; padding:8px; text-align:left;">Image</th>
+ <th style="border:1px solid #ccc; padding:8px; text-align:center;">Quantity</th>
+ <th style="border:1px solid #ccc; padding:8px; text-align:center;">Unit Price</th>
+ <th style="border:1px solid #ccc; padding:8px; text-align:center;">Taxes</th>
+ <th style="border:1px solid #ccc; padding:8px; text-align:center;">Subtotal</th>
+ </tr>
+
+ <!-- ISI ORDER LINE -->
+ <t t-foreach="doc.order_line" t-as="line" t-index="line_index">
+ <tr t-attf-style="background-color: #{ '#fafafa' if line_index % 2 == 0 else 'white' };">
+
+ <!-- NO & DESCRIPTION + IMAGE -->
+ <td style="border:1px solid #ccc; padding: 6px; display:flex; align-items:center; gap:10px;">
+ <!-- TEKS -->
+ <div style="display:flex; flex-direction:column; flex:1;">
+ <span style="font-weight:bold; margin-bottom:2px;">
+ <t t-esc="line_index + 1"/>. <t t-esc="line.name"/>
+ </span>
+ </div>
</td>
- <td class="text-right" style="border:1px solid #000; padding:4px;">
- <span t-field="line.product_qty"/>
- <span t-field="line.product_uom"/>
+
+ <td style="border:1px solid #ccc; padding:6px; text-align:center;">
+ <t t-if="line.image_small">
+ <img t-att-src="image_data_uri(line.image_small)"
+ style="width:100px; height:100px; object-fit:contain; border:1px solid #ddd; border-radius:6px; background:#fff;"/>
+ </t>
+ </td>
+ <!-- QTY -->
+ <td style="border:1px solid #ccc; padding:6px; text-align:center;">
+ <span t-field="line.product_qty"/> <span t-field="line.product_uom"/>
</td>
- <td class="text-right" style="border:1px solid #000; padding:4px;">
+
+ <!-- UNIT PRICE -->
+ <td style="border:1px solid #ccc; padding:6px; text-align:center;">
<span t-field="line.price_unit"/>
</td>
- <td class="text-right" style="border:1px solid #000; padding:4px;">
+
+ <!-- TAXES -->
+ <td style="border:1px solid #ccc; padding:6px; text-align:center;">
<span t-esc="', '.join(map(lambda x: (x.description or x.name), line.taxes_id))"/>
</td>
- <td class="text-right" style="border:1px solid #000; padding:4px;">
+
+ <!-- SUBTOTAL -->
+ <td style="border:1px solid #ccc; padding:6px; text-align:right; font-weight:bold;">
<span t-field="line.price_subtotal"/>
</td>
</tr>
- <!-- Website Description row -->
- <t t-if="line.product_id.website_description">
- <tr>
- <td colspan="5" style="border:1px solid #000; padding:6px; font-size:10px; color:#555;">
+
+ <!-- WEBSITE DESCRIPTION -->
+ <t t-if="line.show_description">
+ <tr t-attf-style="background-color: #{ '#fef5f5' if line_index % 2 == 0 else '#fffafa' }; ">
+ <td colspan="6" style="padding: 10px 14px; font-size:10px; line-height:1.3; font-style:italic; color:#555; border-left:1px solid #ccc; border-right:1px solid #ccc; border-bottom:1px solid #ccc;">
<div t-raw="line.product_id.website_description"/>
</td>
</tr>
@@ -123,40 +141,38 @@
</tbody>
</table>
- <!-- Totals -->
- <div class="clearfix">
- <div class="row">
- <div class="col-4 ml-auto">
- <table class="table table-sm" style="border:1px solid #000; border-collapse: collapse; width:100%;">
- <tr>
- <td style="border:1px solid #000; padding:4px;"><strong>Subtotal</strong></td>
- <td class="text-right" style="border:1px solid #000; padding:4px;">
- <span t-field="doc.amount_untaxed"/>
- </td>
- </tr>
- <tr>
- <td style="border:1px solid #000; padding:4px;">Taxes</td>
- <td class="text-right" style="border:1px solid #000; padding:4px;">
- <span t-field="doc.amount_tax"/>
- </td>
- </tr>
- <tr class="o_total">
- <td style="border:1px solid #000; padding:4px;"><strong>Total</strong></td>
- <td class="text-right" style="border:1px solid #000; padding:4px;">
- <span t-field="doc.amount_total"/>
- </td>
- </tr>
- </table>
- </div>
- </div>
- </div>
- <!-- Notes -->
- <div class="mt32" style="font-size:11px;">
+ <!-- TOTALS -->
+ <table style="margin-top:24px; margin-left:auto; width:40%; font-size:14px; border:1px solid #ddd; border-radius:6px; box-shadow:0 1px 3px rgba(0,0,0,0.08);">
+ <tr style="background:#fafafa;">
+ <td style="padding:8px;"><strong>Subtotal</strong></td>
+ <td style="text-align:right; padding:8px;"><span t-field="doc.amount_untaxed"/></td>
+ </tr>
+ <tr>
+ <td style="padding:8px;">Taxes</td>
+ <td style="text-align:right; padding:8px;"><span t-field="doc.amount_tax"/></td>
+ </tr>
+ <tr style="background:#fbe9e7; font-weight:bold; color:#d32f2f;">
+ <td style="padding:8px;">Total</td>
+ <td style="text-align:right; padding:8px;"><span t-field="doc.amount_total"/></td>
+ </tr>
+ </table>
+
+ <!-- NOTES -->
+ <div style="margin-top:24px; padding:12px; border-top:1px solid #ddd; font-style:italic; color:#555;">
<p t-field="doc.notes"/>
</div>
</div>
+
+ <!-- STATIC FOOTER -->
+ <div class="footer">
+ <img src="https://erp.indoteknik.com/api/image/ir.attachment/datas/2859765"
+ style="width:100%; display:block;"/>
+ </div>
+
</t>
</template>
+
+
</odoo>