Garment_ERP/addons/garment_erp/views/bundle_views.xml
2026-09-21 16:43:23 +05:30

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 &amp; 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>