Initial Commit
This commit is contained in:
70
modules/memos/routes.py
Normal file
70
modules/memos/routes.py
Normal file
@@ -0,0 +1,70 @@
|
||||
from flask import render_template, request, redirect, url_for
|
||||
from . import memos_bp
|
||||
from .models import db, Memo, Note, Journal
|
||||
from core.auth import require_perms
|
||||
|
||||
|
||||
@memos_bp.get("/")
|
||||
@require_perms("memos.read")
|
||||
def index():
|
||||
memos = Memo.query.order_by(Memo.created_at.desc()).all()
|
||||
return render_template("memos/index.html", memos=memos)
|
||||
|
||||
|
||||
@memos_bp.post("/add")
|
||||
@require_perms("memos.write")
|
||||
def add():
|
||||
v = (request.form.get("memo") or "").strip()
|
||||
if v:
|
||||
db.session.add(Memo(memo=v)); db.session.commit()
|
||||
return redirect(url_for("memos.index"))
|
||||
|
||||
|
||||
@memos_bp.get("/notes")
|
||||
@require_perms("memos.read")
|
||||
def notes():
|
||||
notes = Note.query.order_by(Note.created_at.desc()).all()
|
||||
return render_template("memos/notes.html", notes=notes)
|
||||
|
||||
|
||||
@memos_bp.post("/notes/new")
|
||||
@require_perms("memos.write")
|
||||
def notes_new():
|
||||
name = (request.form.get("name") or "").strip()
|
||||
text = (request.form.get("note") or "").strip()
|
||||
if name:
|
||||
slug = name.lower().replace(" ","-")
|
||||
db.session.add(Note(name=name, slug=slug, note=text)); db.session.commit()
|
||||
return redirect(url_for("memos.notes"))
|
||||
|
||||
|
||||
@memos_bp.get("/notes/<slug>")
|
||||
@require_perms("memos.read")
|
||||
def view_note(slug):
|
||||
n = Note.query.filter_by(slug=slug).first_or_404()
|
||||
return render_template("memos/view_note.html", note=n)
|
||||
|
||||
|
||||
@memos_bp.get("/journal")
|
||||
@require_perms("memos.read")
|
||||
def journal():
|
||||
entries = Journal.query.order_by(Journal.created_at.desc()).all()
|
||||
return render_template("memos/journal.html", journal=entries)
|
||||
|
||||
|
||||
@memos_bp.post("/journal/new")
|
||||
@require_perms("memos.write")
|
||||
def journal_new():
|
||||
name = (request.form.get("name") or "").strip()
|
||||
text = (request.form.get("entry") or "").strip()
|
||||
if name:
|
||||
slug = name.lower().replace(" ","-")
|
||||
db.session.add(Journal(name=name, slug=slug, entry=text)); db.session.commit()
|
||||
return redirect(url_for("memos.journal"))
|
||||
|
||||
|
||||
@memos_bp.get("/journal/<slug>")
|
||||
@require_perms("memos.read")
|
||||
def view_journal(slug):
|
||||
e = Journal.query.filter_by(slug=slug).first_or_404()
|
||||
return render_template("memos/view_journal.html", entry=e)
|
||||
Reference in New Issue
Block a user