auth = Blueprint('auth', __name__) | auth = Blueprint('auth', __name__) | ||||
# routes for login page | # routes for login page | ||||
@auth.route('/login') | |||||
@auth.route('/login/') | |||||
def login(): | def login(): | ||||
return render_template('login.html') | return render_template('login.html') | ||||
@auth.route('/login', methods=['POST']) | |||||
@auth.route('/login/', methods=['POST']) | |||||
def login_post(): | def login_post(): | ||||
email = request.form.get('email') | email = request.form.get('email') | ||||
password = request.form.get('password') | password = request.form.get('password') | ||||
return redirect(url_for('main.profile',_external=True,_scheme=os.environ.get('SSL_SCHEME'))) | return redirect(url_for('main.profile',_external=True,_scheme=os.environ.get('SSL_SCHEME'))) | ||||
# routes for signup page | # routes for signup page | ||||
@auth.route('/signup') | |||||
@auth.route('/signup/') | |||||
def signup(): | def signup(): | ||||
return render_template('signup.html') | return render_template('signup.html') | ||||
@auth.route('/signup', methods=['POST']) | |||||
@auth.route('/signup/', methods=['POST']) | |||||
def signup_post(): | def signup_post(): | ||||
email = request.form.get('email') | email = request.form.get('email') | ||||
name = request.form.get('name') | name = request.form.get('name') | ||||
return redirect(url_for('auth.login',_external=True,_scheme=os.environ.get('SSL_SCHEME'))) | return redirect(url_for('auth.login',_external=True,_scheme=os.environ.get('SSL_SCHEME'))) | ||||
# route for logout function | # route for logout function | ||||
@auth.route('/logout') | |||||
@auth.route('/logout/') | |||||
@login_required | @login_required | ||||
def logout(): | def logout(): | ||||
logout_user() | logout_user() |
book = Blueprint('book', __name__) | book = Blueprint('book', __name__) | ||||
# route for displaying all books in database | # route for displaying all books in database | ||||
@book.route('/books') | |||||
@book.route('/books/') | |||||
def get_books(): | def get_books(): | ||||
books = Resource.query.filter_by(type='book') | books = Resource.query.filter_by(type='book') | ||||
return render_template('resources.html', resources=books, type='book') | return render_template('resources.html', resources=books, type='book') | ||||
# route for displaying a single book based on the ID in the database | # route for displaying a single book based on the ID in the database | ||||
@book.route('/books/<int:book_id>') | |||||
@book.route('/books/<int:book_id>/') | |||||
def show_book(book_id): | def show_book(book_id): | ||||
book = get_resource(book_id) | book = get_resource(book_id) | ||||
links = get_linked_resources(book_id) | links = get_linked_resources(book_id) | ||||
return render_template('resource.html', resource=book, links=links) | return render_template('resource.html', resource=book, links=links) | ||||
# route for editing a single book based on the ID in the database | # route for editing a single book based on the ID in the database | ||||
@book.route('/books/<int:book_id>/edit', methods=('GET', 'POST')) | |||||
@book.route('/books/<int:book_id>/edit/', methods=('GET', 'POST')) | |||||
@login_required | @login_required | ||||
def edit_book(book_id): | def edit_book(book_id): | ||||
book = get_resource(book_id) | book = get_resource(book_id) | ||||
return render_template('edit.html', resource=book) | return render_template('edit.html', resource=book) | ||||
# route for function to delete a single book from the edit page | # route for function to delete a single book from the edit page | ||||
@book.route('/books/<int:book_id>/delete', methods=('POST',)) | |||||
@book.route('/books/<int:book_id>/delete/', methods=('POST',)) | |||||
@login_required | @login_required | ||||
def delete_book(book_id): | def delete_book(book_id): | ||||
delete_resource(book_id) | delete_resource(book_id) |
create = Blueprint('create', __name__) | create = Blueprint('create', __name__) | ||||
# route for creating a new resource | # route for creating a new resource | ||||
@create.route('/create', methods=('GET', 'POST')) | |||||
@create.route('/create/', methods=('GET', 'POST')) | |||||
@login_required | @login_required | ||||
def create_resource(): | def create_resource(): | ||||
if request.method == 'POST': | if request.method == 'POST': |
return render_template('index.html', text=text, tools=tools) | return render_template('index.html', text=text, tools=tools) | ||||
# route for profile page | # route for profile page | ||||
@main.route('/profile') | |||||
@main.route('/profile/') | |||||
@login_required | @login_required | ||||
def profile(): | def profile(): | ||||
return render_template('profile.html', name=current_user.name) | return render_template('profile.html', name=current_user.name) | ||||
# route for test page | # route for test page | ||||
@main.route('/test') | |||||
@main.route('/test/') | |||||
def test(): | def test(): | ||||
return render_template('test.html') | return render_template('test.html') | ||||
# route for about page | # route for about page | ||||
@main.route('/about') | |||||
@main.route('/about/') | |||||
def about(): | def about(): | ||||
with open('content/about.md', 'r') as f: | with open('content/about.md', 'r') as f: | ||||
text = f.read() | text = f.read() |
practice = Blueprint('practice', __name__) | practice = Blueprint('practice', __name__) | ||||
# route for displaying all practices in database | # route for displaying all practices in database | ||||
@practice.route('/practices') | |||||
@practice.route('/practices/') | |||||
def get_practices(): | def get_practices(): | ||||
practices = Resource.query.filter_by(type='practice') | practices = Resource.query.filter_by(type='practice') | ||||
return render_template('resources.html', resources=practices, type='practice') | return render_template('resources.html', resources=practices, type='practice') | ||||
# route for displaying a single practice based on the ID in the database | # route for displaying a single practice based on the ID in the database | ||||
@practice.route('/practices/<int:practice_id>') | |||||
@practice.route('/practices/<int:practice_id>/') | |||||
def show_practice(practice_id): | def show_practice(practice_id): | ||||
practice = get_resource(practice_id) | practice = get_resource(practice_id) | ||||
links = get_linked_resources(practice_id) | links = get_linked_resources(practice_id) | ||||
return render_template('resource.html', resource=practice, links=links) | return render_template('resource.html', resource=practice, links=links) | ||||
# route for editing a single practice based on the ID in the database | # route for editing a single practice based on the ID in the database | ||||
@practice.route('/practices/<int:practice_id>/edit', methods=('GET', 'POST')) | |||||
@practice.route('/practices/<int:practice_id>/edit/', methods=('GET', 'POST')) | |||||
@login_required | @login_required | ||||
def edit_practice(practice_id): | def edit_practice(practice_id): | ||||
practice = get_resource(practice_id) | practice = get_resource(practice_id) | ||||
return render_template('edit.html', resource=practice, resource_dropdown=resource_dropdown, links=links) | return render_template('edit.html', resource=practice, resource_dropdown=resource_dropdown, links=links) | ||||
# route for function to delete a single practice from the edit page | # route for function to delete a single practice from the edit page | ||||
@practice.route('/practices/<int:practice_id>/delete', methods=('POST',)) | |||||
@practice.route('/practices/<int:practice_id>/delete/', methods=('POST',)) | |||||
@login_required | @login_required | ||||
def delete_practice(practice_id): | def delete_practice(practice_id): | ||||
delete_resource(practice_id) | delete_resource(practice_id) |
publisher = Blueprint('publisher', __name__) | publisher = Blueprint('publisher', __name__) | ||||
# route for displaying all publishers in database | # route for displaying all publishers in database | ||||
@publisher.route('/publishers') | |||||
@publisher.route('/publishers/') | |||||
def get_publishers(): | def get_publishers(): | ||||
publishers = Resource.query.filter_by(type='publisher') | publishers = Resource.query.filter_by(type='publisher') | ||||
return render_template('resources.html', resources=publishers, type='publisher') | return render_template('resources.html', resources=publishers, type='publisher') | ||||
# route for displaying a single publisher based on the ID in the database | # route for displaying a single publisher based on the ID in the database | ||||
@publisher.route('/publishers/<int:publisher_id>') | |||||
@publisher.route('/publishers/<int:publisher_id>/') | |||||
def show_publisher(publisher_id): | def show_publisher(publisher_id): | ||||
publisher = get_resource(publisher_id) | publisher = get_resource(publisher_id) | ||||
links = get_linked_resources(publisher_id) | links = get_linked_resources(publisher_id) | ||||
return render_template('resource.html', resource=publisher, links=links) | return render_template('resource.html', resource=publisher, links=links) | ||||
# route for editing a single publisher based on the ID in the database | # route for editing a single publisher based on the ID in the database | ||||
@publisher.route('/publishers/<int:publisher_id>/edit', methods=('GET', 'POST')) | |||||
@publisher.route('/publishers/<int:publisher_id>/edit/', methods=('GET', 'POST')) | |||||
@login_required | @login_required | ||||
def edit_publisher(publisher_id): | def edit_publisher(publisher_id): | ||||
publisher = get_resource(publisher_id) | publisher = get_resource(publisher_id) | ||||
return render_template('edit.html', resource=publisher) | return render_template('edit.html', resource=publisher) | ||||
# route for function to delete a single publisher from the edit page | # route for function to delete a single publisher from the edit page | ||||
@publisher.route('/publishers/<int:publisher_id>/delete', methods=('POST',)) | |||||
@publisher.route('/publishers/<int:publisher_id>/delete/', methods=('POST',)) | |||||
@login_required | @login_required | ||||
def delete_publisher(publisher_id): | def delete_publisher(publisher_id): | ||||
delete_resource(publisher_id) | delete_resource(publisher_id) |
tool = Blueprint('tool', __name__) | tool = Blueprint('tool', __name__) | ||||
# route for displaying all tools in database | # route for displaying all tools in database | ||||
@tool.route('/tools') | |||||
@tool.route('/tools/') | |||||
def get_tools(): | def get_tools(): | ||||
tools = Resource.query.filter_by(type='tool') | tools = Resource.query.filter_by(type='tool') | ||||
return render_template('resources.html', resources=tools, type='tool') | return render_template('resources.html', resources=tools, type='tool') | ||||
# route for displaying a single tool based on the ID in the database | # route for displaying a single tool based on the ID in the database | ||||
@tool.route('/tools/<int:tool_id>') | |||||
@tool.route('/tools/<int:tool_id>/') | |||||
def show_tool(tool_id): | def show_tool(tool_id): | ||||
tool = get_resource(tool_id) | tool = get_resource(tool_id) | ||||
links = get_linked_resources(tool_id) | links = get_linked_resources(tool_id) | ||||
return render_template('resource.html', resource=tool, links=links) | return render_template('resource.html', resource=tool, links=links) | ||||
# route for editing a single tool based on the ID in the database | # route for editing a single tool based on the ID in the database | ||||
@tool.route('/tools/<int:tool_id>/edit', methods=('GET', 'POST')) | |||||
@tool.route('/tools/<int:tool_id>/edit/', methods=('GET', 'POST')) | |||||
@login_required | @login_required | ||||
def edit_tool(tool_id): | def edit_tool(tool_id): | ||||
tool = get_resource(tool_id) | tool = get_resource(tool_id) | ||||
return render_template('edit.html', resource=tool, resource_dropdown=resource_dropdown, links=links) | return render_template('edit.html', resource=tool, resource_dropdown=resource_dropdown, links=links) | ||||
# route for function to delete a single tool from the edit page | # route for function to delete a single tool from the edit page | ||||
@tool.route('/tools/<int:tool_id>/delete', methods=('POST',)) | |||||
@tool.route('/tools/<int:tool_id>/delete/', methods=('POST',)) | |||||
@login_required | @login_required | ||||
def delete_tool(tool_id): | def delete_tool(tool_id): | ||||
delete_resource(tool_id) | delete_resource(tool_id) |