oca-technical/odoo-bringout-oca-hack-payroll/payroll/views/report_payslipdetails.xml
2025-08-29 15:43:03 +02:00

171 lines
8.6 KiB
XML

<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<template id="report_payslipdetails">
<t t-call="web.html_container">
<t t-foreach="docs" t-as="o">
<t t-call="web.internal_layout">
<div class="page">
<h2>Pay Slip</h2>
<p t-field="o.name" />
<table class="table table-sm table-bordered">
<tr>
<td>
<strong>Name</strong>
</td>
<td>
<span t-field="o.employee_id" />
</td>
<td>
<strong>Designation</strong>
</td>
<td>
<span t-field="o.employee_id.job_id" />
</td>
</tr>
<tr>
<td>
<strong>Address</strong>
</td>
<td colspan="3">
<div
t-field="o.employee_id.address_home_id"
t-options='{"widget": "contact", "fields": ["address", "name", "phone"], "no_marker": True, "phone_icons": True}'
/>
</td>
</tr>
<tr>
<td>
<strong>Email</strong>
</td>
<td>
<span t-field="o.employee_id.work_email" />
</td>
<td>
<strong>Identification No</strong>
</td>
<td>
<span t-field="o.employee_id.identification_id" />
</td>
</tr>
<tr>
<td>
<strong>Reference</strong>
</td>
<td>
<span t-field="o.number" />
</td>
<td>
<strong>Bank Account</strong>
</td>
<td>
<span t-field="o.employee_id.bank_account_id" />
</td>
</tr>
<tr>
<td>
<strong>Date From</strong>
</td>
<td>
<span t-field="o.date_from" />
</td>
<td>
<strong>Date To</strong>
</td>
<td>
<span t-field="o.date_to" />
</td>
</tr>
</table>
<h3>Details by Salary Rule Category</h3>
<table class="table table-sm mb32">
<thead>
<tr>
<th>Code</th>
<th>Salary Rule Category</th>
<th>Total</th>
</tr>
</thead>
<tbody>
<tr
t-foreach="get_details_by_rule_category.get(o.id, [])"
t-as="h"
>
<t t-if="h['level']>0">
<t t-set="style" t-value="'font-size:small;padding-left:15px;'" />
<t t-set="tstyle" t-value="'background-color:white;'" />
</t>
<t t-if="h['level']==0">
<t t-set="style" t-value="'font-weight:bold;'" />
<t t-set="tstyle" t-value="'background-color:lightgray;'" />
</t>
<td t-att-style="tstyle">
<span t-att-style="style" t-esc="h['code']" />
</td>
<td t-att-style="tstyle">
<span t-att-style="style" t-esc="'..'*h['level']" />
<span t-att-style="style" t-esc="h['rule_category']" />
</td>
<td class="text-end" t-att-style="tstyle">
<span
t-att-style="style"
t-esc="round(h['total'],2)"
t-esc-options='{"widget": "monetary", "display_currency": o.company_id.currency_id}'
/>
</td>
</tr>
</tbody>
</table>
<h3>Payslip Lines by Contribution Register</h3>
<table class="table table-sm mt32">
<thead>
<tr>
<th>Code</th>
<th>Name</th>
<th>Quantity/rate</th>
<th>Amount</th>
<th>Total</th>
</tr>
</thead>
<tbody>
<tr
t-foreach="get_lines_by_contribution_register.get(o.id, [])"
t-as="p"
>
<t t-if="(p.get('name',''))[0:3]=='==='">
<t t-set="style" t-value="'background-color:lightgray;'" />
</t>
<t t-if="(p.get('name',''))[0:3]!='==='">
<t t-set="style" t-value="'background-color:white;'" />
</t>
<td t-att-style="style">
<span t-esc="p.get('code', '')" />
</td>
<td t-att-style="style">
<span t-esc="p.get('name', '')" />
</td>
<td class="text-end" t-att-style="style">
<span t-esc="show_rate_or_quantity(p.get('rate', 0), p.get('quantity', 0))" />
</td>
<td class="text-end" t-att-style="style">
<span t-esc="p.get('amount',0) if p.get('amount',0) != 0 else ''" />
</td>
<td class="text-end" t-att-style="style">
<span
t-esc="p.get('total', 0)"
t-esc-options='{"widget": "monetary", "display_currency": o.company_id.currency_id}'
/>
</td>
</tr>
</tbody>
</table>
<p class="text-end">
<strong>Authorized signature</strong>
</p>
</div>
</t>
</t>
</t>
</template>
</odoo>