Merge branch 'specto-fixes' into main

This commit is contained in:
Yamozha 2021-09-10 17:35:42 +03:00
commit d36405c0a8
188 changed files with 231 additions and 233 deletions

5
.editorconfig Normal file
View File

@ -0,0 +1,5 @@
root = true
[*.{js,css}]
indent_style = space
indent_size = 2

View File

@ -1,134 +1,127 @@
.popup{
width: 900px;
margin: auto;
text-align: center
.popup {
width: 900px;
margin: auto;
text-align: center;
}
.popup img{
width: 200px;
height: 200px;
cursor: pointer
.popup img {
width: 200px;
height: 200px;
cursor: pointer;
}
.show{
z-index: 999;
display: none;
.show {
z-index: 999;
display: none;
}
.show .overlay{
width: 100%;
height: 100%;
background: rgba(0,0,0,.66);
position: absolute;
top: 0;
left: 0;
.show .overlay {
width: 100%;
height: 100%;
background: rgba(0,0,0,.66);
position: absolute;
top: 0;
left: 0;
}
.show .img-show{
width: 600px;
height: 400px;
background: #FFF;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
overflow: hidden
.show .img-show {
width: 600px;
height: 400px;
background: #FFF;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
overflow: hidden;
}
.img-show span{
position: absolute;
top: 10px;
right: 10px;
z-index: 99;
cursor: pointer;
.img-show span {
position: absolute;
top: 10px;
right: 10px;
z-index: 99;
cursor: pointer;
}
.img-show img{
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
.img-show img {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
font-family: Raleway;
background-color: #202125;
}
.heading {
text-align: center;
font-size: 2.0em;
letter-spacing: 1px;
padding: 40px;
color: white;
}
.gallery-image {
padding: 20px;
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.gallery-image img {
height: 250px;
width: 350px;
transform: scale(1.0);
transition: transform 0.4s ease;
}
.img-box {
box-sizing: content-box;
margin: 10px;
height: 250px;
width: 350px;
overflow: hidden;
display: inline-block;
color: white;
position: relative;
background-color: white;
}
.caption {
position: absolute;
bottom: 5px;
left: 20px;
opacity: 0.0;
transition: transform 0.3s ease, opacity 0.3s ease;
}
.transparent-box {
height: 250px;
width: 350px;
background-color:rgba(0, 0, 0, 0);
position: absolute;
top: 0;
left: 0;
transition: background-color 0.3s ease;
}
.img-box:hover img {
transform: scale(1.1);
}
.img-box:hover .transparent-box {
background-color:rgba(0, 0, 0, 0.5);
}
.img-box:hover .caption {
transform: translateY(-20px);
opacity: 1.0;
}
.img-box:hover {
cursor: pointer;
}
.caption > p:nth-child(2) {
font-size: 0.8em;
}
.opacity-low {
opacity: 0.5;
}
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
font-family: Raleway;
background-color: #202125;
}
.heading {
text-align: center;
font-size: 2.0em;
letter-spacing: 1px;
padding: 40px;
color: white;
}
.gallery-image {
padding: 20px;
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.gallery-image img {
height: 250px;
width: 350px;
transform: scale(1.0);
transition: transform 0.4s ease;
}
.img-box {
box-sizing: content-box;
margin: 10px;
height: 250px;
width: 350px;
overflow: hidden;
display: inline-block;
color: white;
position: relative;
background-color: white;
}
.caption {
position: absolute;
bottom: 5px;
left: 20px;
opacity: 0.0;
transition: transform 0.3s ease, opacity 0.3s ease;
}
.transparent-box {
height: 250px;
width: 350px;
background-color: rgba(0, 0, 0, 0);
position: absolute;
top: 0;
left: 0;
transition: background-color 0.3s ease;
}
.img-box:hover img { transform: scale(1.1); }
.img-box:hover .transparent-box { background-color: rgba(0, 0, 0, 0.5); }
.img-box:hover .caption {
transform: translateY(-20px);
opacity: 1.0;
}
.img-box:hover { cursor: pointer; }
.caption > p:nth-child(2) { font-size: 0.8em; }
.opacity-low { opacity: 0.5; }

View File

@ -11,10 +11,10 @@
background: white;
-moz-box-shadow: 0 0 20px #469330;
-webkit-box-shadow: 0 0 20px #469330;
box-shadow: 0 0 20px #469330;
box-shadow: 0 0 20px #469330;
text-align: center;
border-radius: 25px;
}
}
header {
display: flex;
justify-content: space-between;
@ -138,21 +138,16 @@ header {
.menu {
display: initial;
}
}
html{
font-family: Arial, Helvetica, sans-serif;
}
p {
font-family: Arial, Helvetica, sans-serif;
margin: 0 0 30px 0;
margin: 0 0 30px 0;
}
h1.heading{
@ -167,7 +162,7 @@ ul.emoji{
.question{
color: gray;
font-size:20px;
font-size: 20px;
}
ul.nothing{
@ -178,7 +173,7 @@ a.footer{
/* background:radial-gradient(circle, rgba(0,159,12,1) 0%, rgba(8,96,0,1) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent; */
color:lightgreen;
color: lightgreen;
}
footer{
font-size: small;

View File

@ -6,18 +6,20 @@ from users.models import User
import operator
from upload.models import Media
import requests
from django.db.models import Sum
def homePage(request):
iter_var = 0
all_balance = []
all_balance = 0
Cashier = False
Processor = False
balObject = Balance.objects.filter(user=request.user.id)
userBalance = balObject.values("balanceValue")
try:
userBalance = userBalance[0]['balanceValue']
userBalance = userBalance[0]['balanceValue']
except IndexError:
userBalance = None
if request.user.groups.filter(name='Cashier').exists():
@ -30,7 +32,6 @@ def homePage(request):
userQR = f"Name = {request.user.username}, Date Joined = {request.user.date_joined.date()}, ID = {request.user.id}, isCashier={Cashier}, isProcessor={Processor}, Balance = {userBalance}"
else:
userQR=None
a = Balance.objects.all()
for user in a:
all_balance.append(user.balanceValue)
@ -49,9 +50,9 @@ def homePage(request):
"github": f"https://github.com/{github['login']}",
}
return render(request, "home.html", context)
def leaderboard(request):
users = User.objects.all()
@ -60,22 +61,22 @@ def leaderboard(request):
try:
username = i.username
balance = i.balance.balanceValue
# add media counter and other stuff
# add media counter and other stuff
if f"{username}" in leaderboard.keys():
leaderboard[username] = balance + leaderboard[username]
else:
leaderboard[username] = balance
leaderboard[username] = balance
except Exception as e:
pass
leaderboard = dict(sorted(leaderboard.items(), key=operator.itemgetter(0)))
leaderboard = dict(reversed(list(leaderboard.items())))
while len(leaderboard) > 5:
leaderboard.pop()
media = Media.objects.all()
media = Media.objects.all()
user_media = {}
for i in media:
username = i.user.username
@ -83,7 +84,7 @@ def leaderboard(request):
user_media[username] += 1
else:
user_media[username] = 1
user_media = dict(sorted(user_media.items(), key=operator.itemgetter(0)))
user_media = dict(reversed(list(user_media.items())))
print(user_media)
@ -97,7 +98,7 @@ def leaderboard(request):
else:
user_data = {i:{"Images":len(iter_user_media.filter(is_video=False))}}
print(user_data)
while len(user_media) > 5:
user_media.pop()
@ -108,8 +109,8 @@ def leaderboard(request):
# if f"{username}" in media_count.values():
# media_count[username] = image + media_count[username].value
# else:
# media_count[username] = image
# media_count[username] = image
# print(media_count)
context = {
@ -118,4 +119,4 @@ def leaderboard(request):
}
return render(request, 'leaderboard.html', context)

View File

@ -1,9 +1,8 @@
<!DOCTYPE html>
{% load static %}
{% load qr_code %}
<html>
<head>
{% load static %}
{% load qr_code %}
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>{% block title %}reValuate{% endblock %}</title>
@ -11,12 +10,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="{% static 'home/css/style.css' %}">
<link rel="shortcut icon" type="image/png" href="{% static 'home/img/logo.png' %}"/>
{% block optionalParams %} {% endblock %}
{% block optionalParams %}{% endblock %}
</head>
<body>
{% block aboveNav %} {% endblock %}
{% block aboveNav %}{% endblock %}
<header id="navbar">
<a class="logo" href="/"><img src="{% static 'home/img/logo.png' %}" style="max-height: 100px;" alt="logo"></a>
<nav>
@ -34,11 +31,11 @@
{% if isProcessor %}
<li><a href="{% url 'admin' %}"><u>Админ</u></a></li>
{% endif %}
{% if isCashier %}
<li><a href="{% url 'cashier' %}"><u>Каса</u></a></li>
{% endif %}
</ul>
</nav>
{% if user.is_authenticated %}
@ -46,7 +43,7 @@
{% else %}
<a class="cta" href="{% url 'login' %}">Влез!</a>
{% endif %}
<p class="menu cta">Меню</p>
</header>
<div id="container">
@ -56,7 +53,7 @@
<a href="{% url 'leaderboard' %}">Класация</a>
<a href="#">За нас</a>
{% if user.is_authenticated %}
<a href="{% url 'logout' %}">Излез!</a>
<a href="{% url 'logout' %}">Излез!</a>
{% else %}
<a href="{% url 'login' %}">Влез!</a>
{% endif %}
@ -66,13 +63,13 @@
{% if user.is_authenticated %}
<a href="{% url 'Image' %}">Качи</a>
<a href="{% url 'Media' %}">Прогрес</a>
{% endif %}
{% endif %}
</div>
<script type="text/javascript" src="{% static 'home/js/mobile.js' %}"></script>
</div>
{% block content %}
{% endblock %}
</div>
</body>
</html>
</html>

View File

@ -1,7 +1,7 @@
<!-- templates/home.html -->
{% extends 'base.html' %}
{% block title %}Home{% endblock %}
{% block optionalParams%}
<style>
.checkmark__circle {
@ -13,7 +13,7 @@
fill: none;
animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}
.checkmark {
width: 56px;
height: 56px;
@ -26,14 +26,14 @@
box-shadow: inset 0px 0px 0px #7ac142;
animation: fill .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both;
}
.checkmark__check {
transform-origin: 50% 50%;
stroke-dasharray: 48;
stroke-dashoffset: 48;
animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards;
}
@keyframes stroke {
100% {
stroke-dashoffset: 0;
@ -56,17 +56,18 @@
</style>
{% endblock %}
{% block content %}
<div class="centered" style="text-align: center;">
{% if user.is_authenticated %}
{% if userBalance %}
<h1 style="color:#7ac142;">Транзакцията е записана успешно!</h1>
Кликни <a style="color:#7ac142;"href="/remove_balance/">тук</a>, ако искаш да запишеш нова!
<svg class="checkmark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52">
<circle class="checkmark__circle" cx="26" cy="26" r="25" fill="none"/>
<path class="checkmark__check" fill="none" d="M14.1 27.2l7.1 7.2 16.7-16.8"/>
</svg>
Кликни <a style="color:#7ac142;"href="/remove_balance/">тук</a>, ако искаш да запишеш нова!
<svg class="checkmark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52">
<circle class="checkmark__circle" cx="26" cy="26" r="25" fill="none"/>
<path class="checkmark__check" fill="none" d="M14.1 27.2l7.1 7.2 16.7-16.8"/>
</svg>
{% endif %}
<div>
{{ qr_code }}

View File

@ -1,4 +1,8 @@
{% extends 'base.html' %}
{% load qr_code %}
{% load static %}
{% block optionalParams %}
<style>
html{
@ -11,8 +15,7 @@
}
</style>
{% endblock %}
{% load qr_code %}
{% load static %}
{% block content %}
<div id="page-wrap">
<h1 class="heading">reValuate</h1>
@ -63,4 +66,4 @@
</div>
<footer style="padding-bottom: 20px; font-size: medium;">Frontend, backend and planning:<br> <a class="footer" href="{{ github }}">Boyan</a></footer>
{% endblock %}
{% endblock %}

View File

@ -1,17 +1,18 @@
{% extends 'base.html' %}
{% block title %}Класация{% endblock %}
{% block optionalParams %}
<style>
html{
background: linear-gradient(180deg, rgba(70,147,48,1) 33%, rgba(109,126,107,1) 100%) no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
font-family: Arial, Helvetica, sans-serif;
background: linear-gradient(180deg, rgba(70,147,48,1) 33%, rgba(109,126,107,1) 100%) no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
font-family: Arial, Helvetica, sans-serif;
}
.content{
display: flex;
@ -72,4 +73,4 @@ ul{
</div>
</div>
</div>
{% endblock %}
{% endblock %}

View File

@ -3,15 +3,15 @@
{% block title %}Login{% endblock %}
{% block optionalParams %}
<style>
html{
background: linear-gradient(180deg, rgba(70,147,48,1) 33%, rgba(109,126,107,1) 100%) no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
font-family: Arial, Helvetica, sans-serif;
html{
background: linear-gradient(180deg, rgba(70,147,48,1) 33%, rgba(109,126,107,1) 100%) no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
font-family: Arial, Helvetica, sans-serif;
}
}
.buttons{
background-color: #469330;
border: none;

View File

@ -5,17 +5,17 @@
<style>
html{
background: linear-gradient(180deg, rgba(70,147,48,1) 33%, rgba(109,126,107,1) 100%) no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
font-family: Arial, Helvetica, sans-serif;
}
background: linear-gradient(180deg, rgba(70,147,48,1) 33%, rgba(109,126,107,1) 100%) no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
font-family: Arial, Helvetica, sans-serif;
}
#page-wrap{
padding: 20vh;
}
</style>
{% endblock %}
{% block content %}

View File

@ -1,6 +1,8 @@
{% extends 'base.html' %}
{% load static %}
{% block title %} My Images {% endblock %}
{% block optionalParams %}
<style>

View File

@ -12,7 +12,7 @@
fill: none;
animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}
.checkmark {
width: 56px;
height: 56px;
@ -25,14 +25,14 @@
box-shadow: inset 0px 0px 0px #7ac142;
animation: fill .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both;
}
.checkmark__check {
transform-origin: 50% 50%;
stroke-dasharray: 48;
stroke-dashoffset: 48;
animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards;
}
@keyframes stroke {
100% {
stroke-dashoffset: 0;
@ -70,35 +70,35 @@
}
.closebtn:hover {
color: black;
color: black;
}
.buttons{
margin-top: 10%;
background-color: #469330;
border: none;
color: white;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
margin: 4px 2px;
cursor: pointer;
}
.buttons{
margin-top: 10%;
background-color: #469330;
border: none;
color: white;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
margin: 4px 2px;
cursor: pointer;
}
html{
background: linear-gradient(180deg, rgba(70,147,48,1) 33%, rgba(109,126,107,1) 100%) no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
font-family: Arial, Helvetica, sans-serif;
}
html{
background: linear-gradient(180deg, rgba(70,147,48,1) 33%, rgba(109,126,107,1) 100%) no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
font-family: Arial, Helvetica, sans-serif;
}
#page-wrap{
padding: 20vh;
}
#page-wrap{
padding: 20vh;
}
</style>
@ -121,7 +121,7 @@
<circle class="checkmark__circle" cx="26" cy="26" r="25" fill="none"/>
<path class="checkmark__check" fill="none" d="M14.1 27.2l7.1 7.2 16.7-16.8"/>
</svg>
{% else %}
{% else %}
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
<label for="image" style="font-size: 32px;">Качи снимка! </label><br><br><br>
@ -131,7 +131,7 @@
</form>
<br><br>
{% endif %}
{% else %}
<p>You are not logged in</p>
<a href="{% url 'login' %}">Log In</a>

Some files were not shown because too many files have changed in this diff Show More