Skip to content

Commit d270a67

Browse files
authored
Merge pull request #3593 from stsewd/redirect-repr
Show URLS for exact redirect
2 parents 3934c35 + a0790e4 commit d270a67

File tree

2 files changed

+32
-10
lines changed

2 files changed

+32
-10
lines changed

readthedocs/redirects/models.py

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -78,13 +78,30 @@ class Meta(object):
7878
ordering = ('-update_dt',)
7979

8080
def __str__(self):
81-
if self.redirect_type == 'prefix':
82-
return ugettext('Prefix Redirect:') + ' %s ->' % self.from_url
83-
elif self.redirect_type == 'page':
84-
return ugettext('Page Redirect:') + ' %s -> %s' % (
85-
self.from_url,
86-
self.to_url)
87-
return ugettext('Redirect: %s' % self.get_redirect_type_display())
81+
redirect_text = '{type}: {from_to_url}'
82+
if self.redirect_type in ['prefix', 'page', 'exact']:
83+
return redirect_text.format(
84+
type=self.get_redirect_type_display(),
85+
from_to_url=self.get_from_to_url_display()
86+
)
87+
return ugettext('Redirect: {}'.format(
88+
self.get_redirect_type_display())
89+
)
90+
91+
def get_from_to_url_display(self):
92+
if self.redirect_type in ['prefix', 'page', 'exact']:
93+
from_url = self.from_url
94+
to_url = self.to_url
95+
if self.redirect_type == 'prefix':
96+
to_url = '/{lang}/{version}/'.format(
97+
lang=self.project.language,
98+
version=self.project.default_version
99+
)
100+
return '{from_url} -> {to_url}'.format(
101+
from_url=from_url,
102+
to_url=to_url
103+
)
104+
return ''
88105

89106
def get_full_path(self, filename, language=None, version_slug=None):
90107
"""

readthedocs/templates/projects/project_redirects.html

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,14 @@ <h3>{% trans "Redirects" %}</h3>
8282
<ul>
8383
{% for redirect in redirects %}
8484
<li class="module-item">
85-
<span>
86-
{{ redirect }}
87-
</span>
85+
<div>
86+
{{ redirect.get_redirect_type_display }}
87+
</div>
88+
{% if redirect.get_from_to_url_display %}
89+
<div>
90+
{{ redirect.get_from_to_url_display }}
91+
</div>
92+
{% endif %}
8893
<ul class="module-item-menu">
8994
<li>
9095
<form method="post" action="{% url "projects_redirects_delete" project.slug %}">

0 commit comments

Comments
 (0)