improvement
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
from flask import Blueprint, render_template, request
|
||||
from flask import Blueprint, render_template, request, jsonify
|
||||
from app import db
|
||||
from app.models import Folder, User
|
||||
import uuid
|
||||
@@ -87,4 +87,68 @@ def delete_folder(folder_id):
|
||||
db.session.rollback()
|
||||
# Return the folders list unchanged
|
||||
folders = Folder.query.filter_by(user_id=MOCK_USER_ID).all()
|
||||
return render_template('partials/folders_list.html', folders=folders)
|
||||
return render_template('partials/folders_list.html', folders=folders)
|
||||
|
||||
@main.route('/api/folders/<folder_id>', methods=['PUT'])
|
||||
def update_folder(folder_id):
|
||||
try:
|
||||
# Find the folder by ID
|
||||
folder = Folder.query.filter_by(id=folder_id, user_id=MOCK_USER_ID).first()
|
||||
|
||||
if not folder:
|
||||
# Folder not found
|
||||
folders = Folder.query.filter_by(user_id=MOCK_USER_ID).all()
|
||||
return render_template('partials/folders_list.html', folders=folders)
|
||||
|
||||
# Get form data
|
||||
name = request.form.get('name')
|
||||
rule_text = request.form.get('rule_text')
|
||||
priority = request.form.get('priority')
|
||||
|
||||
if not name:
|
||||
# Return the folders list unchanged with an error message
|
||||
folders = Folder.query.filter_by(user_id=MOCK_USER_ID).all()
|
||||
return render_template('partials/folders_list.html', folders=folders)
|
||||
|
||||
# Update folder
|
||||
folder.name = name
|
||||
folder.rule_text = rule_text
|
||||
folder.priority = int(priority) if priority else None
|
||||
|
||||
db.session.commit()
|
||||
|
||||
# Get updated list of folders
|
||||
folders = Folder.query.filter_by(user_id=MOCK_USER_ID).all()
|
||||
|
||||
# Return the updated folders list HTML
|
||||
return render_template('partials/folders_list.html', folders=folders)
|
||||
|
||||
except Exception as e:
|
||||
# Print unhandled exceptions to the console as required
|
||||
logging.exception("Error updating folder: %s", e)
|
||||
db.session.rollback()
|
||||
# Return the folders list unchanged
|
||||
folders = Folder.query.filter_by(user_id=MOCK_USER_ID).all()
|
||||
return render_template('partials/folders_list.html', folders=folders)
|
||||
|
||||
@main.route('/api/folders/<folder_id>', methods=['GET'])
|
||||
def get_folder(folder_id):
|
||||
try:
|
||||
# Find the folder by ID
|
||||
folder = Folder.query.filter_by(id=folder_id, user_id=MOCK_USER_ID).first()
|
||||
|
||||
if not folder:
|
||||
return jsonify({'error': 'Folder not found'}), 404
|
||||
|
||||
# Return folder data as JSON
|
||||
return jsonify({
|
||||
'id': folder.id,
|
||||
'name': folder.name,
|
||||
'rule_text': folder.rule_text,
|
||||
'priority': folder.priority
|
||||
})
|
||||
|
||||
except Exception as e:
|
||||
# Print unhandled exceptions to the console as required
|
||||
logging.exception("Error getting folder: %s", e)
|
||||
return jsonify({'error': 'Error retrieving folder'}), 500
|
||||
Reference in New Issue
Block a user