added download button to slides with pdfs
This commit is contained in:
@@ -102,6 +102,9 @@ def index():
|
||||
if not token:
|
||||
return redirect(url_for("main.set_token"))
|
||||
else:
|
||||
for deck in get_unlocked_decks(token):
|
||||
print(str(deck) + " | " + str(deck.export_file))
|
||||
|
||||
return render_template('index.html', active_banner=get_active_banner(), decks=get_unlocked_decks(token), user_name=token.name, active_course_name=token.active_course.name, courses=get_all_courses())
|
||||
|
||||
def set_cookie(token):
|
||||
@@ -308,6 +311,28 @@ def serve_deck(deck, course_folder, path='index.html'):
|
||||
|
||||
abort(404)
|
||||
|
||||
|
||||
@main.route('/exports/<course_folder>/<deck>/<path>')
|
||||
def serve_export(deck, course_folder, path):
|
||||
course = db.session.execute(db.select(Course).where(Course.folder==course_folder)).scalar()
|
||||
if not course:
|
||||
abort(404)
|
||||
assert isinstance(course, Course)
|
||||
deck = db.session.execute(db.select(Deck).where(Deck.deck==deck and Deck.course_id == course.id)).scalar()
|
||||
if not deck:
|
||||
abort(404)
|
||||
assert isinstance(deck, Deck)
|
||||
|
||||
if not is_deck_unlocked(deck.deck):
|
||||
return redirect(url_for('main.index'))
|
||||
exports_dir = os.path.join(current_app.config['EXPORTS_DIR'], course.folder)
|
||||
deck_path = os.path.join(exports_dir, deck.deck)
|
||||
requested_file = os.path.join(deck_path, path)
|
||||
if os.path.isfile(requested_file):
|
||||
return send_from_directory(deck_path, path)
|
||||
abort(404)
|
||||
|
||||
|
||||
@main.route('/admin', methods=['GET', 'POST'])
|
||||
@flask_login.login_required
|
||||
def admin():
|
||||
|
||||
Reference in New Issue
Block a user