added image_edit.jinja2

This commit is contained in:
2022-05-21 14:08:17 +02:00
parent a440c27895
commit 71b92a3424
6 changed files with 76 additions and 14 deletions

View File

@@ -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')

View File

@@ -1,25 +1,55 @@
{% extends "cao_blogr:templates/layout.jinja2" %}
{% block content %}
{% if message %}
{{ message }}
{% endif %}
<form action="{{request.route_url('image_edit', name=name)}}" method="post" class="form">
<p class="text-center">
<img src="{{ file_url }}" alt="" />
</p>
{% for error in form.name.errors %}
<div class="error">{{ error }}</div>
{% endfor %}
<form action="{{request.route_url('image_edit', filename=filename)}}" method="post" class="form">
<div class="form-group">
<label class="required-field" for="name">{{form.name.label}}</label>
{{form.name(class_='form-control')}}
<label for="password">Nouveau nom</label>
<input type="text" name="new_name" class="form-control" value="{{ filename }}">
</div>
<br>
<div class="form-group">
<a class="btn btn-default" href="{{ request.route_url('users') }}"><span class="glyphicon glyphicon-chevron-left"></span> Retour</a>
<a class="btn btn-default" href="{{ request.route_url('images') }}"><span class="glyphicon glyphicon-chevron-left"></span> Retour</a>
<button class="btn btn-primary" type="submit" name="form.submitted">
<span class="glyphicon glyphicon-ok"></span> Enregistrer</button>
<span class="glyphicon glyphicon-ok"></span> Renommer</button>
<button class="btn btn-danger" type="button" data-toggle="modal" data-target="#confirmDelete">
<span class="glyphicon glyphicon-remove"></span> Supprimer</button>
</div>
</form>
<!-- Modal : Confirmation SUPRESSION -->
<div id="confirmDelete" class="modal" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">Supprimer une IMAGES</h4>
</div>
<div class="modal-body">
<!-- The form is placed inside the body of modal -->
<p>Etes-vous certain(e) de vouloir supprimer cette image :<br>
<b>{{ filename }}</b> ?</p>
</div>
<div class="modal-footer">
<div class="form-group">
<div class="text-center">
<form id="confirmForm" method="post">
<button type="submit" class="btn btn-danger" name="form.deleted">Supprimer</button>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}

View File

@@ -7,7 +7,10 @@
{% for item in images_list %}
<div class="item">
<div class="item_description"><span>{{ item[1] }}</span></div>
<img src="{{ item[0] }}" alt="" /></div>
<a href="{{ request.route_url('image_edit', filename=item[1]) }}">
<img src="{{ item[0] }}" alt="" />
</a>
</div>
{% endfor %}
</div>

View File

@@ -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,
}

View File

@@ -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

View File

@@ -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