20 lines
1.1 KiB
ReStructuredText
20 lines
1.1 KiB
ReStructuredText
``hr_timesheet_sheet`` ships a review workflow: the employee submits the sheet,
|
|
a reviewer approves or refuses it and may send it back to draft. Many
|
|
organisations never use it — they record hours and do not submit them for
|
|
approval.
|
|
|
|
The workflow is not harmless when it is not used. ``_check_state()`` forbids
|
|
modifying the timesheet entries of any sheet that is not in ``new`` or
|
|
``draft``. A sheet submitted by mistake and never attended freezes its entries
|
|
forever: nobody can edit them, and ``action_timesheet_draft()`` only works from
|
|
``done``, never from ``confirm``.
|
|
|
|
This module removes the review workflow from the user interface — buttons,
|
|
kanban actions, search filters, the department counter of sheets to approve
|
|
and the menus that only exist to serve it — and adds a wizard that sends the
|
|
sheets that got stuck in ``confirm`` or ``done`` back to draft.
|
|
|
|
The ``action_timesheet_*`` methods of the base module are left untouched, so
|
|
the rest of the family (``hr_timesheet_sheet_attendance``,
|
|
``hr_timesheet_sheet_policy_*``, ``hr_timesheet_sheet_autodraft``) keeps
|
|
working. They simply no longer have an entry point in the interface.
|