feat: focus priority, focus links, task list assignment, lists drag-and-drop, URL display fixes
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -53,6 +53,7 @@ async def create_form(
|
||||
task_id: Optional[str] = None,
|
||||
meeting_id: Optional[str] = None,
|
||||
contact_id: Optional[str] = None,
|
||||
focus_id: Optional[str] = None,
|
||||
db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
sidebar = await get_sidebar_data(db)
|
||||
@@ -69,6 +70,7 @@ async def create_form(
|
||||
"prefill_task_id": task_id or "",
|
||||
"prefill_meeting_id": meeting_id or "",
|
||||
"prefill_contact_id": contact_id or "",
|
||||
"prefill_focus_id": focus_id or "",
|
||||
})
|
||||
|
||||
|
||||
@@ -78,6 +80,7 @@ async def create_link(
|
||||
domain_id: Optional[str] = Form(None), project_id: Optional[str] = Form(None),
|
||||
task_id: Optional[str] = Form(None), meeting_id: Optional[str] = Form(None),
|
||||
contact_id: Optional[str] = Form(None),
|
||||
focus_id: Optional[str] = Form(None),
|
||||
description: Optional[str] = Form(None), tags: Optional[str] = Form(None),
|
||||
db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
@@ -111,6 +114,15 @@ async def create_link(
|
||||
await db.commit()
|
||||
return RedirectResponse(url=f"/contacts/{contact_id}", status_code=303)
|
||||
|
||||
# Attach to focus item if created from focus context
|
||||
if focus_id and focus_id.strip():
|
||||
await db.execute(text("""
|
||||
INSERT INTO focus_links (focus_id, link_id)
|
||||
VALUES (:fid, :lid) ON CONFLICT DO NOTHING
|
||||
"""), {"fid": focus_id, "lid": link["id"]})
|
||||
await db.commit()
|
||||
return RedirectResponse(url=f"/focus/{focus_id}", status_code=303)
|
||||
|
||||
# Redirect back to context if created from task/meeting/project
|
||||
if task_id and task_id.strip():
|
||||
return RedirectResponse(url=f"/tasks/{task_id}?tab=links", status_code=303)
|
||||
|
||||
Reference in New Issue
Block a user