Skip to content
Snippets Groups Projects
Commit c863a33b authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Merge branch '818-links-in-object-column-of-data-check-table-is-broken' into 'master'

Resolve "Links in object column of data check table is broken"

Closes #818

See merge request !1223
parents ccce4818 d0d01f2d
No related branches found
No related tags found
Loading
Pipeline #125166 failed
...@@ -63,6 +63,7 @@ Fixed ...@@ -63,6 +63,7 @@ Fixed
* 2FA via messages or phone calls didn't work. * 2FA via messages or phone calls didn't work.
* [Dev] Site reference on extensible models can no longer cause name clashes * [Dev] Site reference on extensible models can no longer cause name clashes
because of its related name. because of its related name.
* Links to data check objects did not work properly.
Removed Removed
~~~~~~~ ~~~~~~~
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
{% extends "core/base.html" %} {% extends "core/base.html" %}
{% load data_helpers %} {% load data_helpers %}
{% load html_helpers %}
{% load i18n %} {% load i18n %}
{% load render_table from django_tables2 %} {% load render_table from django_tables2 %}
...@@ -59,9 +60,11 @@ ...@@ -59,9 +60,11 @@
<td>{{ result.related_object }}</td> <td>{{ result.related_object }}</td>
<td>{{ result.related_check.problem_name }}</td> <td>{{ result.related_check.problem_name }}</td>
<td> <td>
<a class="btn-flat waves-effect waves-light" href="{{ result.related_object.get_absolute_url }}"> {% if result.related_object.get_absolute_url %}
<a class="btn-flat waves-effect waves-light" href="{{ result.related_object.get_absolute_url|remove_prefix:"/django/" }}" target="_blank">
{% trans "Show object" %} {% trans "Show object" %}
</a> </a>
{% endif %}
</td> </td>
<td> <td>
{% for option_name, option in result.related_check.solve_options.items %} {% for option_name, option in result.related_check.solve_options.items %}
......
import random import random
import string import string
from urllib.parse import urlparse
from django import template from django import template
from django.shortcuts import reverse from django.shortcuts import reverse
...@@ -28,6 +29,24 @@ def add_class_to_el(value: str, arg: str) -> str: ...@@ -28,6 +29,24 @@ def add_class_to_el(value: str, arg: str) -> str:
return str(soup) return str(soup)
@register.filter
def remove_prefix(value: str, prefix: str) -> str:
"""Remove prefix of a url.
:Example:
.. code-block::
{{ object.get_absolute_url|remove_prefix: "/django/" }}
"""
url = urlparse(value)
if url.path.startswith(prefix):
url = url._replace(path=url.path[len(prefix) :])
return url.geturl()
@register.simple_tag @register.simple_tag
def generate_random_id(prefix: str, length: int = 10) -> str: def generate_random_id(prefix: str, length: int = 10) -> str:
"""Generate a random ID for templates. """Generate a random ID for templates.
......
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