add coming soon feature
This commit is contained in:
parent
5c626b0212
commit
bde13d4d95
5 changed files with 42 additions and 1 deletions
18
hub/services/migrations/0007_service_is_coming_soon.py
Normal file
18
hub/services/migrations/0007_service_is_coming_soon.py
Normal file
|
@ -0,0 +1,18 @@
|
|||
# Generated by Django 5.1.5 on 2025-02-26 14:17
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("services", "0006_cloudprovider_is_featured_and_more"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name="service",
|
||||
name="is_coming_soon",
|
||||
field=models.BooleanField(default=False),
|
||||
),
|
||||
]
|
|
@ -107,13 +107,22 @@ class Service(models.Model):
|
|||
categories = models.ManyToManyField(Category, related_name="services")
|
||||
features = ProseEditorField()
|
||||
is_featured = models.BooleanField(default=False)
|
||||
is_coming_soon = models.BooleanField(default=False)
|
||||
created_at = models.DateTimeField(auto_now_add=True)
|
||||
updated_at = models.DateTimeField(auto_now=True)
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
def clean(self):
|
||||
if self.is_featured and self.is_coming_soon:
|
||||
raise ValidationError(
|
||||
"A service cannot be both featured and coming soon simultaneously."
|
||||
)
|
||||
super().clean()
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
self.clean() # Ensure validation runs on save
|
||||
if not self.slug:
|
||||
self.slug = slugify(self.name)
|
||||
counter = 1
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<div class="flex-1 pr-lg-40 mb-40 mb-lg-0">
|
||||
<div class="bg-gray-50 rounded-20 p-40">
|
||||
<header>
|
||||
<h2 class="fs-44 fw-semibold mb-40">Enter your details</h2>
|
||||
<h2 class="fs-44 fw-semibold mb-40">Inquiry for {{ service.name }}</h2>
|
||||
</header>
|
||||
|
||||
<form method="post">
|
||||
|
|
|
@ -112,6 +112,16 @@
|
|||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<!-- CTA -->
|
||||
{% if service.is_coming_soon %}
|
||||
<div class="pt-24">
|
||||
<div class="page-action">
|
||||
<a class="btn btn-primary btn-lg mr-md-17 mb-17 mb-md-0px mb-lg-17 mb-xl-0 w-100 w-md-auto" href="{% url 'services:create_lead' service.slug %}"
|
||||
role="button">I'm interested in this service</a>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -159,6 +159,10 @@
|
|||
<div>
|
||||
<a class="btn btn-primary btn-sm" href="">Featured</a>
|
||||
</div>
|
||||
{% elif service.is_coming_soon %}
|
||||
<div>
|
||||
<a class="btn btn-secondary btn-sm" href="">Coming Soon</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue