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