152 lines
8.1 KiB
XML
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>
|