final TOUCHESSS

This commit is contained in:
Yamozha 2021-03-15 20:16:14 +02:00
parent 9de29a0ab4
commit 1913e45328
55 changed files with 352 additions and 70 deletions

Binary file not shown.

View File

@ -1,19 +1,27 @@
from django.shortcuts import render from django.shortcuts import render
import os.path import os.path
from users.models import Balance from users.models import Balance
from django.conf import settings
def homePage(request): def homePage(request):
iter_var = 0 iter_var = 0
all_balance = [] all_balance = []
try: try:
balObject = Balance.objects.filter(user=request.user.id) balObject = Balance.objects.filter(user=request.user.id)
userBalance = balObject.values("balanceValue") userBalance = balObject.values("balanceValue")
userQR = f"Name = {request.user.username}, Date Joined = {request.user.date_joined.date()}, ID = {request.user.id}, Balance = {userBalance[0]['balanceValue']}"
a = Balance.objects.all() a = Balance.objects.all()
for user in a: for user in a:
all_balance.append(user.balanceValue) all_balance.append(user.balanceValue)
print(f"{all_balance}") print(f"{all_balance}")
limited_coins = settings.ALL_COINS - sum(all_balance)
context = { context = {
"userQR":userQR,
"fullbalance": limited_coins,
"currencyTotal": sum(all_balance), "currencyTotal": sum(all_balance),
"userBalance": userBalance[0]["balanceValue"] "userBalance": userBalance[0]["balanceValue"]
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 747 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 747 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 747 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 747 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 747 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

View File

@ -47,19 +47,23 @@
{% if image %} {% if image %}
<form method="post"> <form method="post">
{% csrf_token %} {% csrf_token %}
<p style="text-align: center;">Качено от: <br><p style="border:2px; border-color: #4CAF50; border-style: dashed; text-align: center;">{{username}}</p></p><br><br> <p style="text-align: center;">Качено от: <br><p style="border:2px; border-color: #4CAF50; border-style: dashed; text-align: center;">{{username}}</p></p><br>
<div class="choice"> <div class="choice">
{% if is_video %}
<video style="display: block; margin: 0 auto; max-width:500px; max-height: 500px;" width="500" controls>
<source src="/media/{{ image }}" type="video/mp4">
</video>
{% else %}
<img src="/media/{{ image }}" width="500" width="500" ><br> <img src="/media/{{ image }}" width="500" width="500" ><br>
{% endif %}
</div><br> </div><br>
<p style="text-shadow: 0 0 2px #28a745; float: left;">{{time}} <p style="text-shadow: 0 0 2px #28a745; float: right;">{{date}}</p></p> <p style="text-shadow: 0 0 2px #28a745; float: left;">{{time}} <p style="text-shadow: 0 0 2px #28a745; float: right;">{{date}}</p></p>
</div> </div>
<br><br><br>
<div class="choiceButtons"> <div class="choiceButtons">
<input name="isValid" type="submit" value="Valid" class="Buttons">Валидна</input> <input name="isValid" type="submit" value="Valid" class="Buttons">
<input name="isValid" type="submit" value="Invalid" class="Buttons"> <input name="isValid" type="submit" value="Invalid" class="Buttons">
</form> </form>

View File

@ -5,6 +5,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{% block title %}reValuate{% endblock %}</title> <title>{% block title %}reValuate{% endblock %}</title>
{% load static %} {% load static %}
{% load qr_code %}
{% block optionalParams %} {% endblock %} {% block optionalParams %} {% endblock %}
<!-- Required meta tags --> <!-- Required meta tags -->
@ -27,41 +28,43 @@
<div class="collapse navbar-collapse" id="navbarSupportedContent"> <div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav"> <ul class="navbar-nav">
<li class="nav-item d-none d-md-block" > <li class="nav-item d-none d-md-block" >
{% if user.is_authenticated %} {% if user.is_authenticated %}
<a class="nav-link" href="/upload/">Качи</a> <a class="nav-link" href="/upload/">Качи</a>
{% endif %} {% endif %}
</li> </li>
<li class="nav-item d-none d-md-block" > <li class="nav-item d-none d-md-block" >
{% if user.is_superuser %} {% if user.is_superuser %}
<a class="nav-link" href="/admin/">Админ</a> <a class="nav-link" href="/admin/">Админ</a>
{% endif %} {% endif %}
</li>
</li>
</ul> </ul>
<ul class="navbar-nav ml-auto"> <ul class="navbar-nav ml-auto" style="right: 0; left: auto;">
<li class="nav-item dropdown "> <li class="nav-item dropdown " >
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{% if user.is_authenticated %} {% if user.is_authenticated %}
{{ user.username }} {{ user.username }}
{% else %} {% else %}
Акaунт Акaунт
{% endif %} {% endif %}
</a>
</a> <div class="dropdown-menu animate slideIn dropdown-menu-right" style="text-align: center;" aria-labelledby="navbarDropdown" >
<div class="dropdown-menu animate slideIn" aria-labelledby="navbarDropdown" >
{% if user.is_authenticated %} {% if user.is_authenticated %}
<a class="dropdown-item "href="/view_media/">Прогрес</a> <a class="dropdown-item "href="/view_media/">Прогрес</a>
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
<a class="dropdown-item "href="{%url 'logout'%}">Излизане </a> <a class="dropdown-item "href="{%url 'logout'%}">Излизане </a>
<div class="dropdown-divider"></div>
{% else %} {% else %}
<a class="dropdown-item" href="/users/signup"> Регистрация </a> <a class="dropdown-item" href="/users/signup"> Регистрация </a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="/users/login"> Влизане </a>
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
<a class="dropdown-item" href="/users/login"> Влизане </a>
<div class="dropdown-divider"></div>
{% endif %} {% endif %}
</div> </div>
</li> </li>

View File

@ -4,7 +4,8 @@
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
{% load static %} {% load static %}
<link rel="stylesheet" href="/static/home/css/main.css" /> {% load qr_code %}
<link rel="stylesheet" href="/static/home/css/main.css" />
<noscript><link rel="stylesheet" href="/static/home/css/noscript.css" /></noscript> <noscript><link rel="stylesheet" href="/static/home/css/noscript.css" /></noscript>
<script src="http://github.hubspot.com/odometer/odometer.js"></script> <script src="http://github.hubspot.com/odometer/odometer.js"></script>
<link rel="stylesheet" href="https://raw.githubusercontent.com/HubSpot/odometer/master/themes/odometer-theme-car.css" /> <link rel="stylesheet" href="https://raw.githubusercontent.com/HubSpot/odometer/master/themes/odometer-theme-car.css" />
@ -42,8 +43,8 @@
</li> </li>
</ul> </ul>
<ul class="navbar-nav ml-auto"> <ul class="navbar-nav ml-auto" style="right: 0; left: auto;">
<li class="nav-item dropdown "> <li class="nav-item dropdown " >
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{% if user.is_authenticated %} {% if user.is_authenticated %}
{{ user.username }} {{ user.username }}
@ -51,8 +52,10 @@
Акaунт Акaунт
{% endif %} {% endif %}
</a> </a>
<div class="dropdown-menu animate slideIn" aria-labelledby="navbarDropdown" > <div class="dropdown-menu animate slideIn dropdown-menu-right" style="text-align: center;" aria-labelledby="navbarDropdown" >
{% if user.is_authenticated %} {% if user.is_authenticated %}
<div class="dropdown-item"> {% qr_from_text userQR size="T" %} </div>
<div class="dropdown-divider"></div>
<a class="dropdown-item "href="/view_media/">Прогрес</a> <a class="dropdown-item "href="/view_media/">Прогрес</a>
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
@ -144,7 +147,7 @@
<div class="row gtr-150"> <div class="row gtr-150">
<div class="col-6 col-12-medium"> <div class="col-6 col-12-medium">
<header class="major"> <header class="major">
<h2>Раздадени точки:<br /> <h2>Остават още:<br />
</h2> </h2>
</header> </header>
@ -156,7 +159,7 @@
-moz-background-clip: text; -moz-background-clip: text;
-moz-text-fill-color: transparent; -moz-text-fill-color: transparent;
font-size:70px; font-size:70px;
">{{ currencyTotal }}</div> ">{{ fullbalance }} reCoins</div>
</div> </div>
</div> </div>

View File

@ -0,0 +1,29 @@
{% extends 'base.html' %}
{% block title %} Update Balance {% endblock %}
{% block content %}
<div class="centered">
{% if request.user.is_superuser %}
<p>Hello, {{ user.username }} !</p>
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
<input name="user_instance" id="user_instance" placeholder="Pencho Slaveikov"><br>
<input name="tokens" id="tokens" placeholder="523...">
<button type="submit">Upload</button>
</form>
{% else %}
<h1>Unauthorized</h1>
</div>
{% endif %}
{% endblock %}

View File

@ -24,8 +24,14 @@
{% for i in get_status reversed %} {% for i in get_status reversed %}
<div class="slide" width=500px height=500px> <div class="slide" width=500px height=500px>
<img src="/media/{{ i.image }}" style=" display: block; margin: 0 auto; max-width:500px; max-height: 500px;"/> {% if i.is_video %}
<p style="text-shadow: 0 0 2px #28a745; float: left;">{{forloop.counter}}/{{img_number}} <p style="text-shadow: 0 0 2px #28a745; float: right;">{{i.date}}</p></p> <video style="display: block; margin: 0 auto; max-width:500px; max-height: 500px;" width="500" controls>
<source src="/media/{{ i.image }}" type="video/mp4">
</video>
{% else %}
<img src="/media/{{ i.image }}" style=" display: block; margin: 0 auto; max-width:500px; max-height: 500px;"/>
{% endif %}
<p style="text-shadow: 0 0 2px #28a745; float: left;">{{forloop.counter}}/{{img_number}} <p style="text-shadow: 0 0 2px #28a745; float: right;">{{i.date}}</p></p>
<br><br> <br><br>
{% if i.reason %} {% if i.reason %}
<p class="animate__animated animate__headShake" style="text-align: center;"> ❌ Снимката ти е маркирана като невалидна. Ако мислиш че има грешка ни изпратете <a href="mailto:boyan+revaluate@bobokara.com">имейл.</a></p> <p class="animate__animated animate__headShake" style="text-align: center;"> ❌ Снимката ти е маркирана като невалидна. Ако мислиш че има грешка ни изпратете <a href="mailto:boyan+revaluate@bobokara.com">имейл.</a></p>

View File

@ -70,7 +70,7 @@
<form method="post" enctype="multipart/form-data"> <form method="post" enctype="multipart/form-data">
{% csrf_token %} {% csrf_token %}
<label for="image" style="font-size: 32px;">Качи снимка! </label><br><br><br> <label for="image" style="font-size: 32px;">Качи снимка! </label><br><br><br>
<input id="image" type="file" name="image" required><br><br><br><br> <input id="image" style="margin: 0 auto;" type="file" name="image" required><br>
<br> <br>
<button class="Buttons" type="submit">Качи!</button> <button class="Buttons" type="submit">Качи!</button>
</form> </form>

View File

@ -1,12 +1,12 @@
from django import forms from django import forms
from .models import Image from .models import Media
class ImageForm(forms.ModelForm): class ImageForm(forms.ModelForm):
"""Form for the image model""" """Form for the image model"""
class Meta: class Meta:
model = Image model = Media
fields = ('image',) fields = ['image']
# class VideoForm(forms.ModelForm): # class VideoForm(forms.ModelForm):
# """Form for the image model""" # """Form for the image model"""

View File

@ -0,0 +1,20 @@
# Generated by Django 3.1.6 on 2021-03-15 15:45
from django.db import migrations, models
import upload.models
import upload.validators
class Migration(migrations.Migration):
dependencies = [
('upload', '0014_image_time'),
]
operations = [
migrations.AlterField(
model_name='image',
name='image',
field=models.ImageField(upload_to=upload.models.imagesPath, validators=[upload.validators.imageValidate]),
),
]

View File

@ -0,0 +1,35 @@
# Generated by Django 3.1.6 on 2021-03-15 16:14
import datetime
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import upload.models
import upload.validators
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('upload', '0015_auto_20210315_1745'),
]
operations = [
migrations.CreateModel(
name='Videos',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('video', models.FileField(upload_to=upload.models.videosPath, validators=[upload.validators.videoValidate])),
('tokenized', models.BooleanField(blank=True, default=None, max_length=3, null=True)),
('reason', models.CharField(max_length=120)),
('date', models.DateField(default=datetime.date.today)),
('time', models.TimeField(auto_now=True)),
('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
options={
'verbose_name': 'video',
'verbose_name_plural': 'videos',
},
),
]

View File

@ -0,0 +1,23 @@
# Generated by Django 3.1.6 on 2021-03-15 16:38
from django.db import migrations, models
import upload.models
import upload.validators
class Migration(migrations.Migration):
dependencies = [
('upload', '0016_videos'),
]
operations = [
migrations.AddField(
model_name='image',
name='video',
field=models.FileField(default=None, upload_to=upload.models.videosPath, validators=[upload.validators.videoValidate]),
),
migrations.DeleteModel(
name='Videos',
),
]

View File

@ -0,0 +1,20 @@
# Generated by Django 3.1.6 on 2021-03-15 16:39
from django.db import migrations, models
import upload.models
import upload.validators
class Migration(migrations.Migration):
dependencies = [
('upload', '0017_auto_20210315_1838'),
]
operations = [
migrations.AlterField(
model_name='image',
name='video',
field=models.FileField(blank=True, default=None, null=True, upload_to=upload.models.videosPath, validators=[upload.validators.videoValidate]),
),
]

View File

@ -0,0 +1,20 @@
# Generated by Django 3.1.6 on 2021-03-15 16:41
from django.db import migrations, models
import upload.models
import upload.validators
class Migration(migrations.Migration):
dependencies = [
('upload', '0018_auto_20210315_1839'),
]
operations = [
migrations.AlterField(
model_name='image',
name='image',
field=models.ImageField(blank=True, null=True, upload_to=upload.models.imagesPath, validators=[upload.validators.imageValidate]),
),
]

View File

@ -0,0 +1,20 @@
# Generated by Django 3.1.6 on 2021-03-15 16:47
from django.db import migrations, models
import upload.models
import upload.validators
class Migration(migrations.Migration):
dependencies = [
('upload', '0019_auto_20210315_1841'),
]
operations = [
migrations.AlterField(
model_name='image',
name='image',
field=models.FileField(blank=True, null=True, upload_to=upload.models.imagesPath, validators=[upload.validators.imageValidate]),
),
]

View File

@ -0,0 +1,24 @@
# Generated by Django 3.1.6 on 2021-03-15 16:48
from django.db import migrations, models
import upload.models
class Migration(migrations.Migration):
dependencies = [
('upload', '0020_auto_20210315_1847'),
]
operations = [
migrations.AlterField(
model_name='image',
name='image',
field=models.FileField(blank=True, null=True, upload_to=upload.models.imagesPath),
),
migrations.AlterField(
model_name='image',
name='video',
field=models.FileField(blank=True, default=None, null=True, upload_to=upload.models.videosPath),
),
]

View File

@ -0,0 +1,22 @@
# Generated by Django 3.1.6 on 2021-03-15 16:52
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('upload', '0021_auto_20210315_1848'),
]
operations = [
migrations.RemoveField(
model_name='image',
name='video',
),
migrations.AddField(
model_name='image',
name='is_video',
field=models.BooleanField(default=False),
),
]

View File

@ -0,0 +1,19 @@
# Generated by Django 3.1.6 on 2021-03-15 17:01
from django.conf import settings
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('upload', '0022_auto_20210315_1852'),
]
operations = [
migrations.RenameModel(
old_name='Image',
new_name='Media',
),
]

View File

@ -13,14 +13,15 @@ from datetime import date
def imagesPath(instance, filename): def imagesPath(instance, filename):
# file will be uploaded to MEDIA_ROOT/user_<id>/<filename> # file will be uploaded to MEDIA_ROOT/user_<id>/<filename>
return 'images/{0}/{1}'.format(instance.user.id, filename) return '{0}/{1}'.format(instance.user.id, filename)
def videosPath(instance,filename): def videosPath(instance,filename):
return f"videos/{instance.user.id}/{filename}" return f"{instance.user.id}/videos/{filename}"
class Image(models.Model): class Media(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE, blank=True, null=True) user = models.ForeignKey(User, on_delete=models.CASCADE, blank=True, null=True)
image = models.ImageField(upload_to=imagesPath,validators=[imageValidate], unique=True) image = models.FileField(upload_to=imagesPath, blank=True, null=True,)
is_video = models.BooleanField(default=False)
tokenized = models.BooleanField(blank=True, null=True, default=None, max_length=3) tokenized = models.BooleanField(blank=True, null=True, default=None, max_length=3)
reason = models.CharField(max_length=120) reason = models.CharField(max_length=120)
date = models.DateField(default=date.today) date = models.DateField(default=date.today)
@ -31,12 +32,14 @@ class Image(models.Model):
verbose_name = 'image' verbose_name = 'image'
verbose_name_plural = 'images' verbose_name_plural = 'images'
# class Videos(models.Model): # class Videos(models.Model):
# user = models.ForeignKey(User, on_delete=models.CASCADE, blank=True, null=True) # user = models.ForeignKey(User, on_delete=models.CASCADE, blank=True, null=True)
# video = models.FileField(upload_to=videosPath, validators=[videoValidate]) # video = models.FileField(upload_to=videosPath, validators=[videoValidate])
# tokenized = models.BooleanField(blank=True, null=True, default=None, max_length=3) # tokenized = models.BooleanField(blank=True, null=True, default=None, max_length=3)
# reason = models.CharField(max_length=120) # reason = models.CharField(max_length=120)
# date = models.DateField(default=date.today)
# time = models.TimeField(auto_now=True)
# class Meta: # class Meta:

View File

@ -1,9 +1,9 @@
from django.shortcuts import render, redirect from django.shortcuts import render, redirect
import os.path import os.path
import os import os
from .forms import ImageForm
from django.core.files.storage import FileSystemStorage from django.core.files.storage import FileSystemStorage
from .models import Image from .models import Media
from .forms import ImageForm
from django.conf import settings from django.conf import settings
def uploadContent(request): def uploadContent(request):
@ -27,13 +27,30 @@ def imageUpload(request):
print(request.user.id) print(request.user.id)
if request.method == 'POST': if request.method == 'POST':
form = ImageForm(request.POST, request.FILES)
if form.is_valid(): if "image" in request.FILES['image'].content_type:
userIdModel = Image.objects.filter(user=request.user.id) print("Image")
img_obj = form.instance form = ImageForm(request.POST, request.FILES)
img_obj.user = request.user if form.is_valid():
form.save() img_obj = form.instance
return render(request, 'uploadImage.html', {'form': form, 'img_obj': img_obj}) img_obj.user = request.user
form.save()
return render(request, 'uploadImage.html', {'form': form, 'img_obj': img_obj})
elif "video" in request.FILES['image'].content_type:
form = ImageForm(request.POST, request.FILES)
print("Video")
print(request.FILES['image'])
if form.is_valid():
video_obj = form.instance
video_obj.user = request.user
video_obj.is_video = True
form.save()
return render(request, 'uploadImage.html', {'form': form, 'img_obj': video_obj})
else:
raise Exception("What")
else:
raise TypeError("Invalid File")
else: else:
form = ImageForm() form = ImageForm()
@ -56,8 +73,9 @@ def imageUpload(request):
def viewMedia(request): def viewMedia(request):
get_status = Image.objects.filter(user_id=request.user.id) get_status = Media.objects.filter(user_id=request.user.id)
img_list = os.listdir(settings.MEDIA_ROOT + f"images/{request.user.id}/") img_list = os.listdir(settings.MEDIA_ROOT + f"{request.user.id}/")
context = { context = {
"id":request.user.id, "id":request.user.id,

View File

@ -5,7 +5,7 @@ from .models import Balance
from django.shortcuts import render, redirect, get_object_or_404 from django.shortcuts import render, redirect, get_object_or_404
from django.contrib.auth.models import User from django.contrib.auth.models import User
from django.contrib import messages from django.contrib import messages
from upload.models import Image from upload.models import Media
# need to make oauth facebook login # need to make oauth facebook login
class SignUpView(generic.CreateView): class SignUpView(generic.CreateView):
@ -40,17 +40,18 @@ def removeBalance(request):
balRem = None balRem = None
if request.method == "POST": if request.method == "POST":
tokens = request.POST["tokens"] tokens = request.POST["tokens"]
tokens = int(tokens) tokens = int(tokens) * -1
user_given = request.POST["user_instance"] user_given = request.POST["user_instance"]
try: try:
user_instance = Balance.objects.get(user=user_given) user_instance = Balance.objects.get(user=user_given)
sum_balance = user_instance.balanceValue - tokens sum_balance = user_instance.balanceValue + tokens
balAdd = Balance(balanceValue=sum_balance, user_id=user_instance) balRem = Balance(balanceValue=sum_balance, user_id=user_instance)
balAdd.save() balRem.save()
print(balAdd) print(balRem)
except Balance.DoesNotExist: except Balance.DoesNotExist:
messages.error(request, f"User{user_given} doesn't have balance") balRem = Balance(balanceValue=tokens, user_id=user_given)
return render(request,"getBalance.html", {"userBalance":balAdd}) balRem.save()
return render(request,"getBalance.html", {"userBalance":balRem})
else: else:
return render(request,"removeBalance.html") return render(request,"removeBalance.html")
@ -65,9 +66,10 @@ def getBalance(request):
def adminView(request): def adminView(request):
try: try:
latestPicture = Image.objects.filter(tokenized=None) latestPicture = Media.objects.filter(tokenized=None)
latestPicture, userId, date, time = latestPicture.values("image")[0]["image"], latestPicture.values("user_id")[0]["user_id"], latestPicture.values("date")[0]["date"], latestPicture.values("time")[0]["time"] 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) username = User.objects.get(pk=userId)
if request.method == "POST": if request.method == "POST":
if request.POST['isValid'] == "Valid": if request.POST['isValid'] == "Valid":
try: try:
@ -80,21 +82,21 @@ def adminView(request):
balAdd = Balance(balanceValue=5, user_id=userId) balAdd = Balance(balanceValue=5, user_id=userId)
balAdd.save() balAdd.save()
imageObj = Image.objects.get(image=latestPicture, user_id=userId) imageObj = Media.objects.get(image=latestPicture, user_id=userId)
imageObj.tokenized = True imageObj.tokenized = True
imageObj.save() imageObj.save()
return redirect("/admin/") return redirect("/admin/")
elif request.POST['isValid'] == "Invalid": elif request.POST['isValid'] == "Invalid":
imageObj = Image.objects.get(image=latestPicture, user_id=userId) imageObj = Media.objects.get(image=latestPicture, user_id=userId)
imageObj.tokenized=True imageObj.tokenized=False
imageObj.reason="Invalid" imageObj.reason="Invalid"
imageObj.save() imageObj.save()
return render(request, "adminView.html", {"time":time, "date":date,"image":latestPicture, "userId":userId, "username":username}) return render(request, "adminView.html", {"time":time, "date":date,"image":latestPicture, "userId":userId, "username":username, "is_video":is_video})
else: else:
return render(request, "adminView") return render(request, "adminView")
return render(request, "adminView.html", {"time":time, "date":date,"image":latestPicture, "userId":userId, "username":username}) return render(request, "adminView.html", {"time":time, "date":date,"image":latestPicture, "userId":userId, "username":username, "is_video":is_video})
except IndexError: except IndexError:
return render(request, "adminView.html") return render(request, "adminView.html")

View File

@ -47,6 +47,7 @@ INSTALLED_APPS = [
'home', 'home',
'users', 'users',
'upload', 'upload',
'qr_code',
] ]
@ -140,6 +141,7 @@ LOGOUT_REDIRECT_URL = "/"
EMAIL_BACKEND = "django.core.mail.backends.filebased.EmailBackend" EMAIL_BACKEND = "django.core.mail.backends.filebased.EmailBackend"
EMAIL_FILE_PATH = str(BASE_DIR.joinpath('sent_emails')) EMAIL_FILE_PATH = str(BASE_DIR.joinpath('sent_emails'))
ALL_COINS = 1000000
MEDIA_URL = '/media/' MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/') MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')

View File

@ -21,7 +21,7 @@ from django.conf.urls.static import static
from django.contrib.auth import views from django.contrib.auth import views
from django.views.generic.base import TemplateView from django.views.generic.base import TemplateView
from upload.views import uploadContent, imageUpload, viewMedia from upload.views import uploadContent, imageUpload, viewMedia
from users.views import getBalance, addToBalance, adminView from users.views import getBalance, addToBalance, adminView, removeBalance
urlpatterns = [ urlpatterns = [
path("", homePage, name='home'), path("", homePage, name='home'),
@ -33,6 +33,7 @@ urlpatterns = [
path("view_media/", viewMedia, name="All Media"), path("view_media/", viewMedia, name="All Media"),
# path("get_balance/",getBalance, name="Balance" ), # path("get_balance/",getBalance, name="Balance" ),
path("add_balance/", addToBalance, name="Add"), path("add_balance/", addToBalance, name="Add"),
path("remove_balance/", removeBalance, name="Add"),
path("admin/", adminView, name="admin") path("admin/", adminView, name="admin")
] ]
if settings.DEBUG: if settings.DEBUG: