added leaderboard and tweaked a bunch of other things

This commit is contained in:
Yamozha 2021-07-12 15:59:31 +03:00
parent 4a1ab4bed5
commit 6170cf9d05
67 changed files with 111 additions and 32 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -2,7 +2,8 @@ from django.shortcuts import render
import os.path
from users.models import Balance
from django.conf import settings
from users.models import User
import operator
def homePage(request):
iter_var = 0
@ -46,3 +47,22 @@ def homePage(request):
return render(request, "home.html", context)
def leaderboard(request):
users = User.objects.all()
leaderboard = {}
for i in users:
username = i.username
balance = i.balance.balanceValue
# add media counter
if f"{username}" in leaderboard.values():
leaderboard[username] = balance + leaderboard[username].value
else:
leaderboard[username] = balance
print()
context = {
"leaderboard":dict(sorted(leaderboard.items(), key=operator.itemgetter(0))),
}
return render(request, 'leaderboard.html', context)

View File

@ -22,7 +22,7 @@
<a class="logo" href="/"><img src="{% static 'home/img/logo.png' %}" style="max-height: 100px;" alt="logo"></a>
<nav>
<ul class="nav__links">
<li><a href="#"><u>Класация</u></a></li>
<li><a href="{% url 'leaderboard' %}"><u>Класация</u></a></li>
<li><a href="#"><u>За нас</u></a></li>
{% if user.is_authenticated %}
@ -30,6 +30,14 @@
<li><a href="{% url 'Media' %}"><u>Прогрес</u></a></li>
{% endif %}
{% 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 %}
@ -43,9 +51,13 @@
<div class="overlay">
<a class="close">&times;</a>
<div class="overlay__content">
<a href="#">Класация</a>
<a href="{% url 'leaderboard' %}">Класация</a>
<a href="#">За нас</a>
<a href="#">Влез!</a>
{% if user.is_authenticated %}
<a href="{% url 'logout' %}">Излез!</a>
{% else %}
<a href="{% url 'login' %}">Влез!</a>
{% endif %}
<p style="color:white;">___</p>

View File

@ -17,11 +17,12 @@
<div id="page-wrap">
<h1 class="heading">reValuate</h1>
<h3>Остават ни още:<br>{{ fullbalance }} reCoins</h3><br>
{% if user.is_authenticated %}
<h3> Ти притежаваш <u>{{ userBalance }}</u> от тях.</h3>
<br>
<h3>Твоят QR код:</h3>
<div id="qr" >{% qr_from_text userQR size="M" %} </div>
{% endif %}
<br>
<hr>
<br>

View File

@ -0,0 +1,13 @@
{% extends 'base.html' %}
{% block title %}Класация{% endblock %}
{% block content %}
<div class="centered">
{% for i, z in leaderboard.items reversed %}
<h1>{{ forloop.counter }}. {{i}} has {{z}} reCoins </h1><br>
{% endfor %}
</div>
{% endblock %}

View File

@ -1,15 +1,35 @@
{% extends 'base.html' %}
{% block title %}Login{% endblock %}
{% block optionalParams %}
<style>
.buttons{
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;
}
.centered{
max-height: 20%;
}
</style>
{% endblock %}
{% block content %}
<div class="centered" style="text-align:center;">
<h2>Log In</h2>
<h2>Влез в акаунта си</h2><br>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Log In</button>
<button type="submit" class="buttons">Влез</button><br><br>
<a href="{% url 'signup' %}">Нямаш акаунт? Регистрирай се.</a>
</form>
</div>
{% endblock %}

View File

@ -1,15 +1,33 @@
{% extends 'base.html' %}
{% block title %}Sign Up{% endblock %}
{% block optionalParams %}
<style>
.buttons{
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;
}
.centered{
max-height: 20%;
}
</style>
{% endblock %}
{% block content %}
<div class="centered" >
<h2>Sign up</h2>
<h2>Регистрирай се</h2><br><br>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit" style="position:absolute; left:50%; right:50%;">Sign Up</button>
<button type="submit" class="buttons" style="position:absolute; left:50%; right:50%;">Регистрация</button>
</form>
</div>
{% endblock %}

View File

@ -3,29 +3,21 @@
{% block title %} My Images {% endblock %}
{% block optionalParams %}
<link rel="stylesheet" href="{% static 'home/css/gallery.css' %}">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
$(function () {
"use strict";
$(".popup img").click(function () {
var $src = $(this).attr("src");
$(".show").fadeIn();
$(".img-show img").attr("src", $src);
});
$("span, .overlay").click(function () {
$(".show").fadeOut();
});
});
</script>
<style>
header{
width: 100%;
}
container{
display: flex;
align-items: center;
}
</style>
{% endblock %}
{% block content %}
{% if user.is_authenticated %}
<p class="heading">Твоята медия</p>
<div class="container">
{% for i in get_status reversed %}
{% if i.is_video %}
<div class="gallery-image popup">
@ -78,6 +70,7 @@
{% endif %}
{% endfor %}
</div>
</div>
<div class="show">
<div class="overlay"></div>
<div class="img-show">

View File

@ -53,6 +53,8 @@
.centered{
font-size: 50px;
max-height: 20%;
}
.alert {
@ -75,7 +77,6 @@
.closebtn:hover {
color: black;
}
</style>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -15,7 +15,7 @@ Including another URLconf
"""
from django.contrib import admin
from django.urls import path, include
from home.views import homePage
from home.views import homePage, leaderboard
from rest_framework import routers, urls
from api.views import BalanceView, ImageView
from django.conf import settings
@ -41,9 +41,10 @@ urlpatterns = [
path("view_media/", viewMedia, name="Media"),
path("get_balance/",getBalance, name="Balance" ),
path("add_balance/", addToBalance, name="Add"),
path("remove_balance/", removeBalance, name="Add"),
path("remove_balance/", removeBalance, name="cashier"),
path("admin/", adminView, name="admin"),
path('api/', include(router.urls))
path('api/', include(router.urls)),
path("leaderboard/", leaderboard, name="leaderboard")
]
if settings.DEBUG: