From bd81946da3479262246ab8d766b5f84b11901928 Mon Sep 17 00:00:00 2001 From: Daniel Cortes Date: Tue, 12 Mar 2019 19:03:49 -0300 Subject: [PATCH] Cambio en la previzualizacion Ahora se enruta a una distinta vista dependiendo de como deberia mostrarse la previzualizacion del archivo, esto se decide segun el tipo que tenga asignado --- files/files.py | 42 ++++++++++++------- .../files/{preview.html => preview/base.html} | 6 +-- files/templates/files/preview/code.html | 5 +++ files/templates/files/preview/default.html | 5 +++ files/templates/files/preview/image.html | 5 +++ 5 files changed, 42 insertions(+), 21 deletions(-) rename files/templates/files/{preview.html => preview/base.html} (92%) create mode 100644 files/templates/files/preview/code.html create mode 100644 files/templates/files/preview/default.html create mode 100644 files/templates/files/preview/image.html diff --git a/files/files.py b/files/files.py index 07e015d..455d67e 100644 --- a/files/files.py +++ b/files/files.py @@ -136,22 +136,32 @@ def preview_file(file_id): categories = Category.query.all() file_types = FileType.query.all() - if file.type.name == 'Code': - try: - content = open(_get_path_in_upload(file.filename), 'r').read() - except IOError: - flash('Error: file is binary, can\'t be displayed') - content = 'Error' - else: - content = '' - if (file.private == 1 and g.user is not None) or (file.private == 0): - return render_template( - 'files/preview.html', - file=file, - categories=categories, - file_types=file_types, - content=content) + if file.type.name == 'Code': + try: + content = open(_get_path_in_upload(file.filename), 'r').read() + except IOError: + flash('Error: file is binary, can\'t be displayed') + content = 'Error' + + return render_template( + 'files/preview/code.html', + file=file, + categories=categories, + file_types=file_types, + content=content) + elif file.type.name == 'Image': + return render_template( + 'files/preview/image.html', + file=file, + categories=categories, + file_types=file_types) + else: + return render_template( + 'files/preview/default.html', + file=file, + categories=categories, + file_types=file_types) return abort(404) @@ -211,7 +221,7 @@ def retype(file_id): file.file_type_id = new_type.id db.session.commit() - return redirect(url_for('files.preview_file', id=file.id)) + return redirect(url_for('files.preview_file', file_id=file.id)) @bp.route('/delete/', methods=['POST']) diff --git a/files/templates/files/preview.html b/files/templates/files/preview/base.html similarity index 92% rename from files/templates/files/preview.html rename to files/templates/files/preview/base.html index 228c846..19151e6 100644 --- a/files/templates/files/preview.html +++ b/files/templates/files/preview/base.html @@ -14,11 +14,7 @@ - {% if file.type.name == 'Image' %} - - {% elif file.type.name == 'Code' %} -
{{content}}
- {% endif %} + {% block preview %}{% endblock %} {% if g.user %}
diff --git a/files/templates/files/preview/code.html b/files/templates/files/preview/code.html new file mode 100644 index 0000000..15a1598 --- /dev/null +++ b/files/templates/files/preview/code.html @@ -0,0 +1,5 @@ +{% extends 'files/preview/base.html' %} + +{% block preview %} +
{{ content }}
+{% endblock %} diff --git a/files/templates/files/preview/default.html b/files/templates/files/preview/default.html new file mode 100644 index 0000000..1a6000f --- /dev/null +++ b/files/templates/files/preview/default.html @@ -0,0 +1,5 @@ +{% extends 'files/preview/base.html' %} + +{% block preview %} +

No preview available

+{% endblock %} diff --git a/files/templates/files/preview/image.html b/files/templates/files/preview/image.html new file mode 100644 index 0000000..68f4e8d --- /dev/null +++ b/files/templates/files/preview/image.html @@ -0,0 +1,5 @@ +{% extends 'files/preview/base.html' %} + +{% block preview %} + +{% endblock %}