Compare commits

...

6 commits

Author SHA1 Message Date
f2c867b521
add consulting partner note to service detail page
All checks were successful
Build and Deploy / build (push) Successful in 35s
Build and Deploy / deploy (push) Successful in 4s
2025-03-10 12:08:53 +01:00
a4a978eb2f
customize admin theme 2025-03-10 12:05:02 +01:00
69766948c1
show more info on admin list 2025-03-10 11:55:39 +01:00
975d532a76
better text alignment on provider list 2025-03-10 11:15:05 +01:00
10a82336b3
fix logo size in provider listing 2025-03-10 11:00:00 +01:00
e71e69a84e
update email address 2025-03-10 08:39:53 +01:00
6 changed files with 29 additions and 9 deletions

View file

@ -69,7 +69,7 @@ class CategoryAdmin(admin.ModelAdmin):
@admin.register(CloudProvider) @admin.register(CloudProvider)
class CloudProviderAdmin(admin.ModelAdmin): class CloudProviderAdmin(admin.ModelAdmin):
list_display = ("name", "slug", "logo_preview") list_display = ("name", "slug", "logo_preview", "disable_listing", "is_featured")
search_fields = ("name", "description") search_fields = ("name", "description")
prepopulated_fields = {"slug": ("name",)} prepopulated_fields = {"slug": ("name",)}
inlines = [OfferingInline] inlines = [OfferingInline]
@ -130,7 +130,7 @@ class ServiceOfferingAdmin(admin.ModelAdmin):
@admin.register(ConsultingPartner) @admin.register(ConsultingPartner)
class ConsultingPartnerAdmin(admin.ModelAdmin): class ConsultingPartnerAdmin(admin.ModelAdmin):
list_display = ("name", "website", "logo_preview") list_display = ("name", "website", "logo_preview", "disable_listing", "is_featured")
search_fields = ("name", "description") search_fields = ("name", "description")
prepopulated_fields = {"slug": ("name",)} prepopulated_fields = {"slug": ("name",)}
filter_horizontal = ("services", "cloud_providers") filter_horizontal = ("services", "cloud_providers")

View file

@ -167,7 +167,7 @@
</a> </a>
</li> </li>
<li> <li>
<a class="d-flex align-items-center" href="mailto:hi@serva.la"> <a class="d-flex align-items-center" href="mailto:hi@servala.com">
<span class="pr-10"> <span class="pr-10">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<mask id="mask0_3315_428" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" <mask id="mask0_3315_428" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0"
@ -181,7 +181,7 @@
</g> </g>
</svg> </svg>
</span> </span>
<span>hi@serva.la</span> <span>hi@servala.com</span>
</a> </a>
</li> </li>
<li> <li>

View file

@ -155,7 +155,7 @@
<div class="row"> <div class="row">
<div class="col-12 col-lg-4 mb-30 mb-lg-0"> <div class="col-12 col-lg-4 mb-30 mb-lg-0">
<div class="section-logo mx-auto"> <div class="section-logo mx-auto">
<img class="img-fluid" src="{% static "img/section-logo.png" %}" alt="Sir Vala mascot"> <img class="img-fluid" src="{% static "img/section-logo.png" %}" alt="Servala logo">
</div> </div>
</div> </div>
<div class="col-12 col-lg-8"> <div class="col-12 col-lg-8">

View file

@ -99,14 +99,14 @@
<a href="{{ provider.get_absolute_url }}"> <a href="{{ provider.get_absolute_url }}">
<img src="{{ provider.logo.url }}" <img src="{{ provider.logo.url }}"
alt="{{ provider.name }}" alt="{{ provider.name }}"
style="max-height: 180px; max-width: 250px; object-fit: contain;"> style="max-height: 100px; max-width: 250px; object-fit: contain;">
</a> </a>
</div> </div>
</div> </div>
</div> </div>
<div class="card__desc rich-text-content" style="align-self: flex-start;"> <div class="card__desc flex-grow-1 rich-text-content">
{{ provider.description|safe|truncatewords_html:50 }} {{ provider.description|safe|truncatewords_html:30 }}
</div> </div>
<div class="card__footer mt-3"> <div class="card__footer mt-3">
@ -138,7 +138,7 @@
<div class="row"> <div class="row">
<div class="col-12 col-lg-4 mb-30 mb-lg-0"> <div class="col-12 col-lg-4 mb-30 mb-lg-0">
<div class="section-logo mx-auto"> <div class="section-logo mx-auto">
<img class="img-fluid" src="{% static "img/section-logo.png" %}" alt="Sir Vala mascot"> <img class="img-fluid" src="{% static "img/section-logo.png" %}" alt="Servala logo">
</div> </div>
</div> </div>
<div class="col-12 col-lg-8"> <div class="col-12 col-lg-8">

View file

@ -52,6 +52,7 @@
{% if service.consulting_partners.exists %} {% if service.consulting_partners.exists %}
<div class="mb-40"> <div class="mb-40">
<h3 class="fw-semibold mb-12">Consulting Partners</h3> <h3 class="fw-semibold mb-12">Consulting Partners</h3>
<p>If you want to get the most out of your {{ service.name }}, our consulting partners can help you optimize your setup and application:</p>
<ul class="list-unstyled space-y-12 fs-19 ps-0"> <ul class="list-unstyled space-y-12 fs-19 ps-0">
{% for partner in service.consulting_partners.all %} {% for partner in service.consulting_partners.all %}
<li> <li>

View file

@ -207,3 +207,22 @@ SCHEMA_VIEWER = {
"auth": ["User"], "auth": ["User"],
}, },
} }
JAZZMIN_SETTINGS = {
"site_title": "Servala Admin",
"site_header": "Servala",
"site_brand": "Servala",
"site_logo": "img/section-logo.png",
"welcome_sign": "Welcome to Servala Admin",
"copyright": "VSHN AG",
"topmenu_links": [
{"name": "Home", "url": "admin:index"},
{
"name": "Website",
"url": "https://servala.com",
"new_window": True,
},
],
"show_sidebar": True,
"navigation_expanded": True,
}