Add Gantt chart view with card dependencies and start dates
Adds a new Gantt chart board view with custom SVG timeline rendering, card-to-card dependency tracking with cycle detection, and a startDate field on cards. Includes zoom controls (day/week/month), dependency arrows, column-grouped task list, today marker, and real-time updates. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -78,6 +78,9 @@ ALTER TABLE custom_field_values FORCE ROW LEVEL SECURITY;
|
||||
ALTER TABLE automation_rules ENABLE ROW LEVEL SECURITY;
|
||||
ALTER TABLE automation_rules FORCE ROW LEVEL SECURITY;
|
||||
|
||||
ALTER TABLE card_dependencies ENABLE ROW LEVEL SECURITY;
|
||||
ALTER TABLE card_dependencies FORCE ROW LEVEL SECURITY;
|
||||
|
||||
-- ─── Tenant-scoped tables (direct tenant_id) ──────────
|
||||
|
||||
-- Users
|
||||
@@ -460,6 +463,28 @@ CREATE POLICY automation_rules_tenant_isolation ON automation_rules
|
||||
)
|
||||
);
|
||||
|
||||
-- Card Dependencies (via blocking_card_id -> card -> column -> board)
|
||||
DROP POLICY IF EXISTS card_dependencies_tenant_isolation ON card_dependencies;
|
||||
CREATE POLICY card_dependencies_tenant_isolation ON card_dependencies
|
||||
USING (
|
||||
current_setting('app.current_tenant_id', true) = '__bypass__'
|
||||
OR blocking_card_id IN (
|
||||
SELECT ca.id FROM cards ca
|
||||
JOIN columns c ON ca.column_id = c.id
|
||||
JOIN boards b ON c.board_id = b.id
|
||||
WHERE b.tenant_id::text = current_setting('app.current_tenant_id', true)
|
||||
)
|
||||
)
|
||||
WITH CHECK (
|
||||
current_setting('app.current_tenant_id', true) = '__bypass__'
|
||||
OR blocking_card_id IN (
|
||||
SELECT ca.id FROM cards ca
|
||||
JOIN columns c ON ca.column_id = c.id
|
||||
JOIN boards b ON c.board_id = b.id
|
||||
WHERE b.tenant_id::text = current_setting('app.current_tenant_id', true)
|
||||
)
|
||||
);
|
||||
|
||||
-- ─── User-scoped tables ───────────────────────────────
|
||||
|
||||
-- Notifications
|
||||
|
||||
Reference in New Issue
Block a user