Beispiel #1
0
def create_work():
    if not request.is_xhr:
        return url_for("login")

    user = UserPrivateDAL.getUserByUserID(1)  # TODO Should use the logged-in user
    form = request.form
    title = form.get("title", "")
    subtitle = form.get("subtitle", "")
    content = form.get("content", "")
    summary = form.get("summary", "")
    excerpt = ""  # TODO Need a better way to extract text from the HTML content
    metadata = form.get("metadata", "")
    post = PostPrivateDAL.addPost(user.id, title, excerpt, content, "", "", "")
    # TODO Add tags and categories to the post

    cover_image = request.files.get("cover-image", None)
    cover_image_url = ""
    if cover_image:
        filename = secure_filename(cover_image.filename)
        # NOTE There's a race condition
        # http://stackoverflow.com/questions/273192/create-directory-if-it-doesnt-exist-for-file-write
        if not os.path.exists(app.config["UPLOAD_FOLDER"]):
            os.makedirs(app.config["UPLOAD_FOLDER"])
        # TODO Make sure the filename is unique and won't overwrite existing files
        cover_image.save(os.path.join(app.config["UPLOAD_FOLDER"], filename))
        cover_image_url = url_for("uploaded_file", filename=filename)
    # TODO Default value of cover_image_url
    work = PostPrivateDAL.addWork(post.id, subtitle, summary, cover_image_url, metadata)
    return render(jsonify, ajax.payload("success"))
Beispiel #2
0
def browse_blog():
    data = {}
    return render(browse_views.browse_blog, data)
Beispiel #3
0
def browse_portfolio():
    works = PostPrivateDAL.getWorks(limit=None)
    data = {"works": works}
    return render(browse_views.browse_portfolio, data)
Beispiel #4
0
def browse_front_end_development_posts():
    data = {}
    return render(browse_views.browse_front_end_development_posts, data)
Beispiel #5
0
def browse_ux_posts():
    data = {}
    return render(browse_views.browse_ux_posts, data)
Beispiel #6
0
def index():
    data = {"project_name": "Hello World"}
    return render(site_views.index, data)
Beispiel #7
0
def internal_server_error(error):
    return render(site_views.internal_server_error, 500)
Beispiel #8
0
def not_found(error):
    return render(site_views.not_found, 404)
Beispiel #9
0
def contact():
    data = {}
    return render(site_views.contact, data)
Beispiel #10
0
def login():
    data = {"project_name": "Hello World"}
    return render(site_views.login, data)
Beispiel #11
0
def admin_dashboard():
    # if not session.get('logged_in'):
    #    return url_for('login')
    data = {"project_name": "Hello World"}
    return render(admin_views.admin_dashboard, data)
Beispiel #12
0
def work(work_id):
    work = PostPrivateDAL.getWorkByWorkID(work_id)
    if not work:
        pass
    data = {"work": work}
    return render(post_views.work, data)