Esempio n. 1
0
def user(username):
    form = EmptyForm()
    user = User.query.filter_by(username=username).first_or_404()
    page = request.args.get('page', 1, type=int)
    posts = user.posts.order_by(Post.timestamp.desc()).paginate(
        page, current_app.config['POSTS_PER_PAGE'], False)
    next_url = url_for('main.user',
                       username=user.username,
                       page=posts.next_num) if posts.has_next else None
    prev_url = url_for('main.user',
                       username=user.username,
                       page=posts.prev_num) if posts.has_prev else None
    return render_template('user.html',
                           user=user,
                           posts=posts.items,
                           form=form,
                           next_url=next_url,
                           prev_url=prev_url)
Esempio n. 2
0
def user(username):
    user = User.query.filter_by(username=username).first_or_404()
    page = request.args.get('page', 1, type=int)
    holdings = user.holdings.order_by(Holding.value.desc()).paginate(
        page, current_app.config['POSTS_PER_PAGE'], False)
    next_url = url_for('main.user',
                       username=user.username,
                       page=holdings.next_num) if holdings.has_next else None
    prev_url = url_for('main.user',
                       username=user.username,
                       page=holdings.prev_num) if holdings.has_prev else None
    form = EmptyForm()
    return render_template('user.html',
                           user=user,
                           holdings=holdings.items,
                           next_url=next_url,
                           prev_url=prev_url,
                           form=form)
def user(username):
    user = User.query.filter_by(username=username).first_or_404()
    verified = user.verified
    staff = user.Staff
    page = request.args.get('page', 1, type=int)
    posts = user.posts.order_by(Post.timestamp.desc()).paginate(
        page, current_app.config['POSTS_PER_PAGE'], False)
    next_url = url_for('main.user', username=user.username,
                       page=posts.next_num) if posts.has_next else None
    prev_url = url_for('main.user', username=user.username,
                       page=posts.prev_num) if posts.has_prev else None
    form = EmptyForm()
    if current_user.hindi != True:
        return render_template('user.html', user=user, posts=posts.items,
                            next_url=next_url, prev_url=prev_url, form=form,verified=verified,staff=staff,dm=current_user.darkmode)
    else:
        return render_template('Hindi/user.html',user=user, posts=posts.items,
                            next_url=next_url, prev_url=prev_url, form=form,verified=verified,staff=staff,dm=current_user.darkmode)
Esempio n. 4
0
def user(username):
    user = User.query.filter_by(username=username).first_or_404()
    page = flask.request.args.get("page", 1, type=int)
    posts = user.posts.order_by(Post.timestamp.desc()).paginate(
        page, flask.current_app.config["POSTS_PER_PAGE"], False)
    next_url = flask.url_for("main.user",
                             username=user.username,
                             page=posts.next_num) if posts.has_next else None
    prev_url = flask.url_for("main.user",
                             username=user.username,
                             page=posts.prev_num) if posts.has_prev else None
    form = EmptyForm()
    return flask.render_template("main/user.html",
                                 title="My Profile",
                                 user=user,
                                 posts=posts.items,
                                 next_url=next_url,
                                 prev_url=prev_url,
                                 form=form)
Esempio n. 5
0
def user(username):
	user = User.query.filter_by(username=username).first_or_404()
	page = request.args.get('page', 1, type=int)
	posts = user.posts.order_by(Post.timestamp.desc()).paginate(
		page, current_app.config['POSTS_PER_PAGE'], False)
	next_url = url_for('user', username=user.username, page=posts.next_num) \
		if posts.has_next else None
	prev_url = url_for('user', username=user.username, page=posts.prev_num) \
		if posts.has_prev else None
	

	#posts = current_user.followed_posts().all()
	#posts = [
	#	{'author': user, 'body': 'Test post #1'},
	#	{'author': user, 'body': 'Test post #2'}
	#	]
	form = EmptyForm()
	return render_template('user.html', user=user, posts=posts.items, 
				next_url=next_url, prev_url=prev_url, form=form)
Esempio n. 6
0
def chats():
    form = EmptyForm()
    # user = User.query.filter_by(username='******').first_or_404()
    # chat = Chat(author=user, recipient=current_user,
    #                   body="Test message Two")
    # db.session.add(chat)
    # db.session.commit()
    # messages_received = current_user.messages_received.order_by(
    #     Chat.timestamp.desc())
    # messages_sent = current_user.messages_sent.order_by(
    #     Chat.timestamp.desc())
    messages = db.session.query(Chat).filter(or_(Chat.recipient_id == current_user.id, Chat.sender_id == current_user.id)).order_by(
        Chat.timestamp.asc())
    print (messages.all())
    if messages.count() == 0:
        messages = ""
    following = current_user.followed
    followers = current_user.followers
    contacts = followers.union(following)

    if request.method == "POST":
        session['name'] = request.form['username']
        session['room'] = request.form['username']+'-'+current_user.username

    name = session.get('name', '')
    room = session.get('room', '')
    print(name, room)

    # print ((followers.union(following)).all())
    # user = User.query.filter_by(username=recipient).first_or_404()
    # form = MessageForm()
    # if form.validate_on_submit():
    #     msg = Message(author=current_user, recipient=user,
    #                   body=form.message.data)
    #     db.session.add(msg)
    #     user.add_notification('unread_message_count', user.new_messages())
    #     db.session.commit()
    #     flash(_('Your message has been sent.'))
    #     return redirect(url_for('main.user', username=recipient))
    # return render_template('chats.html', title=_('Send Message'), form=form, recipient=recipient)
    return render_template('chats.html', title=_('Chats - Hikanotes'), form=form, messages=messages, contacts=contacts, name=name, room=room)
Esempio n. 7
0
def index():
    post_form = PostForm()
    empty_form = EmptyForm()

    if post_form.validate_on_submit():
        create_post(body=post_form.post.data)
        return redirect(url_for('main.index'))

    page = request.args.get('page', 1, type=int)
    posts = current_user.followed_posts().paginate(
        page, current_app.config['POSTS_PER_PAGE'], False)
    next_url = url_for('main.index', page=posts.next_num) \
        if posts.has_next else None
    prev_url = url_for('main.index', page=posts.prev_num) \
        if posts.has_prev else None
    return render_template('index.html',
                           title=_('Home'),
                           post_form=post_form,
                           empty_form=empty_form,
                           posts=posts.items,
                           next_url=next_url,
                           prev_url=prev_url)
Esempio n. 8
0
def post_info(post_id):
    page = request.args.get('page', 1, type=int)
    post = Post.query.filter_by(id=post_id).first_or_404()
    emp_form = EmptyForm()
    form = CommentForm()
    if form.validate_on_submit():
        language = Translator().detect(form.comment.data).lang
        comment = Post(body=form.comment.data, author=current_user, language=language, parent_id=post_id)
        db.session.add(comment)
        db.session.commit()
        flash('Your comment is now live!')
        return redirect(url_for('main.post_info', post_id=post_id))

    comments = post.comments.order_by(Post.timestamp.desc()).paginate(
        page, current_app.config['POSTS_PER_PAGE'], False)
    next_url = url_for('main.post_info', post_id=post_id, page=comments.next_num) \
        if comments.has_next else None
    prev_url = url_for('main.post_info', post_id=post_id, page=comments.prev_num) \
        if comments.has_prev else None
    return render_template('post_info.html', title=post.author.username + "'s Post", post=post,
                           form=form, emp_form=emp_form, comments=comments.items,
                           next_url=next_url, prev_url=prev_url)
Esempio n. 9
0
def user(username):
    user = User.query.filter_by(username=username).first_or_404()
    # 获得路由参数,默认为1
    page = request.args.get('page', 1, type=int)
    #paginate数据库的分页功能,
    #参数,page:从第几页开始,app.config['POSTS_PER_PAGE']:每页页数,False:返回超出范围的空列表
    posts = user.posts.order_by(Post.timestamp.desc()).paginate(
        page, current_app.config['POSTS_PER_PAGE'], False)
    # 如果posts.has_next为空,返回None
    next_url = url_for('main.user',
                       username=user.username,
                       page=posts.next_num) if posts.has_next else None
    prev_url = url_for('main.user',
                       username=user.username,
                       page=posts.prev_num) if posts.has_prev else None
    form = EmptyForm()
    return render_template('user.html',
                           user=user,
                           posts=posts.items,
                           next_url=next_url,
                           prev_url=prev_url,
                           form=form)
Esempio n. 10
0
def add_quizzer(message):
    """When a quizzer is added every other user requests this.

    Render the new user tile (which adds 'remove' button if quizmaster).
    Sends the user tile back to each individual user (except new user).
    """
    if current_user.is_authenticated:
        remove_quizzer_form = EmptyForm()
        quiz = Quiz.query.filter_by(id=current_user.quizid).first_or_404()
        user = User.query.filter_by(
            username=message['new_user']).first_or_404()
        quizzers = render_template('_user_tile.html',
                                   logged_in_user=user,
                                   remove_quizzer_form=remove_quizzer_form,
                                   quiz=quiz)
        new_user_sessionid = message['new_user_sessionid']
        this_session_id = request.sid
        emit('add_quizzer', {
            'quizzers': quizzers,
            'new_user': message['new_user']
        },
             room=this_session_id,
             skip_sid=new_user_sessionid)
Esempio n. 11
0
def user(username):
    user = User.query.filter_by(username=username).first_or_404(
    )  # either finds the user's profile or returns a 404 error
    page = request.args.get('page', 1, type=int)
    posts = user.posts.order_by(Post.timestamp.desc()).paginate(
        page, current_app.config['POSTS_PER_PAGE'], False)
    next_url = url_for('main.user', username=user.username, page=posts.next_num) \
        if posts.has_next else None #next_url is assigned the link to the next page, if no next page available, link is not shown
    prev_url = url_for('main.user', username=user.username, page=posts.prev_num) \
        if posts.has_prev else None #prev_url is assigned the link to the prev page, if no previous page available, link is not shown
    form = EmptyForm()
    DPForm = DeletePostForm()
    UDForm = UpdatePostForm()
    return render_template(
        'user.html',
        title=_("%(username)s's Profile", username=user.username.title()),
        user=user,
        posts=posts.items,
        next_url=next_url,
        prev_url=prev_url,
        form=form,
        DPForm=DPForm,
        UDForm=UDForm
    )  #colored 'user' contains all the user's data and colored 'posts' contains all the user's posts. Both 'user' and 'posts' can be accessed by 'user.html' to print data to the page usually using the "." operator
Esempio n. 12
0
def user_popup(username):
    user = User.query.filter_by(username=username).first_or_404()
    form = EmptyForm()
    return render_template('user_popup.html', user=user, form=form)
Esempio n. 13
0
def user(username):
    user = User.query.filter_by(username=username).first_or_404()
    page = request.args.get('page', 1, type=int)
    show = request.args.get('show')

    if show is not None and current_user.username != username:
        return redirect(url_for('main.user', username=user.username))

    if show in [None, 'following', 'followers', 'likes', 'comments']:
        if show is None:
            items = user.get_posts().order_by(Post.timestamp.desc()).paginate(
                page, current_app.config['POSTS_PER_PAGE'], False)
            if current_user.username != username:
                title = user.username + "'s Profile"
            else :
                title = 'Your Posts'
            list_type = 'post'
            pag_text = ('Older posts', 'Newer posts')
            id = 1
        elif show == 'following':
            items = user.followed.order_by(User.username.asc()).paginate(
                page, current_app.config['POSTS_PER_PAGE'], False)
            title = 'Who You Follow'
            list_type = 'user'
            pag_text = ('Previous Page', 'Next Page')
            id = 2
        elif show == 'followers':
            items = user.followers.order_by(User.username.asc()).paginate(
                page, current_app.config['POSTS_PER_PAGE'], False)
            title = 'Who Follows You'
            list_type = 'user'
            pag_text = ('Previous Page', 'Next Page')
            id = 3
        elif show == 'likes':
            items = user.liked_posts.order_by(Post.timestamp.desc()).paginate(
                page, current_app.config['POSTS_PER_PAGE'], False)
            title = 'Posts You Like'
            list_type = 'post'
            pag_text = ('Older posts', 'Newer posts')
            id = 4
        else:
            items = user.get_comments().order_by(Post.timestamp.desc()).paginate(
                page, current_app.config['POSTS_PER_PAGE'], False)
            title = 'Your Comments'
            list_type = 'post'
            pag_text = ('Older comments', 'Newer comments')
            id = 5

        if show is None:
            next_url = url_for('main.user', username=user.username, page=items.next_num) \
                if items.has_next else None
            prev_url = url_for('main.user', username=user.username, page=items.prev_num) \
                if items.has_prev else None
        else:
            next_url = url_for('main.user', username=user.username, show=show, page=items.next_num) \
                if items.has_next else None
            prev_url = url_for('main.user', username=user.username, show=show, page=items.prev_num) \
                if items.has_prev else None

        form = EmptyForm()
        return render_template('user.html', title=title, user=user,
                               items=items.items, item_type=list_type, pag_text=pag_text, id=id,
                               next_url=next_url, prev_url=prev_url, form=form)
    else:
        return redirect(url_for('main.user', username=user.username))
Esempio n. 14
0
def user(username):
    user = User.query.filter_by(username=username).first_or_404()
    posts = Post.query.filter_by(author=user)
    form = EmptyForm()
    return render_template('user.html', user=user, posts=posts, form=form)