diff --git a/.forgejo/workflows/build-deploy.yaml b/.forgejo/workflows/build-deploy.yaml index 3b8eaaa..8662a4e 100644 --- a/.forgejo/workflows/build-deploy.yaml +++ b/.forgejo/workflows/build-deploy.yaml @@ -52,13 +52,14 @@ jobs: run: | mkdir -p $HOME/.kube echo "${{ secrets.KUBECONFIG }}" > $HOME/.kube/config + cat $HOME/.kube/config chmod 600 $HOME/.kube/config - name: Deploy to OpenShift uses: docker://docker.io/appuio/oc:v4.16 with: entrypoint: /bin/bash - args: -c "oc -n ${NAMESPACE} apply --overwrite -f deployment/ && oc -n ${NAMESPACE} rollout restart deployment/servala" + args: -c "echo $KUBECONFIG && cat $KUBECONFIG && oc -n ${NAMESPACE} apply --overwrite -f deployment/ && oc -n ${NAMESPACE} rollout restart deployment/servala" env: NAMESPACE: ${{ vars.NAMESPACE }} KUBECONFIG: $HOME/.kube/config diff --git a/hub/services/admin.py b/hub/services/admin.py index 5965c8b..086aafb 100644 --- a/hub/services/admin.py +++ b/hub/services/admin.py @@ -11,6 +11,7 @@ from .models import ( ReusableText, Service, ServiceOffering, + WebsiteFaq, ) @@ -126,3 +127,10 @@ class ConsultingPartnerAdmin(admin.ModelAdmin): class LeadAdmin(admin.ModelAdmin): list_display = ("name", "company", "created_at", "odoo_lead_id") search_fields = ("name", "company") + + +@admin.register(WebsiteFaq) +class WebsiteFaqAdmin(admin.ModelAdmin): + list_display = ("question", "order") + search_fields = ("question", "answer") + ordering = ("order",) diff --git a/hub/services/migrations/0018_websitefaq.py b/hub/services/migrations/0018_websitefaq.py new file mode 100644 index 0000000..1dd7f63 --- /dev/null +++ b/hub/services/migrations/0018_websitefaq.py @@ -0,0 +1,32 @@ +# Generated by Django 5.1.5 on 2025-03-06 10:18 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("services", "0017_service_tagline"), + ] + + operations = [ + migrations.CreateModel( + name="WebsiteFaq", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("question", models.CharField(max_length=200)), + ("answer", models.TextField()), + ], + options={ + "ordering": ["question"], + }, + ), + ] diff --git a/hub/services/migrations/0019_alter_websitefaq_options_websitefaq_order.py b/hub/services/migrations/0019_alter_websitefaq_options_websitefaq_order.py new file mode 100644 index 0000000..ad2ac32 --- /dev/null +++ b/hub/services/migrations/0019_alter_websitefaq_options_websitefaq_order.py @@ -0,0 +1,22 @@ +# Generated by Django 5.1.5 on 2025-03-06 10:30 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("services", "0018_websitefaq"), + ] + + operations = [ + migrations.AlterModelOptions( + name="websitefaq", + options={"ordering": ["order"]}, + ), + migrations.AddField( + model_name="websitefaq", + name="order", + field=models.IntegerField(default=0), + ), + ] diff --git a/hub/services/models.py b/hub/services/models.py index 9b126bd..0a70614 100644 --- a/hub/services/models.py +++ b/hub/services/models.py @@ -337,3 +337,15 @@ class Lead(models.Model): def __str__(self): return f"{self.name} - {self.company} ({self.service})" + + +class WebsiteFaq(models.Model): + question = models.CharField(max_length=200) + answer = ProseEditorField() + order = models.IntegerField(default=0) + + class Meta: + ordering = ["order"] + + def __str__(self): + return self.question diff --git a/hub/services/templates/services/homepage.html b/hub/services/templates/services/homepage.html index 258ccbc..8d68f96 100644 --- a/hub/services/templates/services/homepage.html +++ b/hub/services/templates/services/homepage.html @@ -184,4 +184,39 @@ +
+
+
+

Frequenty Asked Questions

+
+

Still need more information? Read our FAQ or contact us to learn more about the Servala.

+
+
+
+ {% for faq in websitefaqs %} +
+
+ +
+
+

{{ faq.answer|safe }}

+
+
+ {% endfor %} + +
+
+
{% endblock %} \ No newline at end of file diff --git a/hub/services/views/pages.py b/hub/services/views/pages.py index f1cc360..e887768 100644 --- a/hub/services/views/pages.py +++ b/hub/services/views/pages.py @@ -1,5 +1,5 @@ from django.shortcuts import render -from hub.services.models import Service, CloudProvider, ConsultingPartner +from hub.services.models import Service, CloudProvider, ConsultingPartner, WebsiteFaq def homepage(request): @@ -13,10 +13,13 @@ def homepage(request): is_featured=True ).prefetch_related("services", "cloud_providers")[:4] + websitefaqs = WebsiteFaq.objects.all().order_by("order") + context = { "featured_services": featured_services, "featured_providers": featured_providers, "featured_partners": featured_partners, + "websitefaqs": websitefaqs, } return render(request, "services/homepage.html", context)