snapshot: preserve admin i18n and language stability hardening

This commit is contained in:
Md Bayazid Bostame
2026-03-24 13:06:39 +01:00
parent ec00ae8b2e
commit 5265b8f3e2
13 changed files with 1366 additions and 547 deletions

View File

@@ -2,6 +2,11 @@ from django.db import models
from django.utils.translation import get_language
def _normalized_language_code(value: str | None) -> str:
lang = (value or '').strip().split('-')[0].lower()
return lang or 'de'
class EmployeeProfile(models.Model):
full_name = models.CharField(max_length=255)
first_name = models.CharField(max_length=100)
@@ -80,12 +85,16 @@ class OnboardingRequest(models.Model):
generated_pdf_path = models.CharField(max_length=500, blank=True)
intro_pdf_path = models.CharField(max_length=500, blank=True)
preferred_language = models.CharField(max_length=10, blank=True, default='de')
preferred_language = models.CharField(max_length=10, blank=True, default='de', db_default='de')
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self) -> str:
return f"Onboarding #{self.id} - {self.full_name}"
def save(self, *args, **kwargs):
self.preferred_language = _normalized_language_code(self.preferred_language)
super().save(*args, **kwargs)
class FormOption(models.Model):
CATEGORY_CHOICES = [
@@ -422,9 +431,13 @@ class OffboardingRequest(models.Model):
signature = models.CharField(max_length=255, blank=True, verbose_name='Unterschrift (Name)')
requested_by_email = models.EmailField(verbose_name='E-Mail der anfordernden Person')
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')
preferred_language = models.CharField(max_length=10, blank=True, default='de', db_default='de')
generated_pdf_path = models.CharField(max_length=500, blank=True)
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self) -> str:
return f"Offboarding #{self.id} - {self.full_name}"
def save(self, *args, **kwargs):
self.preferred_language = _normalized_language_code(self.preferred_language)
super().save(*args, **kwargs)