Delete running time entries of placeholder when merging members

The running time entries of the merged member could give the destination
member a second running time entry. The placeholder is deleted after the
merge, so its running time entries can not stay with it.
This commit is contained in:
Constantin Graf
2026-10-13 18:04:11 +02:00
parent 0bfeab156c
commit c5bcf98b84
3 changed files with 65 additions and 0 deletions

View File

@@ -159,6 +159,13 @@ class MemberService
public function assignOrganizationEntitiesToDifferentMember(Organization $organization, Member $fromMember, Member $toMember): void
{
// Running time entries are deleted instead of moved, since $toMember could already have a running time entry
TimeEntry::query()
->whereBelongsTo($organization, 'organization')
->whereBelongsTo($fromMember, 'member')
->whereNull('end')
->delete();
// Time entries
TimeEntry::query()
->whereBelongsTo($organization, 'organization')