modifier et supprimer un fichier
This commit is contained in:
BIN
cao_blogr.sqlite
BIN
cao_blogr.sqlite
Binary file not shown.
@@ -10,5 +10,6 @@ def includeme(config):
|
|||||||
config.add_route('tags', '/tags')
|
config.add_route('tags', '/tags')
|
||||||
config.add_route('tag_edit', '/tag_edit/{id}')
|
config.add_route('tag_edit', '/tag_edit/{id}')
|
||||||
config.add_route('uploads', '/uploads')
|
config.add_route('uploads', '/uploads')
|
||||||
|
config.add_route('upload_edit', '/upload_edit/{filename}')
|
||||||
config.add_route('users', '/users')
|
config.add_route('users', '/users')
|
||||||
config.add_route('user_edit', '/user_edit/{name}')
|
config.add_route('user_edit', '/user_edit/{name}')
|
||||||
|
|||||||
52
cao_blogr/templates/upload_edit.jinja2
Normal file
52
cao_blogr/templates/upload_edit.jinja2
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
{% extends "layout.jinja2" %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
{% if message %}
|
||||||
|
{{ message }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
|
||||||
|
<form action="{{request.route_url('upload_edit', filename=filename)}}" method="post" class="form">
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="new_name">Nouveau nom</label>
|
||||||
|
<input type="text" name="new_name" class="form-control" value="{{ file }}">
|
||||||
|
</div>
|
||||||
|
<br>
|
||||||
|
<div class="form-group">
|
||||||
|
<a class="btn btn-default" href="{{ request.route_url('uploads') }}"><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> 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 un FICHIER</h4>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<!-- The form is placed inside the body of modal -->
|
||||||
|
<p>Etes-vous certain(e) de vouloir supprimer ce fichier :<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 %}
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
{% extends "cao_blogr:templates/layout.jinja2" %}
|
{% extends "cao_blogr:templates/layout.jinja2" %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
|
||||||
<div class="panel-group">
|
<div class="panel-group">
|
||||||
@@ -30,8 +29,10 @@
|
|||||||
<table id="uploads_list" class="table table-striped table-bordered table-condensed">
|
<table id="uploads_list" class="table table-striped table-bordered table-condensed">
|
||||||
{% for entry in files_list %}
|
{% for entry in files_list %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{ entry[1] }}</td>
|
<td><a href="{{ entry[2] }}">{{ entry[0] }}</a></td>
|
||||||
</tr>
|
<td class="text-right">{{ entry[1] }}</td>
|
||||||
|
<td class="text-center"><a href="{{request.route_url('upload_edit', filename=entry[0])}}">[ Modifier ]</a></td>
|
||||||
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -162,10 +162,13 @@ def uploads(request):
|
|||||||
files_list = []
|
files_list = []
|
||||||
# récupérer tous les fichiers contenus dans dossier static/uploads
|
# récupérer tous les fichiers contenus dans dossier static/uploads
|
||||||
for f in os.scandir(folder_path):
|
for f in os.scandir(folder_path):
|
||||||
files = []
|
file = []
|
||||||
files.append(request.static_url('cao_blogr:static/uploads/') + f.name)
|
file_url = request.static_url('cao_blogr:static/uploads/') + f.name
|
||||||
files.append(f.name)
|
file_path = folder_path + f.name
|
||||||
files_list.append(files)
|
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:
|
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,
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user