Skip to content

Commit 4b06103

Browse files
sudip-khanalsusilnem
authored andcommitted
fix(pdf-export): add language support on pdf export
1 parent d42ee94 commit 4b06103

2 files changed

Lines changed: 6 additions & 4 deletions

File tree

api/serializers.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2554,6 +2554,7 @@ def validate_pdf_file(self, pdf_file):
25542554
return pdf_file
25552555

25562556
def create(self, validated_data):
2557+
language = django_get_language()
25572558
export_id = validated_data.get("export_id")
25582559
export_type = validated_data.get("export_type")
25592560
country_id = validated_data.get("per_country")
@@ -2586,7 +2587,7 @@ def create(self, validated_data):
25862587
export.requested_at = timezone.now()
25872588
export.save(update_fields=["status", "requested_at"])
25882589

2589-
transaction.on_commit(lambda: generate_url.delay(export.url, export.id, user.id, title))
2590+
transaction.on_commit(lambda: generate_url.delay(export.url, export.id, user.id, title, language))
25902591
return export
25912592

25922593
def update(self, instance, validated_data):

api/tasks.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
from .utils import DebugPlaywright
2020

2121

22-
def build_storage_state(tmp_dir, user, token):
22+
def build_storage_state(tmp_dir, user, token, language):
2323
temp_file = pathlib.Path(tmp_dir, "storage_state.json")
2424
temp_file.touch()
2525

@@ -40,7 +40,7 @@ def build_storage_state(tmp_dir, user, token):
4040
}
4141
),
4242
},
43-
{"name": "language", "value": json.dumps("en")}, # enforce all export to English
43+
{"name": "language", "value": json.dumps(language)}, # NOTE: Use the language from the request for PDF export
4444
],
4545
}
4646
]
@@ -51,7 +51,7 @@ def build_storage_state(tmp_dir, user, token):
5151

5252

5353
@shared_task
54-
def generate_url(url, export_id, user, title):
54+
def generate_url(url, export_id, user, title, language):
5555
export = Export.objects.get(id=export_id)
5656
user = User.objects.get(id=user)
5757
token = Token.objects.filter(user=user).last()
@@ -92,6 +92,7 @@ def generate_url(url, export_id, user, title):
9292
tmp_dir,
9393
user,
9494
token,
95+
language,
9596
)
9697
context = browser.new_context(storage_state=storage_state)
9798
page = context.new_page()

0 commit comments

Comments
 (0)