diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
| commit | 3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch) | |
| tree | a44932296ef4a9b71d5f010906253d8c53727726 /addons/hr/views/res_users.xml | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/hr/views/res_users.xml')
| -rw-r--r-- | addons/hr/views/res_users.xml | 229 |
1 files changed, 229 insertions, 0 deletions
diff --git a/addons/hr/views/res_users.xml b/addons/hr/views/res_users.xml new file mode 100644 index 00000000..e31c0320 --- /dev/null +++ b/addons/hr/views/res_users.xml @@ -0,0 +1,229 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <data> + + <!-- Inherit the preference view to remove title, image and footer --> + <!-- This view is meant to be included in the employee profile view --> + <!-- It ensures that if the 'normal' Preferences view is changed, it's + also reflected in the employee's profile --> + <record id="res_users_view_form_simple_modif" model="ir.ui.view"> + <field name="name">res.users.preferences.form.simplified.inherit</field> + <field name="model">res.users</field> + <field name="inherit_id" ref="base.view_users_form_simple_modif"/> + <field name="mode">primary</field> + <field name="arch" type="xml"> + <footer position="replace"/> + <h1 position="replace"/> + <xpath expr="//field[@name='image_1920']" position="replace"/> + <xpath expr="//field[@name='company_id']" position="attributes"> + <attribute name="invisible">1</attribute> + </xpath> + </field> + </record> + + <record id="view_users_form_simple_modif_resource" model="ir.ui.view"> + <field name="name">res.users.preferences.form.resource</field> + <field name="model">res.users</field> + <field name="inherit_id" ref="base.view_users_form_simple_modif" /> + <field name="arch" type="xml"> + <field name="tz" position="attributes"> + <attribute name="required">1</attribute> + </field> + </field> + </record> + + <record id="res_users_view_form_profile" model="ir.ui.view"> + <field name="name">res.users.preferences.form.inherit</field> + <field name="model">res.users</field> + <field name="inherit_id" ref="res_users_view_form_simple_modif"/> + <field name="arch" type="xml"> + <form position="attributes"> + <attribute name="create">false</attribute> + <attribute name="js_class">hr_employee_profile_form</attribute> + </form> + <notebook position="replace"> + <field name="hr_presence_state" invisible="1"/> + <header> + </header> + <sheet>$0</sheet> + </notebook> + <notebook position="before"> + <div class="oe_button_box" name="button_box"> + <button + id="hr_presence_button" + class="oe_stat_button" + disabled="1" + invisible="context.get('from_my_profile', False)" + attrs="{'invisible': [('hr_presence_state', '=', 'absent')]}"> + <div role="img" class="fa fa-fw fa-circle text-success o_button_icon" attrs="{'invisible': [('hr_presence_state', '!=', 'present')]}" aria-label="Available" title="Available"/> + <div role="img" class="fa fa-fw fa-circle text-warning o_button_icon" attrs="{'invisible': [('hr_presence_state', '!=', 'to_define')]}" aria-label="Away" title="Away"/> + <div role="img" class="fa fa-fw fa-circle text-danger o_button_icon" attrs="{'invisible': [('hr_presence_state', '!=', 'absent')]}" aria-label="Not available" title="Not available"/> + + <div class="o_stat_info" attrs="{'invisible': [('hr_presence_state', '=', 'present')]}"> + <span class="o_stat_text"> + Not Connected + </span> + </div> + <div class="o_stat_info" attrs="{'invisible': [('hr_presence_state', '!=', 'present')]}"> + <span class="o_stat_value" attrs="{'invisible': [('last_activity_time', '=', False)]}"> + <field name="last_activity_time"/> + </span> + <span class="o_stat_value" attrs="{'invisible': [('last_activity_time', '!=', False)]}"> + <field name="last_activity"/> + </span> + <span class="o_stat_text">Connected Since</span> + </div> + </button> + </div> + <field name="image_1920" widget='image' class="oe_avatar" options='{"zoom": true, "preview_image":"image_128"}'/> + <div class="oe_title"> + <h1> + <field name="name" placeholder="Employee's Name" required="True" readonly="context.get('from_my_profile', False)"/> + </h1> + </div> + <div class="row"> + <h2 class="col-6"> + <field name="job_title" placeholder="Job Position" attrs="{'readonly': [('can_edit', '=', False)]}"/> + </h2> + </div> + <group> + <group> + <field name="can_edit" invisible="1"/> + <field name="mobile_phone" widget="phone" attrs="{'readonly': [('can_edit', '=', False)]}" options="{'enable_sms': false}"/> + <field name="work_phone" widget="phone" attrs="{'readonly': [('can_edit', '=', False)]}" options="{'enable_sms': false}"/> + </group> + <group> + <field name="work_email" widget="email" attrs="{'readonly': [('can_edit', '=', False)]}"/> + <field name="work_location" attrs="{'readonly': [('can_edit', '=', False)]}"/> + <field name="company_id" invisible="1"/> + </group> + <group> + <field name="employee_parent_id" attrs="{'readonly': [('can_edit', '=', False)]}"/> + <field name="coach_id" attrs="{'readonly': [('can_edit', '=', False)]}"/> + </group> + </group> + </notebook> + <notebook position="inside"> + <page name="public" string="Work Information"> + <div id="o_work_employee_container"> <!-- These two div are used to position org_chart --> + <div id="o_work_employee_main"> + <group string="Location"> + <field name="department_id" attrs="{'readonly': [('can_edit', '=', False)]}"/> + <field name="address_id" + context="{'show_address': 1}" + options='{"always_reload": True, "highlight_first_line": True}' + attrs="{'readonly': [('can_edit', '=', False)]}"/> + </group> + <group name="managers" string="Approvers" class="hide-group-if-empty"> + <!-- overridden in other modules --> + </group> + </div> + </div> + </page> + <page name="personal_information" string="Private Information"> + <group> + <group string="Contact Information"> + <field name="employee_ids" invisible="1"/> + <field name="address_home_id" + context="{ + 'show_address': 1, + 'default_employee_ids': employee_ids, + 'default_type': 'private', + 'form_view_ref': 'base.res_partner_view_form_private'}" + options='{"always_reload": True, "highlight_first_line": True}' + attrs="{'readonly': [('can_edit', '=', False)]}"/> + <field name="private_email" string="Email" attrs="{'readonly': [('can_edit', '=', False)], 'invisible': [('address_home_id', '=', False)]}"/> + <field name="employee_phone" string="Phone" class="o_force_ltr" attrs="{'readonly': [('can_edit', '=', False)], 'invisible': [('address_home_id', '=', False)]}" options="{'enable_sms': false}"/> + <field name="employee_bank_account_id" attrs="{'readonly': [('can_edit', '=', False)]}"/> + <field name="km_home_work" attrs="{'readonly': [('can_edit', '=', False)]}"/> + </group> + <group string="Citizenship"> + <field name="employee_country_id" options='{"no_open": True, "no_create": True}' attrs="{'readonly': [('can_edit', '=', False)]}"/> + <field name="identification_id" attrs="{'readonly': [('can_edit', '=', False)]}"/> + <field name="passport_id" attrs="{'readonly': [('can_edit', '=', False)]}"/> + <field name="gender" attrs="{'readonly': [('can_edit', '=', False)]}"/> + <field name="birthday" attrs="{'readonly': [('can_edit', '=', False)]}"/> + <field name="place_of_birth" attrs="{'readonly': [('can_edit', '=', False)]}"/> + <field name="country_of_birth" attrs="{'readonly': [('can_edit', '=', False)]}"/> + </group> + <group string="Marital Status"> + <field name="marital" attrs="{'readonly': [('can_edit', '=', False)]}"/> + <field name="spouse_complete_name" attrs="{'invisible': [('marital', 'not in', ['married', 'cohabitant'])], 'readonly': [('can_edit', '=', False)]}"/> + <field name="spouse_birthdate" attrs="{'invisible': [('marital', 'not in', ['married', 'cohabitant'])], 'readonly': [('can_edit', '=', False)]}"/> + </group> + <group string="Education"> + <field name="certificate" attrs="{'readonly': [('can_edit', '=', False)]}"/> + <field name="study_field" attrs="{'readonly': [('can_edit', '=', False)]}"/> + <field name="study_school" attrs="{'readonly': [('can_edit', '=', False)]}"/> + </group> + <group string="Dependant"> + <field name="children" attrs="{'readonly': [('can_edit', '=', False)]}"/> + </group> + <group string="Emergency"> + <field name="emergency_contact" attrs="{'readonly': [('can_edit', '=', False)]}"/> + <field name="emergency_phone" widget="phone" attrs="{'readonly': [('can_edit', '=', False)]}" options="{'enable_sms': false}"/> + </group> + <group string="Work Permit" name="work_permit"> + <field name="visa_no" attrs="{'readonly': [('can_edit', '=', False)]}"/> + <field name="permit_no" attrs="{'readonly': [('can_edit', '=', False)]}"/> + <field name="visa_expire" attrs="{'readonly': [('can_edit', '=', False)]}"/> + </group> + </group> + </page> + <page name="hr_settings" string="HR Settings"> + <group> + <group string='Status' name="active_group" invisible="1"></group> + <group string="Attendance" name="identification_group"> + <field name="pin" attrs="{'readonly': [('can_edit', '=', False)]}"/> + <field name="barcode" attrs="{'readonly': [('can_edit', '=', False)]}"/> + </group> + </group> + </page> + </notebook> + </field> + </record> + + <record id="res_users_action_my" model="ir.actions.act_window"> + <field name="name">Change my Preferences</field> + <field name="res_model">res.users</field> + <field name="view_mode">form</field> + <field name="context">{'from_my_profile': True}</field> + <field name="view_id" ref="hr.res_users_view_form_profile"/> + </record> + + <record id="hr_employee_action_from_user" model="ir.actions.act_window"> + <field name="name">Employees</field> + <field name="res_model">hr.employee</field> + <field name="view_mode">kanban,tree,form</field> + <field name="domain">[('user_id', '=', active_id)]</field> + </record> + + <record id="res_users_view_form" model="ir.ui.view"> + <field name="name">res.users.form.inherit</field> + <field name="model">res.users</field> + <field name="inherit_id" ref="base.view_users_form"/> + <field name="arch" type="xml"> + + <xpath expr="//header" position="inside"> + <field name="share" invisible="1"/> + <field name="employee_ids" invisible="1"/> + <field name="employee_id" invisible="1"/> + <button string="Create employee" + type="object" name="action_create_employee" + attrs="{'invisible': ['|', '|', ('id', '=', False), ('share', '=', True), ('employee_id', '!=', False)]}"/> + <!-- share is not correctly recomputed because it depends on fields of reified view => invisible before saving (id=False) --> + </xpath> + <xpath expr="//div[@name='button_box']" position="inside"> + <button name="%(hr_employee_action_from_user)d" + class="oe_stat_button" + icon="fa-users" + attrs="{'invisible': [('employee_count', '=', 0)]}" + context="{'active_test': False}" + type="action"> + <field name="employee_count" widget="statinfo" string="Employee(s)"/> + </button> + </xpath> + </field> + </record> + </data> +</odoo> |
