odoo18/addons_extensions/hr_recruitment_extended/views/res_partner.xml

410 lines
20 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<data>
<record id="view_res_partner_filter_recruitment" model="ir.ui.view">
<field name="name">view.res.partner.filter.inherit.recruitment</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_res_partner_filter"/>
<field name="arch" type="xml">
<field name="category_id" position="before">
<field name="contact_type"/>
</field>
<filter name="salesperson" position="after">
<filter string="Client Type" name="contact_type" context="{'group_by': 'contact_type'}"/>
</filter>
<xpath expr="//search" position="inside">
<filter name="internal_contact" string="In-House Contact"
domain="[('contact_type', '=', 'internal')]"/>
<filter name="external_contact" string="Client-Side Contact"
domain="[('contact_type', '=', 'external')]"/>
</xpath>
</field>
</record>
<record id="view_partner_form_inherit_recruitment" model="ir.ui.view">
<field name="name">base.view.partner.form.inherit.recruitment</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='category_id']" position="after">
<field name="contact_type"/>
</xpath>
</field>
</record>
<record id="view_vendor_partner_form" model="ir.ui.view">
<field name="name">vendor.partner.form</field>
<field name="model">res.partner</field>
<field name="arch" type="xml">
<form string="Vendor">
<sheet>
<field name="image_1920"
widget="image"
class="oe_avatar"
options="{'preview_image': 'avatar_128'}"/>
<div class="oe_title">
<h1>
<field name="name" placeholder="Vendor Name"/>
</h1>
</div>
<group>
<group>
<field name="company_type" widget="radio"
options="{'horizontal': true}" force_save="1"/>
<field name="company_id" force_save="1"/>
<field name="email"/>
<field name="phone"/>
<field name="website" widget="url"/>
<field name="category_id"
widget="many2many_tags"
options="{'color_field':'color'}"/>
<field name="contact_type"
readonly="1"/>
</group>
<group>
<field name="street"/>
<field name="street2"/>
<field name="city"/>
<field name="state_id"/>
<field name="zip"/>
<field name="country_id"/>
<field name="vat"
string="GSTIN"/>
<field name="l10n_in_pan"
string="PAN"/>
</group>
</group>
<div class="row" invisible="contact_type != 'external'">
<div class="col-12">
<div class="card bg-secondary">
<div class="card-header bg-primary text-white" style="color: white;">
<h5 class="mb-0" style="color: white;"><i class="fa fa-chart-bar me-2"/>Recruitment Statistics</h5>
</div>
<div class="card-body" style="background-color: #f8f9fa;">
<div class="row">
<div class="col-md-3">
<div class="text-center p-3">
<div class="text-muted small">Positions Requested</div>
<div class="display-4 fw-bold text-primary">
<field name="total_positions_requested"/>
</div>
</div>
</div>
<div class="col-md-3">
<div class="text-center p-3">
<div class="text-muted small">Total Submitted</div>
<div class="display-4 fw-bold text-success">
<field name="total_submitted"/>
</div>
</div>
</div>
<div class="col-md-3">
<div class="text-center p-3">
<div class="text-muted small">Total Hired</div>
<div class="display-4 fw-bold text-info">
<field name="total_hired"/>
</div>
</div>
</div>
<div class="col-md-3">
<div class="text-center p-3">
<div class="text-muted small">Total Rejected</div>
<div class="display-4 fw-bold text-danger">
<field name="total_rejected"/>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="oe_button_box" invisible="contact_type != 'external'">
<button name="action_create_job_request" type="object" class="btn btn-primary">
<i class="fa fa-plus me-1"/>Create Job Request
</button>
</div>
<notebook>
<page string="Contacts &amp; Addresses">
<field name="child_ids"
context="{
'default_parent_id': id,
'default_type': 'contact'
}">
<kanban>
<field name="name"/>
<field name="email"/>
<field name="phone"/>
<templates>
<t t-name="card">
<div class="oe_kanban_global_click">
<strong>
<field name="name"/>
</strong>
<div>
<field name="email"/>
</div>
<div>
<field name="phone"/>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</page>
<page string="Job Requests" invisible="contact_type != 'external'">
<field name="id" invisible="1"/>
<field name="contact_type" invisible="1"/>
<field name="job_recruitment_ids" widget="many2many">
<list>
<field name="recruitment_sequence"/>
<field name="name"/>
<field name="no_of_recruitment"/>
<field name="no_of_submissions"/>
<field name="no_of_hired_employee"/>
<field name="no_of_refused_submissions"/>
<field name="recruitment_status"/>
</list>
</field>
</page>
</notebook>
</sheet>
<chatter/>
</form>
</field>
</record>
<record id="view_vendor_partner_list" model="ir.ui.view">
<field name="name">vendor.partner.list</field>
<field name="model">res.partner</field>
<field name="arch" type="xml">
<list string="Vendors">
<field name="name"/>
<field name="company_type"/>
<field name="phone"/>
<field name="email"/>
<field name="vat"/>
<field name="l10n_in_pan"/>
<field name="website"/>
<field name="contact_type"/>
</list>
</field>
</record>
<record id="view_vendor_partner_kanban" model="ir.ui.view">
<field name="name">vendor.partner.kanban</field>
<field name="model">res.partner</field>
<field name="arch" type="xml">
<kanban class="o_kanban_mobile">
<field name="image_128"/>
<field name="name"/>
<field name="phone"/>
<field name="email"/>
<field name="total_positions_requested"/>
<field name="total_submitted"/>
<field name="total_hired"/>
<field name="total_rejected"/>
<templates>
<t t-name="card">
<div class="oe_kanban_global_click">
<div class="o_kanban_card_header">
<div class="o_kanban_card_header_title">
<div class="me-2">
<field name="image_128"
widget="image"
class="rounded-circle oe_avatar"
style="width:64px; height:64px; min-width:64px; min-height:64px; object-fit:cover;"
options="{'size': [64, 64]}"/>
</div>
<div class="flex-grow-1">
<strong class="o_kanban_record_title">
<field name="name"/>
</strong>
<div t-if="record.email.raw_value" class="text-muted small">
<i class="fa fa-envelope me-1"/>
<field name="email"/>
</div>
<div t-if="record.phone.raw_value" class="text-muted small">
<i class="fa fa-phone me-1"/>
<field name="phone"/>
</div>
</div>
</div>
</div>
<div class="o_kanban_card_content">
<div class="row g-2 mb-2">
<div class="col-6">
<div class="card bg-light border-0" style="background-color: #f8f9fa;">
<div class="card-body p-2 text-center">
<div class="text-muted small mb-1" style="color: black;">Requested</div>
<div class="fw-bold text-primary fs-5">
<field name="total_positions_requested"/>
</div>
</div>
</div>
</div>
<div class="col-6">
<div class="card bg-light border-0" style="background-color: #f8f9fa;">
<div class="card-body p-2 text-center">
<div class="text-muted small mb-1" style="color: black;">Submitted</div>
<div class="fw-bold text-success fs-5">
<field name="total_submitted"/>
</div>
</div>
</div>
</div>
<div class="col-6">
<div class="card bg-light border-0" style="background-color: #f8f9fa;">
<div class="card-body p-2 text-center">
<div class="text-muted small mb-1" style="color: black;">Hired</div>
<div class="fw-bold text-info fs-5">
<field name="total_hired"/>
</div>
</div>
</div>
</div>
<div class="col-6">
<div class="card bg-light border-0" style="background-color: #f8f9fa;">
<div class="card-body p-2 text-center">
<div class="text-muted small mb-1" style="color: black;">Rejected</div>
<div class="fw-bold text-danger fs-5">
<field name="total_rejected"/>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="o_kanban_card_manage">
<button name="action_create_job_request" type="object" class="btn btn-primary btn-sm">
<i class="fa fa-plus me-1"/>Create Job Request
</button>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<record id="action_vendor_partner" model="ir.actions.act_window">
<field name="name">Vendors</field>
<field name="res_model">res.partner</field>
<field name="view_mode">kanban,list,form</field>
<field name="context">
{
'default_contact_type':'external',
'search_default_external':1
}
</field>
<field name="domain">[('contact_type','=','external')]</field>
</record>
<record id="action_vendor_partner_kanban" model="ir.actions.act_window.view">
<field name="sequence" eval="1"/>
<field name="view_mode">kanban</field>
<field name="view_id" ref="view_vendor_partner_kanban"/>
<field name="act_window_id" ref="action_vendor_partner"/>
</record>
<record id="action_vendor_partner_list" model="ir.actions.act_window.view">
<field name="sequence" eval="2"/>
<field name="view_mode">list</field>
<field name="view_id" ref="view_vendor_partner_list"/>
<field name="act_window_id" ref="action_vendor_partner"/>
</record>
<record id="action_vendor_partner_form" model="ir.actions.act_window.view">
<field name="sequence" eval="3"/>
<field name="view_mode">form</field>
<field name="view_id" ref="view_vendor_partner_form"/>
<field name="act_window_id" ref="action_vendor_partner"/>
</record>
<record id="action_contacts_recruitments" model="ir.actions.act_window">
<field name="name">Contacts</field>
<field name="path"></field>
<field name="res_model">res.partner</field>
<field name="view_mode">kanban,list,form,activity</field>
<field name="search_view_id" ref="base.view_res_partner_filter"/>
<field name="context">{'search_default_external_contact': True}</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Create a Contact in your address book
</p>
<p>
Odoo helps you track all activities related to your contacts.
</p>
</field>
</record>
<menuitem
id="menu_hr_recruitment_config_contacts"
name="Contacts"
parent="hr_recruitment.menu_hr_recruitment_configuration"
active="0"
sequence="10"/>
<menuitem
id="menu_hr_recruitment_stage"
name="Vendors"
parent="hr_recruitment.menu_hr_recruitment_root"
action="action_vendor_partner"
groups="base.group_user"
sequence="98"/>
</data>
</odoo>