Exemplo n.º 1
0
def news():
    if request.args.get("postid"):
        query_post = Post.query.filter_by(
            id_=request.args.get("postid")).first()
        if query_post:
            return render_with_navbar("post/post.html",
                                      post=query_post,
                                      heading="LASA News")
    posts = Post.query.order_by(Post.timestamp.desc())
    return render_with_navbar("post/posts.html",
                              posts=posts,
                              heading="LASA News")
Exemplo n.º 2
0
def delete_page(page_name):
    if not page_name:
        return utils.render_with_navbar("page/form.html"), 404

    page = Page.query.filter_by(name=page_name)
    if not page:
        return utils.render_with_navbar("page/form.html"), 404

    page.delete()
    db.session.commit()
    time.sleep(0.5)
    return redirect("/pages")
Exemplo n.º 3
0
def messages():
    if request.args.get("postid"):
        query_post = Message.query.filter_by(
            id_=request.args.get("postid")).first()
        if query_post:
            return render_with_navbar("post/post.html",
                                      post=query_post,
                                      heading="Principal's Messages")
    posts = Message.query.order_by(Message.timestamp.desc())
    return render_with_navbar("post/posts.html",
                              posts=posts,
                              heading="Principal's Messages")
Exemplo n.º 4
0
def message():
    query_post = Message.query.order_by(Message.timestamp.desc()).first()
    if not query_post:
        return redirect("/messages")
    return render_with_navbar("post/post.html",
                              post=query_post,
                              heading="Principal's Message")
Exemplo n.º 5
0
def edit_link():
    linkid = request.args.get("id")
    if not linkid:
        return redirect("/newlink")

    current_link = Link.query.filter_by(id_=linkid).first()
    if not current_link:
        return redirect("/newlink")

    data = {"title": current_link.title,
            "category": current_link.category,
            "divider_below": current_link.divider_below,
            "index": None if current_link.index == 101 else current_link.index,
            "url": current_link.url}

    form = NewLinkForm(**data)

    if form.validate_on_submit():
        new_data = {"title": form.title.data,
                    "category": form.category.data,
                    "divider_below": form.divider_below.data,
                    "index": form.index.data,
                    "url": form.url.data}

        for key, value in new_data.items():
            setattr(current_link, key, value)
        db.session.commit()
        time.sleep(0.5)
        return redirect("/pages")

    return utils.render_with_navbar("link/form.html", form=form)
Exemplo n.º 6
0
def render_page(page_name):
    query_page = Page.query.filter_by(name=page_name).first()
    if query_page:
        return render_with_navbar("page/page.html",
                                  page=query_page,
                                  title=query_page.title)
    return page_not_found(404)
Exemplo n.º 7
0
def edit_message():
    postid = request.args.get("postid")
    if not postid:
        return redirect("/messages")

    current_post = Message.query.filter_by(id_=postid).first()
    if not current_post:
        return redirect("/messages")

    data = {"title": current_post.title, "body": current_post.body}

    form = NewPostForm(**data)

    if form.validate_on_submit():
        new_data = {"title": form.title.data, "body": form.body.data}

        for key, value in new_data.items():
            setattr(current_post, key, value)
        db.session.commit()
        time.sleep(0.5)
        return redirect("/messages?postid=" + postid)

    return utils.render_with_navbar("post/form.html",
                                    form=form,
                                    heading="Principal's Message")
Exemplo n.º 8
0
def show_uploads():
    uploads = os.listdir(
        os.path.join(app.root_path, app.config['UPLOAD_FOLDER']))
    uploads.remove('.gitignore')
    # sorts uploads by time last modified, which should always be the same as time uploaded
    uploads.sort(key=lambda filename: os.stat(
        os.path.join(app.root_path, app.config['UPLOAD_FOLDER'], filename)).
                 st_mtime)
    return utils.render_with_navbar("upload/uploads.html",
                                    uploads=uploads[::-1])
Exemplo n.º 9
0
def upload_file():
    form = UploadForm()
    if form.validate_on_submit():

        form.file_.save(
            os.path.join(app.root_path, app.config['UPLOAD_FOLDER'],
                         form.filename))
        form.file_.close()
        time.sleep(0.5)
        return redirect('/uploads')

    return utils.render_with_navbar("upload/upload.html", form=form)
Exemplo n.º 10
0
def new_slide():
    form = NewSlideForm()
    if form.validate_on_submit():
        data = {"image_url": form.image_url.data, "url": form.url.data}

        newslide = Slide(**data)
        db.session.add(newslide)
        db.session.commit()
        time.sleep(0.5)
        return redirect("/slides")

    return utils.render_with_navbar("slide/form.html", form=form)
Exemplo n.º 11
0
def login():
    if current_user.is_authenticated:
        return redirect("/")
    form = LoginForm()
    if form.validate_on_submit():
        candidate_username = form.username.data
        candidate_password = form.password.data
        real_user = User.query.filter_by(name=candidate_username).first()
        if real_user is None:
            form.username.errors.append("Username does not exist.")
            del candidate_password
            return utils.render_with_navbar("login.html", form=form)
        else:
            if check_password(candidate_password, real_user.password):
                login_user(User.query.get(real_user.id_))
                del candidate_password
                return redirect("/")
            else:
                form.password.errors.append(
                    "Username and password do not match.")
                del candidate_password
                return utils.render_with_navbar("login.html", form=form)
    return utils.render_with_navbar("login.html", form=form)
Exemplo n.º 12
0
def edit_page(page_name):
    if not page_name:
        return utils.render_with_navbar("page/form.html"), 404

    current_page = Page.query.filter_by(name=page_name).first()
    if not current_page:
        return utils.render_with_navbar("page/form.html"), 404

    data = {
        "title": current_page.title,
        "body": current_page.body,
        "category": current_page.category,
        "divider_below": current_page.divider_below,
        "index": None if current_page.index == 101 else current_page.index,
        "name": page_name
    }

    form = NewPageForm(**data)

    if form.validate_on_submit():
        new_data = {
            "title": form.title.data,
            "body": form.bodyhtml.data,
            "category": form.category.data,
            "divider_below": form.divider_below.data,
            "index": form.index.data,
            "name": form.name
        }

        for key, value in new_data.items():
            setattr(current_page, key, value)
        db.session.commit()
        time.sleep(0.5)
        return redirect("/page/" + new_data["name"])

    return utils.render_with_navbar("page/form.html", form=form)
Exemplo n.º 13
0
def new_link():
    form = NewLinkForm()
    if form.validate_on_submit():
        data = {"title": form.title.data,
                "category": form.category.data,
                "divider_below": form.divider_below.data,
                "index": form.index.data,
                "url": form.url.data}

        newlink = Link(**data)
        db.session.add(newlink)
        db.session.commit()
        time.sleep(0.5)
        return redirect("/pages")

    return utils.render_with_navbar("link/form.html", form=form)
Exemplo n.º 14
0
def new_message():
    form = NewPostForm()

    if form.validate_on_submit():
        data = {
            "title": form.title.data,
            "body": form.bodyhtml.data,
            "author": current_user.id_,
            "timestamp": datetime.datetime.now()
        }

        newpost = Message(**data)
        db.session.add(newpost)
        db.session.commit()
        time.sleep(0.5)
        return redirect("/message")

    return utils.render_with_navbar("post/form.html",
                                    form=form,
                                    heading="Principal's Message")
Exemplo n.º 15
0
def new_page():
    form = NewPageForm()

    if form.validate_on_submit():
        data = {
            "title": form.title.data,
            "body": form.bodyhtml.data,
            "category": form.category.data,
            "divider_below": form.divider_below.data,
            "index": form.index.data,
            "name": form.name
        }

        newpage = Page(**data)
        db.session.add(newpage)
        db.session.commit()
        time.sleep(0.5)
        return redirect("/page/" + form.name)

    return utils.render_with_navbar("page/form.html", form=form)
Exemplo n.º 16
0
def edit_slide():
    id_ = request.args.get("id")
    if not id_:
        return redirect("/newslide")

    current_slide = Slide.query.filter_by(id_=id_).first()
    if not current_slide:
        return redirect("/newslide")

    data = {"image_url": current_slide.image_url, "url": current_slide.url}

    form = NewSlideForm(**data)

    if form.validate_on_submit():
        new_data = {"image_url": form.image_url.data, "url": form.url.data}

        for key, value in new_data.items():
            setattr(current_slide, key, value)
        db.session.commit()
        time.sleep(0.5)
        return redirect("/slides")

    return utils.render_with_navbar("slide/form.html", form=form)
Exemplo n.º 17
0
def all_faculty():
    query_faculty = Faculty.query.order_by(Faculty.lastname.asc())
    return render_with_navbar("faculty/faculty.html",
                              faculty=query_faculty,
                              title="Faculty")
Exemplo n.º 18
0
def show_pages():
    return render_with_navbar("page/pages.html")
Exemplo n.º 19
0
def page_not_found(*args):
    return render_with_navbar('404.html'), 404
Exemplo n.º 20
0
def index():
    posts = Post.query.order_by(Post.timestamp.desc()).limit(10)
    slides = Slide.query.order_by(Slide.id_.desc()).all()
    if not slides:
        slides.append(Slide(image_url="//:0", url="/"))
    return render_with_navbar("index.html", posts=posts, slides=slides)
Exemplo n.º 21
0
def support():
    support = Faculty.query.filter_by(category="Support").order_by(
        Faculty.lastname.asc())
    return render_with_navbar("faculty/faculty.html",
                              faculty=support,
                              title="Support Staff")
Exemplo n.º 22
0
def teachers():
    teachers = Faculty.query.filter_by(category="Teaching").order_by(
        Faculty.lastname.asc())
    return render_with_navbar("faculty/faculty.html",
                              faculty=teachers,
                              title="Teachers")
Exemplo n.º 23
0
def guidance():
    counselors = Faculty.query.filter_by(
        category="Guidance and Counseling").order_by(Faculty.lastname.asc())
    return render_with_navbar("faculty/faculty.html",
                              faculty=counselors,
                              title="Guidance and Counseling")
Exemplo n.º 24
0
def administration():
    administrators = Faculty.query.filter_by(
        category="Administration").order_by(Faculty.lastname.asc())
    return render_with_navbar("faculty/faculty.html",
                              faculty=administrators,
                              title="Administration")
Exemplo n.º 25
0
def show_slides():
    slides = Slide.query.order_by(Slide.id_.desc())
    return render_with_navbar("slide/slides.html", slides=slides)