Selaa lähdekoodia

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

Andrei 2 vuotta sitten
vanhempi
commit
0fe07673b7
7 muutettua tiedostoa jossa 58 lisäystä ja 20 poistoa
  1. 2 2
      forms/edit_profile.py
  2. 3 3
      forms/task.py
  3. 3 2
      main.py
  4. 26 9
      static/css/project.css
  5. 20 2
      static/css/showcase.css
  6. 1 1
      templates/project.html
  7. 3 1
      templates/showcase.html

+ 2 - 2
forms/edit_profile.py

@@ -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('Сохранить')

+ 3 - 3
forms/task.py

@@ -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('Удалить')

+ 3 - 2
main.py

@@ -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)

+ 26 - 9
static/css/project.css

@@ -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

+ 20 - 2
static/css/showcase.css

@@ -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;

+ 1 - 1
templates/project.html

@@ -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>

+ 3 - 1
templates/showcase.html

@@ -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>