Skip to content
Snippets Groups Projects
Commit a8e10463 authored by slobinger's avatar slobinger
Browse files

Merge branch '15-make-possible-external-urls' into 'master'

Resolve "externe urls ermöglichen"

Closes #15

See merge request !9
parents 877eb550 f5a58255
No related branches found
No related tags found
1 merge request!9Resolve "externe urls ermöglichen"
......@@ -95,7 +95,9 @@ class SAMSApp:
for element in menuPattern:
entry = {
'url': self._generate_url(
urlPart = element['url'], urlPrefix = urlPrefix),
urlPart = element['url'], urlPrefix = urlPrefix,
external = element.get('external', False)
),
'name': self.lang(langCode)[element['name_string']]}
if element.get('menu'):
entry['menu'] = self._get_men_entries(
......@@ -104,7 +106,10 @@ class SAMSApp:
entries.append(entry)
return entries
def _generate_url(self, urlPrefix: str, urlPart: str = '') -> str:
def _generate_url(
self, urlPrefix: str, urlPart: str = '', external = False ) -> str:
if external:
return urlPart
urlPrefix = urlPrefix.strip('/')
urlPart = urlPart.strip('/')
urlElements = []
......
......@@ -156,6 +156,21 @@ class TestSAMSApp(unittest.TestCase):
self.assertEqual(menu[0]['url'], '/test')
self.assertEqual(menu[1]['url'], '/test/1')
def test_app_menu_external_urls(self):
"""app.menu(lanCode, prefix) ignors external urls for prefix"""
manifest = {
'default_language': 'en', 'menu': [
{'url': '', 'name_string': '0'},
{'url': 'http://zib.de', 'name_string': '1', 'external': True}
]
}
langDict = {'0': 'main', '1': 'second'}
app = SAMSApp(name = 'test', manifest = manifest
, langDict = {'en': langDict})
menu = app.menu(langCode = 'en', urlPrefix = '/test')
self.assertEqual(menu[0]['url'], '/test')
self.assertEqual(menu[1]['url'], 'http://zib.de')
def test_app_proxies_list(self):
""" app.proxies provides list even if no proxy is defined in manifest"""
app = SAMSApp(name = 'test', manifest = {'default_language': 'de'},
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment