def generate_services(): """Create services unless they already exist. Also assigns allowed data fields for each created service. """ services = [] for service_type in ServiceType: service = Service.objects.filter(service_type=service_type).first() if not service: service = Service(service_type=service_type, title=service_type.name) if service_type in SERVICE_TRANSLATIONS: for language in ["fi", "en", "sv"]: service.set_current_language(language) service.title = SERVICE_TRANSLATIONS[service_type][ "title"][language] service.description = SERVICE_TRANSLATIONS[service_type][ "description"][language] service.save() for field in AllowedDataField.objects.all(): if (field.field_name != "ssn" or service.service_type == ServiceType.BERTH): service.allowed_data_fields.add(field) services.append(service) return services
def generate_services(): """Create services unless they already exist. Also assigns allowed data fields for each created service. """ services = [] for service_spec in SERVICES: service_name = service_spec["name"] try: service = Service.objects.get(name=service_name) except Service.DoesNotExist: service = Service(name=service_name, title=service_name) for language, translations in service_spec.get("translations", {}).items(): service.set_current_language(language) for field, text in translations.items(): setattr(service, field, text) service.save() allowed_data_fields = service_spec.get("allowed_data_fields", []) for field in AllowedDataField.objects.filter( field_name__in=allowed_data_fields): service.allowed_data_fields.add(field) services.append(service) return services