html web view

This commit is contained in:
rizwanisready
2024-05-24 16:39:00 +05:30
parent ff433e4a76
commit f35ffded81
2 changed files with 109 additions and 73 deletions

View File

@@ -1,6 +1,6 @@
from datetime import timedelta
import json
from django.http import HttpResponseBadRequest, JsonResponse
from django.http import HttpResponseBadRequest, JsonResponse, HttpResponseRedirect
from django.shortcuts import get_object_or_404, redirect, render
import stripe
from accounts import resource_action
@@ -427,8 +427,8 @@ def create_checkout_session(request):
principal_id = request.user.id
if _has_active_principal_subscription(principal_id):
messages.success(request, "Active principal subscription already exists")
return redirect(success_url)
messages.error(request, "Active principal subscription already exists")
return HttpResponseRedirect(success_url)
try:
subscription = Subscription.objects.get(id=subscription_id)

View File

@@ -52,14 +52,7 @@
<!-- baner -->
<section class="baner-section">
<div class="row">
{% for message in messages %}
<div class="alert {{ message.tags }} alert-dismissible messgae-alert mt-3" role="alert">
{{ message }}
</div>
{% endfor %}
</div>
<div class="container">
<div class="row">
<div class="col-md-6">
@@ -81,46 +74,7 @@
<img loading="lazy" src="{% static '/images/menu-right-btn.png' %}" alt>
</a>
</div> -->
{% 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>
{% 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 %}
{% if subscription.plan.days %}
<p class="gold-text mb-0">Days of Subscription: {{ subscription.plan.days }}</p>
{% else %}
<p class="gold-text mb-0">Days of Subscription: Not available</p>
{% endif %}
</div>
<div class="Adventure-btn text-center">
<!-- Add a data attribute to store subscription ID -->
<button class="common-btn subscribe-btn"
data-subscription-id="{{ subscription.id }}">Join now</button>
</div>
</div>
<hr>
{% empty %}
<p>No subscriptions available.</p>
{% endfor %}
</div>
@@ -136,6 +90,55 @@
</section>
<section class="section card_design">
<div class="row">
<div class="col-md-3">
{% 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>
{% 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 %}
{% if subscription.plan.days %}
<p class="gold-text mb-0">Days of Subscription: {{ subscription.plan.days }}</p>
{% else %}
<p class="gold-text mb-0">Days of Subscription: Not available</p>
{% endif %}
</div>
<div class="Adventure-btn text-center">
<!-- Add a data attribute to store subscription ID -->
<button class="common-btn subscribe-btn" data-subscription-id="{{ subscription.id }}">Join
now</button>
</div>
</div>
<hr>
{% empty %}
<p>No subscriptions available.</p>
{% endfor %}
</div>
</div>
</section>
<!-- Key Features -->
<section class="key-features ptb">
<div class="container">
@@ -276,11 +279,13 @@
<div class="accordion" id="accordionExample">
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
<button class="accordion-button" type="button" data-bs-toggle="collapse"
data-bs-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
What types of events does Good Times cover?
</button>
</h2>
<div id="collapseOne" class="accordion-collapse collapse show" data-bs-parent="#accordionExample">
<div id="collapseOne" class="accordion-collapse collapse show"
data-bs-parent="#accordionExample">
<div class="accordion-body">
Good Times covers a wide range of events,
including concerts, sporting events,
@@ -292,125 +297,156 @@
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse"
data-bs-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
What is the Good Times Ltd App?
</button>
</h2>
<div id="collapseTwo" class="accordion-collapse collapse" data-bs-parent="#accordionExample">
<div class="accordion-body">
The Good Times App is a revolutionary mobile application designed to bring people together by providing a comprehensive listing of local and regional events. It caters to a wide range of interests and passions, making it easier for users to find and connect with events they love.
The Good Times App is a revolutionary mobile application designed to bring people
together by providing a comprehensive listing of local and regional events. It caters to
a wide range of interests and passions, making it easier for users to find and connect
with events they love.
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse"
data-bs-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
How does the referral program work?
</button>
</h2>
<div id="collapseThree" class="accordion-collapse collapse" data-bs-parent="#accordionExample">
<div class="accordion-body">
For every new user that signs up for the Good Times App using a referral code, the referrer earns 1 G-Token. The referrer continues to earn G-Tokens for each monthly subscription payment made by the referred user. These tokens can be sold back to Good Times Ltd for cash or used towards event payments.
For every new user that signs up for the Good Times App using a referral code, the
referrer earns 1 G-Token. The referrer continues to earn G-Tokens for each monthly
subscription payment made by the referred user. These tokens can be sold back to Good
Times Ltd for cash or used towards event payments.
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseFour" aria-expanded="false" aria-controls="collapseFour">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse"
data-bs-target="#collapseFour" aria-expanded="false" aria-controls="collapseFour">
What is the value of G-Tokens?
</button>
</h2>
<div id="collapseFour" class="accordion-collapse collapse" data-bs-parent="#accordionExample">
<div class="accordion-body">
G-Tokens are valued at 25% of the minimum monthly subscription cost. The funds from sold G-Tokens are paid into the user's bank account of choice, according to the app's terms and conditions.
G-Tokens are valued at 25% of the minimum monthly subscription cost. The funds from sold
G-Tokens are paid into the user's bank account of choice, according to the app's terms
and conditions.
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseFive" aria-expanded="false" aria-controls="collapseFive">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse"
data-bs-target="#collapseFive" aria-expanded="false" aria-controls="collapseFive">
Is there a limit to how many G-Tokens I can sell?
</button>
</h2>
<div id="collapseFive" class="accordion-collapse collapse" data-bs-parent="#accordionExample">
<div class="accordion-body">
No, there's no limit to the number of G-Tokens you can sell back to Good Times. However, withdrawals can only be made once per month.
No, there's no limit to the number of G-Tokens you can sell back to Good Times. However,
withdrawals can only be made once per month.
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseSix" aria-expanded="false" aria-controls="collapseSix">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse"
data-bs-target="#collapseSix" aria-expanded="false" aria-controls="collapseSix">
How does the app ensure up-to-date information on events?
</button>
</h2>
<div id="collapseSix" class="accordion-collapse collapse" data-bs-parent="#accordionExample">
<div class="accordion-body">
The Good Times App partners with local event organizers and venues, granting them 24-hour control over their event profiles and promotions. This ensures that customers receive the most recent and accurate event information directly from the source.
The Good Times App partners with local event organizers and venues, granting them
24-hour control over their event profiles and promotions. This ensures that customers
receive the most recent and accurate event information directly from the source.
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseSeven" aria-expanded="false" aria-controls="collapseSeven">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse"
data-bs-target="#collapseSeven" aria-expanded="false" aria-controls="collapseSeven">
How are events ranked within the app?
</button>
</h2>
<div id="collapseSeven" class="accordion-collapse collapse" data-bs-parent="#accordionExample">
<div class="accordion-body">
Events are ranked based on a unique algorithm that considers customer interaction, website traffic to the event's page, and the event's 1-to-5 star reviews. This helps users find popular and highly regarded events tailored to their interests.
Events are ranked based on a unique algorithm that considers customer interaction,
website traffic to the event's page, and the event's 1-to-5 star reviews. This helps
users find popular and highly regarded events tailored to their interests.
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseEight" aria-expanded="false" aria-controls="collapseEight">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse"
data-bs-target="#collapseEight" aria-expanded="false" aria-controls="collapseEight">
Can I book events through the Good Times App?
</button>
</h2>
<div id="collapseEight" class="accordion-collapse collapse" data-bs-parent="#accordionExample">
<div class="accordion-body">
No, the app does not facilitate direct event bookings. However, it provides links to event owners' or promoters' websites, where users can make bookings.
No, the app does not facilitate direct event bookings. However, it provides links to
event owners' or promoters' websites, where users can make bookings.
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseNine" aria-expanded="false" aria-controls="collapseNine">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse"
data-bs-target="#collapseNine" aria-expanded="false" aria-controls="collapseNine">
Does Good Times charge for data traffic to event websites?
</button>
</h2>
<div id="collapseNine" class="accordion-collapse collapse" data-bs-parent="#accordionExample">
<div class="accordion-body">
No, Good Times does not charge partners for traffic data to their websites. The app focuses on facilitating easy access to events for users without additional costs for traffic.
No, Good Times does not charge partners for traffic data to their websites. The app
focuses on facilitating easy access to events for users without additional costs for
traffic.
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseTen" aria-expanded="false" aria-controls="collapseTen">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse"
data-bs-target="#collapseTen" aria-expanded="false" aria-controls="collapseTen">
How does Good Times ensure the safety of its users?
</button>
</h2>
<div id="collapseTen" class="accordion-collapse collapse" data-bs-parent="#accordionExample">
<div class="accordion-body">
Safety and security are paramount for Good Times. The app employs the latest technologies and practices to protect user data and privacy. While it vets each event and organizer, it also encourages users to perform their due diligence for added safety.
Safety and security are paramount for Good Times. The app employs the latest
technologies and practices to protect user data and privacy. While it vets each event
and organizer, it also encourages users to perform their due diligence for added safety.
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseEleven" aria-expanded="false" aria-controls="collapseEleven">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse"
data-bs-target="#collapseEleven" aria-expanded="false" aria-controls="collapseEleven">
What happens if I cancel my subscription?
</button>
</h2>
<div id="collapseEleven" class="accordion-collapse collapse" data-bs-parent="#accordionExample">
<div class="accordion-body">
If you cancel your subscription, Good Times offers account recovery, allowing you to pick up where you left off, including any referrals made previously. There is also a 15-day grace period for missed payments, after which wallet funds will be lost if the payment is not made.
If you cancel your subscription, Good Times offers account recovery, allowing you to
pick up where you left off, including any referrals made previously. There is also a
15-day grace period for missed payments, after which wallet funds will be lost if the
payment is not made.
</div>
</div>
</div>