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:
34
templates/emails/de/handover_assigned.html
Normal file
34
templates/emails/de/handover_assigned.html
Normal file
@@ -0,0 +1,34 @@
|
||||
<!doctype html>
|
||||
<html lang="de">
|
||||
<body style="font-family: Arial, sans-serif; line-height: 1.5; color: #111;">
|
||||
{{email_header}}
|
||||
<p>Hallo {{assignee_name}},</p>
|
||||
<p>dir wurde eine <strong>Übergabe</strong> zugewiesen. Bitte fülle das Protokoll vollständig aus.</p>
|
||||
<table style="border-collapse: collapse; margin: 16px 0;">
|
||||
<tr>
|
||||
<td style="padding: 4px 12px 4px 0; color: #555;">Kunde:</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;">Zugewiesen von:</td>
|
||||
<td style="padding: 4px 0;">{{assigned_by_name}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 4px 12px 4px 0; color: #555;">Fällig bis:</td>
|
||||
<td style="padding: 4px 0;">{{due_date}}</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;">
|
||||
Übergabe öffnen
|
||||
</a>
|
||||
</p>
|
||||
<p>Bitte fülle alle erforderlichen Felder aus und klicke anschließend auf <em>„Zur Prüfung einreichen"</em>.</p>
|
||||
<p>Viele Grüße<br>{{app_name}}</p>
|
||||
{{email_footer}}
|
||||
</body>
|
||||
</html>
|
||||
17
templates/emails/de/handover_assigned.txt
Normal file
17
templates/emails/de/handover_assigned.txt
Normal file
@@ -0,0 +1,17 @@
|
||||
{{email_header_text}}
|
||||
Hallo {{assignee_name}},
|
||||
|
||||
dir wurde eine Übergabe zugewiesen. Bitte fülle das Protokoll vollständig aus.
|
||||
|
||||
Kunde: {{debitor_name}}
|
||||
Domain: {{domain_url}}
|
||||
Zugewiesen von: {{assigned_by_name}}
|
||||
Fällig bis: {{due_date}}
|
||||
|
||||
Übergabe öffnen: {{handover_url}}
|
||||
|
||||
Bitte fülle alle erforderlichen Felder aus und klicke anschließend auf „Zur Prüfung einreichen".
|
||||
|
||||
Viele Grüße
|
||||
{{app_name}}
|
||||
{{email_footer_text}}
|
||||
29
templates/emails/de/handover_review_requested.html
Normal file
29
templates/emails/de/handover_review_requested.html
Normal file
@@ -0,0 +1,29 @@
|
||||
<!doctype html>
|
||||
<html lang="de">
|
||||
<body style="font-family: Arial, sans-serif; line-height: 1.5; color: #111;">
|
||||
{{email_header}}
|
||||
<p>Hallo {{manager_name}},</p>
|
||||
<p><strong>{{assignee_name}}</strong> hat eine Übergabe zur Prüfung eingereicht.</p>
|
||||
<table style="border-collapse: collapse; margin: 16px 0;">
|
||||
<tr>
|
||||
<td style="padding: 4px 12px 4px 0; color: #555;">Kunde:</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;">Eingereicht von:</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;">
|
||||
Übergabe prüfen
|
||||
</a>
|
||||
</p>
|
||||
<p>Viele Grüße<br>{{app_name}}</p>
|
||||
{{email_footer}}
|
||||
</body>
|
||||
</html>
|
||||
14
templates/emails/de/handover_review_requested.txt
Normal file
14
templates/emails/de/handover_review_requested.txt
Normal file
@@ -0,0 +1,14 @@
|
||||
{{email_header_text}}
|
||||
Hallo {{manager_name}},
|
||||
|
||||
{{assignee_name}} hat eine Übergabe zur Prüfung eingereicht.
|
||||
|
||||
Kunde: {{debitor_name}}
|
||||
Domain: {{domain_url}}
|
||||
Eingereicht von: {{assignee_name}}
|
||||
|
||||
Übergabe prüfen: {{handover_url}}
|
||||
|
||||
Viele Grüße
|
||||
{{app_name}}
|
||||
{{email_footer_text}}
|
||||
34
templates/emails/en/handover_assigned.html
Normal file
34
templates/emails/en/handover_assigned.html
Normal file
@@ -0,0 +1,34 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<body style="font-family: Arial, sans-serif; line-height: 1.5; color: #111;">
|
||||
{{email_header}}
|
||||
<p>Hi {{assignee_name}},</p>
|
||||
<p>a <strong>handover protocol</strong> has been assigned to you. Please fill it in completely.</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;">Assigned by:</td>
|
||||
<td style="padding: 4px 0;">{{assigned_by_name}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 4px 12px 4px 0; color: #555;">Due date:</td>
|
||||
<td style="padding: 4px 0;">{{due_date}}</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;">
|
||||
Open handover
|
||||
</a>
|
||||
</p>
|
||||
<p>Please fill in all required fields and then click <em>"Submit for review"</em>.</p>
|
||||
<p>Best regards<br>{{app_name}}</p>
|
||||
{{email_footer}}
|
||||
</body>
|
||||
</html>
|
||||
17
templates/emails/en/handover_assigned.txt
Normal file
17
templates/emails/en/handover_assigned.txt
Normal file
@@ -0,0 +1,17 @@
|
||||
{{email_header_text}}
|
||||
Hi {{assignee_name}},
|
||||
|
||||
a handover protocol has been assigned to you. Please fill it in completely.
|
||||
|
||||
Customer: {{debitor_name}}
|
||||
Domain: {{domain_url}}
|
||||
Assigned by: {{assigned_by_name}}
|
||||
Due date: {{due_date}}
|
||||
|
||||
Open handover: {{handover_url}}
|
||||
|
||||
Please fill in all required fields and then click "Submit for review".
|
||||
|
||||
Best regards
|
||||
{{app_name}}
|
||||
{{email_footer_text}}
|
||||
29
templates/emails/en/handover_review_requested.html
Normal file
29
templates/emails/en/handover_review_requested.html
Normal 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>
|
||||
14
templates/emails/en/handover_review_requested.txt
Normal file
14
templates/emails/en/handover_review_requested.txt
Normal file
@@ -0,0 +1,14 @@
|
||||
{{email_header_text}}
|
||||
Hi {{manager_name}},
|
||||
|
||||
{{assignee_name}} has submitted a handover for review.
|
||||
|
||||
Customer: {{debitor_name}}
|
||||
Domain: {{domain_url}}
|
||||
Submitted by: {{assignee_name}}
|
||||
|
||||
Review handover: {{handover_url}}
|
||||
|
||||
Best regards
|
||||
{{app_name}}
|
||||
{{email_footer_text}}
|
||||
Reference in New Issue
Block a user