You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

200 lines
10 KiB

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- This XML defines a search view to search and filter disciplinary actions -->
<record id="disciplinary_action_search_view" model="ir.ui.view">
<field name="name">disciplinary.action.view.search</field>
<field name="model">disciplinary.action</field>
<field name="arch" type="xml">
<search string="Search information">
<field name="employee_id"/>
<field name="department_id"/>
<field name="joined_date"/>
<field name="discipline_reason_id"/>
<filter string="Draft" name="draft"
domain="[('state','=','draft')]"/>
<filter string="Waiting Explanation" name="explain"
domain="[('state','=','explain')]"/>
<filter string="Waiting Action" name="submitted"
domain="[('state','=','submitted')]"/>
<filter string="Action Validated" name="action"
domain="[('state','=','action')]"/>
<filter string="Cancel" name="cancel"
domain="[('state','=','cancel')]"/>
<separator/>
<group expand="1" string="Group By">
<filter string="State" name="state"
context="{'group_by': 'state'}"/>
<filter string="Department" name="department_id"
context="{'group_by':'department_id'}"/>
<filter string="Joined Date" name="joined_date"
context="{'group_by': 'joined_date'}"/>
</group>
</search>
</field>
</record>
<!-- This XML defines a list view to display disciplinary actions with fields-->
<record id="employee_disciplinary_view_tree" model="ir.ui.view">
<field name="name">disciplinary.action.view.list</field>
<field name="model">disciplinary.action</field>
<field name="arch" type="xml">
<list string="Disciplinary Action">
<field name="name"/>
<field name="employee_id" groups="hr.group_hr_manager"/>
<field name="state"/>
</list>
</field>
</record>
<!-- This XML defines a list view to display disciplinary actions with fields-->
<record id="disciplinary_action_view_form" model="ir.ui.view">
<field name="name">disciplinary.action.view.form</field>
<field name="model">disciplinary.action</field>
<field name="arch" type="xml">
<form string="Disciplinary Action">
<header>
<button name="assign_function" type="object"
string="Proceed" class="oe_highlight"
invisible="state != 'draft'"/>
<button name="explanation_function" type="object"
string="Submit" class="oe_highlight"
invisible="state !='explain'"/>
<button name="action_function" type="object"
string="Validate Action"
invisible="state!='submitted'"
class="oe_highlight"/>
<button name="cancel_function" type="object"
string="Cancel"
invisible="state not in ['draft','submitted']"
/>
<button name="set_to_function" type="object"
string="Set to Draft" invisible="state !='cancel'"/>
<field name="state" widget="statusbar"
statusbar_visible="draft,explain,action"/>
</header>
<sheet>
<div class="oe_title">
<h1>
<field name="name" readonly="1"/>
</h1>
</div>
<h2>
<group colspan="4">
<field name="employee_id" string="Employee"
required="True"
/>
</group>
</h2>
<group>
<group>
<field name="department_id" required="True"
/>
<field name="joined_date" string="Joined Date"/>
<field name="read_only" invisible="True"/>
<field name="warning" invisible="True"/>
</group>
</group>
<notebook>
<page name="Disciplinary Information"
string="Disciplinary Information">
<group colspan="4">
<group>
<field name="discipline_reason_id"
string="Reason" required="True"
readonly="read_only != True"
domain="[('category_type','=','disciplinary')]"/>
</group>
<group>
<field name="explanation"
invisible="state == 'draft'"
readonly="state == 'action'"
/>
</group>
<group>
<field name="attachment_ids"
widget="many2many_binary"
class="oe_inline"
invisible="state == 'draft'"
readonly="state == 'action'"/>
</group>
</group>
<group>
<field name="note"
readonly="state == 'action'"/>
</group>
<!-- <field name="action" invisible="1"/>-->
</page>
<page name="action_information"
invisible="state not in ['submitted','action']"
string="Action Information">
<group>
<field name="action_id" string="Action"
domain="[('category_type','=','action')]"
invisible="state not in ['submitted','action']"
readonly="state == 'action'"/>
</group>
<group>
<field name="action_details"
invisible="'action_id' == False"
readonly="state == 'action' and 'read_only' != True "/>
</group>
</page>
</notebook>
</sheet>
<chatter/>
</form>
</field>
</record>
<!-- Action for disciplinary action model.-->
<record id="disciplinary_action_action" model="ir.actions.act_window">
<field name="name">Disciplinary Action</field>
<field name="res_model">disciplinary.action</field>
<field name="view_mode">list,form</field>
<field name="domain">
[('state','in',('draft','explain','submitted','action','cancel'))]
</field>
</record>
<!-- Action for disciplinary action model by specifying the domain.-->
<record id="disciplinary_action_details" model="ir.actions.act_window">
<field name="name">Disciplinary Actions</field>
<field name="res_model">disciplinary.action</field>
<field name="view_mode">list,form</field>
<field name="domain">[('state','=','action'),('employee_id.id',
'=', active_id)]
</field>
</record>
<!-- Action for disciplinary action model by specifying actions in draft state.-->
<record id="disciplinary_action_details_view"
model="ir.actions.act_window">
<field name="name">Disciplinary Action Details</field>
<field name="res_model">disciplinary.action</field>
<field name="view_mode">list,form</field>
<field name="domain">[('state','!=','draft')]</field>
</record>
<!-- Button in Employee form view to access disciplinary actions for the employee -->
<record id="view_employee_form" model="ir.ui.view">
<field name="name">inherit.employee.form.view</field>
<field name="model">hr.employee</field>
<field name="inherit_id" ref="hr.view_employee_form"/>
<field name="arch" type="xml">
<!--Add Discipline button in the Employee Form-->
<xpath expr="//div[@name='button_box']" position="inside">
<button name="%(disciplinary_action_details)d"
class="oe_stat_button"
icon="fa-info-circle"
type="action"
>
<field string="Disciplinary Action"
name="discipline_count" widget="statinfo"/>
</button>
</xpath>
</field>
</record>
<!-- Menu item for accessing disciplinary actions in the HR module -->
<menuitem id="disciplinary_action" name="Disciplinary Actions"
parent="hr.menu_hr_root"
sequence="23"/>
<!-- Menu item to create new disciplinary actions -->l
<menuitem id="disciplinary_action_create"
action="disciplinary_action_action" groups="hr.group_hr_user"
name="Disciplinary Action" parent="disciplinary_action"
sequence="1"/>
</odoo>