Skip to content

Commit e9b3bbd

Browse files
Fix clicking book from translations page (#3394)
* fix(get text): fix typo: params -> param * fix(translation api): fix old (pre rtl) ven param by the new format. * refactor(translations api): refactor building the url and use urlencode and Ref url method to ensure url encoding.
1 parent cbd8077 commit e9b3bbd

2 files changed

Lines changed: 6 additions & 3 deletions

File tree

reader/views.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4674,7 +4674,7 @@ def translations_api(request, lang=None):
46744674
aggregation_query.append({"$match": {"vstate.flags.enComplete": True}})
46754675

46764676
aggregation_query.extend([{"$project": {"index.dependence": 1, "index.order": 1, "index.collective_title": 1,
4677-
"index.title": 1, "index.order": 1,
4677+
"index.title": 1, "index.order": 1, "languageFamilyName": 1,
46784678
"versionTitle": 1, "language": 1, "title": 1, "index.categories": 1,
46794679
"priority": 1, "vstate.first_section_ref": 1}},
46804680
{"$sort": {"index.order.0": 1, "index.order.1": 1, "priority": -1}}])
@@ -4722,7 +4722,10 @@ def translations_api(request, lang=None):
47224722
continue
47234723
else:
47244724
to_add["title"] = my_index_info["title"]
4725-
to_add["url"] = f'/{my_index["vstate"][0]["first_section_ref"].replace(":", ".")}?{"ven=" + my_index["versionTitle"] if my_index["language"] == "en" else "vhe=" + my_index["versionTitle"]}&lang=bi'
4725+
ref = Ref(my_index["vstate"][0]["first_section_ref"]).url()
4726+
version_param = f'{my_index["languageFamilyName"]}|{my_index["versionTitle"]}'
4727+
params = urllib.parse.urlencode({'ven': version_param, "lang": "bi"})
4728+
to_add["url"] = f'/{ref}?{params}'
47264729

47274730
if "order" in my_index["index"][0]:
47284731
to_add["order"] = my_index["index"][0]["order"]

static/js/sefaria/util.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ class Util {
6262
}
6363
}
6464
static getObjectFromUrlParam(param) {
65-
const params = (params) ? param.split('|') : '';
65+
const params = param ? param.split('|') : '';
6666
return {languageFamilyName: params[0], versionTitle: params[1]};
6767
}
6868
static decodeVtitle(vtitle) {

0 commit comments

Comments
 (0)