snapshot: preserve request status retry and i18n labels

This commit is contained in:
Md Bayazid Bostame
2026-03-25 20:42:01 +01:00
parent a8f7eadbc6
commit 197bd3c226
10 changed files with 851 additions and 583 deletions

View File

@@ -1,6 +1,7 @@
from django.conf import settings
from django.db import models
from django.utils.translation import get_language
from django.utils.translation import gettext_lazy as _
def _normalized_language_code(value: str | None) -> str:
@@ -50,6 +51,13 @@ class AdminAuditLog(models.Model):
class OnboardingRequest(models.Model):
STATUS_CHOICES = [
('submitted', _('Eingereicht')),
('processing', _('In Bearbeitung')),
('completed', _('Abgeschlossen')),
('failed', _('Fehlgeschlagen')),
]
full_name = models.CharField(max_length=255, verbose_name='Vorname und Nachname')
gender = models.CharField(
max_length=20,
@@ -112,6 +120,8 @@ class OnboardingRequest(models.Model):
generated_pdf_path = models.CharField(max_length=500, blank=True)
intro_pdf_path = models.CharField(max_length=500, blank=True)
processing_status = models.CharField(max_length=20, choices=STATUS_CHOICES, default='submitted')
last_error = models.TextField(blank=True)
preferred_language = models.CharField(max_length=10, blank=True, default='de', db_default='de')
created_at = models.DateTimeField(auto_now_add=True)
@@ -447,6 +457,8 @@ class SystemEmailConfig(models.Model):
class OffboardingRequest(models.Model):
STATUS_CHOICES = OnboardingRequest.STATUS_CHOICES
employee_profile = models.ForeignKey(EmployeeProfile, null=True, blank=True, on_delete=models.SET_NULL)
full_name = models.CharField(max_length=255, verbose_name='Vorname und Nachname')
work_email = models.EmailField(verbose_name='Dienstliche E-Mail-Adresse')
@@ -460,6 +472,8 @@ class OffboardingRequest(models.Model):
requested_by_name = models.CharField(max_length=255, blank=True, verbose_name='Name der anfordernden Person')
preferred_language = models.CharField(max_length=10, blank=True, default='de', db_default='de')
generated_pdf_path = models.CharField(max_length=500, blank=True)
processing_status = models.CharField(max_length=20, choices=STATUS_CHOICES, default='submitted')
last_error = models.TextField(blank=True)
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self) -> str: