410 lines
20 KiB
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 & 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>
|