Add Edge Template (#33)

Co-authored-by: Tim Lorsbach <tim@lorsba.ch>
Reviewed-on: enviPath/enviPy#33
This commit is contained in:
2025-07-23 07:50:39 +12:00
parent 43c95e3da7
commit 2c4c9d95d9
2 changed files with 126 additions and 1 deletions

View File

@ -159,7 +159,8 @@ def _anonymous_or_real(request):
return get_user_model().objects.get(username='anonymous')
def breadcrumbs(first_level_object=None, second_level_namespace=None, second_level_object=None) -> List[Dict[str, str]]:
def breadcrumbs(first_level_object=None, second_level_namespace=None, second_level_object=None,
third_level_namespace=None, third_level_object=None) -> List[Dict[str, str]]:
bread = [
{'Home': s.SERVER_URL},
{'Package': s.SERVER_URL + '/package'},
@ -173,6 +174,12 @@ def breadcrumbs(first_level_object=None, second_level_namespace=None, second_lev
if second_level_object is not None:
bread.append({second_level_object.name: second_level_object.url})
if third_level_namespace is not None:
bread.append({f'{third_level_namespace}'.capitalize(): second_level_object.url + f'/{third_level_namespace}'})
if third_level_object is not None:
bread.append({third_level_object.name: third_level_object.url})
return bread
@ -1432,6 +1439,16 @@ def package_pathway_edge(request, package_uuid, pathway_uuid, edge_uuid):
svg_data = current_edge.as_svg
return HttpResponse(svg_data, content_type="image/svg+xml")
context = get_base_context(request)
context['title'] = f'enviPath - {current_package.name} - {current_pathway.name} - {current_edge.edge_label.name}'
context['meta']['current_package'] = current_package
context['object_type'] = 'reaction'
context['breadcrumbs'] = breadcrumbs(current_package, 'pathway', current_pathway, 'edge', current_edge)
context['edge'] = current_edge
return render(request, 'objects/edge.html', context)
elif request.method == 'POST':
if s.DEBUG:
for k, v in request.POST.items():