list service offerings on service provider detail page

This commit is contained in:
Tobias Brunner 2025-02-25 16:19:14 +01:00
parent c595ede167
commit 8bf0579a8e
No known key found for this signature in database

View file

@ -32,26 +32,27 @@
<div class="container mx-auto px-20 px-lg-0 py-60"> <div class="container mx-auto px-20 px-lg-0 py-60">
<h3 class="section-h2 fs-32 fs-lg-48 mb-40 mt-5">Available Services</h3> <h3 class="section-h2 fs-32 fs-lg-48 mb-40 mt-5">Available Services</h3>
<p>The following services are available on {{ provider.name }}</p> <p>The following services are available on {{ provider.name }} through Servala</p>
<div class="row row-cols-1 row-cols-md-2 g-4"> <div class="row row-cols-1 row-cols-md-2 g-4">
{% for service in services %} {% for offering in provider.offerings.all %}
<div class="col"> <div class="col">
<div class="card h-100"> <div class="card h-100">
<div class="card-body"> <div class="card-body">
<div class="d-flex align-items-center mb-3"> <div class="d-flex align-items-center mb-3">
<!-- TODO: link to offering, not service detail page --> {% if offering.service.logo %}
{% if service.logo %} <a href="{{ offering.get_absolute_url }}">
<a href="{{ service.get_absolute_url }}"> <img src="{{ offering.service.logo.url }}" alt="{{ offering.service.name }} logo"
<img src="{{ service.logo.url }}" alt="{{ service.name }} logo"
class="me-3" style="max-height: 50px; max-width: 100px; object-fit: contain;"> class="me-3" style="max-height: 50px; max-width: 100px; object-fit: contain;">
</a> </a>
{% endif %} {% endif %}
<div> <div>
<h5 class="card-title mb-0"><a href="{{ service.get_absolute_url }}" class="text-decoration-none">{{ service.name }}</a></h5> <h5 class="card-title mb-0">
<a href="{{ offering.get_absolute_url }}" class="text-decoration-none">{{ offering.service.name }}</a>
</h5>
</div> </div>
</div> </div>
<div class="card-text description-preview mb-3"> <div class="card-text description-preview mb-3">
{{ service.description|safe|truncatewords_html:30 }} {{ offering.description|safe|truncatewords_html:30 }}
</div> </div>
</div> </div>
</div> </div>