Beispiel #1
0
def author(nickname):
    author = User.query.filter_by(nickname=nickname).first()
    if author is None:
        flash('Author ' + nickname + ' not found.')
        return redirect(url_for('index'))
    entries = Entry.query.filter_by(user_id=author.id)
    return render_template('author.html',
                           title=author.nickname,
                           author=author,
                           entries=entries,
                           titles=Title.fetch_non_empty_titles(Title()))
Beispiel #2
0
def register():
    form = LoginForm()
    if form.validate_on_submit():
        user = User()
        user.nickname = form.nickname.data
        user.password = form.password.data
        if User.query.filter_by(nickname=user.nickname).first():
            flash('username exists')
            return redirect(url_for('register'))
        db.session.add(user)
        db.session.commit()
        flash('congrulations, you become an author')
        login_user(user)
        return redirect(url_for('index'))
    return render_template('register.html',
                           title='sign up',
                           form=form,
                           titles=Title.fetch_non_empty_titles(Title()))
Beispiel #3
0
def login():
    if g.user is not None and g.user.is_authenticated():
        return redirect(url_for('index'))
    form = LoginForm()
    if form.validate_on_submit():
        nickname = form.nickname.data
        password = form.password.data
        registered_user = User.query.filter_by(nickname=nickname, password=password).first()
        if registered_user is None:
            flash('wrong username or password')
            return redirect(url_for('login'))
        login_user(registered_user)
        registered_user.save_last_seen()
        flash('logged in succesfully.')
        return redirect(request.args.get('next') or url_for('index'))
    return render_template('login.html',
                           title='login',
                           form=form,
                           titles=Title.fetch_non_empty_titles(Title()))
Beispiel #4
0
def entry(entry_id):
    form = SubmitEntry()
    entry = Entry.query.filter_by(id=entry_id).first()
    entries = []
    entries.append(entry)
    title = Title.query.filter_by(id=entry.title_id).first()
    if form.validate_on_submit():
        new_entry = Entry(body=form.body.data,
                          timestamp=datetime.utcnow(),
                          user_id=current_user.id,
                          title_id=title_id)
        g.user.submit_entry(new_entry)
        return redirect(url_for('title', name=title.title_name))
    return render_template('title.html',
                           title=title.title_name,
                           ttl=title,
                           entries=entries,
                           form=form,
                           titles=Title.fetch_non_empty_titles(Title()))
Beispiel #5
0
def title(name):
    form = SubmitEntry()
    title = Title.query.filter_by(title_name=name).first()
    entries = Entry.query.filter_by(title_id=title.id).all()
    if title == None:
        return redirect(url_for('index'))
    if form.validate_on_submit():
        entry = Entry(body=form.body.data,
                      timestamp=datetime.utcnow(),
                      user_id=current_user.id,
                      title_id=title.id)
        g.user.submit_entry(entry)
        return redirect(url_for('title', name=title.title_name))
    return render_template('title.html',
                           title=title.title_name,
                           ttl=title,
                           entries=entries,
                           form=form,
                           titles=Title.fetch_non_empty_titles(Title())
                           )
Beispiel #6
0
def edit(entry_id):
    entry = Entry.query.filter_by(id=entry_id).first()
    entries = []
    entries.append(entry)
    if g.user.id == entry.user_id or g.user.role == ROLE_ADMIN:
        form = SubmitEntry(body=entry.body)
        title = Title.query.filter_by(id=entry.title_id).first()
        if form.validate_on_submit():
            entry.body = form.body.data
            db.session.commit()
            return redirect(url_for('title', name=title.title_name))
    else:
        flash("you are not supposed to this.")
        return redirect(url_for('index'))
    return render_template('title.html',
                           title=title.title_name,
                           ttl=title,
                           entries=entries,
                           form=form,
                           titles=Title.fetch_non_empty_titles(Title()))
Beispiel #7
0
def index():
    non_empty_titles = Title.fetch_non_empty_titles(Title())
    return render_template("index.html",
                           title='home',
                           titles=non_empty_titles,
    )