On Sun, 2019-12-01 at 02:49 +0100, Johan Herland wrote: > The V4L project (https://patchwork.linuxtv.org) uses patch states and > delegates extensively to track progress. We want an audit log to keep > track of the changes made to these patch fields. The Event model already > records this information, but leaves out one crucial detail: which > maintainer/user actually updated the patch state/delegate. The need for > this enhancement is also documented in Issue #73. > > This patch series adds an 'actor' field to the Event model, and - for > applicable events - stores the user responsible for that event (i.e. the > current/active user, if any) into this field. > > This applies to the following events: > - patch-state-changed > - patch-delegated > - check-created > > The other events are all generated in response to incoming emails, and > therefore have no responsible actor at all (in the sense of a logged-in > user performing an action to trigger the event). In these cases > (and any other scenario where we cannot find the active/current user) > the Event.actor field is simply left as null/None. > > Finally, the new Event.actor field is exposed in the events view of the > REST API (as of API version 1.2), and we also allow filtering by actor.
Thanks for the quick turnaround on this. I squashed patches 3 and 4, added a release note, fixed a minor issue with the schema documentation and pushed everything. It will form part of Patchwork v2.2 which I'm hoping to get out this coming week. Cheers, Stephen > Changes since v3: > - Drop wiring up the actor in patch-created, patch-completed, and > series-completed events (as there are triggered by emails). > - Add patch #4 to allow filtering events by actor. > > > Have fun! > ...Johan > > > Johan Herland (4): > models.Event: Add the user responsible for the event > Include the responsible actor in applicable events > /api/events: Add 'actor' field to generated JSON > /api/events: Allow filtering by 'actor' field > > docs/api/schemas/latest/patchwork.yaml | 6 ++++ > docs/api/schemas/patchwork.j2 | 8 +++++ > docs/api/schemas/v1.2/patchwork.yaml | 6 ++++ > docs/usage/overview.rst | 3 ++ > patchwork/api/event.py | 10 ++++-- > patchwork/api/filters.py | 5 ++- > patchwork/migrations/0037_event_actor.py | 21 +++++++++++ > patchwork/models.py | 10 +++++- > patchwork/signals.py | 3 ++ > patchwork/tests/api/test_event.py | 46 ++++++++++++++++++++++++ > patchwork/tests/test_events.py | 7 ++++ > 11 files changed, 120 insertions(+), 5 deletions(-) > create mode 100644 patchwork/migrations/0037_event_actor.py > _______________________________________________ Patchwork mailing list [email protected] https://lists.ozlabs.org/listinfo/patchwork
