Skip to content

Commit 6784496

Browse files
[BUGFIX] "Home" link in some breadcrumbs redirects to "Services" page #588
2 parents 58601da + 2224c3b commit 6784496

14 files changed

+33
-62
lines changed

promgen/templates/promgen/farm_detail.html

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{% extends "base.html" %}
22
{% load i18n %}
3+
{% load promgen %}
34

45
{% block content %}
56

@@ -12,11 +13,7 @@ <h1>
1213
</h1>
1314
</div>
1415

15-
<ol class="breadcrumb" v-pre>
16-
<li><a href="{% url 'service-list' %}">Home</a></li>
17-
<li><a href="{% url 'farm-list' %}">Farms</a></li>
18-
<li class="active"><a href="{% url 'farm-detail' farm.id %}">{{ farm.name }}</a></li>
19-
</ol>
16+
{% breadcrumb farm %}
2017

2118
<div class="row" v-pre>
2219

promgen/templates/promgen/farm_duplicate.html

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
{% extends "base.html" %}
2+
{% load promgen %}
23

34
{% block content %}
45

5-
<ol class="breadcrumb">
6-
<li><a href="{% url 'service-list' %}">Home</a></li>
7-
<li class="active">Convert Farm</li>
8-
</ol>
6+
{% breadcrumb label="Convert Farm" %}
97

108
<div class="panel panel-warning" v-pre>
119
<div class="panel-heading">Error converting farm. Duplicate detected</div>

promgen/templates/promgen/farm_form.html

+2-6
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,13 @@
11
{% extends "base.html" %}
2+
{% load promgen %}
23

34
{% block content %}
45

56
<div class="page-header" v-pre>
67
<h1>Project: {{ project.name }}</h1>
78
</div>
89

9-
<ol class="breadcrumb" v-pre>
10-
<li><a href="{% url 'service-list' %}">Home</a></li>
11-
<li><a href="{% url 'service-detail' project.service.id %}">{{ project.service.name }}</a></li>
12-
<li><a href="{% url 'project-detail' project.id %}">{{ project.name }}</a></li>
13-
<li class="active">{{ view.button_label }}</li>
14-
</ol>
10+
{% breadcrumb project view.button_label %}
1511

1612
<form method="post" v-pre>{% csrf_token %}
1713
{{ form.as_p }}

promgen/templates/promgen/host_404.html

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{% extends "base.html" %}
2+
{% load promgen %}
23

34
{% block title %}No hosts found for {{ slug }}{% endblock %}
45

@@ -7,10 +8,7 @@
78
<h1>Host: {{ slug }}</h1>
89
</div>
910

10-
<ol class="breadcrumb" v-pre>
11-
<li><a href="{% url 'service-list' %}">Home</a></li>
12-
<li class="active">{{ slug }}</li>
13-
</ol>
11+
{% breadcrumb label=slug %}
1412

1513
<div class="alert alert-danger" role="alert" v-pre>
1614
No hosts found for {{ slug }}

promgen/templates/promgen/host_detail.html

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
{% extends "base.html" %}
22
{% load i18n %}
3+
{% load promgen %}
34
{% block content %}
45

56
<div class="page-header" v-pre>
67
<h1>Host: {{ slug }}</h1>
78
</div>
89

9-
<ol class="breadcrumb" v-pre>
10-
<li><a href="{% url 'service-list' %}">Home</a></li>
11-
<li class="active">{{ slug }}</li>
12-
</ol>
10+
{% breadcrumb label=slug %}
1311

1412
<div style="display:none" data-instance="{{slug}}" class="panel panel-danger promgen-alert">
1513
<div class="panel-heading">Alerts</div>

promgen/templates/promgen/host_form.html

+2-6
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,14 @@
11
{% extends "base.html" %}
22
{% load i18n %}
3+
{% load promgen %}
34

45
{% block content %}
56

67
<div class="page-header" v-pre>
78
<h1>Farm: {{ farm.name }}</h1>
89
</div>
910

10-
<ol class="breadcrumb" v-pre>
11-
<li><a href="{% url 'service-list' %}">Home</a></li>
12-
<li><a href="{% url 'service-detail' project.service.id %}">{{ project.service.name }}</a></li>
13-
<li><a href="{% url 'project-detail' project.id %}">{{ project.name }}</a></li>
14-
<li class="active">Add hosts to {{ farm.name }}</li>
15-
</ol>
11+
{% breadcrumb project label="Add hosts to "|add:farm.name %}
1612

1713
<form action="{% url 'hosts-add' farm.id %}" method="post" v-pre>{% csrf_token %}
1814
<table>

promgen/templates/promgen/host_list.html

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
{% extends "base.html" %}
2+
{% load promgen %}
23

34
{% block content %}
45

56
<div class="page-header">
67
<h1>Hosts</h1>
78
</div>
89

9-
<ol class="breadcrumb">
10-
<li><a href="{% url 'service-list' %}">Home</a></li>
11-
<li class="active">All Hosts</li>
12-
</ol>
10+
{% breadcrumb label="All Hosts" %}
11+
1312
{% include "promgen/pagination_short.html" with page_obj=host_groups %}
1413
<div class="panel panel-default">
1514
<table class="table table-bordered table-condensed">

promgen/templates/promgen/import_form.html

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
{% extends "base.html" %}
2+
{% load promgen %}
23

34
{% block content %}
45

56
<div class="page-header">
67
<h1>Import Configs</h1>
78
</div>
89

9-
<ol class="breadcrumb">
10-
<li><a href="{% url 'service-list' %}">Home</a></li>
11-
<li class="active">Import Service</li>
12-
</ol>
10+
{% breadcrumb label="Import Service" %}
1311

1412
<div class="panel panel-default">
1513
<div class="panel-heading">Import Targets</div>

promgen/templates/promgen/link_farm.html

+2-6
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,13 @@
11
{% extends "base.html" %}
2+
{% load promgen %}
23

34
{% block content %}
45

56
<div class="page-header" v-pre>
67
<h1>Project: {{ project.name }}</h1>
78
</div>
89

9-
<ol class="breadcrumb" v-pre>
10-
<li><a href="{% url 'service-list' %}">Home</a></li>
11-
<li><a href="{% url 'service-detail' project.service.id %}">{{ project.service.name }}</a></li>
12-
<li><a href="{% url 'project-detail' project.id %}">{{ project.name }}</a></li>
13-
<li class="active">Link Farm {{ source }}</li>
14-
</ol>
10+
{% breadcrumb project label="Link Farm "|add:source %}
1511

1612
<div class="panel panel-default" v-pre>
1713
<div class="panel-heading">

promgen/templates/promgen/rule_import.html

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
{% extends "base.html" %}
2+
{% load promgen %}
23

34
{% block content %}
45

56
<div class="page-header">
67
<h1>Import Rules</h1>
78
</div>
89

9-
<ol class="breadcrumb">
10-
<li><a href="{% url 'service-list' %}">Home</a></li>
11-
<li class="active">Import Rule</li>
12-
</ol>
10+
{% breadcrumb label="Import Rule" %}
1311

1412
<div class="panel panel-default">
1513
<div class="panel-heading">Import Rules</div>

promgen/templates/promgen/rule_list.html

+1-4
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,7 @@
77
<h1>Rules</h1>
88
</div>
99

10-
<ol class="breadcrumb">
11-
<li><a href="{% url 'service-list' %}">Home</a></li>
12-
<li class="active">List Rules</li>
13-
</ol>
10+
{% breadcrumb label="List Rules" %}
1411
{% include "promgen/pagination_short.html" %}
1512
{% regroup rule_list by content_object as grouped_rule_list %}
1613

promgen/templates/promgen/search.html

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
{% extends "base.html" %}
22
{% load i18n %}
3+
{% load promgen %}
34
{% block content %}
45

56
<div class="page-header">
67
<h1>Search</h1>
78
</div>
89

9-
<ol class="breadcrumb">
10-
<li><a href="{% url 'service-list' %}">Home</a></li>
11-
<li class="active">Search</li>
12-
</ol>
10+
{% breadcrumb label="Search" %}
1311

1412
{% include "promgen/pagination_short.html" %}
1513
{% if service_list %}

promgen/templates/promgen/url_form.html

+2-6
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,13 @@
11
{% extends "base.html" %}
2+
{% load promgen %}
23

34
{% block content %}
45

56
<div class="page-header">
67
<h1 v-pre>Project: {{ project.name }}</h1>
78
</div>
89

9-
<ol class="breadcrumb" v-pre>
10-
<li><a href="{% url 'service-list' %}">Home</a></li>
11-
<li><a href="{% url 'service-detail' project.service.id %}">{{ project.service.name }}</a></li>
12-
<li><a href="{% url 'project-detail' project.id %}">{{ project.name }}</a></li>
13-
<li class="active">Add URL to {{ farm.name }}</li>
14-
</ol>
10+
{% breadcrumb project label="Add URL" %}
1511

1612
<form action="{% url 'url-new' project.id %}" method="post" v-pre>{% csrf_token %}
1713
<table>

promgen/templatetags/promgen.py

+7-1
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,10 @@ def sender(obj):
155155
if obj.content_type.model == "project":
156156
yield from project(obj.content_object)
157157

158+
def farm(obj):
159+
yield reverse("farm-list"), _("Farms")
160+
yield obj.get_absolute_url(), obj.name
161+
158162
def generator():
159163
yield reverse("home"), _("Home")
160164
if isinstance(instance, models.Sender):
@@ -169,9 +173,11 @@ def generator():
169173
yield from rule(instance)
170174
if isinstance(instance, models.Alert):
171175
yield from alert(instance)
176+
if isinstance(instance, models.Farm):
177+
yield from farm(instance)
172178

173179
def to_tag():
174-
yield '<ol class="breadcrumb">'
180+
yield '<ol class="breadcrumb" v-pre>'
175181
for href, text in generator():
176182
yield format_html('<li><a href="{}">{}</a></li>', mark_safe(href), text)
177183
if label:

0 commit comments

Comments
 (0)