HR Timesheet Purchase Order

hr_timesheet_purchase_order
REPOSITORY
REPOSITORYOCA/timesheet
GIT
GIThttps://github.com/OCA/timesheet.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/timesheet/tree/14.0/hr_timesheet_purchase_order
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYHuman Resources
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Cetmix, Ooops
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Cetmix, Ooops
COMMITTERS
COMMITTERSGitHub, OCA Transbot, Weblate, OCA-git-bot, oca-ci, dessanhemrayev, i1
WEBSITE
WEBSITEhttps://github.com/OCA/timesheet
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:09
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/timesheet:
    - hr_timesheet_sheet
OCA/web:
    - web_widget_x2many_2d_matrix
odoo/odoo:
    - hr_timesheet
    - hr
    - base_setup
    - base
    - web
    - mail
    - bus
    - web_tour
    - resource
    - analytic
    - uom
    - project
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - rating
    - digest
    - sale_timesheet
    - sale_project
    - sale_management
    - sale
    - sales_team
    - payment
    - account
    - product
    - utm
    - purchase
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
hr_employee_view_form_inherit_timesheet hr.employee.form.view hr.employee xpath Inherits hr_timesheet.hr_employee_view_form_inherit_timesheet
hr_timesheet_sheet_form hr.timesheet.sheet.form.view hr_timesheet.sheet xpath Inherits hr_timesheet_sheet.hr_timesheet_sheet_form
purchase_order_form purchase.order.view.form purchase.order xpath Inherits purchase.purchase_order_form
res_config_settings_view_form res.config.settings.view.form res.config.settings xpath Inherits hr_timesheet_sheet.res_config_settings_view_form
view_partner_form res.partner.form res.partner xpath Inherits base.view_partner_form
Models touched (7)

New fields (2)
  • allow_generate_purchase_order Boolean
    string='Generate POs from Timesheet'
  • billing_partner_id Many2one → res.partner
    args: 'res.partner'
Public methods (0)

No public methods.

New fields (21)
  • fri Boolean
    string='Fri'
  • mon Boolean
    string='Mon'
  • next_recurrence_date Date
  • partner_ids One2many → res.partner
    args: 'res.partner', 'recurrence_id'
  • recurrence_left Integer
    string='Number of tasks left to create'
  • repeat_day Integer
  • repeat_interval Integer
    default=1 string='Repeat Every'
  • repeat_month Selection
    selection=MONTH_SELECTION
  • repeat_number Integer
    string='Repetitions'
  • repeat_on_month Selection
    selection=ON_MONTH_SELECTION
  • repeat_on_year Selection
    selection=ON_YEAR_SELECTION
  • repeat_type Selection
    default='forever' selection=TYPE_SELECTION string='Until'
  • repeat_unit Selection
    default='week' selection=UNIT_SELECTION
  • repeat_until Date
    string='End Date'
  • repeat_week Selection
    selection=WEEKS_SELECTION
  • repeat_weekday Selection
    readonly=False selection=WEEKDAY_SELECTION string='Day Of The Week'
  • sat Boolean
    string='Sat'
  • sun Boolean
    string='Sun'
  • thu Boolean
    string='Thu'
  • tue Boolean
    string='Tue'
  • wed Boolean
    string='Wed'
Public methods (2)
  • create(self, vals)
    @api.model
  • write(self, vals)

New fields (2)
  • allow_generate_purchase_order Boolean
    related='employee_id.allow_generate_purchase_order'
  • purchase_order_id Many2one → purchase.order
    readonly=True args: 'purchase.order'
Public methods (4)
  • action_confirm_purchase_order(self)
    Confirm purchase orders
  • action_create_purchase_order(self)
    Create Purchase Order
  • action_open_purchase_order(self)
    Return action to open related Purchase Order
  • action_timesheet_draft(self)

New fields (2)
  • timesheet_sheet_count Integer
    compute='_compute_timesheet_sheet_count'
  • timesheet_sheet_ids One2many → hr_timesheet.sheet
    string='Timesheet Sheets' args: 'hr_timesheet.sheet', 'purchase_order_id'
Public methods (1)
  • action_open_timesheet_sheet(self)
    Open related timesheet sheets

New fields (1)
  • timesheet_product_id Many2one → product.product
    string='Purchase Timesheet Product' args: 'product.product'
Public methods (0)

No public methods.

New fields (1)
  • timesheet_product_id Many2one → product.product
    readonly=False related='company_id.timesheet_product_id' string='Purchase Timesheet Product' args: 'product.product'
Public methods (0)

No public methods.

New fields (27)
  • employee_ids One2many → hr.employee
    comodel_name='hr.employee' inverse_name='billing_partner_id'
  • fri Boolean
    compute='_compute_repeat' readonly=False string='Fri'
  • is_auto_po_generate Boolean
    string='Automatic PO generation from timesheet sheets'
  • is_send_po Boolean
    string='Send RFQ by email after creation'
  • mon Boolean
    compute='_compute_repeat' readonly=False string='Mon'
  • next_recurrence_date Date
    related='recurrence_id.next_recurrence_date'
  • recurrence_id Many2one → hr.timesheet.recurrence
    copy=False args: 'hr.timesheet.recurrence'
  • repeat_day Integer
    compute='_compute_repeat' readonly=False
  • repeat_interval Integer
    compute='_compute_repeat' default=1 readonly=False string='Repeat Every'
  • repeat_month Selection
    compute='_compute_repeat' readonly=False selection=MONTH_SELECTION
  • repeat_number Integer
    compute='_compute_repeat' default=1 readonly=False string='Repetitions'
  • repeat_on_month Selection
    compute='_compute_repeat' default='date' readonly=False selection=ON_MONTH_SELECTION
  • repeat_on_year Selection
    compute='_compute_repeat' default='date' readonly=False selection=ON_YEAR_SELECTION
  • repeat_show_day Boolean
    compute='_compute_repeat_visibility'
  • repeat_show_dow Boolean
    compute='_compute_repeat_visibility'
  • repeat_show_month Boolean
    compute='_compute_repeat_visibility'
  • repeat_show_week Boolean
    compute='_compute_repeat_visibility'
  • repeat_type Selection
    compute='_compute_repeat' default='forever' readonly=False selection=TYPE_SELECTION string='Until'
  • repeat_unit Selection
    compute='_compute_repeat' default='week' readonly=False selection=UNIT_SELECTION
  • repeat_until Date
    compute='_compute_repeat' readonly=False string='End Date'
  • repeat_week Selection
    compute='_compute_repeat' default='first' readonly=False selection=WEEKS_SELECTION
  • repeat_weekday Selection
    compute='_compute_repeat' readonly=False selection=WEEKDAY_SELECTION string='Day Of The Week'
  • sat Boolean
    compute='_compute_repeat' readonly=False string='Sat'
  • sun Boolean
    compute='_compute_repeat' readonly=False string='Sun'
  • thu Boolean
    compute='_compute_repeat' readonly=False string='Thu'
  • tue Boolean
    compute='_compute_repeat' readonly=False string='Tue'
  • wed Boolean
    compute='_compute_repeat' readonly=False string='Wed'
Public methods (3)
  • create(self, vals)
    @api.model
  • default_get(self, default_fields)
    @api.model
  • write(self, vals)