Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 9 additions & 10 deletions main/tables.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,14 @@
if TYPE_CHECKING: # pragma: no cover
from django.db.models.fields.related_descriptors import ManyRelatedManager


external_link_html = (
'<a href="{}" target="_blank" rel="noopener noreferrer" class="{}">{}</a>'
'<a href="{}" target="_blank" rel="noopener noreferrer" '
'class="text-decoration-none fs-xs fw-semibold">'
'{}<i class="fa-solid fa-arrow-up-right-from-square ms-1" '
'aria-hidden="true"></i></a>'
)
badge_html = '<span class="badge bg-secondary fs-sm">{}</span>'
badge_html = '<span class="badge bg-secondary">{}</span>'


def _render_skills(qs: QuerySet[Skill]) -> SafeString:
Expand Down Expand Up @@ -78,12 +82,7 @@ def render_url(self, value: str | None) -> SafeString:
if not value:
return mark_safe("")

return format_html(
external_link_html,
value,
"",
"Visit website",
)
return format_html(external_link_html, value, "Visit website")


class LearningResourceTable(tables.Table):
Expand All @@ -100,7 +99,7 @@ class Meta:

def render_name(self, value: str, record: LearningResource) -> SafeString:
"""Include the URL in the name."""
return format_html(external_link_html, record.url, "fs-lg", value)
return format_html(external_link_html, record.url, value)

def render_description(self, value: str) -> SafeString:
"""Render the description field."""
Expand Down Expand Up @@ -137,7 +136,7 @@ class Meta:

def render_name(self, value: str, record: ToolLanguageMethodology) -> SafeString:
"""Include the URL in the name."""
return format_html(external_link_html, record.url, "fs-lg", value)
return format_html(external_link_html, record.url, value)

def render_kind(self, value: str) -> SafeString:
"""Render the kind field as a badge."""
Expand Down
2 changes: 2 additions & 0 deletions main/templates/main/pages/learning-provider-detail.html
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ <h1>{{ provider.name }}</h1>
<p>
<a href="{{ provider.url }}" target="_blank" rel="noopener noreferrer">
Visit provider website
<i class="fa-solid fa-arrow-up-right-from-square ms-1 fs-xs"
aria-hidden="true"></i>
</a>
</p>
{% endif %}
Expand Down
31 changes: 26 additions & 5 deletions main/templates/main/pages/skill.html
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,20 @@ <h2 class="h4 mt-5">Learning resources</h2>
{% if resource.url %}
<a href="{{ resource.url }}"
target="_blank"
rel="noopener noreferrer">{{ resource.name }}</a>
rel="noopener noreferrer">
{{ resource.name }}
<i class="fa-solid fa-arrow-up-right-from-square fs-xs"
aria-hidden="true"></i>
</a>
{% else %}
{{ resource.name }}
{% endif %}
{% if resource.provider %}- {{ resource.provider.name }}{% endif %}
{% if resource.provider %}
- Provider:
<a href="{% url 'learning_provider_detail' resource.provider.slug %}">
{{ resource.provider.name }}
</a>
{% endif %}
</li>
{% endfor %}
</ul>
Expand All @@ -55,7 +64,11 @@ <h2 class="h4 mt-5">Tools</h2>
{% if item.url %}
<a href="{{ item.url }}"
target="_blank"
rel="noopener noreferrer">{{ item.name }}</a>
rel="noopener noreferrer">
{{ item.name }}
<i class="fa-solid fa-arrow-up-right-from-square fs-xs"
aria-hidden="true"></i>
</a>
{% else %}
{{ item.name }}
{% endif %}
Expand All @@ -71,7 +84,11 @@ <h2 class="h4 mt-5">Languages</h2>
{% if item.url %}
<a href="{{ item.url }}"
target="_blank"
rel="noopener noreferrer">{{ item.name }}</a>
rel="noopener noreferrer">
{{ item.name }}
<i class="fa-solid fa-arrow-up-right-from-square fs-xs"
aria-hidden="true"></i>
</a>
{% else %}
{{ item.name }}
{% endif %}
Expand All @@ -87,7 +104,11 @@ <h2 class="h4 mt-5">Methodologies</h2>
{% if item.url %}
<a href="{{ item.url }}"
target="_blank"
rel="noopener noreferrer">{{ item.name }}</a>
rel="noopener noreferrer">
{{ item.name }}
<i class="fa-solid fa-arrow-up-right-from-square fs-xs"
aria-hidden="true"></i>
</a>
{% else %}
{{ item.name }}
{% endif %}
Expand Down
12 changes: 9 additions & 3 deletions tests/main/test_tables.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,10 @@ def test_learning_resources_table_render_name(learning_resource: LearningResourc

assert str(rendered) == (
f'<a href="{learning_resource.url}" target="_blank" '
'rel="noopener noreferrer" class="fs-lg">Learning Resource</a>'
'rel="noopener noreferrer" '
'class="text-decoration-none fs-xs fw-semibold">Learning Resource'
'<i class="fa-solid fa-arrow-up-right-from-square ms-1" '
'aria-hidden="true"></i></a>'
)


Expand Down Expand Up @@ -78,7 +81,10 @@ def test_tool_language_methodology_table_render_name(

assert str(rendered) == (
f'<a href="{tool.url}" target="_blank" '
'rel="noopener noreferrer" class="fs-lg">Tool</a>'
'rel="noopener noreferrer" '
'class="text-decoration-none fs-xs fw-semibold">Tool'
'<i class="fa-solid fa-arrow-up-right-from-square ms-1" '
'aria-hidden="true"></i></a>'
)


Expand All @@ -91,7 +97,7 @@ def test_tool_language_methodology_table_render_kind(

rendered = table.render_kind(tool.kind)

assert str(rendered) == '<span class="badge bg-secondary fs-sm">tool</span>'
assert str(rendered) == '<span class="badge bg-secondary">tool</span>'


@pytest.mark.django_db
Expand Down
Loading