added image_edit.jinja2
This commit is contained in:
@@ -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')
|
||||
|
||||
@@ -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">×</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 %}
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user