snapshot: preserve company config foundation and staff dashboard access
This commit is contained in:
@@ -7,7 +7,7 @@ from django.conf import settings
|
||||
from django.templatetags.static import static
|
||||
from django.utils.translation import get_language
|
||||
|
||||
from .models import PortalBranding
|
||||
from .models import PortalBranding, PortalCompanyConfig
|
||||
|
||||
|
||||
def get_portal_branding() -> PortalBranding:
|
||||
@@ -32,6 +32,26 @@ def get_portal_branding() -> PortalBranding:
|
||||
return branding
|
||||
|
||||
|
||||
def get_portal_company_config() -> PortalCompanyConfig:
|
||||
company_config, _ = PortalCompanyConfig.objects.get_or_create(
|
||||
name='Default',
|
||||
defaults={
|
||||
'legal_company_name': 'TUBCO GmbH',
|
||||
'country': 'Deutschland',
|
||||
'website_url': '',
|
||||
'imprint_url': '',
|
||||
'privacy_url': '',
|
||||
'hr_contact_email': '',
|
||||
'it_contact_email': '',
|
||||
'operations_contact_email': '',
|
||||
'phone_number': '',
|
||||
'vat_id': '',
|
||||
'registration_number': '',
|
||||
},
|
||||
)
|
||||
return company_config
|
||||
|
||||
|
||||
def get_company_email_domain() -> str:
|
||||
branding = get_portal_branding()
|
||||
domain = (branding.company_domain or '').strip().lower().lstrip('@')
|
||||
@@ -72,6 +92,7 @@ def get_portal_letterhead_path() -> Path:
|
||||
|
||||
def get_branding_context() -> dict[str, object]:
|
||||
branding = get_portal_branding()
|
||||
company_config = get_portal_company_config()
|
||||
lang = (get_language() or branding.default_language or 'de').split('-')[0]
|
||||
footer_text = (branding.footer_text_en or '').strip() if lang == 'en' else ''
|
||||
legal_notice = (branding.legal_notice_en or '').strip() if lang == 'en' else ''
|
||||
@@ -97,6 +118,21 @@ def get_branding_context() -> dict[str, object]:
|
||||
'portal_has_custom_logo': bool(branding.logo_image),
|
||||
'portal_has_custom_letterhead': bool(branding.pdf_letterhead),
|
||||
'portal_has_custom_favicon': bool(branding.favicon_image),
|
||||
'portal_company_config': company_config,
|
||||
'portal_company_legal_name': company_config.legal_company_name or branding.company_name,
|
||||
'portal_company_street': company_config.street_address,
|
||||
'portal_company_postal_code': company_config.postal_code,
|
||||
'portal_company_city': company_config.city,
|
||||
'portal_company_country': company_config.country,
|
||||
'portal_company_website_url': company_config.website_url,
|
||||
'portal_company_imprint_url': company_config.imprint_url,
|
||||
'portal_company_privacy_url': company_config.privacy_url,
|
||||
'portal_company_hr_contact_email': company_config.hr_contact_email,
|
||||
'portal_company_it_contact_email': company_config.it_contact_email,
|
||||
'portal_company_operations_contact_email': company_config.operations_contact_email,
|
||||
'portal_company_phone_number': company_config.phone_number,
|
||||
'portal_company_vat_id': company_config.vat_id,
|
||||
'portal_company_registration_number': company_config.registration_number,
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user