166 lines
8.4 KiB
XML
166 lines
8.4 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
|
|
<!-- Bundle Kanban View -->
|
|
<record id="view_garment_bundle_kanban" model="ir.ui.view">
|
|
<field name="name">garment.bundle.kanban</field>
|
|
<field name="model">garment.bundle</field>
|
|
<field name="arch" type="xml">
|
|
<kanban default_group_by="stage" sample="1">
|
|
<field name="id"/>
|
|
<field name="name"/>
|
|
<field name="barcode"/>
|
|
<field name="style_id"/>
|
|
<field name="color_id"/>
|
|
<field name="size_id"/>
|
|
<field name="quantity"/>
|
|
<field name="stage"/>
|
|
<field name="current_line_id"/>
|
|
<templates>
|
|
<t t-name="card">
|
|
<div class="p-2">
|
|
<div class="d-flex justify-content-between align-items-center mb-1">
|
|
<span class="fw-bold text-primary"><field name="name"/></span>
|
|
<span class="badge bg-dark"><field name="quantity"/> Pcs</span>
|
|
</div>
|
|
<div class="fw-semibold text-dark"><field name="style_id"/></div>
|
|
<div class="small text-muted mb-2">
|
|
<field name="color_id"/> · Size: <span class="badge bg-secondary"><field name="size_id"/></span>
|
|
</div>
|
|
<div class="small text-info" t-if="record.current_line_id.raw_value">
|
|
<i class="fa fa-cogs"/> <field name="current_line_id"/>
|
|
</div>
|
|
</div>
|
|
</t>
|
|
</templates>
|
|
</kanban>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Bundle List View -->
|
|
<record id="view_garment_bundle_list" model="ir.ui.view">
|
|
<field name="name">garment.bundle.list</field>
|
|
<field name="model">garment.bundle</field>
|
|
<field name="arch" type="xml">
|
|
<list string="Production Bundles" sample="1"
|
|
decoration-info="stage == 'cutting'"
|
|
decoration-warning="stage == 'sewing'"
|
|
decoration-primary="stage == 'jobwork'"
|
|
decoration-danger="stage == 'quality'"
|
|
decoration-success="stage in ['packing', 'completed']">
|
|
<field name="name"/>
|
|
<field name="barcode"/>
|
|
<field name="production_plan_id"/>
|
|
<field name="cutting_plan_id"/>
|
|
<field name="style_id"/>
|
|
<field name="color_id"/>
|
|
<field name="size_id"/>
|
|
<field name="quantity" sum="Total Pieces"/>
|
|
<field name="ply_start"/>
|
|
<field name="ply_end"/>
|
|
<field name="current_line_id"/>
|
|
<field name="stage" widget="badge"/>
|
|
<field name="status" widget="badge"/>
|
|
</list>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Bundle Form View -->
|
|
<record id="view_garment_bundle_form" model="ir.ui.view">
|
|
<field name="name">garment.bundle.form</field>
|
|
<field name="model">garment.bundle</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Production Bundle">
|
|
<header>
|
|
<button name="action_move_to_sewing" string="Move to Sewing" type="object" class="btn-primary" invisible="stage != 'cutting'"/>
|
|
<button name="action_move_to_jobwork" string="Send to Job Work" type="object" class="btn-secondary" invisible="stage != 'sewing'"/>
|
|
<button name="action_move_to_quality" string="Send to Quality Audit" type="object" class="btn-warning" invisible="stage not in ['sewing', 'jobwork']"/>
|
|
<button name="action_move_to_packing" string="Quality Passed -> Packing" type="object" class="btn-success" invisible="stage != 'quality'"/>
|
|
<button name="action_complete_packing" string="Mark Packed into Carton" type="object" class="btn-success" invisible="stage != 'packing'"/>
|
|
<field name="stage" widget="statusbar"/>
|
|
</header>
|
|
<sheet>
|
|
<div class="oe_title">
|
|
<label for="name" string="Bundle Identifier"/>
|
|
<h1><field name="name"/></h1>
|
|
<h3>Barcode: <field name="barcode" class="text-primary"/></h3>
|
|
</div>
|
|
<group>
|
|
<group string="Bundle Content">
|
|
<field name="style_id"/>
|
|
<field name="color_id"/>
|
|
<field name="size_id"/>
|
|
<field name="quantity" class="fw-bold fs-4 text-success"/>
|
|
<label for="ply_start" string="Ply Serial Range"/>
|
|
<div class="o_row">
|
|
Ply <field name="ply_start"/> to <field name="ply_end"/>
|
|
</div>
|
|
</group>
|
|
<group string="Location & Work Center">
|
|
<field name="production_plan_id"/>
|
|
<field name="cutting_plan_id"/>
|
|
<field name="current_line_id"/>
|
|
<field name="current_operator_id"/>
|
|
<field name="status" widget="badge"/>
|
|
</group>
|
|
</group>
|
|
<notebook>
|
|
<page string="Bundle Traveler History (Audit Trail)" name="history_page">
|
|
<field name="history_ids" readonly="1">
|
|
<list>
|
|
<field name="timestamp"/>
|
|
<field name="stage"/>
|
|
<field name="user_id"/>
|
|
<field name="sewing_line_id"/>
|
|
<field name="quantity"/>
|
|
<field name="remarks"/>
|
|
</list>
|
|
</field>
|
|
</page>
|
|
</notebook>
|
|
</sheet>
|
|
<chatter/>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Search View -->
|
|
<record id="view_garment_bundle_search" model="ir.ui.view">
|
|
<field name="name">garment.bundle.search</field>
|
|
<field name="model">garment.bundle</field>
|
|
<field name="arch" type="xml">
|
|
<search string="Search Bundles">
|
|
<field name="name"/>
|
|
<field name="barcode"/>
|
|
<field name="style_id"/>
|
|
<field name="color_id"/>
|
|
<field name="size_id"/>
|
|
<field name="current_line_id"/>
|
|
<separator/>
|
|
<filter string="In Cutting" name="stage_cutting" domain="[('stage', '=', 'cutting')]"/>
|
|
<filter string="In Sewing" name="stage_sewing" domain="[('stage', '=', 'sewing')]"/>
|
|
<filter string="In Job Work" name="stage_jobwork" domain="[('stage', '=', 'jobwork')]"/>
|
|
<filter string="In Quality" name="stage_quality" domain="[('stage', '=', 'quality')]"/>
|
|
<filter string="In Packing" name="stage_packing" domain="[('stage', '=', 'packing')]"/>
|
|
<group>
|
|
<filter string="Production Stage" name="group_stage" context="{'group_by': 'stage'}"/>
|
|
<filter string="Sewing Line" name="group_line" context="{'group_by': 'current_line_id'}"/>
|
|
<filter string="Garment Style" name="group_style" context="{'group_by': 'style_id'}"/>
|
|
<filter string="Color" name="group_color" context="{'group_by': 'color_id'}"/>
|
|
<filter string="Size" name="group_size" context="{'group_by': 'size_id'}"/>
|
|
</group>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Action & Menu -->
|
|
<record id="action_garment_bundle" model="ir.actions.act_window">
|
|
<field name="name">Production Bundles</field>
|
|
<field name="res_model">garment.bundle</field>
|
|
<field name="view_mode">kanban,list,form</field>
|
|
</record>
|
|
|
|
<menuitem id="menu_garment_bundle" name="Production Bundles" parent="menu_garment_cutting_root" action="action_garment_bundle" sequence="20"/>
|
|
|
|
</odoo>
|