subscription html card updated

This commit is contained in:
rizwanisready
2024-04-10 14:53:30 +05:30
parent 34892e435d
commit a3ea63dbab
4 changed files with 64 additions and 10 deletions

View File

@@ -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

View File

@@ -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),
),
]

View File

@@ -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

View File

@@ -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>