update-search

merge-requests/2/head
王宇洋 3 years ago
commit 5ff7f06381

@ -10,7 +10,8 @@ from werkzeug.utils import secure_filename
from . import main
from .forms import UploadPhotoForm, CommentForm, PostMdForm
from .. import db, csrf
from ..models import Permission, User, Post, Comment, Notification, Like, Transaction, Activity, Collect, Want, Question
from ..models import Permission, User, Post, Comment, Notification, Like, Transaction, Activity, Collect, Want, \
Question, Savequestion
from ..decorators import permission_required
from ..util import check_text
@ -284,16 +285,18 @@ def user(username):
wanting = user.wanted_Activity
posts = user.posts.order_by(Post.timestamp.desc())
questions = user.questions.order_by(Question.timestamp.desc())
questions=user.questions.order_by(Question.timestamp.desc())
concernQuestions=Savequestion.query.filter_by(saver_id=user.id)
liking_posts = [{'post': item.liked_post, 'timestamp': item.timestamp} for item in
liking.order_by(Like.timestamp.desc())]
transactions = user.transactions.order_by(Transaction.timestamp.desc())
activities = user.activities.order_by(Activity.timestamp.desc())
collects = collecting.order_by(Collect.timestamp.desc())
wants = wanting.order_by(Want.timestamp.desc())
return render_template('user.html', user=user, posts=posts, questions=questions, liking_posts=liking_posts,
activities=activities,
transactionsInProfile=transactions, collects=collects, wants=wants, )
return render_template('user.html', user=user, posts=posts, questions=questions,liking_posts=liking_posts, activities=activities,
transactionsInProfile=transactions, collects=collects, wants=wants, concernQuestions=concernQuestions,concernAnswers=posts )
@main.route('/notification')
@ -540,11 +543,11 @@ def like(post_id):
@csrf.exempt
@permission_required(Permission.FOLLOW)
def AJAXlike(post_id):
if (current_user is None):
if current_user is None:
return redirect(url_for("/"))
post = Post.query.filter_by(id=post_id).first()
if post is not None:
if (current_user.is_liking(post)):
if current_user.is_liking(post):
current_user.dislike(post)
post.dislike(current_user)
db.session.commit()
@ -789,3 +792,38 @@ def view_question(question_id):
else:
inf = request.form["search"]
return redirect(url_for('.query', content=inf))
@main.route('/savequestions/<question_id>')
def save_question(question_id):
question = Question.query.filter_by(id=question_id).first()
if question is None:
flash('Invalid post.')
return redirect(url_for('.index'))
if current_user.is_savingquestion(question):
flash('You are already liking this post.')
return redirect(url_for('.post', id=question_id))
current_user.savequestion(question)
db.session.commit()
flash('You are now liking this post')
return redirect(url_for('.view_question', question_id=question_id))
@main.route('/AJAXsave_question/<question_id>', methods=['POST'], strict_slashes=False)
# @login_required
@csrf.exempt
@permission_required(Permission.FOLLOW)
def AJAXsave_question(question_id):
if current_user is None:
return redirect(url_for("/"))
question = Question.query.filter_by(id=question_id).first()
if question is not None:
if current_user.is_savingquestion(question):
current_user.unsavequestion(question)
# question.dis...(current_user)
db.session.commit()
return jsonify({'code': 200, 'like': False, 'num':question.savers.count()})
else:
current_user.savequestion(post)
db.session.commit()
return jsonify({'code': 200, 'like': True, 'num':question.savers.count()})

@ -1,32 +1,32 @@
<ul class="posts list-unstyled">
{% for post in concernQuestions %}
{% if post.is_anonymous==False %}
{% if post.question.is_anonymous==False %}
<li class="post">
<div class="post-box">
<div class="post-content">
<h3 class="post-title">
<a href="{{ url_for('.post', id=post.id) }}">{{ post.title }}</a>
<a href="{{ url_for('.post', id=post.question.id) }}">{{ post.question.title }}</a>
</h3>
<div class="post-body">
<p>
{% if post.body_html %}
{{ post.body_html |safe|striptags|truncate(260,killwords=Flase,leeway=0) }}
{% if post.question.body_html %}
{{ post.question.body_html |safe|striptags|truncate(260,killwords=Flase,leeway=0) }}
{% else %}
{{ post.body |truncate(200,killwords=Flase,leeway=0)}}
{{ post.question.body |truncate(200,killwords=Flase,leeway=0)}}
{% endif %}
<small><a href="{{ url_for('.post', id=post.id) }}"><B>Read More</B></a></small>
<small><a href="{{ url_for('.post', id=post.question.id) }}"><B>Read More</B></a></small>
</p>
</div>
<div class="post-footer">
<span class="post-date">
<span class="glyphicon glyphicon-time"></span>
{{ moment(post.timestamp).fromNow() }}
{{ moment(post.question.timestamp).fromNow() }}
</span>
{% if current_user == post.author %}
{% if current_user == post.question.author %}
{# 删除#}
<a class="icon-btn" href="{{ url_for('main.delete_post_inProfile', post_id=post.id)}}">
<a class="icon-btn" href="{{ url_for('main.delete_post_inProfile', post_id=post.question.id)}}">
<span class="glyphicon glyphicon-trash"></span>
<span>delete</span>
</a>

@ -6,8 +6,8 @@
<div class="post-content col-sm-12">
{# 标题#}
<h3 class="post-title" style="margin-top: 7px">
<a href="{{ url_for('.post', id=post.id) }}">
{{ post.title }}
<a href="{{ url_for('.view_question', question_id=post.question.id) }}">
{{ post.question.title }}
</a>
</h3>
{# 摘要#}

@ -178,7 +178,6 @@
</div>
{% endif %}
</div>
</div>
</div>
</div>

@ -27,7 +27,7 @@
<div id="onepagebg" class="onepage-bg" style="width: 100%;height: 100%;text-align: center">
<div class="mainbox" id="mainbox">
<div class="form-container sign-up-container" style="overflow:scroll">
<form class="form-signin" method="post" style="margin: 75px auto 0 auto;">
<form class="form-signin" method="post" style="margin: 75px auto 0 auto;">
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
<h1 class="form-signin-heading">Register</h1>

Loading…
Cancel
Save