133 lines
6.4 KiB
XML
133 lines
6.4 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<odoo>
|
|
<record id="internal_teams_list_view" model="ir.ui.view">
|
|
<field name="name">internal.teams.list.view</field>
|
|
<field name="model">internal.teams</field>
|
|
<field name="arch" type="xml">
|
|
<list>
|
|
<field name="complete_name"/>
|
|
<field name="team_lead"/>
|
|
<field name="all_members_ids" widget="many2many_tags"/>
|
|
</list>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="internal_teams_form_view" model="ir.ui.view">
|
|
<field name="name">internal.teams.form.view</field>
|
|
<field name="model">internal.teams</field>
|
|
<field name="arch" type="xml">
|
|
<form>
|
|
<sheet>
|
|
<group>
|
|
<field name="complete_name" invisible="1"/>
|
|
<field name="team_name"/>
|
|
<field name="team_lead"/>
|
|
<!-- ✅ added -->
|
|
<field name="parent_id"/>
|
|
</group>
|
|
|
|
<notebook>
|
|
<page name="team_members" string="Team">
|
|
<field name="members_ids" invisible="1"/>
|
|
<button name="add_internal_team_members" type="object" class="btn-primary" string="Update" style="margin-bottom: 10px;"/>
|
|
<field name="all_members_ids" widget="many2many">
|
|
<kanban quick_create="false" create="false" delete="true">
|
|
<field name="id"/>
|
|
<field name="name"/>
|
|
<templates>
|
|
<t t-name="kanban-box">
|
|
<div class="oe_kanban_global_click" style="max-width: 200px">
|
|
<div class="o_kanban_record_top">
|
|
<img t-att-src="kanban_image('res.users', 'image_1920', record.id.raw_value)"
|
|
height="40" width="40"
|
|
class="oe_avatar oe_kanban_avatar_smallbox mb0"
|
|
alt="Avatar"/>
|
|
<div class="o_kanban_record_headings ml8">
|
|
<strong class="o_kanban_record_title">
|
|
<field name="name"/>
|
|
</strong>
|
|
</div>
|
|
<a t-if="! read_only_mode" type="delete" class="text-danger">
|
|
<i class="fa fa-times" title="Delete"></i>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</t>
|
|
</templates>
|
|
</kanban>
|
|
</field>
|
|
</page>
|
|
|
|
<!-- ✅ added: Child Teams tab -->
|
|
<page name="child_teams" string="Child Teams">
|
|
<field name="child_ids">
|
|
<list editable="bottom">
|
|
<field name="team_name"/>
|
|
<field name="team_lead"/>
|
|
<field name="members_ids" widget="many2many_tags"/>
|
|
</list>
|
|
</field>
|
|
</page>
|
|
|
|
</notebook>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_internal_teams_search" model="ir.ui.view">
|
|
<field name="name">internal.teams.search</field>
|
|
<field name="model">internal.teams</field>
|
|
<field name="arch" type="xml">
|
|
<search string="Search Teams">
|
|
<field name="team_name" string="Team Name" filter_domain="[('team_name','ilike',self)]"/>
|
|
<field name="team_lead" string="Team Lead"/>
|
|
<field name="members_ids" string="Team Members"/>
|
|
<field name="parent_id" string="Parent Team"/>
|
|
<field name="complete_name" string="Full Path"/>
|
|
|
|
<filter string="Active Teams" name="active" domain="[('active','=',True)]"/>
|
|
<filter string="Inactive Teams" name="inactive" domain="[('active','=',False)]"/>
|
|
|
|
<filter string="Teams with Child Teams"
|
|
name="has_child_teams"
|
|
domain="[('child_ids','!=',False)]"/>
|
|
<filter string="Teams without Child Teams"
|
|
name="no_child_teams"
|
|
domain="[('child_ids','=',False)]"/>
|
|
|
|
<filter string="Root Teams (No Parent)"
|
|
name="root_teams"
|
|
domain="[('parent_id','=',False)]"/>
|
|
<filter string="Child Teams (Has Parent)"
|
|
name="child_teams"
|
|
domain="[('parent_id','!=',False)]"/>
|
|
|
|
<!-- Group By -->
|
|
<group expand="0" string="Group By">
|
|
<filter string="Parent Team"
|
|
name="group_by_parent"
|
|
context="{'group_by':'parent_id'}"/>
|
|
<filter string="Team Lead"
|
|
name="group_by_lead"
|
|
context="{'group_by':'team_lead'}"/>
|
|
<filter string="Active Status"
|
|
name="group_by_active"
|
|
context="{'group_by':'active'}"/>
|
|
</group>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="internal_teams_action_tree" model="ir.actions.act_window">
|
|
<field name="name">Internal Teams</field>
|
|
<field name="res_model">internal.teams</field>
|
|
<field name="binding_view_types">form</field>
|
|
<field name="view_mode">list,form</field>
|
|
</record>
|
|
|
|
<menuitem id="internal_teams_menu" name="Internal Teams"
|
|
action="internal_teams_action_tree"
|
|
parent="project.menu_project_config"/>
|
|
</odoo>
|