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")
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")
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")
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")
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)
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)
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")
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])
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)
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)
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)
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)
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)
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")
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)
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)
def all_faculty(): query_faculty = Faculty.query.order_by(Faculty.lastname.asc()) return render_with_navbar("faculty/faculty.html", faculty=query_faculty, title="Faculty")
def show_pages(): return render_with_navbar("page/pages.html")
def page_not_found(*args): return render_with_navbar('404.html'), 404
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)
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")
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")
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")
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")
def show_slides(): slides = Slide.query.order_by(Slide.id_.desc()) return render_with_navbar("slide/slides.html", slides=slides)