diff --git a/cao_blogr.sqlite b/cao_blogr.sqlite index 7803dc6..ec58555 100644 Binary files a/cao_blogr.sqlite and b/cao_blogr.sqlite differ diff --git a/cao_blogr/routes.py b/cao_blogr/routes.py index 31eb8df..9952818 100644 --- a/cao_blogr/routes.py +++ b/cao_blogr/routes.py @@ -10,5 +10,6 @@ def includeme(config): config.add_route('tags', '/tags') config.add_route('tag_edit', '/tag_edit/{id}') config.add_route('uploads', '/uploads') + config.add_route('upload_edit', '/upload_edit/{filename}') config.add_route('users', '/users') config.add_route('user_edit', '/user_edit/{name}') diff --git a/cao_blogr/static/uploads/article.csv b/cao_blogr/static/uploads/articles.csv similarity index 100% rename from cao_blogr/static/uploads/article.csv rename to cao_blogr/static/uploads/articles.csv diff --git a/cao_blogr/templates/upload_edit.jinja2 b/cao_blogr/templates/upload_edit.jinja2 new file mode 100644 index 0000000..f7edfaf --- /dev/null +++ b/cao_blogr/templates/upload_edit.jinja2 @@ -0,0 +1,52 @@ +{% extends "layout.jinja2" %} + +{% block content %} + {% if message %} + {{ message }} + {% endif %} + + +
+ +
+ + +
+
+
+ Retour + + +
+ +
+ + + + +{% endblock %} diff --git a/cao_blogr/templates/uploads.jinja2 b/cao_blogr/templates/uploads.jinja2 index 80cffa7..fad961a 100644 --- a/cao_blogr/templates/uploads.jinja2 +++ b/cao_blogr/templates/uploads.jinja2 @@ -1,5 +1,4 @@ {% extends "cao_blogr:templates/layout.jinja2" %} - {% block content %}
@@ -30,8 +29,10 @@ {% for entry in files_list %} - - + + + + {% endfor %}
{{ entry[1] }}
{{ entry[0] }}{{ entry[1] }}[ Modifier ]
diff --git a/cao_blogr/views/default.py b/cao_blogr/views/default.py index 08de9d6..d22ceb4 100644 --- a/cao_blogr/views/default.py +++ b/cao_blogr/views/default.py @@ -162,10 +162,13 @@ def uploads(request): files_list = [] # récupérer tous les fichiers contenus dans dossier static/uploads for f in os.scandir(folder_path): - files = [] - files.append(request.static_url('cao_blogr:static/uploads/') + f.name) - files.append(f.name) - files_list.append(files) + file = [] + file_url = request.static_url('cao_blogr:static/uploads/') + f.name + file_path = folder_path + f.name + file.append(f.name) + file.append('%s Ko' % round(os.path.getsize(file_path) / 1024)) + file.append(file_url) + files_list.append(file) if 'form.submitted' in request.params: @@ -211,3 +214,32 @@ def uploads(request): } +@view_config(route_name='upload_edit', renderer='cao_blogr:templates/upload_edit.jinja2') +def upload_edit(request): + filename = request.matchdict['filename'] + + message = '' + folder_path = request.registry.settings['uploads_dir'] + + if 'form.submitted' in request.params: + new_name = request.params["new_name"].lower() + ext = new_name[-3:] + # comparer le nouveau ext avec l'ancien + if ext == filename[-3:]: + os.rename(folder_path + filename, folder_path + new_name) + return HTTPFound(location=request.route_url('uploads')) + else: + message = "Extension de fichier invalide !" + + if 'form.deleted' in request.params: + os.remove(folder_path + filename) + request.session.flash("Le fichier a été supprimé avec succès.", 'success') + return HTTPFound(location=request.route_url('uploads')) + + return { + 'page_title': "Modifier : " + filename, + 'message': message, + 'filename': filename, + 'file_url': request.static_url('cao_blogr:static/uploads/') + filename, + } +