Добавил возможность не указывать дедлайн в задаче, изменил отображение скролла на некоторых страницах, добавил возможность не указывать дату рождения в профиле

This commit is contained in:
Andrei 2023-03-12 17:37:41 +05:00
parent 19e1fbeb79
commit 0fe07673b7
7 changed files with 58 additions and 20 deletions

View File

@ -1,7 +1,7 @@
from flask_wtf import FlaskForm
from flask_wtf.file import FileAllowed
from wtforms import EmailField, StringField, TextAreaField, FileField, SubmitField, DateField
from wtforms.validators import DataRequired
from wtforms.validators import DataRequired, Optional
class EditProfileForm(FlaskForm):
@ -9,7 +9,7 @@ class EditProfileForm(FlaskForm):
name = StringField('Имя', validators=[DataRequired()])
surname = StringField('Фамилия')
about = TextAreaField('Расскажите о себе', default='')
birthday = DateField('Дата рождения')
birthday = DateField('Дата рождения', validators=(Optional(),))
photo = FileField('Фото', validators=[FileAllowed(['jpg', 'png', 'bmp'], 'Только фотографии!')])
del_photo = SubmitField('Удалить фотографию')
submit = SubmitField('Сохранить')

View File

@ -1,14 +1,14 @@
from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField, TextAreaField, DateField, TimeField, MultipleFileField, \
BooleanField
from wtforms.validators import DataRequired
from wtforms.validators import DataRequired, Optional
class Task(FlaskForm):
name = StringField('Название', validators=[DataRequired()])
description = TextAreaField('Описание', validators=[DataRequired()])
deadline_date = DateField('Дедлайн')
deadline_time = TimeField('')
deadline_date = DateField('Дедлайн', validators=(Optional(),))
deadline_time = TimeField('', validators=(Optional(),))
submit = SubmitField('Создать')
save = SubmitField('Сохранить')
delete = SubmitField('Удалить')

View File

@ -200,8 +200,9 @@ def edit_quest(id_project, id_task):
if request.method == 'GET':
form.name.data = current_task.name
form.description.data = current_task.description
form.deadline_time.data = current_task.deadline.time()
form.deadline_date.data = current_task.deadline.date()
if current_task.deadline:
form.deadline_time.data = current_task.deadline.time()
form.deadline_date.data = current_task.deadline.date()
if form.delete.data:
delete_quest_data(current_task, data_session)
data_session.delete(current_task)

View File

@ -34,8 +34,17 @@
margin-right: 4vw;
overflow-y: hidden;
overflow-x: auto;
white-space: nowrap
white-space: nowrap;
max-width: 40vw;
}
.name_project::-webkit-scrollbar {
height: 0.8vw; /* ширина scrollbar */
}
.name_project::-webkit-scrollbar-thumb {
background-color: #d49d51; /* цвет плашки */
border-radius: 5vw; /* закругления плашки */
border: 0.25vw solid #ffffff;
}
.edit_block {
display: flex;
align-items: center;
@ -44,7 +53,7 @@
.edit_button {
background-color: #9E795A;
border: #9E795A;
width: 12vw;
width: 15vw;
height: 5vw;
color: #ffffff;
border-radius: 5vw;
@ -54,10 +63,10 @@
.edit_button_text {
color: #ffffff;
height: 5vw;
margin-top: 32%;
margin-top: 25%;
}
.edit_button_link {
width: 12vw;
width: 15vw;
height: 5vw;
display: flex;
align-items: center;
@ -152,6 +161,14 @@
.task {
margin: 20px;
}
.task_block::-webkit-scrollbar {
width: 0.8vw; /* ширина scrollbar */
}
.task_block::-webkit-scrollbar-thumb {
background-color: #d49d51; /* цвет плашки */
border-radius: 5vw; /* закругления плашки */
border: 0.25vw solid #ffffff;
}
.body_block {
display: flex;
justify-content: space-evenly;
@ -218,13 +235,13 @@
align-items: center;
}
.quest_button_block_one {
width: 90%;
width: 68%;
display: flex;
justify-content: space-between;
align-items: flex-start;
}
.quest_title_block {
width: 60%;
width: 96%;
height: 4vw;
display: flex;
align-items: center;
@ -232,11 +249,11 @@
.quest_title {
overflow-y: hidden;
overflow-x: auto;
max-height: 4vw;
font-size: 1.5vw;
max-height: 5vw;
font-size: 2.1vw !important;
display: flex;
align-items: center;
margin-top: 0.7vw;
margin-top: 0.8vw;
margin-left: 1.8vw;
font-size: 3.5vw;
white-space: nowrap

View File

@ -175,7 +175,7 @@
}
.link_block {
margin: 1vw;
width: 15vw;
width: 25vw;
height: 6vw;
background-color: #9E795A;
display: flex;
@ -199,10 +199,28 @@
color: #ffffff;
}
.link_text {
height: 1.8vw;
margin-top: 1vw;
width: 13vw;
height: 3.5vw;
color: #ffffff;
font-size: 2vw;
overflow-x: auto;
overflow-y: hidden;
overflow-wrap: normal; /* не поддерживает IE, Firefox; является копией word-wrap */
word-wrap: normal;
word-break: normal; /* не поддерживает Opera12.14, значение keep-all не поддерживается IE, Chrome */
line-break: auto; /* нет поддержки для русского языка */
hyphens: manual;
white-space: nowrap
}
.link_text::-webkit-scrollbar {
height: 0.8vw; /* ширина scrollbar */
}
.link_text::-webkit-scrollbar-thumb {
background-color: #d49d51; /* цвет плашки */
border-radius: 5vw; /* закругления плашки */
border: 0.25vw solid #ffffff;
}
.add_button, .link_delete, .repeal_button, .submit_button {
border-radius: 1vw !important;
margin: 1vw;

View File

@ -61,7 +61,7 @@
data-bs-toggle="collapse"
data-bs-target="#panelsStayOpen-collapse{{ quest.id }}" aria-expanded="true"
aria-controls="panelsStayOpen-collapse{{ quest.id }}">
<div class="quest_button_block_one">
<div class="quest_button_block_one"{% if project.is_template %}style="width: 97%;"{% endif %}>
<div class="quest_title_block" {% if project.is_template
%}style="width:100%;!important" {% endif %}>
<p class="quest_title">{{ quest.name }}</p>

View File

@ -28,16 +28,18 @@
<div class="links_block">
<div class="header_link">
<h2 class="links_title">Полезные ссылки</h2>
{% if current_user.role in [1, 4] %}
<button type="button" class="add_button btn btn-primary" id="add_link_button"
onclick="add_link()">Добавить
</button>
<button type="button" class="repeal_button btn btn-primary" id="repeal_link_button"
onclick="repeal_link()" style="display: none">Отмена
</button>
{% endif %}
</div>
<div class="link_list">
{% for link in list_links %}
<div class="link_block" {% if current_user.role in [1, 4] %}style="width:25vw !important;"{% endif %}>
<div class="link_block">
<a class="link" href="{{ link.link }}">
<p class="link_text">{{ link.name }}</p>
</a>