Files
Odoo-Modules/fusion_plating/fusion_plating_compliance/views/fp_permit_views.xml
2026-04-16 20:53:53 -04:00

152 lines
8.1 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_fp_permit_list" model="ir.ui.view">
<field name="name">fp.permit.list</field>
<field name="model">fusion.plating.permit</field>
<field name="arch" type="xml">
<list string="Permits" decoration-warning="is_expiring_soon" decoration-danger="state == 'expired'">
<field name="name"/>
<field name="permit_type"/>
<field name="number"/>
<field name="facility_id"/>
<field name="regulator_id"/>
<field name="issue_date"/>
<field name="expiry_date"/>
<field name="days_until_expiry"/>
<field name="state" widget="badge"/>
<field name="is_expiring_soon" column_invisible="1"/>
</list>
</field>
</record>
<record id="view_fp_permit_form" model="ir.ui.view">
<field name="name">fp.permit.form</field>
<field name="model">fusion.plating.permit</field>
<field name="arch" type="xml">
<form string="Permit">
<header>
<button name="action_set_pending" string="Set Pending" type="object" invisible="state != 'draft'" class="oe_highlight"/>
<button name="action_activate" string="Activate" type="object" invisible="state not in ('draft', 'pending')" class="oe_highlight"/>
<button name="action_mark_expired" string="Mark Expired" type="object" invisible="state != 'active'"/>
<button name="action_revoke" string="Revoke" type="object" invisible="state in ('draft', 'revoked')"/>
<field name="state" widget="statusbar" statusbar_visible="draft,pending,active,expired"/>
</header>
<sheet>
<widget name="web_ribbon" title="Archived" bg_color="text-bg-danger" invisible="active"/>
<div class="oe_title">
<label for="name"/>
<h1><field name="name" placeholder="e.g. ECA #1234-ABCDEF"/></h1>
<div class="text-muted"><field name="number" placeholder="Permit Number"/></div>
</div>
<group>
<group>
<field name="permit_type"/>
<field name="facility_id"/>
<field name="regulator_id"/>
<field name="jurisdiction_id"/>
</group>
<group>
<field name="issue_date"/>
<field name="expiry_date"/>
<field name="renewal_reminder_days"/>
<field name="days_until_expiry" readonly="1"/>
<field name="active" widget="boolean_toggle"/>
</group>
</group>
<notebook>
<page string="Conditions">
<field name="condition_ids">
<list editable="bottom">
<field name="sequence" widget="handle"/>
<field name="name"/>
<field name="frequency"/>
<field name="next_due_date"/>
<field name="owner_id"/>
<field name="status" widget="badge"/>
</list>
<form>
<sheet>
<group>
<field name="name"/>
<field name="frequency"/>
<field name="next_due_date"/>
<field name="owner_id"/>
<field name="status"/>
</group>
<group string="Description"><field name="description" nolabel="1"/></group>
</sheet>
</form>
</field>
</page>
<page string="Attachments"><field name="attachment_ids" widget="many2many_binary"/></page>
<page string="Notes"><field name="notes"/></page>
</notebook>
</sheet>
<chatter/>
</form>
</field>
</record>
<record id="view_fp_permit_kanban" model="ir.ui.view">
<field name="name">fp.permit.kanban</field>
<field name="model">fusion.plating.permit</field>
<field name="arch" type="xml">
<kanban class="o_fp_permit_kanban" default_group_by="state">
<field name="id"/>
<field name="name"/>
<field name="number"/>
<field name="facility_id"/>
<field name="expiry_date"/>
<field name="days_until_expiry"/>
<field name="state"/>
<field name="is_expiring_soon"/>
<templates>
<t t-name="card">
<div class="o_fp_permit_card o_fp_card" t-att-data-state="record.state.raw_value">
<div class="d-flex align-items-start justify-content-between">
<div>
<strong class="o_fp_card_title"><field name="name"/></strong>
<div class="text-muted small"><field name="number"/></div>
</div>
<i class="fa fa-file-text-o text-muted" aria-hidden="true"/>
</div>
<div class="mt-2 small"><field name="facility_id"/></div>
<div class="mt-2 small">Expires: <field name="expiry_date"/></div>
<div t-if="record.is_expiring_soon.raw_value" class="o_fp_overdue_indicator mt-2">
Renewal due in <field name="days_until_expiry"/> days
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<record id="view_fp_permit_search" model="ir.ui.view">
<field name="name">fp.permit.search</field>
<field name="model">fusion.plating.permit</field>
<field name="arch" type="xml">
<search string="Permits">
<field name="name"/>
<field name="number"/>
<field name="facility_id"/>
<field name="regulator_id"/>
<filter string="Active" name="active" domain="[('state', '=', 'active')]"/>
<filter string="Pending" name="pending" domain="[('state', '=', 'pending')]"/>
<filter string="Expiring Soon" name="expiring" domain="[('is_expiring_soon', '=', True)]"/>
<filter string="Expired" name="expired" domain="[('state', '=', 'expired')]"/>
<filter string="Archived" name="inactive" domain="[('active', '=', False)]"/>
<group>
<filter string="Facility" name="group_facility" context="{'group_by': 'facility_id'}"/>
<filter string="Type" name="group_type" context="{'group_by': 'permit_type'}"/>
<filter string="Regulator" name="group_regulator" context="{'group_by': 'regulator_id'}"/>
<filter string="Status" name="group_state" context="{'group_by': 'state'}"/>
</group>
</search>
</field>
</record>
<record id="action_fp_permit" model="ir.actions.act_window">
<field name="name">Permits</field>
<field name="res_model">fusion.plating.permit</field>
<field name="view_mode">kanban,list,form</field>
<field name="search_view_id" ref="view_fp_permit_search"/>
</record>
</odoo>