Repository
OCA/hr · module folder · Try on Runboat
Module version
1.0.0
Category
Uncategorized
Folder size
0.07 MB
License
AGPL-3
Application
No
Auto-installable
Yes
Website
https://github.com/OCA/hr
Last tracking update
2026-08-07 08:43:00
Authors
Odoo Community Association (OCA), Creu Blanca
Maintainers
Odoo Community Association (OCA), Creu Blanca
Committers
OCA-git-bot, oca-ci, AlexGarS73
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
None
Description
This module integrates stock with hr_personal_equipment_request module.
When the equipment request is accepted, a stock request is generated and
a "stock.move" is created for each request line. If the "stock.move" is
marked as done, the corresponding allocations are marked as valid if the
quantity_delivered is equal to the requested quantity. In case a service
is added to the equipment request, it will skip the procurement method.
Instead, it has to be validated from the corresponding allocation. In
case a backorder is generated and cancelled afterwards, if qty_delivered
is not null, the allocation is marked as valid. If not, it is marked as
cancelled.

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
hr_personal_equipment_form_view hr.personal.equipment.form (in hr_personal_equipment_stock) hr.personal.equipment form Inherits hr_personal_equipment_request.hr_personal_equipment_form_view
hr_personal_equipment_request_form_view hr.personal.equipment.request.form (in hr_personal_equipment_stock) hr.personal.equipment.request form Inherits hr_personal_equipment_request.hr_personal_equipment_request_form_view
hr_personal_equipment_request_form_view_picking hr.personal.equipment.request.form (in hr_personal_equipment_stock) hr.personal.equipment.request form Inherits hr_personal_equipment_request.hr_personal_equipment_request_form_view
hr_personal_equipment_request_tree_view hr.personal.equipment.request.tree (in hr_personal_equipment_stock) hr.personal.equipment.request tree Inherits hr_personal_equipment_request.hr_personal_equipment_request_list_view
hr_personal_equipment_tree_view hr.personal.equipment.tree (in hr_personal_equipment_stock) hr.personal.equipment tree Inherits hr_personal_equipment_request.hr_personal_equipment_request_list_view
procurement_group_form_view procurement.group.form (in hr_personal_equipment_stock) procurement.group form Inherits stock.procurement_group_form_view
stock_location_form_view stock.location.form (in hr_personal_equipment_stock) stock.location form Inherits stock.view_location_form
stock_move_form_view stock.move.form (in hr_personal_equipment_stock) stock.move form Inherits stock.view_move_form
view_picking_form stock.picking.form(in hr_personal_equipment_stock) stock.picking form Inherits stock.view_picking_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (7)

New fields (5)
  • location_id Many2one
    related='equipment_request_id.location_id'
  • move_ids One2many → stock.move
    string='Stock Moves' args: 'stock.move', 'personal_equipment_id'
  • procurement_group_id Many2one → procurement.group
    help='Moves created through this stock request will be put in this procurement group. If none is given, the moves generated by procurement rules will be grouped into one big picking.' readonly=True related='equipment_request_id.procurement_group_id' args: 'procurement.group', 'Procurement Group'
  • qty_delivered Float
    compute='_compute_qty_delivered' compute_sudo=True copy=False store=True args: 'Delivered Quantity'
  • skip_procurement Boolean
    compute='_compute_skip_procurement'
Public methods (0)

No public methods.

New fields (4)
  • location_id Many2one → stock.location
    domain=[('is_personal_equipment_location', '=', True)] ondelete='cascade' required=True args: 'stock.location'
  • picking_count Integer
    compute='_compute_picking_count'
  • picking_ids One2many → stock.picking
    inverse_name='equipment_request_id' args: 'stock.picking'
  • procurement_group_id Many2one → procurement.group
    copy=False help='Moves created through this stock request will be put in this procurement group. If none is given, the moves generated by procurement rules will be grouped into one big picking.' args: 'procurement.group', 'Procurement Group'
Public methods (1)
  • action_view_pickings(self)

New fields (1)
  • equipment_request_id Many2one → hr.personal.equipment.request
    args: 'hr.personal.equipment.request'
Public methods (0)

No public methods.

New fields (1)
  • is_personal_equipment_location Boolean
    string='Is personal equipment location?'
Public methods (0)

No public methods.

New fields (1)
  • personal_equipment_id Many2one → hr.personal.equipment
    args: 'hr.personal.equipment', 'Employee Personal Equipment'
Public methods (0)

No public methods.

New fields (1)
  • equipment_request_id Many2one
    related='group_id.equipment_request_id' store=True
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

Loading…

Loading…

Loading…