Explorar el Código

Добавил кнопку раскрытия редактора профиля

Andrei hace 3 años
padre
commit
f05d705219
Se han modificado 8 ficheros con 120 adiciones y 46 borrados
  1. 0 3
      data/files.py
  2. 1 1
      data/users.py
  3. 8 7
      main.py
  4. 53 3
      static/css/profile.css
  5. 3 0
      static/css/projects.css
  6. 11 11
      templates/login.html
  7. 38 21
      templates/profile.html
  8. 6 0
      templates/projects.html

+ 0 - 3
data/files.py

@@ -1,8 +1,5 @@
-from datetime import date
-
 import sqlalchemy
 from flask_login import UserMixin
-from werkzeug.security import check_password_hash, generate_password_hash
 
 from .db_session import SqlAlchemyBase
 

+ 1 - 1
data/users.py

@@ -22,7 +22,7 @@ class User(SqlAlchemyBase, UserMixin):
     password = sqlalchemy.Column(sqlalchemy.String, nullable=True)
     data_reg = sqlalchemy.Column(sqlalchemy.Date,
                                  default=date.today())
-    role = sqlalchemy.Column(sqlalchemy.String, nullable=True)
+    role = sqlalchemy.Column(sqlalchemy.Integer, sqlalchemy.ForeignKey("roles.id"), nullable=True)
     activity = sqlalchemy.Column(sqlalchemy.DateTime, nullable=True)
     birthday = sqlalchemy.Column(sqlalchemy.Date, nullable=True)
     activated = sqlalchemy.Column(sqlalchemy.Boolean, nullable=False, default=False)

+ 8 - 7
main.py

@@ -12,6 +12,7 @@ from forms.edit_profile import EditProfileForm
 from forms.login import LoginForm
 from forms.register import RegisterForm
 from data.users import User
+from data.files import Files
 from waitress import serve
 from data import db_session
 
@@ -28,13 +29,13 @@ def base():
     if not current_user.is_authenticated:
         return render_template('main.html', title='Главная')
     else:
-        return redirect('/project')
+        return redirect('/projects')
 
 
-@app.route('/project')
+@app.route('/projects')
 def project():
     if current_user.is_authenticated:
-        return redirect(f'/profile')
+        return render_template('projects.html', title='Проекты')
     else:
         return redirect('/login')
 
@@ -105,7 +106,7 @@ def login():
             if user and user.check_password(form.password.data):
                 if user.activated:
                     login_user(user, remember=form.remember_me.data)
-                    return redirect('/')
+                    return redirect('/projects')
                 else:
                     return render_template('login.html',
                                            message="Ваша почта не подтверждена",
@@ -118,7 +119,7 @@ def login():
         return render_template('login.html', title='Авторизация', form=form, message=message,
                                danger=danger)
     else:
-        return redirect('/project')
+        return redirect('/projects')
 
 
 @app.route('/logout')
@@ -149,7 +150,7 @@ def register():
                 activity=datetime.datetime.now(),
                 data_reg=datetime.date.today(),
                 photo='static/images/none_logo.png',
-                role='user'
+                role=1
             )
             user.set_password(form.password.data)
             data_session.add(user)
@@ -162,7 +163,7 @@ def register():
             return redirect('/login?message=Мы выслали ссылку для подтверждения почты')
         return render_template('register.html', form=form, message='', title='Регистрация')
     else:
-        return redirect('/project')
+        return redirect('/projects')
 
 
 @app.route('/confirmation/<token>')

+ 53 - 3
static/css/profile.css

@@ -1,15 +1,15 @@
 .profile_page {
     display: flex;
     flex-direction: column;
-    height: 70vw;
+    height: auto;
     width: 100%;
     background: linear-gradient( rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8) ), url(../images/back_profile_one.jpg);background-repeat: repeat;  background-position: center;
 }
 .profile_block {
-    height: 83%;
+    height: 65vw;
     width: 85%;
     margin-left: 7.5%;
-    margin-top: 10%;
+    margin-bottom: 6%;
     background: linear-gradient( rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3) ), url(../images/back_profile_two.jpg);background-repeat: repeat;  background-position: center;
     display: flex;
     flex-direction: column;
@@ -113,4 +113,54 @@ form {
     text-align: center;
     font-size: 1.5vw;
     margin-top: 6%;
+}
+.open_button_block {
+    height: 35vw;
+    width: 85%;
+    margin-left: 7.5%;
+    margin-top: 3%;
+    margin-bottom: 6%;
+    background: linear-gradient( rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3) ), url(../images/back_profile_two.jpg);background-repeat: repeat;  background-position: center;
+    display: flex;
+    flex-direction: column;
+    overflow-y: auto;
+}
+.open_button_content {
+    display: flex;
+    flex-direction: column;
+    width: 100%;
+    height: 100%;
+    justify-content: center;
+    align-items: center;
+}
+.open_button_title {
+    margin-bottom: 3%;
+    color: #ffffff;
+    font: bold;
+    font-size: 4.5vw;
+}
+.open_button_article {
+    margin-bottom: 5%;
+    color: #ffffff;
+    font: bold;
+    font-size: 2vw;
+}
+.open_button {
+    background-color: #ffffff;
+    color: #000000;
+    width: 20vw;
+    height: 5vw;
+    vertical-align: middle;
+    border-radius: 30px;
+}
+.open_button:hover {
+    text-decoration: none;
+    color: #000000;
+}
+.open_button_text {
+    width: 100%;
+    height: 100%;
+    text-align: center;
+    font-size: 1.5vw;
+    margin-top: 5%;
 }

+ 3 - 0
static/css/projects.css

@@ -0,0 +1,3 @@
+.projects_page {
+    height: 65vw;
+}

+ 11 - 11
templates/login.html

@@ -36,17 +36,17 @@
                     {% endfor %}
                 </div>
                 <div class="message_block">
-                {% if message != '' %}
-                {% if danger %}
-                <div class="alert alert-danger message" role="alert">
-                    {{ message }}
-                </div>
-                {% else %}
-                <div class="alert alert-success message" role="alert">
-                    {{ message }}
-                </div>
-                {% endif %}
-                {% endif %}
+                    {% if message != '' %}
+                    {% if danger %}
+                    <div class="alert alert-danger message" role="alert">
+                        {{ message }}
+                    </div>
+                    {% else %}
+                    <div class="alert alert-success message" role="alert">
+                        {{ message }}
+                    </div>
+                    {% endif %}
+                    {% endif %}
                 </div>
             </form>
         </div>

+ 38 - 21
templates/profile.html

@@ -1,33 +1,49 @@
 <link rel="stylesheet" href="../static/css/profile.css"/>
 {% extends "base.html" %} {% block content %}
 <div class="profile_page">
-    <div class="profile_block">
+    <div class="open_button_block">
+        <div class="open_button_content">
+            <h2 class="open_button_title">Профиль</h2>
+            <p class="open_button_article">Здесь можно поменять настройки учетной записи</p>
+            <a class="open_button" data-bs-toggle="collapse" href="#collapseExample" role="button" aria-expanded="false" aria-controls="collapseExample">
+                <div class="open_button_text">
+                    Редикторовать
+                </div>
+            </a>
+        </div>
+    </div>
+    <div class="profile_block collapse" id="collapseExample">
         <div class="header_profile">
-            <img class="user_photo" src="../{{current_user.photo}}">
+            <img class="user_photo" src="../{{current_user.photo}}"/>
         </div>
         <div class="edit_form">
-            <form action="" method="post" class="register_form" enctype="multipart/form-data">
+            <form
+                    action=""
+                    method="post"
+                    class="register_form"
+                    enctype="multipart/form-data">
                 {{ form.hidden_tag() }}
                 <div class="form_blocks">
                     <div class="data_block">
                         <div class="form_data">
                             <label class="form-label">{{ form.email.label }}</label>
-                            {{ form.email(class="input_data", type="email", placeholder='example@mail.ex') }} {% for
-                            error in form.email.errors %}
+                            {{ form.email(class="input_data", type="email",
+                            placeholder='example@mail.ex') }} {% for error in
+                            form.email.errors %}
                             <div class="alert alert-danger" role="alert">{{ error }}</div>
                             {% endfor %}
                         </div>
                         <div class="form_data">
                             <label class="form-label">{{ form.name.label }}</label>
-                            {{ form.name(class="input_data", type="name", placeholder='name') }} {%
-                            for error in form.name.errors %}
+                            {{ form.name(class="input_data", type="name", placeholder='name')
+                            }} {% for error in form.name.errors %}
                             <div class="alert alert-danger" role="alert">{{ error }}</div>
                             {% endfor %}
                         </div>
                         <div class="form_data">
                             <label class="form-label">{{ form.surname.label }}</label>
-                            {{ form.surname(class="input_data", type="surname", placeholder='surname') }}
-                            {% for error in form.surname.errors %}
+                            {{ form.surname(class="input_data", type="surname",
+                            placeholder='surname') }} {% for error in form.surname.errors %}
                             <div class="alert alert-danger" role="alert">{{ error }}</div>
                             {% endfor %}
                         </div>
@@ -35,36 +51,37 @@
                     <div class="data_block">
                         <div class="form_data">
                             <label class="form-label">{{ form.birthday.label }}</label>
-                            {{ form.birthday(class="input_data", type="date") }}
-                            {% for error in form.birthday.errors %}
-                            <div class="alert alert-danger" role="alert">
-                                {{ error }}
-                            </div>
+                            {{ form.birthday(class="input_data", type="date") }} {% for error
+                            in form.birthday.errors %}
+                            <div class="alert alert-danger" role="alert">{{ error }}</div>
                             {% endfor %}
                         </div>
                         <div class="form_data">
                             <label class="form-label">{{ form.about.label }}</label>
-                            {{ form.about(class="input_data dop_data", type="name", placeholder='about') }} {%
-                            for error in form.about.errors %}
+                            {{ form.about(class="input_data dop_data", type="name",
+                            placeholder='about') }} {% for error in form.about.errors %}
                             <div class="alert alert-danger" role="alert">{{ error }}</div>
                             {% endfor %}
                         </div>
                         {% if 'none' in current_user.photo %}
                         <div class="form_data">
                             <label class="form-label">{{ form.photo.label }}</label>
-                            {{ form.photo(class="input_data dop_data", type="file") }}
-                            {% for error in form.photo.errors %}
+                            {{ form.photo(class="input_data dop_data", type="file") }} {% for
+                            error in form.photo.errors %}
                             <div class="alert alert-danger" role="alert">{{ error }}</div>
                             {% endfor %}
                         </div>
                         {% else %}
                         <div class="form_data_button">
-                            {{ form.del_photo(type="submit", class="profile_button", id="delete_button") }}
+                            {{ form.del_photo(type="submit", class="profile_button",
+                            id="delete_button") }}
                         </div>
                         {% endif %}
                         <div class="message_block">
                             {% if message != '' %}
-                            <div class="alert alert-danger message" role="alert">{{ message }}</div>
+                            <div class="alert alert-danger message" role="alert">
+                                {{ message }}
+                            </div>
                             {% endif %}
                         </div>
                     </div>
@@ -81,4 +98,4 @@
         </div>
     </div>
 </div>
-{% endblock %}
+{% endblock %}

+ 6 - 0
templates/projects.html

@@ -0,0 +1,6 @@
+<link rel="stylesheet" href="../static/css/projects.css"/>
+{% extends "base.html" %} {% block content %}
+<div class="projects_page">
+
+</div>
+{% endblock %}