lots of progress on input processing
This commit is contained in:
58
app/routes.py
Normal file
58
app/routes.py
Normal file
@@ -0,0 +1,58 @@
|
||||
from flask import Blueprint, render_template, request
|
||||
from app import db
|
||||
from app.models import Folder, User
|
||||
import uuid
|
||||
|
||||
main = Blueprint('main', __name__)
|
||||
|
||||
# For prototype, use a fixed user ID
|
||||
MOCK_USER_ID = '123e4567-e89b-12d3-a456-426614174000'
|
||||
|
||||
@main.route('/')
|
||||
def index():
|
||||
# Ensure the mock user exists
|
||||
user = User.query.get(MOCK_USER_ID)
|
||||
if not user:
|
||||
user = User(id=MOCK_USER_ID, email='prototype@example.com')
|
||||
db.session.add(user)
|
||||
db.session.commit()
|
||||
|
||||
folders = Folder.query.filter_by(user_id=MOCK_USER_ID).all()
|
||||
return render_template('index.html', folders=folders)
|
||||
|
||||
@main.route('/api/folders', methods=['POST'])
|
||||
def add_folder():
|
||||
try:
|
||||
# Get form data instead of JSON
|
||||
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()
|
||||
# We'll add error handling in the template
|
||||
return render_template('partials/folders_list.html', folders=folders)
|
||||
|
||||
# Create new folder
|
||||
folder = Folder(
|
||||
user_id=MOCK_USER_ID,
|
||||
name=name,
|
||||
rule_text=rule_text,
|
||||
priority=int(priority) if priority else None
|
||||
)
|
||||
|
||||
db.session.add(folder)
|
||||
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:
|
||||
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)
|
||||
Reference in New Issue
Block a user