subscription html card updated
This commit is contained in:
@@ -21,7 +21,11 @@ class SubscriptionForm(forms.ModelForm):
|
||||
fields = [
|
||||
"title",
|
||||
"plan",
|
||||
"high_amount",
|
||||
"amount",
|
||||
"short_description",
|
||||
"long_description",
|
||||
"image",
|
||||
"principal_types",
|
||||
] # Include all fields you want from the model
|
||||
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
# Generated by Django 5.0.2 on 2024-04-10 09:15
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("manage_subscriptions", "0002_subscription_principal_types"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name="subscription",
|
||||
name="high_amount",
|
||||
field=models.DecimalField(decimal_places=2, default=0.0, max_digits=14),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="subscription",
|
||||
name="image",
|
||||
field=models.ImageField(
|
||||
blank=True, null=True, upload_to="subscription_img"
|
||||
),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="subscription",
|
||||
name="long_description",
|
||||
field=models.TextField(blank=True, null=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="subscription",
|
||||
name="short_description",
|
||||
field=models.CharField(blank=True, max_length=255, null=True),
|
||||
),
|
||||
]
|
||||
@@ -18,11 +18,13 @@ class Plan(BaseModel):
|
||||
|
||||
class Subscription(BaseModel):
|
||||
title = models.CharField(max_length=255)
|
||||
# short_description = models.CharField(max_length=255, null=True, blank=True)
|
||||
# long_description = models.TextField(null=True, blank=True)
|
||||
short_description = models.CharField(max_length=255, null=True, blank=True)
|
||||
long_description = models.TextField(null=True, blank=True)
|
||||
image = models.ImageField(upload_to="subscription_img", null=True, blank=True)
|
||||
plan = models.ForeignKey(
|
||||
Plan, related_name="subscription_plan", on_delete=models.CASCADE
|
||||
)
|
||||
high_amount = models.DecimalField(max_digits=14, decimal_places=2, default=0.00)
|
||||
amount = models.DecimalField(max_digits=14, decimal_places=2, default=0.00)
|
||||
principal_types = models.ManyToManyField(
|
||||
IAmPrincipalType, related_name="principal_type_subscriptions", blank=True
|
||||
|
||||
@@ -73,19 +73,31 @@
|
||||
<img loading="lazy" src="{% static '/images/menu-right-btn.png' %}" alt>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- <div class="container d-flex justify-content-center align-items-center"
|
||||
style="min-height: 100vh; background-color: #1a1a1a;"> -->
|
||||
<!-- Dark background for the overall page -->
|
||||
{% for subscription in subscriptions %}
|
||||
<div class="feat-card">
|
||||
<div class="card text-center mb-2">
|
||||
<!-- Dark card with gold border -->
|
||||
<h5 class="gold-text mb-0 p-1" style="background-color: #f1d59f6e;">{{ subscription.title }}</h5>
|
||||
<h5 class="gold-text mb-0 p-1" style="background-color: #f1d59f6e;">{{
|
||||
subscription.title }}</h5>
|
||||
{% if subscription.image %}
|
||||
<img src="{{ subscription.image.url }}" alt="{{ subscription.title }}"
|
||||
class="card-img-top">
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="card-body mb-2 text-center"> <!-- Golden text for the body -->
|
||||
{% if subscription.short_description %}
|
||||
<p class="gold-text">{{ subscription.short_description }}</p>
|
||||
{% endif %}
|
||||
{% if subscription.long_description %}
|
||||
<p class="gold-text">{{ subscription.long_description|truncatewords:20 }}</p>
|
||||
{% endif %}
|
||||
<h5 class="card-title gold-text">Subscription Amount</h5>
|
||||
{% if subscription.high_amount and subscription.high_amount > subscription.amount %}
|
||||
<p class="gold-text mb-0"><s>£ {{ subscription.high_amount }}</s> £ {{
|
||||
subscription.amount }}</p>
|
||||
{% else %}
|
||||
<p class="gold-text mb-0">£ {{ subscription.amount }}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="Adventure-btn text-center">
|
||||
<!-- Add a data attribute to store subscription ID -->
|
||||
@@ -98,6 +110,7 @@
|
||||
<p>No subscriptions available.</p>
|
||||
{% endfor %}
|
||||
|
||||
|
||||
</div>
|
||||
<!-- </div> -->
|
||||
|
||||
@@ -427,7 +440,7 @@
|
||||
|
||||
<script>
|
||||
console.log("Sanity check!");
|
||||
|
||||
|
||||
// Get Stripe publishable key
|
||||
fetch("https://goodtimes.betadelivery.com/subscriptions/stripe-subscription/")
|
||||
.then((result) => { return result.json(); })
|
||||
@@ -460,7 +473,7 @@
|
||||
button.disabled = true;
|
||||
// Create checkout session for the selected subscription
|
||||
fetch("https://goodtimes.betadelivery.com/subscriptions/create-checkout-session/", {
|
||||
// fetch("http://192.168.0.101:8000/subscriptions/create-checkout-session/", {
|
||||
// fetch("http://192.168.0.101:8000/subscriptions/create-checkout-session/", {
|
||||
method: "POST",
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
@@ -482,7 +495,7 @@
|
||||
|
||||
|
||||
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user