diff --git a/cao_blogr/routes.py b/cao_blogr/routes.py index d0a832e..59ef6ba 100644 --- a/cao_blogr/routes.py +++ b/cao_blogr/routes.py @@ -6,7 +6,7 @@ def includeme(config): config.add_route('blog_edit', '/blog_edit/{topic}/{id}') config.add_route('blog_search', '/blog_search') config.add_route('images', '/images') - config.add_route('image_edit', '/image_edit/{name}') + config.add_route('image_edit', '/image_edit/{filename}') config.add_route('login', '/login') config.add_route('logout', '/logout') config.add_route('settings', '/settings') diff --git a/cao_blogr/templates/image_edit.jinja2 b/cao_blogr/templates/image_edit.jinja2 index 2b9edc7..87b59d6 100644 --- a/cao_blogr/templates/image_edit.jinja2 +++ b/cao_blogr/templates/image_edit.jinja2 @@ -1,25 +1,55 @@ {% extends "cao_blogr:templates/layout.jinja2" %} {% block content %} + {% if message %} + {{ message }} + {% endif %} -
+

+ +

- {% for error in form.name.errors %} -
{{ error }}
- {% endfor %} +
- - {{form.name(class_='form-control')}} + +
- +
- Retour + Retour + Renommer +
-
+ + + {% endblock %} diff --git a/cao_blogr/templates/images.jinja2 b/cao_blogr/templates/images.jinja2 index 9648185..5c053b5 100644 --- a/cao_blogr/templates/images.jinja2 +++ b/cao_blogr/templates/images.jinja2 @@ -7,7 +7,10 @@ {% for item in images_list %}
{{ item[1] }}
-
+ + + + {% endfor %} diff --git a/cao_blogr/views/default.py b/cao_blogr/views/default.py index a6e77c5..82a46bf 100644 --- a/cao_blogr/views/default.py +++ b/cao_blogr/views/default.py @@ -310,3 +310,32 @@ def images(request): 'images_list': images_list, } +@view_config(route_name='image_edit', + renderer='cao_blogr:templates/image_edit.jinja2') +def image_edit(request): + filename = request.matchdict['filename'] + + message = '' + folder_path = request.registry.settings['images_dir'] + + if 'form.submitted' in request.params: + new_name = request.params["new_name"].lower() + ext = new_name[-3:] + if ext == "jpg" or ext == "png": + os.rename(folder_path + filename, folder_path + new_name) + return HTTPFound(location=request.route_url('images')) + else: + message = "Nom d'image 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('images')) + + return { + 'page_title': "Modifier : " + filename, + 'message': message, + 'filename': filename, + 'file_url': request.static_url('cao_blogr:static/img/') + filename, + } + diff --git a/development.ini b/development.ini index 66bdde5..268b2fb 100644 --- a/development.ini +++ b/development.ini @@ -16,7 +16,7 @@ pyramid.includes = sqlalchemy.url = sqlite:///%(here)s/cao_blogr.sqlite # images location -images_dir = /pyramid10/cao_sunyata/cao_blogr/static/img +images_dir = /pyramid10/cao_sunyata/cao_blogr/static/img/ cao_blogr.admin_email = cao.thien-phuoc@orange.fr # Mailer configuration diff --git a/production.ini b/production.ini index 7fcc0f3..32b3317 100644 --- a/production.ini +++ b/production.ini @@ -14,7 +14,7 @@ pyramid.default_locale_name = en sqlalchemy.url = sqlite:///%(here)s/cao_blogr.sqlite # images location -images_dir = /pyramid10/cao_sunyata/cao_blogr/static/img +images_dir = /pyramid10/cao_sunyata/cao_blogr/static/img/ cao_blogr.admin_email = phuoc@caotek.fr # Mailer configuration