Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docsource/modules160-170.rst
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ Module coverage 16.0 -> 17.0
+---------------------------------------------------+----------------------+-------------------------------------------------+
| hr_skills_survey | | |
+---------------------------------------------------+----------------------+-------------------------------------------------+
| hr_timesheet | | |
| hr_timesheet | Done | |
+---------------------------------------------------+----------------------+-------------------------------------------------+
| hr_timesheet_attendance | | |
+---------------------------------------------------+----------------------+-------------------------------------------------+
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Copyright 2024 Viindoo Technology Joint Stock Company (Viindoo)
# Copyright 2025 Tecnativa - Pedro M. Baeza
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from openupgradelib import openupgrade


def _project_update_fill_timesheet(env):
"""Fill existing project updates with the theoretical information about the number
of allocated and spent hours. It may be different from the ones existing on the
moment the project update was done if later modifications changed them.
"""
uom_hour = env.ref("uom.product_uom_hour")
for update in env["project.update"].with_context(active_test=False).search([]):
project = update.project_id
group = env["account.analytic.line"]._read_group(
[("project_id", "=", project.id), ("date", "<=", update.date)],
[],
["unit_amount:sum"],
)[0]
update.write(
{
"uom_id": uom_hour.id,
"allocated_time": round(project.allocated_hours),
"timesheet_time": round(group[0]),
}
)


@openupgrade.migrate()
def migrate(env, version):
_project_update_fill_timesheet(env)
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---Models in module 'hr_timesheet'---
new model hr.employee.delete.wizard [transient]
# NOTHING TO DO

---Fields in module 'hr_timesheet'---
hr_timesheet / account.analytic.line / ancestor_task_id (many2one) : DEL relation: project.task
# NOTHING TO DO: Removed field

hr_timesheet / account.analytic.line / parent_task_id (many2one) : NEW relation: project.task, isrelated: related, stored
# NOTHING TO DO: ORM already fills it efficiently being a 2 level depth related field

hr_timesheet / project.project / timesheet_encode_uom_id (many2one): not related anymore
hr_timesheet / project.project / timesheet_encode_uom_id (many2one): now a function
# NOTHING TO DO: non stored field

hr_timesheet / project.update / allocated_time (integer) : NEW
hr_timesheet / project.update / timesheet_time (integer) : NEW
hr_timesheet / project.update / uom_id (many2one) : NEW relation: uom.uom
# DONE: post-migration: fill historical values with the aproximation of current data (there can be differences if in the moment of creating the update, the allocated hours or the timesheets were not the same as today)

---XML records in module 'hr_timesheet'---
DEL ir.actions.act_window.view: hr_timesheet.timesheet_action_view_from_employee_list
NEW ir.actions.server: hr_timesheet.unlink_employee_action
NEW ir.model.access: hr_timesheet.access_hr_employee_delete_wizard
DEL ir.model.access: hr_timesheet.access_project_task
NEW ir.ui.view: hr_timesheet.hr_employee_delete_wizard_form
NEW ir.ui.view: hr_timesheet.portal_my_task_allocated_hours_template
NEW ir.ui.view: hr_timesheet.project_update_view_kanban_inherit
NEW ir.ui.view: hr_timesheet.view_employee_tree_inherit_timesheet
DEL ir.ui.view: hr_timesheet.portal_my_task_planned_hours_template
DEL ir.ui.view: hr_timesheet.project_sharing_inherit_project_task_view_tree
DEL ir.ui.view: hr_timesheet.project_sharing_project_task_view_search_inherit_timesheet
DEL ir.ui.view: hr_timesheet.rating_rating_view_search_project_inherited
DEL ir.ui.view: hr_timesheet.report_project_task_user_view_search
DEL ir.ui.view: hr_timesheet.report_project_task_user_view_tree
DEL ir.ui.view: hr_timesheet.view_task_search_form_hr_extended
# NOTHING TO DO: noupdate=0 records