This repository has been archived on 2022-03-12. You can view files and clone it, but cannot push or open issues or pull requests.
2021-03-15 20:16:14 +02:00

103 lines
4.3 KiB
Python

from django.contrib.auth.forms import UserCreationForm
from django.urls import reverse_lazy
from django.views import generic
from .models import Balance
from django.shortcuts import render, redirect, get_object_or_404
from django.contrib.auth.models import User
from django.contrib import messages
from upload.models import Media
# need to make oauth facebook login
class SignUpView(generic.CreateView):
form_class = UserCreationForm
success_url = reverse_lazy('login')
template_name = 'registration/signup.html'
def addToBalance(request):
balAdd = None
if request.method == "POST":
tokens = request.POST["tokens"]
tokens = int(tokens)
user_given = request.POST["user_instance"]
try:
user_instance = Balance.objects.get(user=user_given)
sum_balance = tokens + user_instance.balanceValue
balAdd = Balance(balanceValue=sum_balance, user_id=user_instance)
# balAdd = balAdd() + testVar
balAdd.save()
print(balAdd)
return render(request, "addBalance.html", {"message": f"Added balance to user {user_given}"})
except Balance.DoesNotExist:
balAdd = Balance(balanceValue=tokens, user_id=user_given)
balAdd.save()
return render(request, "addBalance.html", {"message": f"Created and added tokens to {user_given}'s token account"})
else:
return render(request,"addBalance.html")
def removeBalance(request):
balRem = None
if request.method == "POST":
tokens = request.POST["tokens"]
tokens = int(tokens) * -1
user_given = request.POST["user_instance"]
try:
user_instance = Balance.objects.get(user=user_given)
sum_balance = user_instance.balanceValue + tokens
balRem = Balance(balanceValue=sum_balance, user_id=user_instance)
balRem.save()
print(balRem)
except Balance.DoesNotExist:
balRem = Balance(balanceValue=tokens, user_id=user_given)
balRem.save()
return render(request,"getBalance.html", {"userBalance":balRem})
else:
return render(request,"removeBalance.html")
def getBalance(request):
balObject = Balance.objects.filter(user=request.user.id)
print(dir(balObject))
userBalance = balObject.values("balanceValue")
# userBalance = userBalance[0]["balanceValue"]
return render(request,"getBalance.html", {"userBalance":userBalance} )
def adminView(request):
try:
latestPicture = Media.objects.filter(tokenized=None)
latestPicture, userId, date, time, is_video = latestPicture.values("image")[0]["image"], latestPicture.values("user_id")[0]["user_id"], latestPicture.values("date")[0]["date"], latestPicture.values("time")[0]["time"], latestPicture.values("is_video")[0]["is_video"]
username = User.objects.get(pk=userId)
if request.method == "POST":
if request.POST['isValid'] == "Valid":
try:
user_instance = Balance.objects.get(user=userId)
sum_balance = 5 + user_instance.balanceValue
balAdd = Balance(balanceValue=sum_balance, user_id=user_instance)
balAdd.save()
print(balAdd)
except Balance.DoesNotExist:
balAdd = Balance(balanceValue=5, user_id=userId)
balAdd.save()
imageObj = Media.objects.get(image=latestPicture, user_id=userId)
imageObj.tokenized = True
imageObj.save()
return redirect("/admin/")
elif request.POST['isValid'] == "Invalid":
imageObj = Media.objects.get(image=latestPicture, user_id=userId)
imageObj.tokenized=False
imageObj.reason="Invalid"
imageObj.save()
return render(request, "adminView.html", {"time":time, "date":date,"image":latestPicture, "userId":userId, "username":username, "is_video":is_video})
else:
return render(request, "adminView")
return render(request, "adminView.html", {"time":time, "date":date,"image":latestPicture, "userId":userId, "username":username, "is_video":is_video})
except IndexError:
return render(request, "adminView.html")