diff --git a/data/__all_models.py b/data/__all_models.py index 472861a..003e318 100644 --- a/data/__all_models.py +++ b/data/__all_models.py @@ -1 +1 @@ -from . import users, diary_post, questions, answer_quest, like, dislike \ No newline at end of file +from . import users, diary_post, questions, answer_quest, like \ No newline at end of file diff --git a/data/dislike.py b/data/dislike.py deleted file mode 100644 index 86f48f5..0000000 --- a/data/dislike.py +++ /dev/null @@ -1,16 +0,0 @@ -import sqlalchemy -from flask_login import UserMixin - -from .db_session import SqlAlchemyBase - - -class Dislike(SqlAlchemyBase, UserMixin): - __tablename__ = 'dislike' - - id = sqlalchemy.Column(sqlalchemy.Integer, - primary_key=True, autoincrement=True) - user = sqlalchemy.Column(sqlalchemy.Integer, - sqlalchemy.ForeignKey("users.id"), nullable=True, default=None) - post = sqlalchemy.Column(sqlalchemy.Integer, - sqlalchemy.ForeignKey("posts.id"), nullable=True, default=None) - date = sqlalchemy.Column(sqlalchemy.DateTime, nullable=True, default=None) diff --git a/db/moona_data.db b/db/moona_data.db index 3017646..5c549ad 100644 Binary files a/db/moona_data.db and b/db/moona_data.db differ diff --git a/main.py b/main.py index 3b9bc3a..0deba8c 100644 --- a/main.py +++ b/main.py @@ -11,7 +11,6 @@ from data import db_session from data.answer_quest import Answer from data.diary_post import DiaryPost from data.like import Like -from data.dislike import Dislike from data.questions import Quest from data.users import User from forms.add_question import AddQuest @@ -72,28 +71,22 @@ def main_page(): return render_template('base.html', title='moona') -@app.route('/new_dislike///') -def new_dislike(user_id, post_id, ret_href): - session = db_session.create_session() - dislike = Dislike() - dislike.user = user_id - dislike.post = post_id - dislike.date = datetime.datetime.now() - session.add(dislike) - session.commit() - return redirect(f"/{ret_href}") - - @app.route('/new_like///') def new_like(user_id, post_id, ret_href): session = db_session.create_session() - like = Like() - like.user = user_id - like.post = post_id - like.date = datetime.datetime.now() - session.add(like) - session.commit() - return redirect(f"/{ret_href}") + find = session.query(Like).filter(Like.post == post_id, Like.user == user_id).first() + if find: + session.delete(find) + session.commit() + return redirect(f"/{ret_href}") + else: + like = Like() + like.user = user_id + like.post = post_id + like.date = datetime.datetime.now() + session.add(like) + session.commit() + return redirect(f"/{ret_href}") @app.route('/publications', methods=['GET', 'POST']) @@ -103,7 +96,7 @@ def publications(): emotion_fresh = [] for i in fresh_posts: emotion = {id: i.id, 'pos_emot': [], 'nig_emot': [], 'link': [], - 'author': session.query(User).filter(User.id == i.author).first()} + 'author': session.query(User).filter(User.id == i.author).first(), 'like': None, 'is_like': 0} if i.pos_emot: emotion['pos_emot'] = i.pos_emot.split() else: @@ -116,6 +109,11 @@ def publications(): emotion['link'] = i.link.split() else: emotion['link'] = None + like = session.query(Like).filter(Like.post == i.id).all() + if like: + emotion['like'] = len(like) + if session.query(Like).filter(Like.post == i.id, Like.user == current_user.id).first(): + emotion['is_like'] = 1 emotion_fresh.append(emotion) return render_template('publications.html', fresh_post=fresh_posts, emotion_fresh=emotion_fresh, title='moona') @@ -287,7 +285,7 @@ def diary(): pub_post = pub_post[::-1] emotion_pub = [] for i in pub_post: - emotion = {id: i.id, 'pos_emot': [], 'nig_emot': [], 'link': [], 'like': None, 'dislike': None} + emotion = {id: i.id, 'pos_emot': [], 'nig_emot': [], 'link': [], 'like': None, 'is_like': 0} if i.pos_emot: emotion['pos_emot'] = i.pos_emot.split() else: @@ -302,10 +300,9 @@ def diary(): emotion['link'] = None like = db_sess.query(Like).filter(Like.post == i.id).all() if like: - emotion['like'] = like - dislike = db_sess.query(Like).filter(Like.post == i.id).all() - if like: - emotion['dislike'] = dislike + emotion['like'] = len(like) + if db_sess.query(Like).filter(Like.post == i.id, Like.user == current_user.id).first(): + emotion['is_like'] = 1 emotion_pub.append(emotion) lis_emotion = [] for i in posts: diff --git a/static/css/diary.css b/static/css/diary.css index 7e40c4d..75bdca2 100644 --- a/static/css/diary.css +++ b/static/css/diary.css @@ -30,8 +30,7 @@ summary { -webkit-border-radius: 22px; -moz-border-radius: 22px; border-radius: 22px; - border:2px; - solid #ffffff; + border:2px solid #ffffff; background-color:#1daff0; top: 98px; } @@ -130,21 +129,4 @@ table { width: 50%; margin-left: auto; margin-right: auto; -} -.like_block, .dislike_block { -border-radius: 22px; -width: 40px; -height: 40px; -} -.div_like { -background-color: #95e9ff; -width: 50px; -height: 50px; -border-radius: 20px; -} -.div_dislike { -background-color: #df3c43; -width: 50px; -height: 50px; -border-radius: 20px; } \ No newline at end of file diff --git a/static/img/like.png b/static/img/like.png index 118bc58..a96154d 100644 Binary files a/static/img/like.png and b/static/img/like.png differ diff --git a/static/img/like_add.png b/static/img/like_add.png new file mode 100644 index 0000000..fc5d5e3 Binary files /dev/null and b/static/img/like_add.png differ diff --git a/templates/diary.html b/templates/diary.html index 204862b..300d878 100644 --- a/templates/diary.html +++ b/templates/diary.html @@ -78,27 +78,19 @@ приватная {% endif %} -
- - - - -
+
{{ current_user.name }} @@ -198,9 +190,8 @@ приватная
{% endif %} -
+
{{ current_user.name }}
{{item.date}} diff --git a/templates/publications.html b/templates/publications.html index 87205ba..b117862 100644 --- a/templates/publications.html +++ b/templates/publications.html @@ -56,6 +56,19 @@

{% endif %} + {% if emotion_fresh[loop.index0]['link'] != None %}
@@ -73,7 +86,8 @@ {% endif %}
+ 98px;"> {{ emotion_fresh[loop.index0]['author'].name }}
{{item.date}}