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('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}')
|
||||
|
||||
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" %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="panel-group">
|
||||
@@ -30,7 +29,9 @@
|
||||
<table id="uploads_list" class="table table-striped table-bordered table-condensed">
|
||||
{% for entry in files_list %}
|
||||
<tr>
|
||||
<td>{{ entry[1] }}</td>
|
||||
<td><a href="{{ entry[2] }}">{{ entry[0] }}</a></td>
|
||||
<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 %}
|
||||
</table>
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user