You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

146 lines
3.8 KiB

from django.contrib import messages
from django.core.mail import mail_managers
from django.http import JsonResponse
from django.shortcuts import render, redirect
from main.forms import FeedbackForm, FestUserForm
from main.models import Banner, Feedback, FestUser
from store.models import Product, Category, ProductVariation
def index(request):
products = Product.objects.filter(on_main=True).order_by('priority', '-pk')
if not products:
products = Product.objects.order_by('-pk')[:8]
c = dict(
products=products,
# aaa=[1,2,3,4,5,6,7,8,9,0],
banners=Banner.objects.filter(is_active=True),
)
return render(request, 'index.jinja', c)
def advantages(request):
return render(request, 'advantages.jinja')
def fest(request):
form = FestUserForm(request.POST or None)
if request.method == 'POST' and form.is_valid():
form.save()
return redirect('/fest_success/')
c = dict(form=form)
return render(request, 'fest_register.html', c)
def fest_success(request):
return render(request, 'fest_success.html')
def payment(request):
return render(request, 'payment.jinja')
def delivery(request):
return render(request, 'delivery.jinja')
def contacts(request):
return render(request, 'contacts.jinja')
def faq(request):
return render(request, 'faq.jinja')
def oferta(request):
return render(request, 'oferta.jinja')
def size_beuchat(request):
return render(request, 'size/beuchat.jinja')
def size_index(request):
return render(request, 'size/index.jinja')
def size_scorpena(request):
return render(request, 'size/scorpena.jinja')
def size_sargan(request):
return render(request, 'size/sargan.jinja')
def size_omer_sporasub(request):
return render(request, 'size/omer_sporasub.jinja')
def size_aqua_discovery(request):
return render(request, 'size/aqua_discovery.jinja')
def size_aqualung(request):
return render(request, 'size/aqualung.jinja')
def size_aquatics(request):
return render(request, 'size/aquatics.jinja')
def size_cressi(request):
return render(request, 'size/cressi.jinja')
def size_mares(request):
return render(request, 'size/mares.jinja')
def size_elios(request):
return render(request, 'size/elios.jinja')
def temp_count_update(request, article):
retval = dict(error_code=0)
try:
product = ProductVariation.objects.get(article__iexact=article)
count = request.GET.get('count', None)
price = request.GET.get('price', None)
delivery_date = request.GET.get('delivery_date', None)
if count != None:
count = count.replace(',', '.')
if int(count) < 0:
count = 0
product.in_stock = int(count)
product.save()
if price != None:
price = price.replace(',', '.')
if int(price) < 0:
price = 0
product.price = int(price)
product.save()
if delivery_date != None:
product.delivery_date = delivery_date
product.save()
if delivery_date is None:
product.delivery_date = None
product.save()
else:
retval['error_code'] = 1
except ProductVariation.DoesNotExist:
retval['error_code'] = 1
except Exception as e:
retval['error_code'] = e
return JsonResponse(retval)
def feedback(request):
form = FeedbackForm(request.POST or None)
if form.is_valid():
form.save()
messages.success(request, 'Ваш отзыв успешно опубликован. Спасибо!')
mail_managers('Оставили отзыв', 'Смотреть в админке')
return redirect('/feedback/')
return render(request, 'feedback.jinja', dict(
object_list=Feedback.objects.order_by('-pk'),
form=form
))