snapshot: preserve app registry and branding domain foundation
This commit is contained in:
@@ -6,6 +6,7 @@ from django.contrib.auth.forms import AuthenticationForm, PasswordResetForm, Set
|
||||
from django.utils import timezone
|
||||
from django.utils.translation import get_language, gettext as _, gettext_lazy
|
||||
|
||||
from .branding import get_company_email_domain
|
||||
from .form_builder import apply_form_field_config
|
||||
from .models import EmployeeProfile, FormOption, OffboardingRequest, OnboardingRequest, PortalBranding, WorkflowConfig
|
||||
from .roles import ROLE_ADMIN, ROLE_GROUP_NAMES, ROLE_IT_STAFF, ROLE_LABELS, ROLE_PLATFORM_OWNER, ROLE_STAFF, ROLE_SUPER_ADMIN, assign_user_role
|
||||
@@ -175,6 +176,7 @@ class PortalBrandingForm(forms.ModelForm):
|
||||
fields = [
|
||||
'portal_title',
|
||||
'company_name',
|
||||
'company_domain',
|
||||
'support_email',
|
||||
'default_language',
|
||||
'logo_image',
|
||||
@@ -185,6 +187,7 @@ class PortalBrandingForm(forms.ModelForm):
|
||||
labels = {
|
||||
'portal_title': gettext_lazy('Portal-Titel'),
|
||||
'company_name': gettext_lazy('Firmenname'),
|
||||
'company_domain': gettext_lazy('Firmen-Domain'),
|
||||
'support_email': gettext_lazy('Support-E-Mail'),
|
||||
'default_language': gettext_lazy('Standardsprache'),
|
||||
'logo_image': gettext_lazy('Logo'),
|
||||
@@ -343,6 +346,7 @@ class OnboardingRequestForm(forms.ModelForm):
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.requester_email = (kwargs.pop('requester_email', '') or '').strip().lower()
|
||||
super().__init__(*args, **kwargs)
|
||||
self.email_domain = get_company_email_domain()
|
||||
|
||||
config = WorkflowConfig.objects.order_by('id').first()
|
||||
self.handover_lead_days = max(0, int(getattr(config, 'device_handover_lead_days', 5) or 5))
|
||||
@@ -350,6 +354,7 @@ class OnboardingRequestForm(forms.ModelForm):
|
||||
self.fields['handover_date'].widget.attrs['min'] = minimum_handover_date.isoformat()
|
||||
|
||||
self.fields['full_name'].label = 'Name'
|
||||
self.fields['work_email'].help_text = _('Bitte nutzen Sie das Format name@%(domain)s.') % {'domain': self.email_domain}
|
||||
full_name_initial = (self.initial.get('full_name') or '').strip()
|
||||
if full_name_initial and not self.initial.get('first_name') and not self.initial.get('last_name'):
|
||||
name_parts = full_name_initial.split()
|
||||
@@ -369,8 +374,9 @@ class OnboardingRequestForm(forms.ModelForm):
|
||||
value = (self.cleaned_data.get('work_email') or '').strip().lower()
|
||||
if not value:
|
||||
return value
|
||||
if not value.endswith('@tub.co'):
|
||||
raise forms.ValidationError('Bitte verwenden Sie eine @tub.co E-Mail-Adresse.')
|
||||
expected_suffix = f'@{self.email_domain}'
|
||||
if self.email_domain and not value.endswith(expected_suffix):
|
||||
raise forms.ValidationError(_('Bitte verwenden Sie eine @%(domain)s E-Mail-Adresse.') % {'domain': self.email_domain})
|
||||
return value
|
||||
|
||||
def clean_signature_image(self):
|
||||
@@ -531,11 +537,21 @@ class OffboardingRequestForm(forms.ModelForm):
|
||||
def __init__(self, *args, **kwargs):
|
||||
prefill_profile = kwargs.pop('prefill_profile', None)
|
||||
super().__init__(*args, **kwargs)
|
||||
self.email_domain = get_company_email_domain()
|
||||
self.fields['full_name'].label = 'Vorname und Nachname'
|
||||
self.fields['work_email'].help_text = ''
|
||||
self.fields['work_email'].help_text = _('Bitte nutzen Sie das Format name@%(domain)s.') % {'domain': self.email_domain}
|
||||
if prefill_profile:
|
||||
self.fields['full_name'].initial = prefill_profile.full_name
|
||||
self.fields['work_email'].initial = prefill_profile.work_email
|
||||
self.fields['department'].initial = prefill_profile.department
|
||||
self.fields['job_title'].initial = prefill_profile.job_title
|
||||
apply_form_field_config('offboarding', self)
|
||||
|
||||
def clean_work_email(self):
|
||||
value = (self.cleaned_data.get('work_email') or '').strip().lower()
|
||||
if not value:
|
||||
return value
|
||||
expected_suffix = f'@{self.email_domain}'
|
||||
if self.email_domain and not value.endswith(expected_suffix):
|
||||
raise forms.ValidationError(_('Bitte verwenden Sie eine @%(domain)s E-Mail-Adresse.') % {'domain': self.email_domain})
|
||||
return value
|
||||
|
||||
Reference in New Issue
Block a user