diff --git a/inginious/frontend/webapp/pages/index.py b/inginious/frontend/webapp/pages/index.py index 55db2896..304e1efa 100644 --- a/inginious/frontend/webapp/pages/index.py +++ b/inginious/frontend/webapp/pages/index.py @@ -76,4 +76,6 @@ def show_page(self, success): registerable_courses = OrderedDict(sorted(iter(registerable_courses.items()), key=lambda x: x[1].get_name())) - return self.template_helper.get_renderer().main(open_courses, registerable_courses, except_free_last_submissions, success) + additional_divs = self.plugin_manager.call_hook('main_page_div', template_helper=self.template_helper) + + return self.template_helper.get_renderer().main(open_courses, registerable_courses, except_free_last_submissions, success, additional_divs) diff --git a/inginious/frontend/webapp/plugins/problem_bank/__init__.py b/inginious/frontend/webapp/plugins/problem_bank/__init__.py index ee89e946..f0ef39d8 100644 --- a/inginious/frontend/webapp/plugins/problem_bank/__init__.py +++ b/inginious/frontend/webapp/plugins/problem_bank/__init__.py @@ -1,8 +1,15 @@ from . import pages +import os.path from inginious.frontend.webapp.plugins.utils import create_static_resource_page -from .constants import _REACT_BASE_URL, _REACT_BUILD_FOLDER, _BASE_STATIC_FOLDER, _BASE_STATIC_URL +from .constants import _REACT_BASE_URL, _REACT_BUILD_FOLDER, _BASE_STATIC_FOLDER, _BASE_STATIC_URL, _BASE_RENDERER_PATH + +def problem_bank_main_div(template_helper): + div_id = 'problem_bank_main' + content = template_helper.get_custom_renderer(_BASE_RENDERER_PATH, layout=False).problem_bank_div() + return div_id, content + def init(plugin_manager, course_factory, client, config): if "problem_banks" not in plugin_manager.get_database().collection_names(): plugin_manager.get_database().create_collection("problem_banks") @@ -16,3 +23,4 @@ def init(plugin_manager, course_factory, client, config): plugin_manager.add_page(r'/plugins/problems_bank/api/bank_tasks', pages.SearchTaskApi) plugin_manager.add_page(r'/plugins/problems_bank/api/filter_bank_tasks', pages.FilterTasksApi) plugin_manager.add_page(r'/plugins/problems_bank', pages.BankPage) + plugin_manager.add_hook('main_page_div', problem_bank_main_div) diff --git a/inginious/frontend/webapp/plugins/problem_bank/constants.py b/inginious/frontend/webapp/plugins/problem_bank/constants.py index 9b9953ca..e9574a9e 100644 --- a/inginious/frontend/webapp/plugins/problem_bank/constants.py +++ b/inginious/frontend/webapp/plugins/problem_bank/constants.py @@ -5,3 +5,4 @@ _PLUGIN_FOLDER = os.path.dirname(os.path.realpath(__file__)) _REACT_BUILD_FOLDER = os.path.join(_PLUGIN_FOLDER, 'react_app', 'build') _REACT_BASE_URL = '/plugins/problem_bank/react/' +_BASE_RENDERER_PATH = _PLUGIN_FOLDER diff --git a/inginious/frontend/webapp/plugins/problem_bank/problem_bank_div.html b/inginious/frontend/webapp/plugins/problem_bank/problem_bank_div.html new file mode 100644 index 00000000..af38392b --- /dev/null +++ b/inginious/frontend/webapp/plugins/problem_bank/problem_bank_div.html @@ -0,0 +1,3 @@ +
\ No newline at end of file diff --git a/inginious/frontend/webapp/templates/main.html b/inginious/frontend/webapp/templates/main.html index 6e8a400f..548f4e61 100644 --- a/inginious/frontend/webapp/templates/main.html +++ b/inginious/frontend/webapp/templates/main.html @@ -1,4 +1,4 @@ -$def with (open_courses,registrable_courses,submissions,success) +$def with (open_courses,registrable_courses,submissions,success, additional_divs) $# $# This file is part of INGInious. See the LICENSE and the COPYRIGHTS files for @@ -114,3 +114,8 @@