Skip to content
Snippets Groups Projects
Commit 5a845e71 authored by Zdenek Kubala's avatar Zdenek Kubala
Browse files

visual enhancements of sifrovacka and stage page

parent 17aea347
No related branches found
No related tags found
1 merge request!2Added stage web page
......@@ -2,7 +2,9 @@ appdirs==1.4.4
asgiref==3.3.4
asn1crypto==1.4.0
backcall==0.2.0
certifi==2021.5.30
cffi==1.14.6
charset-normalizer==2.0.4
confusable-homoglyphs==3.2.0
cryptography==3.3.2
dbus-python==1.2.16
......@@ -10,8 +12,10 @@ decorator==5.0.9
distlib==0.3.1
Django==3.2.3
django-registration==3.2
django-tinymce==3.3.0
entrypoints==0.3
filelock==3.0.12
idna==3.2
importlib-metadata==1.6.0
ipython==7.27.0
ipython-genutils==0.2.0
......@@ -27,6 +31,7 @@ more-itertools==4.2.0
parso==0.8.2
pexpect==4.8.0
pickleshare==0.7.5
Pillow==8.3.2
prompt-toolkit==3.0.20
ptyprocess==0.7.0
pycairo==1.20.1
......@@ -38,11 +43,13 @@ PyGObject==3.38.0
pytz==2021.1
pyxdg==0.27
PyYAML==5.3.1
requests==2.26.0
SecretStorage==3.3.1
six==1.16.0
sqlparse==0.4.1
traitlets==5.0.5
typing-extensions==3.10.0.0
urllib3==1.26.6
virtualenv==20.4.0+ds
wcwidth==0.2.5
xdg==5
......
# Generated by Django 3.2.3 on 2021-09-05 16:53
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('sifrovacka', '0021_auto_20210905_0835'),
]
operations = [
migrations.AlterField(
model_name='sifrovacka',
name='sifrovacka_description',
field=models.CharField(max_length=800),
),
migrations.AlterField(
model_name='stages',
name='stage_description',
field=models.CharField(max_length=800),
),
migrations.AlterField(
model_name='stages',
name='stage_urlhash',
field=models.CharField(default='baacf3800e6911eca1db2016b9b07b5b', max_length=32),
),
]
# Generated by Django 3.2.3 on 2021-09-05 16:54
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('sifrovacka', '0022_auto_20210905_1653'),
]
operations = [
migrations.AlterField(
model_name='sifrovacka',
name='sifrovacka_description',
field=models.CharField(max_length=2000),
),
migrations.AlterField(
model_name='stages',
name='stage_description',
field=models.CharField(max_length=2000),
),
migrations.AlterField(
model_name='stages',
name='stage_urlhash',
field=models.CharField(default='f70c86ec0e6911ecb6a22016b9b07b5b', max_length=32),
),
]
# Generated by Django 3.2.3 on 2021-09-05 17:19
from django.db import migrations, models
import tinymce.models
class Migration(migrations.Migration):
dependencies = [
('sifrovacka', '0023_auto_20210905_1654'),
]
operations = [
migrations.AlterField(
model_name='sifrovacka',
name='sifrovacka_description',
field=tinymce.models.HTMLField(),
),
migrations.AlterField(
model_name='stages',
name='stage_description',
field=tinymce.models.HTMLField(),
),
migrations.AlterField(
model_name='stages',
name='stage_urlhash',
field=models.CharField(default='60bf43560e6d11ecba282016b9b07b5b', max_length=32),
),
]
# Generated by Django 3.2.3 on 2021-09-05 17:32
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('sifrovacka', '0024_auto_20210905_1719'),
]
operations = [
migrations.AlterField(
model_name='stages',
name='stage_urlhash',
field=models.CharField(default='3f5301b00e6f11ecbda72016b9b07b5b', max_length=32),
),
]
# Generated by Django 3.2.3 on 2021-09-05 17:32
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('sifrovacka', '0025_alter_stages_stage_urlhash'),
]
operations = [
migrations.AlterField(
model_name='stages',
name='stage_urlhash',
field=models.CharField(default='43efd7700e6f11ecb08f2016b9b07b5b', max_length=32),
),
]
......@@ -5,19 +5,28 @@ from django.db import models
from django.conf import settings
from uuid import uuid1
from django.utils import encoding
from tinymce.models import HTMLField
def UserDirectoryPath(instance, filename):
# file will be uploaded to MEDIA_ROOT/sifrovacka_<id>/<filename>
return 'sifrovacka_{0}/stage{1}/{2}'.format(instance.sifrovacka_id,
try:
# file will be uploaded to MEDIA_ROOT/sifrovacka_<id>/stage_<id>/<filename>
return 'sifrovacka_{0}/stage_{1}/{2}'.format(instance.sifrovacka_id,
instance.stage_number,
encoding.smart_str(filename, encoding='utf-8', strings_only = True))
except:
pass
finally:
# file will be uploaded to MEDIA_ROOT/sifrovacka_<id>/<filename>
return 'sifrovacka_{0}/{1}'.format(instance.id,
encoding.smart_str(filename, encoding='utf-8', strings_only = True))
class Sifrovacka(models.Model):
'''
model which describes sifrovacka
'''
sifrovacka_name = models.CharField(max_length=200)
sifrovacka_description = models.CharField(max_length=500)
sifrovacka_description = HTMLField()
#sifrovacka_description = models.CharField(max_length=2000)
sifrovacka_img = models.ImageField(blank=True, upload_to=UserDirectoryPath)
#pub_date = models.DateField()
pub_date = models.DateTimeField('date published')
......@@ -35,21 +44,13 @@ class Stages(models.Model):
sifrovacka = models.ForeignKey(Sifrovacka, on_delete=models.CASCADE)
stage_number = models.IntegerField()
stage_name = models.CharField(max_length=80)
stage_description = models.CharField(max_length=500)
stage_description = HTMLField()
#sifrovacka_description = models.CharField(max_length=2000)
stage_passphrase = models.CharField(max_length=30,
default='hesl0Sifrovacka')
stage_img = models.ImageField(blank=True, upload_to=UserDirectoryPath)
stage_urlhash = models.CharField(max_length=32, default=uuid1().hex)
# if not stage_name_text models:
# stage_name = getattr(Stages, sifrovacka_name)
# "-" + getattr(Stages, stage_number))
# else:
# stage_name = stage_name_text
# votes = models.IntegerField(default=0)
# startdate_stages = models.DateField()
# enddate_stages= models.DateField()
def __str__(self):
return str(self.sifrovacka) + " - Stage " + str(self.stage_number)
......
{% extends "base.html" %}
{% load static %}
{% block content %}
<p> Toto je detail sifrovacky se jmenem: <b>{{sifrovacka_detail}} </b> a id: {{sifrovacka_id}}. </p>
......@@ -8,8 +9,18 @@
Casova narocnost: NONE</p>
</br>
{{ sifrovacka_detail.sifrovacka_description | safe }}
{% if sifrovacka_detail.sifrovacka_img %}
<figure class="figure">
<img src=" {% get_media_prefix %}{{sifrovacka_detail.sifrovacka_img}}" alt="16x9 Image">
<figcaption>
Autor: Junius Koolen CC-BY-SA
</figcaption>
</figure>
{{ sifrovacka_detail.sifrovacka_img }}
{% endif%}
{% if request.user.is_authenticated %}
{% if not sifrovacka_current %}
{% if not sifrovacka_current_stage_urlhash %}
<form action="{% url 'home' %}" method="post">
{% csrf_token %}
<button type="submit" value={{ sifrovacka_id }} name='signupsif'>Prihlasit se k sifrovacce</button>
......@@ -35,6 +46,11 @@ Debug:
</div>
{% comment %}
<form action="{% url 'sifrovacka:home' sifrovacka.id %}" method="post">
<img src="{{ MEDIA_URL }}{{sifrovacka_detail.sifrovacka_img}}" alt="16x9 Image">
{% csrf_token %}
<button type="submit" value=signupsif name='signupsif'>Prihlasit se k sifrovacce</button>
<button type="submit" value=signupsif onclick="location.href='{% url 'home' %}'" name='_signupsif'>Prihlasit se k sifrovacce</button>
......
{% extends "sifrovacka.html" %}
{% load static %}
{% comment %}
{{ sifrovacka_current_id }} - {{ sifrovacka_current_stage_url_hash.at_stage }}
{% endcomment %}
{% block content %}
{% if sifrovacka_current %}
{% if sifrovacka_current_stage_urlhash %}
{% if request.user.is_authenticated %}
{{ sifrovacka_current }} - {{ sifrovacka_current.at_stage }}
<p> <b>{{ sifrovacka_current_stage_urlhash }} </b> - krok cislo {{ stage_current_id.stage_number }} z {{ sifrovacka_stage_count }}. </p>
{{ stage_current_id.stage_description | safe }}
{% if stage_current_id.stage_img %}
<figure class="figure">
<img src=" {% get_media_prefix %}{{stage_current_id.stage_img}}" alt="16x9 Image">
<figcaption>
Autor: Junius Koolen CC-BY-SA
</figcaption>
</figure>
{{ sifrovacka_detail.sifrovacka_img }}
{% endif%}
{% endif %}
{% else %}
<div class="alert alert--red-600">
......
from django.urls import include,path
from django.urls import include,path,re_path
from django.conf import settings
from django.conf.urls.static import static
......@@ -13,10 +13,14 @@ urlpatterns = [
path('<int:sifrovacka_id>/<slug:stage_urlhash>/', views.stage, name='stage'),
# home page
path('home/', views.home, name='home'),
# rich test editor
re_path(r'^tinymce/', include('tinymce.urls')),
# /
path('', views.index, name='index'),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
#if settings.DEBUG:
# urlpatterns += static(settings.MEDIA_URL,
# document_root=settings.MEDIA_ROOT)
]
# ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
if settings.DEBUG:
print("XXXXXX")
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
......@@ -14,7 +14,8 @@ def stage(request, sifrovacka_id, stage_urlhash):
# print(stage_urlhash)
# print(request.user.participants_set.values())
# sifrovacka_current_stage = request.user.participants_set.values_list('id')
sifrovacka_current = None
sifrovacka_current_stage_urlhash = None
sifrovacka_current_id = None
sifrovacka_detail = Sifrovacka.objects.get(id = sifrovacka_id)
sifrovacka_stages = Stages.objects.filter(sifrovacka__sifrovacka_name = sifrovacka_detail)
sifrovacka_stage_count = sifrovacka_stages.count()
......@@ -31,26 +32,29 @@ def stage(request, sifrovacka_id, stage_urlhash):
tmp_stage_id)
if (sifrovacka_current_stage_urlhash.at_stage == stage_urlhash):
print('hehe')
sifrovacka_current = Participants.objects.get(id = \
tmp_stage_id)
stage_current_id = Stages.objects.get(stage_urlhash =
sifrovacka_current_stage_urlhash.at_stage)
#sifrovacka_current = Participants.objects.get(id = \
# tmp_stage_id)
else:
print('not same')
# else:
# sifrovacka_current = None
print(sifrovacka_current)
print(sifrovacka_current_id)
context = {"sifrovacka_id": sifrovacka_id,
"sifrovacka_detail": sifrovacka_detail,
"sifrovacka_stages": sifrovacka_stages,
"sifrovacka_stage_count": sifrovacka_stage_count,
"sifrovacka_current": sifrovacka_current
"stage_current_id": stage_current_id,
"sifrovacka_current_stage_urlhash": sifrovacka_current_stage_urlhash
}
return render(request, 'stage.html', context)
def detail(request, sifrovacka_id):
# print(dir(request))
sifrovacka_current_stage_urlhash = None
sifrovacka_current = None
sifrovacka_current_id = None
sifrovacka_detail = Sifrovacka.objects.get(id = sifrovacka_id)
sifrovacka_stages = Stages.objects.filter(sifrovacka__sifrovacka_name = sifrovacka_detail)
sifrovacka_stage_count = sifrovacka_stages.count()
......@@ -67,8 +71,9 @@ def detail(request, sifrovacka_id):
tmp_stage_id)
# if (sifrovacka_current_stage_urlhash.at_stage == stage_urlhash):
# print('hehe')
sifrovacka_current = Participants.objects.get(id = \
tmp_stage_id)
sifrovacka_current_id = tmp_stage_id
#sifrovacka_current_id = Participants.objects.get(id = \
# tmp_stage_id)
# else:
# print('not same')
......@@ -77,7 +82,7 @@ def detail(request, sifrovacka_id):
"sifrovacka_detail": sifrovacka_detail,
"sifrovacka_stages": sifrovacka_stages,
"sifrovacka_stage_count": sifrovacka_stage_count,
"sifrovacka_current": sifrovacka_current,
"sifrovacka_current_id": sifrovacka_current_id,
"sifrovacka_current_stage_urlhash":
sifrovacka_current_stage_urlhash
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment