summary: Multi-select bulk operations on a report's events — re-tag, set category, consolidate, or delete in one click.
Built for the case where a rep has dozens or hundreds of small events that all need the same fix (tag a project, set a category, delete noise, consolidate into a single clean entry). Manager-of-this-employee or admin only.
Where
/team/employees/<emp_id> → Events table → checkbox column on the
left of each row. A sticky bar appears at the bottom of the page once
any row is selected.
Bulk actions in the bar
- → Assign project dropdown (validates the employee is assigned to the project before saving)
- → Set category (from the company taxonomy)
- → Set work type (
billable,internal, etc.) - Consolidate into one — sums the selected events' minutes,
deletes the N rows, inserts one new event with the total. Takes
the first row's app/window/category as defaults; takes the
earliest
occurred_atas the timestamp. Setsminutes_rawto the total too so the normalize cron leaves it alone. - Delete — permanent, with confirm dialog
What it does NOT include
- Bulk minutes edit — intentionally absent. Bulk minutes is meaningless because each event represents a different captured interval; setting them all to "5 min" or "60 min" double-counts. If you want one clean entry of N minutes representing what was really 75 small events, use Consolidate into one instead.
Auth + safety
- Manager-of-this-employee OR admin only (owner can't bulk-edit their own — they have to do per-event edits via My Events)
- If any selected event is in an approved/locked week, the WHOLE batch aborts with an error — reopen the timesheet first
- Every change records
classification_source = 'manager_correction'or'admin_correction' audit_logcaptures action + event ids + count
See something wrong or outdated in this article? Report it →