def relationship(): if request.method == 'GET': type = request.args.get('type', '') id = request.args.get('id', '') if type == 'user': if current_user.is_following_user(User.query.get(int(id))): return '取消关注' else: return '关注' if type == 'topic': if current_user.is_following_topic(Topic.query.get(int(id))): return '取消关注' else: return '关注' if type == 'question': print type, id if current_user.is_following_question(Question.query.get(int(id))): return '取消关注' else: return '关注' if request.method == 'POST': type = request.form.get('type') id = request.form.get('id') if type == 'user': user = User.query.get(int(id)) if current_user.is_following_user(user): current_user.unfollow_user(user) else: current_user.follow_user(user) if type == 'topic': topic = Topic.query.get(int(id)) if current_user.is_following_topic(topic): current_user.unfollow_topic(topic) else: current_user.follow_topic(topic) new_activity = Activity(user_id=current_user.id, topic_id=topic.id, move=4) db.session.add(new_activity) if type == 'question': question = Question.query.get(int(id)) if current_user.is_following_question(question): current_user.unfollow_question(question) else: current_user.follow_question(question) new_activity = Activity(user_id=current_user.id, question_id=id, move=2) db.session.add(new_activity) db.session.commit() return 'success'
def unfollow_question(id): question = Question.query.filter_by(id=id).first() if question is None: flash('Invalid question.') return redirect(url_for('main.index')) if not current_user.is_following_question(question): flash('你还没有关注该问题。') return redirect(url_for('main.question', id=id)) question.followed_at = '' db.session.add(question) db.session.commit() current_user.unfollow_question(question) flash('你取消了对问题: %s 的关注。' % question.title) return redirect(url_for('main.question', id=id))
def follow_question(id): question = Question.query.filter_by(id=id).first() if question is None: flash('Invalid question.') return redirect(url_for('main.index')) if current_user.is_following_question(question): flash('你已经关注了该问题。') return redirect(url_for('main.question', id=id)) question.followed_at = datetime.datetime.now() db.session.add(question) db.session.commit() current_user.follow_question(question) flash('你关注了问题: %s。' % question.title) return redirect(url_for('main.question', id=id))