mirror of
https://github.com/bringout/oca-ocb-hr.git
synced 2026-04-22 01:12:05 +02:00
239 lines
14 KiB
XML
239 lines
14 KiB
XML
<?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 preferences view -->
|
|
<!-- It ensures that if the 'normal' Preferences view is changed, it's
|
|
also reflected in the employee's preferences -->
|
|
<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">
|
|
<form position="attributes">
|
|
<attribute name="string">Preferences</attribute>
|
|
</form>
|
|
</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 name="tz" position="after">
|
|
<field name="is_system" invisible="1"/>
|
|
</field>
|
|
<xpath expr="//button[@name='%(base.action_view_base_language_install)d']" position="attributes">
|
|
<attribute name="invisible">not is_system</attribute>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="res_users_view_form_preferences" 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="delete">false</attribute>
|
|
<attribute name="js_class">hr_user_preferences_form</attribute>
|
|
</form>
|
|
<xpath expr="//field[@name='name']" position="attributes">
|
|
<attribute name="placeholder">Employee's Name</attribute>
|
|
<attribute name="required">1</attribute>
|
|
</xpath>
|
|
<!-- Must be replaced by work_email when the user has an employee_id. -->
|
|
<xpath expr="//h5[@name='h5_email']" position="attributes">
|
|
<attribute name="invisible">1</attribute>
|
|
</xpath>
|
|
<!-- Must be replaced by work_phone when the user has an employee_id. -->
|
|
<xpath expr="//h5[@name='h5_phone']" position="attributes">
|
|
<attribute name="invisible">1</attribute>
|
|
</xpath>
|
|
<xpath expr="//div[hasclass('oe_title')]" position="inside">
|
|
<h5 class="d-flex align-items-baseline mb-0">
|
|
<i class="fa fa-envelope fa-fw me-1 text-primary" title="Work Email"/>
|
|
<field name="work_email" widget="email" placeholder="Work Email" string="Work Email" class="w-75"/>
|
|
</h5>
|
|
<h5 class="d-flex align-items-baseline mb-0">
|
|
<i class="fa fa-phone fa-fw me-1 text-primary" title="Work Phone"/>
|
|
<field name="work_phone" widget="phone" placeholder="Work Phone" string="Work Phone" class="w-75"/>
|
|
</h5>
|
|
<h5 class="d-flex align-items-baseline mb-0">
|
|
<i class="fa fa-mobile fa-fw me-1 text-primary" title="Work Mobile"/>
|
|
<field name="mobile_phone" widget="phone" placeholder="Work Mobile" string="Work Mobile" class="w-75"/>
|
|
</h5>
|
|
</xpath>
|
|
<xpath expr="//group[@name='other_preferences']" position="inside">
|
|
<field name="pin" string="Attendance PIN"/>
|
|
</xpath>
|
|
<xpath expr="//group[@name='other_calendar_preferences']" position="inside">
|
|
<field name="work_location_id" string="Main Work Location" options="{'no_create': True}"/>
|
|
</xpath>
|
|
<xpath expr="//page[@name='calendar']" position="after">
|
|
<page name="private_information" string="Private">
|
|
<group>
|
|
<group string="Private Information">
|
|
<field name="employee_ids" invisible="1"/>
|
|
<label for="private_street" string="Private Address"/>
|
|
<div class="o_address_format">
|
|
<field name="private_street" placeholder="Street..." class="o_address_street"/>
|
|
<field name="private_street2" placeholder="Street 2..." class="o_address_street"/>
|
|
<field name="private_city" placeholder="City" class="o_address_city"/>
|
|
<field name="private_state_id" class="o_address_state" placeholder="State" options="{'no_open': True, 'no_create': True}" context="{'default_country_id': private_country_id}"/>
|
|
<field name="private_zip" placeholder="ZIP" class="o_address_zip"/>
|
|
<field name="private_country_id" placeholder="Country" class="o_address_country" options='{"no_open": True, "no_create": True}'/>
|
|
</div>
|
|
<field name="private_email" string="Private Email"/>
|
|
<field name="private_phone" string="Private Phone" class="o_force_ltr"/>
|
|
</group>
|
|
<group string="Emergency Contact">
|
|
<field name="emergency_contact" string="Contact Name" placeholder="e.g. John Doe"/>
|
|
<field name="emergency_phone" string="Contact Phone" widget="phone"/>
|
|
</group>
|
|
</group>
|
|
</page>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_users_simple_form_inherit_hr" model="ir.ui.view">
|
|
<field name="name">view.users.simple.form.inherit.hr</field>
|
|
<field name="model">res.users</field>
|
|
<field name="inherit_id" ref="base.view_users_simple_form"/>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//sheet" position="inside">
|
|
<div class="oe_button_box" name="button_box">
|
|
<button name="action_open_employees"
|
|
class="oe_stat_button"
|
|
icon="fa-users"
|
|
invisible="employee_count == 0"
|
|
context="{'active_test': False}"
|
|
type="object">
|
|
<field name="employee_count" widget="statinfo" string="Employee"/>
|
|
</button>
|
|
</div>
|
|
</xpath>
|
|
<xpath expr="//group[@name='access_groups']" position="inside">
|
|
<field name="create_employee_id" force_save="1" invisible="1"/>
|
|
<field name="create_employee" force_save="1" string="Create Employee" invisible="1" groups="hr.group_hr_user"/>
|
|
<!-- It is required to stay create_employee field defined here to make it true because store value is false -->
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_users_simple_form" model="ir.ui.view">
|
|
<field name="name">view.users.simple.form.hr</field>
|
|
<field name="model">res.users</field>
|
|
<field name="inherit_id" ref="base.view_users_simple_form"/>
|
|
<field name="mode">primary</field>
|
|
<field name="arch" type="xml">
|
|
<sheet position="after">
|
|
<footer>
|
|
<button string="Save" special="save" class="btn btn-primary"/>
|
|
<button string="Cancel" special="cancel" class="btn btn-secondary"/>
|
|
</footer>
|
|
</sheet>
|
|
</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="target">new</field>
|
|
<field name="view_id" ref="hr.res_users_view_form_preferences"/>
|
|
</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"
|
|
invisible="not id or share or employee_id"
|
|
groups="hr.group_hr_user"/>
|
|
<!-- 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="action_open_employees"
|
|
class="oe_stat_button"
|
|
icon="fa-users"
|
|
invisible="employee_count == 0"
|
|
context="{'active_test': False}"
|
|
type="object">
|
|
<field name="employee_count" widget="statinfo" string="Employee"/>
|
|
</button>
|
|
<button name="action_related_contact"
|
|
class="oe_stat_button"
|
|
icon="fa-address-card-o"
|
|
type="object"
|
|
help="Related Contact">
|
|
<div class="o_stat_info">
|
|
<span class="o_stat_text">Contact</span>
|
|
</div>
|
|
</button>
|
|
</xpath>
|
|
<!--increase image size to accommodate the additional login field-->
|
|
<field name="image_1920" widget="contact_image" position="attributes">
|
|
<attribute name="invisible">employee_id and work_email != login</attribute>
|
|
</field>
|
|
<field name="image_1920" widget="contact_image" position="after">
|
|
<field name="image_1920" class="o_contact_image_large" invisible="not employee_id or work_email == login"
|
|
widget="contact_image" options="{'preview_image': 'avatar_128', 'img_class': 'rounded-4'}"/>
|
|
</field>
|
|
<!-- Must be replaced by work_email when the user has an employee_id. -->
|
|
<xpath expr="//h5[@name='h5_email']" position="attributes">
|
|
<attribute name="invisible">employee_id</attribute>
|
|
</xpath>
|
|
<!-- Must be replaced by work_phone when the user has an employee_id. -->
|
|
<xpath expr="//h5[@name='h5_phone']" position="attributes">
|
|
<attribute name="invisible">employee_id</attribute>
|
|
</xpath>
|
|
<xpath expr="//div[hasclass('oe_title')]" position="inside">
|
|
<h5 class="d-flex flex-wrap align-items-baseline mb-0" invisible="not employee_id">
|
|
<div class="w-100">
|
|
<i class="fa fa-fw fa-envelope me-1 text-primary" title="Login / Email" invisible="login != work_email"/>
|
|
<i class="fa fa-fw fa-key me-1 text-primary" title="Login" invisible="login == work_email"/>
|
|
<field name="login" placeholder="Login" class="w-75"/><br/>
|
|
</div>
|
|
|
|
<i class="fa fa-envelope fa-fw me-1 text-primary" title="Work Email" invisible="login == work_email"/>
|
|
<field name="email_domain_placeholder" invisible="1" />
|
|
<field name="work_email" widget="email" string="Work Email" class="w-75" options="{'placeholder_field': 'email_domain_placeholder'}" invisible="login == work_email"/>
|
|
</h5>
|
|
<h5 class="d-flex align-items-baseline mb-0" invisible="not employee_id">
|
|
<i class="fa fa-phone fa-fw me-1 text-primary" title="Work Phone"/>
|
|
<field name="work_phone" widget="phone" placeholder="Work Phone" string="Work Phone" class="w-75"/>
|
|
</h5>
|
|
<h5 class="d-flex align-items-baseline mb-0" invisible="not employee_id">
|
|
<i class="fa fa-mobile fa-fw me-1 text-primary" title="Work Mobile"/>
|
|
<field name="mobile_phone" widget="phone" placeholder="Work Mobile" string="Work Mobile" class="w-75"/>
|
|
</h5>
|
|
</xpath>
|
|
<xpath expr="//group[@name='other_preferences']" position="inside">
|
|
<field name="pin" string="Attendance PIN" invisible="not employee_id"/>
|
|
</xpath>
|
|
<xpath expr="//group[@name='other_calendar_preferences']" position="inside">
|
|
<field name="work_location_id" string="Main Work Location" invisible="not employee_id or share"/>
|
|
</xpath>
|
|
<xpath expr="//page[@name='calendar']" position="attributes">
|
|
<attribute name="groups">hr.group_hr_user</attribute>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
</data>
|
|
</odoo>
|