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()))
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()))
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()))
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()))
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()) )
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()))
def index(): non_empty_titles = Title.fetch_non_empty_titles(Title()) return render_template("index.html", title='home', titles=non_empty_titles, )