In ``hr_timesheet_sheet``, deleting a timesheet sheet does not delete the timesheet entries it contains: they are left behind with an empty ``Sheet`` field, invisible from any sheet and hard to find again. This module makes the deletion of a sheet cascade to its timesheet entries, behind a confirmation wizard that states beforehand how many entries and how many hours are about to disappear. Invoiced entries are never deleted: a sheet that contains one cannot be deleted at all. Because a sheet also contains the entries generated by approved time off, the module makes that case an explicit company policy: either the time off request is kept untouched and only its entries are detached from the sheet (the default), or the request is cancelled and the days are restored to the employee balance. Turning a harmless ``unlink()`` into a destructive one is only safe if the record rules are in place first, so the module also adds the record rules that ``hr_timesheet.sheet`` is missing: without them any internal user can delete the sheet of any other employee.