diff --git a/generic/templates/generic/partials/exam_search_widget_results.html b/generic/templates/generic/partials/exam_search_widget_results.html index ec27e0bc..e5019262 100644 --- a/generic/templates/generic/partials/exam_search_widget_results.html +++ b/generic/templates/generic/partials/exam_search_widget_results.html @@ -1,9 +1,16 @@ {% if results %} @@ -396,8 +416,17 @@ class ExamSearchSelectMultipleWidget: results.innerHTML = ''; return; }} - const modelParam = defaultModel ? '&model=' + encodeURIComponent(defaultModel) : ''; - const url = '{url}?field=' + encodeURIComponent(widgetFieldName) + '&q=' + encodeURIComponent(q) + modelParam; + const modelParam = defaultModel ? '&model=' + encodeURIComponent(defaultModel) : ''; + const f_archive = document.getElementById('filter_archive_{self.name}'); + const f_open = document.getElementById('filter_open_access_{self.name}'); + const f_exam_mode = document.getElementById('filter_exam_mode_{self.name}'); + const f_candidates = document.getElementById('filter_candidates_only_{self.name}'); + let extra = ''; + if (f_archive && f_archive.checked) extra += '&archive=1'; + if (f_open && f_open.checked) extra += '&open_access=1'; + if (f_exam_mode && f_exam_mode.checked) extra += '&exam_mode=1'; + if (f_candidates && f_candidates.checked) extra += '&candidates_only=1'; + const url = '{url}?field=' + encodeURIComponent(widgetFieldName) + '&q=' + encodeURIComponent(q) + modelParam + extra; fetch(url) .then(r => r.text()) .then(html => {{ results.innerHTML = html; }});