def admin_file_edit(): directory_id = request.form.get('directory_id') directory = Directory.query.get(directory_id) name = request.form.get('name') file = File.get_by_directory_and_name(directory, name) if file: old_description = file.description else: p = Path(directory.path + '/' + name) if not p.is_file(): raise NotFound file = File(name=name, directory_id=directory.id) db.session.add(file) old_description = "No description" form = FileForm(obj=file) if form.validate_on_submit(): form.populate_obj(file) message = Entry.make_diff_message( {"Description": (old_description, file.description)}) entry = Entry(user_id=current_user.id, ip=int(ip_address(request.remote_addr)), message="Edited file {0}, {1}".format( directory.path + '/' + file.name, message)) db.session.add(entry) db.session.commit() flash(u"File edited", 'success') return redirect(url_for('browse_path', name=directory.name))
def admin_show_file_edit(name): directory, file, name = get_file_and_directory(name) file = File.get_by_directory_and_name(directory, name) form = FileForm(obj=file) return render_template('edit_file.html.j2', form=form, name=name, directory_id=directory.id)