html web view
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user