develop/soita-2.0 #36
@ -56,6 +56,7 @@ INSTALLED_APPS = [
|
|||||||
"django_extensions",
|
"django_extensions",
|
||||||
"django_social_share",
|
"django_social_share",
|
||||||
'fontawesomefree',
|
'fontawesomefree',
|
||||||
|
"jquery",
|
||||||
|
|
||||||
"users",
|
"users",
|
||||||
"trials",
|
"trials",
|
||||||
|
@ -16,12 +16,14 @@ Including another URLconf
|
|||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from django.urls import include
|
from django.urls import include
|
||||||
from django.urls import path
|
from django.urls import path
|
||||||
from .views import home, welcome, help
|
from .views import home, welcome, help, hard, popular
|
||||||
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
|
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('', welcome, name='welcome'),
|
path('', welcome, name='welcome'),
|
||||||
path('home', home, name='home'),
|
path('home', home, name='home'),
|
||||||
|
path('popular', popular, name='popular'),
|
||||||
|
path('hard', hard, name='hard'),
|
||||||
path('help', help, name='help'),
|
path('help', help, name='help'),
|
||||||
path('users/', include("users.urls")),
|
path('users/', include("users.urls")),
|
||||||
path('questions/', include("questions.urls")),
|
path('questions/', include("questions.urls")),
|
||||||
|
@ -2,6 +2,7 @@ from django.shortcuts import render, redirect
|
|||||||
from django.template import loader
|
from django.template import loader
|
||||||
from django.contrib.auth.decorators import login_required
|
from django.contrib.auth.decorators import login_required
|
||||||
from trials.models import Test
|
from trials.models import Test
|
||||||
|
import operator
|
||||||
|
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
@ -18,6 +19,20 @@ def home(request):
|
|||||||
def help(request):
|
def help(request):
|
||||||
return render(request, 'help.html', )
|
return render(request, 'help.html', )
|
||||||
|
|
||||||
|
@login_required
|
||||||
|
def popular(request):
|
||||||
|
context = {}
|
||||||
|
context['tests'] = Test.objects.filter(avg_rating__gt=0)
|
||||||
|
context['tests'] = sorted(context['tests'], key=operator.attrgetter('avg_rating'), reverse=True)
|
||||||
|
return render(request, 'popular.html', context)
|
||||||
|
|
||||||
|
@login_required
|
||||||
|
def hard(request):
|
||||||
|
context = {}
|
||||||
|
context['tests'] = Test.objects.filter(difficulty_label__gt=0)
|
||||||
|
context['tests'] = sorted(context['tests'], key=operator.attrgetter('difficulty_label'), reverse=True)
|
||||||
|
return render(request, 'hard.html', context)
|
||||||
|
|
||||||
|
|
||||||
def welcome(request):
|
def welcome(request):
|
||||||
return render(request, 'welcome.html')
|
return render(request, 'welcome.html')
|
||||||
|
21
static/script.js
Normal file
21
static/script.js
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
//$(function() {
|
||||||
|
// $(".newQuestionSection" ).draggable().resizable();
|
||||||
|
//} );
|
||||||
|
|
||||||
|
var questionId = 1;
|
||||||
|
|
||||||
|
$('.addQuestionButton').click(function(){
|
||||||
|
console.log("REEEEEEEE")
|
||||||
|
// Clone extra box, and remove duplicate ids
|
||||||
|
let clone = $("#question-copy").clone().removeAttr("hidden");
|
||||||
|
clone.id = "question"- + ++questionId;
|
||||||
|
//clone.find("*").removeAttr("id");
|
||||||
|
clone.find("*").each(function() {
|
||||||
|
$(this).attr("id", "q" + questionId + "-" + $(this).attr("id"));
|
||||||
|
});
|
||||||
|
clone.find("input:radio").each(function() {
|
||||||
|
$(this).attr("name", questionId);
|
||||||
|
});
|
||||||
|
// append it to div
|
||||||
|
$('#canvas').append(clone);
|
||||||
|
});
|
@ -1,6 +1,6 @@
|
|||||||
.sidenav {
|
.sidenav {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
width: 195px;
|
width: 215px;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
top: 0;
|
top: 0;
|
||||||
@ -44,7 +44,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.main {
|
.main {
|
||||||
margin-left: 190px;
|
margin-left: 215px;
|
||||||
padding: 0px 40px;
|
padding: 0px 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -515,6 +515,23 @@ background-color:#FF0B7E
|
|||||||
width: 500px;
|
width: 500px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.newQuestionSection {
|
||||||
|
border-radius: 25px;
|
||||||
|
border: 2px solid #FF0B7E;
|
||||||
|
padding: 20px;
|
||||||
|
width: 750px;
|
||||||
|
height: 350px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.questionSectionLabelText {
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 16px;
|
||||||
|
padding-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.addQuestionButton {
|
||||||
|
}
|
||||||
|
|
||||||
.editContainer {
|
.editContainer {
|
||||||
overflow: scroll;
|
overflow: scroll;
|
||||||
}
|
}
|
||||||
|
@ -16,11 +16,14 @@
|
|||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div class="sidenav">
|
<div class="sidenav">
|
||||||
<a href="{% url 'home' %}">Strona główna</a>
|
<a href="{% url 'home' %}"><i class="fa-solid fa-house"></i> Strona główna</a>
|
||||||
<a href="{% url 'newTest' %}">Stwórz test</a>
|
<a href="{% url 'popular' %}"><i class="fa-solid fa-star"></i> Popularne </a>
|
||||||
<a href="{% url 'myTests' %}">Twoje testy</a>
|
<a href="{% url 'hard' %}"><i class="fa-solid fa-fire-flame-curved"></i> Trudne </a>
|
||||||
<a href="{% url 'solvedTests' %}">Wyniki testów</a>
|
<a href="{% url 'home' %}"><i class="fa-solid fa-trophy"></i> Turnieje </a>
|
||||||
<a href="{% url 'help' %}">Pomoc</a>
|
<br>
|
||||||
|
<a href="{% url 'newTest' %}"><i class="fa-solid fa-circle-plus"></i> Stwórz test</a>
|
||||||
|
<a href="{% url 'myTests' %}"><i class="fa-solid fa-note-sticky"></i> Twoje testy</a>
|
||||||
|
<a href="{% url 'solvedTests' %}"><i class="fa-solid fa-square-poll-horizontal"></i> Wyniki testów</a>
|
||||||
<p>Kategorie</p>
|
<p>Kategorie</p>
|
||||||
<a href="/category/JezykPolski">Język polski</a>
|
<a href="/category/JezykPolski">Język polski</a>
|
||||||
<a href="/category/JezykAngielski">Język angielski</a>
|
<a href="/category/JezykAngielski">Język angielski</a>
|
||||||
@ -34,13 +37,16 @@
|
|||||||
<a href="/category/Historia">Historia</a>
|
<a href="/category/Historia">Historia</a>
|
||||||
<a href="/category/Inne">Inne</a>
|
<a href="/category/Inne">Inne</a>
|
||||||
<p>Konto</p>
|
<p>Konto</p>
|
||||||
<a href="/users/account">Ustawienia</a>
|
<a href="/users/account"><i class="fa-solid fa-gear"></i> Ustawienia</a>
|
||||||
<a href="/users/logout">Wyloguj</a>
|
<a href="{% url 'help' %}"><i class="fa-solid fa-circle-question"></i> Pomoc</a>
|
||||||
|
<a href="/users/logout"><i class="fa-solid fa-right-from-bracket"></i> Wyloguj</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="content", name="content", class="main">
|
<div id="content", name="content", class="main">
|
||||||
{% block content %}
|
<div class="mainContainer">
|
||||||
{% endblock %}
|
{% block content %}
|
||||||
|
{% endblock %}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
|
@ -32,31 +32,31 @@
|
|||||||
<div class="mainTestMetaLineLabels">
|
<div class="mainTestMetaLineLabels">
|
||||||
<div class="mainTestMetaLabels">
|
<div class="mainTestMetaLabels">
|
||||||
Trudność:
|
Trudność:
|
||||||
{% if test.avg_difficulty == 0.0 %}
|
{% if test.difficulty_label == 0 %}
|
||||||
<span class="fa-solid fa-fire-flame-curved" title="Brak - za mało osób rozwiązało ten test"></span>
|
<span class="fa-solid fa-fire-flame-curved" title="Brak - za mało osób rozwiązało ten test"></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved" title="Brak - za mało osób rozwiązało ten test"></span>
|
<span class="fa-solid fa-fire-flame-curved" title="Brak - za mało osób rozwiązało ten test"></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved" title="Brak - za mało osób rozwiązało ten test"></span>
|
<span class="fa-solid fa-fire-flame-curved" title="Brak - za mało osób rozwiązało ten test"></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved" title="Brak - za mało osób rozwiązało ten test"></span>
|
<span class="fa-solid fa-fire-flame-curved" title="Brak - za mało osób rozwiązało ten test"></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved" title="Brak - za mało osób rozwiązało ten test"></span>
|
<span class="fa-solid fa-fire-flame-curved" title="Brak - za mało osób rozwiązało ten test"></span>
|
||||||
{% elif test.avg_difficulty < 20.0 %}
|
{% elif test.difficulty_label == 1 %}
|
||||||
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Bardzo trudny test, średni wynik użytkowników poniżej 20%"></span>
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Bardzo trudny test, średni wynik użytkowników poniżej 20%"></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved" title="Bardzo trudny test, średni wynik użytkowników poniżej 20%">></span>
|
<span class="fa-solid fa-fire-flame-curved" title="Bardzo trudny test, średni wynik użytkowników poniżej 20%">></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved" title="Bardzo trudny test, średni wynik użytkowników poniżej 20%">></span>
|
<span class="fa-solid fa-fire-flame-curved" title="Bardzo trudny test, średni wynik użytkowników poniżej 20%">></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved" title="Bardzo trudny test, średni wynik użytkowników poniżej 20%">></span>
|
<span class="fa-solid fa-fire-flame-curved" title="Bardzo trudny test, średni wynik użytkowników poniżej 20%">></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved" title="Bardzo trudny test, średni wynik użytkowników poniżej 20%">></span>
|
<span class="fa-solid fa-fire-flame-curved" title="Bardzo trudny test, średni wynik użytkowników poniżej 20%">></span>
|
||||||
{% elif test.avg_difficulty < 40.0 %}
|
{% elif test.difficulty_label == 2 %}
|
||||||
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Trudny test, średni wynik użytkowników nie przekracza 40%"></span>
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Trudny test, średni wynik użytkowników nie przekracza 40%"></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Trudny test, średni wynik użytkowników nie przekracza 40%"></span>
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Trudny test, średni wynik użytkowników nie przekracza 40%"></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved" title="Trudny test, średni wynik użytkowników nie przekracza 40%"></span>
|
<span class="fa-solid fa-fire-flame-curved" title="Trudny test, średni wynik użytkowników nie przekracza 40%"></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved" title="Trudny test, średni wynik użytkowników nie przekracza 40%"></span>
|
<span class="fa-solid fa-fire-flame-curved" title="Trudny test, średni wynik użytkowników nie przekracza 40%"></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved" title="Trudny test, średni wynik użytkowników nie przekracza 40%"></span>
|
<span class="fa-solid fa-fire-flame-curved" title="Trudny test, średni wynik użytkowników nie przekracza 40%"></span>
|
||||||
{% elif test.avg_difficulty < 60.0 %}
|
{% elif test.difficulty_label == 3 %}
|
||||||
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Przeciętny test, średni wynik użytkowników nie przekracza 60%"></span>
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Przeciętny test, średni wynik użytkowników nie przekracza 60%"></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Przeciętny test, średni wynik użytkowników nie przekracza 60%"></span>
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Przeciętny test, średni wynik użytkowników nie przekracza 60%"></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Przeciętny test, średni wynik użytkowników nie przekracza 60%"></span>
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Przeciętny test, średni wynik użytkowników nie przekracza 60%"></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved" title="Przeciętny test, średni wynik użytkowników nie przekracza 60%"></span>
|
<span class="fa-solid fa-fire-flame-curved" title="Przeciętny test, średni wynik użytkowników nie przekracza 60%"></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved" title="Przeciętny test, średni wynik użytkowników nie przekracza 60%"></span>
|
<span class="fa-solid fa-fire-flame-curved" title="Przeciętny test, średni wynik użytkowników nie przekracza 60%"></span>
|
||||||
{% elif test.avg_difficulty < 80.0 %}
|
{% elif test.difficulty_label == 4 %}
|
||||||
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Łatwy test, średni wynik użytkowników nie przekracza 80%"></span>
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Łatwy test, średni wynik użytkowników nie przekracza 80%"></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Łatwy test, średni wynik użytkowników nie przekracza 80%"></span>
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Łatwy test, średni wynik użytkowników nie przekracza 80%"></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Łatwy test, średni wynik użytkowników nie przekracza 80%"></span>
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Łatwy test, średni wynik użytkowników nie przekracza 80%"></span>
|
||||||
|
10
templates/createTestNew.html
Normal file
10
templates/createTestNew.html
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>$Title$</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
$END$
|
||||||
|
</body>
|
||||||
|
</html>
|
118
templates/hard.html
Normal file
118
templates/hard.html
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
{% extends "base.html" %}
|
||||||
|
|
||||||
|
{% block title %}Główna{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<h1>Najtrudniejsze testy:</h1>
|
||||||
|
{% for test in tests %}
|
||||||
|
<div class="mainTestContainer">
|
||||||
|
<div class="mainTestName">
|
||||||
|
{{test.name}}
|
||||||
|
{% if test.password != "" %}
|
||||||
|
<i class="fa-solid fa-lock locked" title="Test chroniony hasłem"></i>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
<div class="mainTestMeta">
|
||||||
|
<div class="mainTestMetaLine">
|
||||||
|
<div class="mainTestMetaInfoText">Kategoria: {{test.category}}</div>
|
||||||
|
<div class="mainTestMetaInfoText">Autor: {{test.get_author_name}}</div>
|
||||||
|
<div class="mainTestMetaInfoText">Rozwiązania: {{test.completions}}</div>
|
||||||
|
</div>
|
||||||
|
<div class="mainTestMetaLine">
|
||||||
|
<div class="mainTestMetaInfoText">Próg zaliczenia: {{test.passing_score}}</div>
|
||||||
|
<div class="mainTestMetaInfoText">Maksymalna ilość punktów: {{test.get_maxscore}}</div>
|
||||||
|
<div class="mainTestMetaInfoText">Ilość pytań: {{test.question_count}}</div>
|
||||||
|
</div>
|
||||||
|
<div class="mainTestMetaLineLabels">
|
||||||
|
<div class="mainTestMetaLabels">
|
||||||
|
Trudność:
|
||||||
|
{% if test.difficulty_label == 0 %}
|
||||||
|
<span class="fa-solid fa-fire-flame-curved" title="Brak - za mało osób rozwiązało ten test"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved" title="Brak - za mało osób rozwiązało ten test"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved" title="Brak - za mało osób rozwiązało ten test"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved" title="Brak - za mało osób rozwiązało ten test"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved" title="Brak - za mało osób rozwiązało ten test"></span>
|
||||||
|
{% elif test.difficulty_label == 1 %}
|
||||||
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Bardzo trudny test, średni wynik użytkowników poniżej 20%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved" title="Bardzo trudny test, średni wynik użytkowników poniżej 20%">></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved" title="Bardzo trudny test, średni wynik użytkowników poniżej 20%">></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved" title="Bardzo trudny test, średni wynik użytkowników poniżej 20%">></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved" title="Bardzo trudny test, średni wynik użytkowników poniżej 20%">></span>
|
||||||
|
{% elif test.difficulty_label == 2 %}
|
||||||
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Trudny test, średni wynik użytkowników nie przekracza 40%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Trudny test, średni wynik użytkowników nie przekracza 40%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved" title="Trudny test, średni wynik użytkowników nie przekracza 40%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved" title="Trudny test, średni wynik użytkowników nie przekracza 40%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved" title="Trudny test, średni wynik użytkowników nie przekracza 40%"></span>
|
||||||
|
{% elif test.difficulty_label == 3 %}
|
||||||
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Przeciętny test, średni wynik użytkowników nie przekracza 60%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Przeciętny test, średni wynik użytkowników nie przekracza 60%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Przeciętny test, średni wynik użytkowników nie przekracza 60%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved" title="Przeciętny test, średni wynik użytkowników nie przekracza 60%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved" title="Przeciętny test, średni wynik użytkowników nie przekracza 60%"></span>
|
||||||
|
{% elif test.difficulty_label == 4 %}
|
||||||
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Łatwy test, średni wynik użytkowników nie przekracza 80%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Łatwy test, średni wynik użytkowników nie przekracza 80%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Łatwy test, średni wynik użytkowników nie przekracza 80%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Łatwy test, średni wynik użytkowników nie przekracza 80%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved" title="Łatwy test, średni wynik użytkowników nie przekracza 80%"></span>
|
||||||
|
{% else %}
|
||||||
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Banalny test, średni wynik użytkowników powyżej 80%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Banalny test, średni wynik użytkowników powyżej 80%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Banalny test, średni wynik użytkowników powyżej 80%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Banalny test, średni wynik użytkowników powyżej 80%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Banalny test, średni wynik użytkowników powyżej 80%"></span>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
<div class="mainTestMetaLabels">
|
||||||
|
Ocena:
|
||||||
|
{% if test.avg_rating == 0 %}
|
||||||
|
<span class="fa fa-star" title="Użytkownicy jeszcze nie ocenili tego testu, bądź pierwszy"></span>
|
||||||
|
<span class="fa fa-star" title="Użytkownicy jeszcze nie ocenili tego testu, bądź pierwszy"></span>
|
||||||
|
<span class="fa fa-star" title="Użytkownicy jeszcze nie ocenili tego testu, bądź pierwszy"></span>
|
||||||
|
<span class="fa fa-star" title="Użytkownicy jeszcze nie ocenili tego testu, bądź pierwszy"></span>
|
||||||
|
<span class="fa fa-star" title="Użytkownicy jeszcze nie ocenili tego testu, bądź pierwszy"></span>
|
||||||
|
{% elif test.avg_rating == 1 %}
|
||||||
|
<span class="fa fa-star starChecked" title="Użytkownicy ocenili ten test jako tragiczny"></span>
|
||||||
|
<span class="fa fa-star" title="Użytkownicy ocenili ten test jako tragiczny"></span>
|
||||||
|
<span class="fa fa-star" title="Użytkownicy ocenili ten test jako tragiczny"></span>
|
||||||
|
<span class="fa fa-star" title="Użytkownicy ocenili ten test jako tragiczny"></span>
|
||||||
|
<span class="fa fa-star" title="Użytkownicy ocenili ten test jako tragiczny"></span>
|
||||||
|
{% elif test.avg_rating == 2 %}
|
||||||
|
<span class="fa fa-star starChecked" title="Użytkownicy ocenili ten test jako słaby"></span>
|
||||||
|
<span class="fa fa-star starChecked" title="Użytkownicy ocenili ten test jako słaby"></span>
|
||||||
|
<span class="fa fa-star" title="Użytkownicy ocenili ten test jako słaby"></span>
|
||||||
|
<span class="fa fa-star" title="Użytkownicy ocenili ten test jako słaby"></span>
|
||||||
|
<span class="fa fa-star" title="Użytkownicy ocenili ten test jako słaby"></span>
|
||||||
|
{% elif test.avg_rating == 3 %}
|
||||||
|
<span class="fa fa-star starChecked" title="Użytkownicy ocenili ten test jako przeciętny"></span>
|
||||||
|
<span class="fa fa-star starChecked" title="Użytkownicy ocenili ten test jako przeciętny"></span>
|
||||||
|
<span class="fa fa-star starChecked" title="Użytkownicy ocenili ten test jako przeciętny"></span>
|
||||||
|
<span class="fa fa-star" title="Użytkownicy ocenili ten test jako przeciętny"></span>
|
||||||
|
<span class="fa fa-star" title="Użytkownicy ocenili ten test jako przeciętny"></span>
|
||||||
|
{% elif test.avg_rating == 4 %}
|
||||||
|
<span class="fa fa-star starChecked" title="Użytkownicy ocenili ten test jako dobry"></span>
|
||||||
|
<span class="fa fa-star starChecked" title="Użytkownicy ocenili ten test jako dobry"></span>
|
||||||
|
<span class="fa fa-star starChecked" title="Użytkownicy ocenili ten test jako dobry"></span>
|
||||||
|
<span class="fa fa-star starChecked" title="Użytkownicy ocenili ten test jako dobry"></span>
|
||||||
|
<span class="fa fa-star"></span>
|
||||||
|
{% else %}
|
||||||
|
<span class="fa fa-star starChecked" title="Użytkownicy ocenili ten test jako genialny"></span>
|
||||||
|
<span class="fa fa-star starChecked" title="Użytkownicy ocenili ten test jako genialny"></span>
|
||||||
|
<span class="fa fa-star starChecked" title="Użytkownicy ocenili ten test jako genialny"></span>
|
||||||
|
<span class="fa fa-star starChecked" title="Użytkownicy ocenili ten test jako genialny"></span>
|
||||||
|
<span class="fa fa-star starChecked" title="Użytkownicy ocenili ten test jako genialny"></span>
|
||||||
|
{% endif %}
|
||||||
|
(Głosy: {{test.rates_amount}})
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- <div class="mainTestDesc">-->
|
||||||
|
<!-- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus volutpat scelerisque tortor, id sodales leo finibus id. Vivamus id viverra nunc, ac faucibus metus. Nulla a mauris imperdiet sapien lobortis dapibus. Quisque ornare posuere pulvinar.-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<button><a href="/tests/{{test.id}}/password">Rozwiąż</a></button>
|
||||||
|
</div>
|
||||||
|
<br>
|
||||||
|
{% endfor %}
|
||||||
|
{% endblock %}
|
||||||
|
|
@ -3,7 +3,7 @@
|
|||||||
{% block title %}Główna{% endblock %}
|
{% block title %}Główna{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h1>Rozwiąż jakiś test!</h1>
|
<h1>Najnowsze testy:</h1>
|
||||||
{% for test in tests %}
|
{% for test in tests %}
|
||||||
<div class="mainTestContainer">
|
<div class="mainTestContainer">
|
||||||
<div class="mainTestName">
|
<div class="mainTestName">
|
||||||
@ -26,31 +26,31 @@
|
|||||||
<div class="mainTestMetaLineLabels">
|
<div class="mainTestMetaLineLabels">
|
||||||
<div class="mainTestMetaLabels">
|
<div class="mainTestMetaLabels">
|
||||||
Trudność:
|
Trudność:
|
||||||
{% if test.avg_difficulty == 0.0 %}
|
{% if test.difficulty_label == 0 %}
|
||||||
<span class="fa-solid fa-fire-flame-curved" title="Brak - za mało osób rozwiązało ten test"></span>
|
<span class="fa-solid fa-fire-flame-curved" title="Brak - za mało osób rozwiązało ten test"></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved" title="Brak - za mało osób rozwiązało ten test"></span>
|
<span class="fa-solid fa-fire-flame-curved" title="Brak - za mało osób rozwiązało ten test"></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved" title="Brak - za mało osób rozwiązało ten test"></span>
|
<span class="fa-solid fa-fire-flame-curved" title="Brak - za mało osób rozwiązało ten test"></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved" title="Brak - za mało osób rozwiązało ten test"></span>
|
<span class="fa-solid fa-fire-flame-curved" title="Brak - za mało osób rozwiązało ten test"></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved" title="Brak - za mało osób rozwiązało ten test"></span>
|
<span class="fa-solid fa-fire-flame-curved" title="Brak - za mało osób rozwiązało ten test"></span>
|
||||||
{% elif test.avg_difficulty < 20.0 %}
|
{% elif test.difficulty_label == 1 %}
|
||||||
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Bardzo trudny test, średni wynik użytkowników poniżej 20%"></span>
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Bardzo trudny test, średni wynik użytkowników poniżej 20%"></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved" title="Bardzo trudny test, średni wynik użytkowników poniżej 20%">></span>
|
<span class="fa-solid fa-fire-flame-curved" title="Bardzo trudny test, średni wynik użytkowników poniżej 20%">></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved" title="Bardzo trudny test, średni wynik użytkowników poniżej 20%">></span>
|
<span class="fa-solid fa-fire-flame-curved" title="Bardzo trudny test, średni wynik użytkowników poniżej 20%">></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved" title="Bardzo trudny test, średni wynik użytkowników poniżej 20%">></span>
|
<span class="fa-solid fa-fire-flame-curved" title="Bardzo trudny test, średni wynik użytkowników poniżej 20%">></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved" title="Bardzo trudny test, średni wynik użytkowników poniżej 20%">></span>
|
<span class="fa-solid fa-fire-flame-curved" title="Bardzo trudny test, średni wynik użytkowników poniżej 20%">></span>
|
||||||
{% elif test.avg_difficulty < 40.0 %}
|
{% elif test.difficulty_label == 2 %}
|
||||||
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Trudny test, średni wynik użytkowników nie przekracza 40%"></span>
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Trudny test, średni wynik użytkowników nie przekracza 40%"></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Trudny test, średni wynik użytkowników nie przekracza 40%"></span>
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Trudny test, średni wynik użytkowników nie przekracza 40%"></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved" title="Trudny test, średni wynik użytkowników nie przekracza 40%"></span>
|
<span class="fa-solid fa-fire-flame-curved" title="Trudny test, średni wynik użytkowników nie przekracza 40%"></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved" title="Trudny test, średni wynik użytkowników nie przekracza 40%"></span>
|
<span class="fa-solid fa-fire-flame-curved" title="Trudny test, średni wynik użytkowników nie przekracza 40%"></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved" title="Trudny test, średni wynik użytkowników nie przekracza 40%"></span>
|
<span class="fa-solid fa-fire-flame-curved" title="Trudny test, średni wynik użytkowników nie przekracza 40%"></span>
|
||||||
{% elif test.avg_difficulty < 60.0 %}
|
{% elif test.difficulty_label == 3 %}
|
||||||
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Przeciętny test, średni wynik użytkowników nie przekracza 60%"></span>
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Przeciętny test, średni wynik użytkowników nie przekracza 60%"></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Przeciętny test, średni wynik użytkowników nie przekracza 60%"></span>
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Przeciętny test, średni wynik użytkowników nie przekracza 60%"></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Przeciętny test, średni wynik użytkowników nie przekracza 60%"></span>
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Przeciętny test, średni wynik użytkowników nie przekracza 60%"></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved" title="Przeciętny test, średni wynik użytkowników nie przekracza 60%"></span>
|
<span class="fa-solid fa-fire-flame-curved" title="Przeciętny test, średni wynik użytkowników nie przekracza 60%"></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved" title="Przeciętny test, średni wynik użytkowników nie przekracza 60%"></span>
|
<span class="fa-solid fa-fire-flame-curved" title="Przeciętny test, średni wynik użytkowników nie przekracza 60%"></span>
|
||||||
{% elif test.avg_difficulty < 80.0 %}
|
{% elif test.difficulty_label == 4 %}
|
||||||
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Łatwy test, średni wynik użytkowników nie przekracza 80%"></span>
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Łatwy test, średni wynik użytkowników nie przekracza 80%"></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Łatwy test, średni wynik użytkowników nie przekracza 80%"></span>
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Łatwy test, średni wynik użytkowników nie przekracza 80%"></span>
|
||||||
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Łatwy test, średni wynik użytkowników nie przekracza 80%"></span>
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Łatwy test, średni wynik użytkowników nie przekracza 80%"></span>
|
||||||
|
118
templates/popular.html
Normal file
118
templates/popular.html
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
{% extends "base.html" %}
|
||||||
|
|
||||||
|
{% block title %}Główna{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<h1>Najpopularniejsze testy:</h1>
|
||||||
|
{% for test in tests %}
|
||||||
|
<div class="mainTestContainer">
|
||||||
|
<div class="mainTestName">
|
||||||
|
{{test.name}}
|
||||||
|
{% if test.password != "" %}
|
||||||
|
<i class="fa-solid fa-lock locked" title="Test chroniony hasłem"></i>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
<div class="mainTestMeta">
|
||||||
|
<div class="mainTestMetaLine">
|
||||||
|
<div class="mainTestMetaInfoText">Kategoria: {{test.category}}</div>
|
||||||
|
<div class="mainTestMetaInfoText">Autor: {{test.get_author_name}}</div>
|
||||||
|
<div class="mainTestMetaInfoText">Rozwiązania: {{test.completions}}</div>
|
||||||
|
</div>
|
||||||
|
<div class="mainTestMetaLine">
|
||||||
|
<div class="mainTestMetaInfoText">Próg zaliczenia: {{test.passing_score}}</div>
|
||||||
|
<div class="mainTestMetaInfoText">Maksymalna ilość punktów: {{test.get_maxscore}}</div>
|
||||||
|
<div class="mainTestMetaInfoText">Ilość pytań: {{test.question_count}}</div>
|
||||||
|
</div>
|
||||||
|
<div class="mainTestMetaLineLabels">
|
||||||
|
<div class="mainTestMetaLabels">
|
||||||
|
Trudność:
|
||||||
|
{% if test.difficulty_label == 0 %}
|
||||||
|
<span class="fa-solid fa-fire-flame-curved" title="Brak - za mało osób rozwiązało ten test"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved" title="Brak - za mało osób rozwiązało ten test"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved" title="Brak - za mało osób rozwiązało ten test"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved" title="Brak - za mało osób rozwiązało ten test"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved" title="Brak - za mało osób rozwiązało ten test"></span>
|
||||||
|
{% elif test.difficulty_label == 1 %}
|
||||||
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Bardzo trudny test, średni wynik użytkowników poniżej 20%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved" title="Bardzo trudny test, średni wynik użytkowników poniżej 20%">></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved" title="Bardzo trudny test, średni wynik użytkowników poniżej 20%">></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved" title="Bardzo trudny test, średni wynik użytkowników poniżej 20%">></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved" title="Bardzo trudny test, średni wynik użytkowników poniżej 20%">></span>
|
||||||
|
{% elif test.difficulty_label == 2 %}
|
||||||
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Trudny test, średni wynik użytkowników nie przekracza 40%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Trudny test, średni wynik użytkowników nie przekracza 40%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved" title="Trudny test, średni wynik użytkowników nie przekracza 40%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved" title="Trudny test, średni wynik użytkowników nie przekracza 40%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved" title="Trudny test, średni wynik użytkowników nie przekracza 40%"></span>
|
||||||
|
{% elif test.difficulty_label == 3 %}
|
||||||
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Przeciętny test, średni wynik użytkowników nie przekracza 60%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Przeciętny test, średni wynik użytkowników nie przekracza 60%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Przeciętny test, średni wynik użytkowników nie przekracza 60%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved" title="Przeciętny test, średni wynik użytkowników nie przekracza 60%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved" title="Przeciętny test, średni wynik użytkowników nie przekracza 60%"></span>
|
||||||
|
{% elif test.difficulty_label == 4 %}
|
||||||
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Łatwy test, średni wynik użytkowników nie przekracza 80%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Łatwy test, średni wynik użytkowników nie przekracza 80%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Łatwy test, średni wynik użytkowników nie przekracza 80%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Łatwy test, średni wynik użytkowników nie przekracza 80%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved" title="Łatwy test, średni wynik użytkowników nie przekracza 80%"></span>
|
||||||
|
{% else %}
|
||||||
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Banalny test, średni wynik użytkowników powyżej 80%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Banalny test, średni wynik użytkowników powyżej 80%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Banalny test, średni wynik użytkowników powyżej 80%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Banalny test, średni wynik użytkowników powyżej 80%"></span>
|
||||||
|
<span class="fa-solid fa-fire-flame-curved fireChecked" title="Banalny test, średni wynik użytkowników powyżej 80%"></span>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
<div class="mainTestMetaLabels">
|
||||||
|
Ocena:
|
||||||
|
{% if test.avg_rating == 0 %}
|
||||||
|
<span class="fa fa-star" title="Użytkownicy jeszcze nie ocenili tego testu, bądź pierwszy"></span>
|
||||||
|
<span class="fa fa-star" title="Użytkownicy jeszcze nie ocenili tego testu, bądź pierwszy"></span>
|
||||||
|
<span class="fa fa-star" title="Użytkownicy jeszcze nie ocenili tego testu, bądź pierwszy"></span>
|
||||||
|
<span class="fa fa-star" title="Użytkownicy jeszcze nie ocenili tego testu, bądź pierwszy"></span>
|
||||||
|
<span class="fa fa-star" title="Użytkownicy jeszcze nie ocenili tego testu, bądź pierwszy"></span>
|
||||||
|
{% elif test.avg_rating == 1 %}
|
||||||
|
<span class="fa fa-star starChecked" title="Użytkownicy ocenili ten test jako tragiczny"></span>
|
||||||
|
<span class="fa fa-star" title="Użytkownicy ocenili ten test jako tragiczny"></span>
|
||||||
|
<span class="fa fa-star" title="Użytkownicy ocenili ten test jako tragiczny"></span>
|
||||||
|
<span class="fa fa-star" title="Użytkownicy ocenili ten test jako tragiczny"></span>
|
||||||
|
<span class="fa fa-star" title="Użytkownicy ocenili ten test jako tragiczny"></span>
|
||||||
|
{% elif test.avg_rating == 2 %}
|
||||||
|
<span class="fa fa-star starChecked" title="Użytkownicy ocenili ten test jako słaby"></span>
|
||||||
|
<span class="fa fa-star starChecked" title="Użytkownicy ocenili ten test jako słaby"></span>
|
||||||
|
<span class="fa fa-star" title="Użytkownicy ocenili ten test jako słaby"></span>
|
||||||
|
<span class="fa fa-star" title="Użytkownicy ocenili ten test jako słaby"></span>
|
||||||
|
<span class="fa fa-star" title="Użytkownicy ocenili ten test jako słaby"></span>
|
||||||
|
{% elif test.avg_rating == 3 %}
|
||||||
|
<span class="fa fa-star starChecked" title="Użytkownicy ocenili ten test jako przeciętny"></span>
|
||||||
|
<span class="fa fa-star starChecked" title="Użytkownicy ocenili ten test jako przeciętny"></span>
|
||||||
|
<span class="fa fa-star starChecked" title="Użytkownicy ocenili ten test jako przeciętny"></span>
|
||||||
|
<span class="fa fa-star" title="Użytkownicy ocenili ten test jako przeciętny"></span>
|
||||||
|
<span class="fa fa-star" title="Użytkownicy ocenili ten test jako przeciętny"></span>
|
||||||
|
{% elif test.avg_rating == 4 %}
|
||||||
|
<span class="fa fa-star starChecked" title="Użytkownicy ocenili ten test jako dobry"></span>
|
||||||
|
<span class="fa fa-star starChecked" title="Użytkownicy ocenili ten test jako dobry"></span>
|
||||||
|
<span class="fa fa-star starChecked" title="Użytkownicy ocenili ten test jako dobry"></span>
|
||||||
|
<span class="fa fa-star starChecked" title="Użytkownicy ocenili ten test jako dobry"></span>
|
||||||
|
<span class="fa fa-star"></span>
|
||||||
|
{% else %}
|
||||||
|
<span class="fa fa-star starChecked" title="Użytkownicy ocenili ten test jako genialny"></span>
|
||||||
|
<span class="fa fa-star starChecked" title="Użytkownicy ocenili ten test jako genialny"></span>
|
||||||
|
<span class="fa fa-star starChecked" title="Użytkownicy ocenili ten test jako genialny"></span>
|
||||||
|
<span class="fa fa-star starChecked" title="Użytkownicy ocenili ten test jako genialny"></span>
|
||||||
|
<span class="fa fa-star starChecked" title="Użytkownicy ocenili ten test jako genialny"></span>
|
||||||
|
{% endif %}
|
||||||
|
(Głosy: {{test.rates_amount}})
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- <div class="mainTestDesc">-->
|
||||||
|
<!-- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus volutpat scelerisque tortor, id sodales leo finibus id. Vivamus id viverra nunc, ac faucibus metus. Nulla a mauris imperdiet sapien lobortis dapibus. Quisque ornare posuere pulvinar.-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<button><a href="/tests/{{test.id}}/password">Rozwiąż</a></button>
|
||||||
|
</div>
|
||||||
|
<br>
|
||||||
|
{% endfor %}
|
||||||
|
{% endblock %}
|
||||||
|
|
@ -28,6 +28,7 @@ class Test(models.Model):
|
|||||||
total_rating = models.IntegerField(default=0)
|
total_rating = models.IntegerField(default=0)
|
||||||
avg_rating = models.IntegerField(default=0)
|
avg_rating = models.IntegerField(default=0)
|
||||||
rates_amount = models.IntegerField(default=0)
|
rates_amount = models.IntegerField(default=0)
|
||||||
|
difficulty_label = models.IntegerField(default=0)
|
||||||
avg_difficulty = models.FloatField(default=0.0)
|
avg_difficulty = models.FloatField(default=0.0)
|
||||||
objects = TestManager()
|
objects = TestManager()
|
||||||
|
|
||||||
|
@ -19,6 +19,14 @@ class TestSerializer(serializers.ModelSerializer):
|
|||||||
"questions",
|
"questions",
|
||||||
"visible",
|
"visible",
|
||||||
"category",
|
"category",
|
||||||
|
"created_by",
|
||||||
|
"completions",
|
||||||
|
"total_percentage_scored_by_users",
|
||||||
|
"total_rating",
|
||||||
|
"avg_rating",
|
||||||
|
"rates_amount",
|
||||||
|
"difficulty_label",
|
||||||
|
"avg_difficulty"
|
||||||
)
|
)
|
||||||
|
|
||||||
def create(self, validated_data):
|
def create(self, validated_data):
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
from django.urls import path
|
from django.urls import path
|
||||||
from rest_framework.routers import DefaultRouter
|
from rest_framework.routers import DefaultRouter
|
||||||
|
|
||||||
from trials.views import TestModelViewSet, TestTemplateView, TestValidateAPIView, TestResultView, rateTest, addTest, addQuestions, myTests, solvedTests, solvedTestsDetailed, EditTestTemplateView, deleteTest, AddQuestionToExistingTest, RemoveQuestionFromExistingTest, EditQuestionTemplateView, editName, editVisible, editPassword, TestPasswordTemplateView
|
from trials.views import TestModelViewSet, TestTemplateView, TestValidateAPIView, TestResultView, rateTest, addTest, addTest2, addQuestions, myTests, solvedTests, solvedTestsDetailed, EditTestTemplateView, deleteTest, AddQuestionToExistingTest, RemoveQuestionFromExistingTest, EditQuestionTemplateView, editName, editVisible, editPassword, TestPasswordTemplateView
|
||||||
|
|
||||||
router = DefaultRouter(trailing_slash=False)
|
router = DefaultRouter(trailing_slash=False)
|
||||||
router.register("items", TestModelViewSet)
|
router.register("items", TestModelViewSet)
|
||||||
|
@ -18,12 +18,12 @@ from django.template import loader
|
|||||||
from django.template.loader import render_to_string, get_template
|
from django.template.loader import render_to_string, get_template
|
||||||
from django.http import HttpRequest
|
from django.http import HttpRequest
|
||||||
import requests
|
import requests
|
||||||
|
from django.contrib.auth.decorators import login_required
|
||||||
|
|
||||||
|
@login_required
|
||||||
def addTest(request):
|
def addTest(request):
|
||||||
return render(request, 'createTest.html')
|
return render(request, 'createTest.html')
|
||||||
|
|
||||||
|
|
||||||
def is_visible(visible):
|
def is_visible(visible):
|
||||||
if visible =="public":
|
if visible =="public":
|
||||||
return True
|
return True
|
||||||
@ -144,14 +144,14 @@ class RemoveQuestionFromExistingTest(TemplateView):
|
|||||||
Question.objects.get(id=request.POST["id"]).delete()
|
Question.objects.get(id=request.POST["id"]).delete()
|
||||||
return redirect(f'/tests/{kwargs["test_id"]}/edit')
|
return redirect(f'/tests/{kwargs["test_id"]}/edit')
|
||||||
|
|
||||||
|
@login_required
|
||||||
def myTests(request):
|
def myTests(request):
|
||||||
context = {}
|
context = {}
|
||||||
user = request.user.id
|
user = request.user.id
|
||||||
context['tests'] = Test.objects.filter(created_by=user)
|
context['tests'] = Test.objects.filter(created_by=user)
|
||||||
return render(request, 'myTests.html', context)
|
return render(request, 'myTests.html', context)
|
||||||
|
|
||||||
|
@login_required
|
||||||
def solvedTests(request):
|
def solvedTests(request):
|
||||||
context = {}
|
context = {}
|
||||||
user_id = request.user.id
|
user_id = request.user.id
|
||||||
@ -180,7 +180,7 @@ def solvedTests(request):
|
|||||||
context['tests_lists'] = dict_with_lists_of_test_results
|
context['tests_lists'] = dict_with_lists_of_test_results
|
||||||
return render(request, 'solvedTests.html', context)
|
return render(request, 'solvedTests.html', context)
|
||||||
|
|
||||||
|
@login_required
|
||||||
def solvedTestsDetailed(request, test_id):
|
def solvedTestsDetailed(request, test_id):
|
||||||
context = {}
|
context = {}
|
||||||
solved_tests = SolvedTest.objects.filter(test__id=test_id)
|
solved_tests = SolvedTest.objects.filter(test__id=test_id)
|
||||||
@ -268,12 +268,12 @@ class EditQuestionTemplateView(TemplateView):
|
|||||||
Question.objects.EditQuestion(question_id=question_id, name=description, answers=answers)
|
Question.objects.EditQuestion(question_id=question_id, name=description, answers=answers)
|
||||||
return redirect(f'/tests/{test}/edit')
|
return redirect(f'/tests/{test}/edit')
|
||||||
|
|
||||||
|
@login_required
|
||||||
def deleteTest(request, test_id):
|
def deleteTest(request, test_id):
|
||||||
Test.objects.filter(id=test_id).delete()
|
Test.objects.filter(id=test_id).delete()
|
||||||
return redirect('myTests')
|
return redirect('myTests')
|
||||||
|
|
||||||
|
@login_required
|
||||||
def editVisible(request, test_id):
|
def editVisible(request, test_id):
|
||||||
new_visible = request.GET["visible"]
|
new_visible = request.GET["visible"]
|
||||||
if new_visible == "public":
|
if new_visible == "public":
|
||||||
@ -285,6 +285,7 @@ def editVisible(request, test_id):
|
|||||||
test.save()
|
test.save()
|
||||||
return redirect(f'/tests/{test_id}/edit')
|
return redirect(f'/tests/{test_id}/edit')
|
||||||
|
|
||||||
|
@login_required
|
||||||
def editName(request, test_id):
|
def editName(request, test_id):
|
||||||
new_name = request.GET["name"]
|
new_name = request.GET["name"]
|
||||||
test = Test.objects.get(id=test_id)
|
test = Test.objects.get(id=test_id)
|
||||||
@ -292,7 +293,7 @@ def editName(request, test_id):
|
|||||||
test.save()
|
test.save()
|
||||||
return redirect(f'/tests/{test_id}/edit')
|
return redirect(f'/tests/{test_id}/edit')
|
||||||
|
|
||||||
|
@login_required
|
||||||
def editPassword(request, test_id):
|
def editPassword(request, test_id):
|
||||||
new_password = request.GET["password"]
|
new_password = request.GET["password"]
|
||||||
test = Test.objects.get(id=test_id)
|
test = Test.objects.get(id=test_id)
|
||||||
@ -300,7 +301,7 @@ def editPassword(request, test_id):
|
|||||||
test.save()
|
test.save()
|
||||||
return redirect(f'/tests/{test_id}/edit')
|
return redirect(f'/tests/{test_id}/edit')
|
||||||
|
|
||||||
|
@login_required
|
||||||
def rateTest(request, test_id):
|
def rateTest(request, test_id):
|
||||||
test = Test.objects.get(id=test_id)
|
test = Test.objects.get(id=test_id)
|
||||||
rate = request.GET["rate"]
|
rate = request.GET["rate"]
|
||||||
@ -401,6 +402,7 @@ class TestTemplateView(TemplateView):
|
|||||||
return HttpResponseRedirect(f'result')
|
return HttpResponseRedirect(f'result')
|
||||||
|
|
||||||
|
|
||||||
|
@login_required
|
||||||
def TestPasswordTemplateView(request, test_id):
|
def TestPasswordTemplateView(request, test_id):
|
||||||
test = Test.objects.get(id=test_id)
|
test = Test.objects.get(id=test_id)
|
||||||
if test.password == "":
|
if test.password == "":
|
||||||
@ -411,6 +413,7 @@ def TestPasswordTemplateView(request, test_id):
|
|||||||
return render(request, 'testPassword.html')
|
return render(request, 'testPassword.html')
|
||||||
|
|
||||||
|
|
||||||
|
@login_required
|
||||||
def testView(request):
|
def testView(request):
|
||||||
permission_classes = []
|
permission_classes = []
|
||||||
template_name = settings.BASE_DIR + f"/templates/generic_test.html"
|
template_name = settings.BASE_DIR + f"/templates/generic_test.html"
|
||||||
|
Loading…
Reference in New Issue
Block a user