56 lines
2.4 KiB
XML
56 lines
2.4 KiB
XML
<?xml version="1.0" encoding="utf-8" ?>
|
|
<!--
|
|
Copyright 2026 Criptomart
|
|
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
|
-->
|
|
<odoo>
|
|
<record id="hr_timesheet_sheet_unfreeze_wizard_form" model="ir.ui.view">
|
|
<field name="name">hr_timesheet.sheet.unfreeze.wizard.form</field>
|
|
<field name="model">hr_timesheet.sheet.unfreeze.wizard</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Unfreeze Pending Sheets">
|
|
<!--
|
|
The figures depend on sheet_ids, and the onchange flow that
|
|
builds the dialog only asks default_get() for the fields of
|
|
the view. Drop this field and the dialog reports zero.
|
|
-->
|
|
<field name="sheet_ids" invisible="1" />
|
|
<field name="summary_html" nolabel="1" readonly="1" />
|
|
<group attrs="{'invisible': [('sheet_count', '=', 0)]}">
|
|
<field name="sheet_count" />
|
|
<field name="timesheet_count" />
|
|
<field name="timesheet_hours" widget="float_time" />
|
|
</group>
|
|
<div
|
|
class="alert alert-warning"
|
|
role="alert"
|
|
attrs="{'invisible': [('sheet_count', '=', 0)]}"
|
|
>
|
|
This is a mass operation on historical data and it cannot be
|
|
undone: the reviewer of every approved sheet is cleared. Make
|
|
sure you have a recent backup before you continue.
|
|
</div>
|
|
<footer>
|
|
<button
|
|
name="action_unfreeze"
|
|
string="Unfreeze"
|
|
type="object"
|
|
class="btn-primary"
|
|
attrs="{'invisible': [('sheet_count', '=', 0)]}"
|
|
/>
|
|
<button string="Cancel" class="btn-secondary" special="cancel" />
|
|
</footer>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
<record
|
|
id="action_hr_timesheet_sheet_unfreeze_wizard"
|
|
model="ir.actions.act_window"
|
|
>
|
|
<field name="name">Unfreeze Pending Sheets</field>
|
|
<field name="res_model">hr_timesheet.sheet.unfreeze.wizard</field>
|
|
<field name="view_mode">form</field>
|
|
<field name="view_id" ref="hr_timesheet_sheet_unfreeze_wizard_form" />
|
|
<field name="target">new</field>
|
|
</record>
|
|
</odoo>
|