Skip to content
Snippets Groups Projects
Commit fa3057fa authored by Nik | Klampfradler's avatar Nik | Klampfradler
Browse files

Merge branch '779-fix-improve-route-generation-management-command' into 'master'

Resolve "Fix/improve route generation management command"

Closes #779

See merge request !1143
parents 2e85e9e7 c80d7db2
No related branches found
No related tags found
Loading
Pipeline #108635 failed
from re import sub
from re import match, sub
from django.apps import apps
from django.core.management.base import BaseCommand, CommandError
......@@ -48,12 +48,19 @@ class Command(BaseCommand):
menu = menu_by_urls[url.name] if url.name in menu_by_urls else None
route_name = f"{app_camel_case}.{camelcase(url.name)}"
url_pattern = url.pattern._route
url_pattern = sub(r"<(?P<val>\w+)>", r":\g<val>", url_pattern)
new_url_pattern_list = []
for url_pattern_part in url_pattern.split("/"):
if match(r"<[\w,:,*]*>", url_pattern_part):
url_pattern_part = sub(r"(<(?P<val>[\w,:,*]*)>)", r":\g<val>", url_pattern_part)
new_url_pattern_list.append(":" + url_pattern_part.split(":")[-1])
else:
new_url_pattern_list.append(url_pattern_part)
url_pattern = "/".join(new_url_pattern_list)
# Start building route
route = "{\n"
route += f' path: "{url_pattern}",\n'
route += ' component: () => import("./components/LegacyBaseTemplate.vue"),\n'
route += ' component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"),\n'
route += f' name: "{route_name}",\n'
if menu:
......@@ -80,14 +87,14 @@ class Command(BaseCommand):
if possible_validators:
permission = possible_validators[0][1]
route += " meta: {{\n"
route += " meta: {\n"
route += " inMenu: true,\n"
route += f' titleKey: "{menu["name"]}", // Needs manual work\n'
if icon:
route += f' icon: "{icon}",\n'
if permission:
route += f' permission: "{permission}",\n'
route += " }},\n"
route += " },\n"
route += "},"
print(route)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment