Compare commits
No commits in common. "fa6ac5334efc42012dc14014d316e8eaee12c43e" and "d8cc90188e4a6662e5a0bbe3493c57397f4e0da6" have entirely different histories.
fa6ac5334e
...
d8cc90188e
3 changed files with 58 additions and 71 deletions
|
@ -1,5 +1,4 @@
|
||||||
from django import forms
|
from django import forms
|
||||||
from django.db.models import Q
|
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
from servala.core.models import (
|
from servala.core.models import (
|
||||||
|
@ -19,17 +18,13 @@ class ServiceFilterForm(forms.Form):
|
||||||
cloud_provider = forms.ModelChoiceField(
|
cloud_provider = forms.ModelChoiceField(
|
||||||
queryset=CloudProvider.objects.all(), required=False
|
queryset=CloudProvider.objects.all(), required=False
|
||||||
)
|
)
|
||||||
q = forms.CharField(label=_("Search"), required=False)
|
q = forms.CharField(required=False)
|
||||||
|
|
||||||
def filter_queryset(self, queryset):
|
def filter_queryset(self, queryset):
|
||||||
if category := self.cleaned_data.get("category"):
|
if category := self.cleaned_data.get("category"):
|
||||||
queryset = queryset.filter(category=category)
|
queryset = queryset.filter(category=category)
|
||||||
if cloud_provider := self.cleaned_data.get("cloud_provider"):
|
if cloud_provider := self.cleaned_data.get("cloud_provider"):
|
||||||
queryset = queryset.filter(offerings__provider=cloud_provider)
|
queryset = queryset.filter(offerings__provider=cloud_provider)
|
||||||
if search := self.cleaned_data.get("q"):
|
|
||||||
queryset = queryset.filter(
|
|
||||||
Q(name__icontains=search) | Q(category__name__icontains=search)
|
|
||||||
)
|
|
||||||
return queryset
|
return queryset
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -28,10 +28,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
|
||||||
{% for offering in service.offerings.all %}
|
{% for offering in service.offerings.all %}
|
||||||
<div class="col-6 col-lg-3 col-md-4">
|
<div class="card col-6 col-lg-3 col-md-4">
|
||||||
<div class="card">
|
|
||||||
<div class="card-header d-flex align-items-center">
|
<div class="card-header d-flex align-items-center">
|
||||||
{% if offering.provider.logo %}
|
{% if offering.provider.logo %}
|
||||||
<img src="{{ offering.provider.logo.url }}"
|
<img src="{{ offering.provider.logo.url }}"
|
||||||
|
@ -56,7 +54,6 @@
|
||||||
<a href="offering/{{ offering.pk }}/" class="btn btn-light-primary">{% translate "Read More" %}</a>
|
<a href="offering/{{ offering.pk }}/" class="btn btn-light-primary">{% translate "Read More" %}</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
{% empty %}
|
{% empty %}
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
|
@ -64,6 +61,5 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
|
||||||
</section>
|
</section>
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|
|
@ -16,10 +16,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
|
||||||
{% for service in services %}
|
{% for service in services %}
|
||||||
<div class="col-6 col-lg-3 col-md-4">
|
<div class="card col-6 col-lg-3 col-md-4">
|
||||||
<div class="card">
|
|
||||||
<div class="card-header d-flex align-items-center">
|
<div class="card-header d-flex align-items-center">
|
||||||
{% if service.logo %}
|
{% if service.logo %}
|
||||||
<img src="{{ service.logo.url }}"
|
<img src="{{ service.logo.url }}"
|
||||||
|
@ -41,7 +39,6 @@
|
||||||
<a href="{{ service.slug }}/" class="btn btn-light-primary">{% translate "Read More" %}</a>
|
<a href="{{ service.slug }}/" class="btn btn-light-primary">{% translate "Read More" %}</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
{% empty %}
|
{% empty %}
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
|
@ -49,7 +46,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
|
||||||
</section>
|
</section>
|
||||||
<script src="{% static "js/autosubmit.js" %}" defer></script>
|
<script src="{% static "js/autosubmit.js" %}" defer></script>
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue