feat(helpdesk): Übergabe assignment workflow

- New statuses: under_review
- New DB fields: assigned_to, assigned_by, assigned_at, due_date (migration 012)
- HandoverNotificationService: emails on assign and review-request
- HandoverService: assign(), submitForReview(), resendNotification()
- Assign page: manager selects employee + due date, resend notification
- Create wizard: manager can assign during creation (step 1)
- Edit page: "Submit for review" button for assignee, assign link for manager
- List page: open/closed tabs, non-managers see only their assigned handovers
- Email templates: handover_assigned + handover_review_requested (de/en)
- i18n keys added for de and en

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
aminovfariz
2026-06-01 14:35:03 +02:00
parent 4f38911fce
commit c32a0f8c31
26 changed files with 918 additions and 10 deletions

View File

@@ -0,0 +1,29 @@
<!doctype html>
<html lang="en">
<body style="font-family: Arial, sans-serif; line-height: 1.5; color: #111;">
{{email_header}}
<p>Hi {{manager_name}},</p>
<p><strong>{{assignee_name}}</strong> has submitted a handover for review.</p>
<table style="border-collapse: collapse; margin: 16px 0;">
<tr>
<td style="padding: 4px 12px 4px 0; color: #555;">Customer:</td>
<td style="padding: 4px 0;"><strong>{{debitor_name}}</strong></td>
</tr>
<tr>
<td style="padding: 4px 12px 4px 0; color: #555;">Domain:</td>
<td style="padding: 4px 0;">{{domain_url}}</td>
</tr>
<tr>
<td style="padding: 4px 12px 4px 0; color: #555;">Submitted by:</td>
<td style="padding: 4px 0;">{{assignee_name}}</td>
</tr>
</table>
<p>
<a href="{{handover_url}}" style="display: inline-block; padding: 10px 20px; background: #2563eb; color: #fff; text-decoration: none; border-radius: 4px;">
Review handover
</a>
</p>
<p>Best regards<br>{{app_name}}</p>
{{email_footer}}
</body>
</html>