36987-vm/core/views.py
Flatlogic Bot fdb06c9979 v1
2025-12-16 03:38:16 +00:00

126 lines
3.6 KiB
Python

import os
import platform
from django import get_version as django_version
from django.shortcuts import render, redirect
from django.contrib.auth import login, authenticate, logout
from django.contrib.auth.forms import AuthenticationForm, UserCreationForm
from django.utils import timezone
def home(request):
"""Render the landing screen with loader and environment details."""
host_name = request.get_host().lower()
agent_brand = "AppWizzy" if host_name == "appwizzy.com" else "Flatlogic"
now = timezone.now()
context = {
"project_name": "New Style",
"agent_brand": agent_brand,
"django_version": django_version(),
"python_version": platform.python_version(),
"current_time": now,
"host_name": host_name,
"project_description": os.getenv("PROJECT_DESCRIPTION", ""),
"project_image_url": os.getenv("PROJECT_IMAGE_URL", ""),
}
return render(request, "core/index.html", context)
def about(request):
return render(request, "core/about.html")
def services(request):
return render(request, "core/services.html")
def portfolio(request):
return render(request, "core/portfolio.html")
def blog(request):
return render(request, "core/blog.html")
def contact(request):
return render(request, "core/contact.html")
from django.conf import settings
def pricing(request):
return render(request, "core/pricing.html")
import stripe
from django.http import JsonResponse
def payment_view(request):
product = request.GET.get('product')
context = {
'stripe_publishable_key': settings.STRIPE_PUBLISHABLE_KEY,
'product': product
}
return render(request, 'core/payment.html', context)
def create_checkout_session(request):
product = request.GET.get('product')
if product == 'website':
price = 50000 # $500 in cents
name = 'Website'
elif product == 'agent':
price = 100000 # $1000 in cents
name = 'AI Agent'
else:
return JsonResponse({'error': 'Invalid product'})
stripe.api_key = settings.STRIPE_SECRET_KEY
try:
checkout_session = stripe.checkout.Session.create(
payment_method_types=['card'],
line_items=[
{
'price_data': {
'currency': 'usd',
'product_data': {
'name': name,
},
'unit_amount': price,
},
'quantity': 1,
},
],
mode='payment',
success_url=request.build_absolute_uri('/') + '?success=true',
cancel_url=request.build_absolute_uri('/') + '?canceled=true',
)
return JsonResponse({'id': checkout_session.id})
except Exception as e:
return JsonResponse({'error': str(e)})
def signup_view(request):
if request.method == 'POST':
form = UserCreationForm(request.POST)
if form.is_valid():
user = form.save()
login(request, user)
return redirect('home')
else:
form = UserCreationForm()
return render(request, 'core/signup.html', {'form': form})
def login_view(request):
if request.method == 'POST':
form = AuthenticationForm(data=request.POST)
if form.is_valid():
user = form.get_user()
login(request, user)
return redirect('home')
else:
form = AuthenticationForm()
return render(request, 'core/login.html', {'form': form})
def logout_view(request):
logout(request)
return redirect('home')