summaryrefslogtreecommitdiff
path: root/app/models/node.rb
diff options
context:
space:
mode:
authorerdgeist <erdgeist@erdgeist.org>2026-06-30 19:15:22 +0200
committererdgeist <erdgeist@erdgeist.org>2026-06-30 19:22:24 +0200
commita7a6ad786eeb9f94f7882462bccbdd31e1bb4743 (patch)
treeecc0a17db462065b27270f7e593a8244e24c8846 /app/models/node.rb
parent31ca8e93efa860d73918b57ddddeaedf9917b22d (diff)
Phase 1: standalone events, external_url on nodes
- Migration: node_id nullable on events and occurrences, add title/description/is_primary to events, external_url to nodes - Existing events marked is_primary: true (were all 1:1 with nodes) - Node: has_one :event -> has_many :events - Event: belongs_to :node optional, validates title presence for standalone events, is_primary uniqueness scoped to node_id, display_title helper falling back through node title - Occurrence: belongs_to :node optional, summary falls back to event.display_title - nodes_helper: event_information uses events.first (interim; will be replaced in Phase 3 event UI) - Tests: fix node.event -> node.events.first in event_test
Diffstat (limited to 'app/models/node.rb')
-rw-r--r--app/models/node.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/app/models/node.rb b/app/models/node.rb
index 92ecc12..ba94e2a 100644
--- a/app/models/node.rb
+++ b/app/models/node.rb
@@ -7,7 +7,7 @@ class Node < ApplicationRecord
7 belongs_to :head, :class_name => "Page", :foreign_key => :head_id, :dependent => :destroy, optional: true 7 belongs_to :head, :class_name => "Page", :foreign_key => :head_id, :dependent => :destroy, optional: true
8 belongs_to :draft, :class_name => "Page", :foreign_key => :draft_id, :dependent => :destroy, optional: true 8 belongs_to :draft, :class_name => "Page", :foreign_key => :draft_id, :dependent => :destroy, optional: true
9 has_many :permissions, :dependent => :destroy 9 has_many :permissions, :dependent => :destroy
10 has_one :event, :dependent => :destroy 10 has_many :events, :dependent => :destroy
11 belongs_to :lock_owner, :class_name => "User", :foreign_key => :locking_user_id, optional: true 11 belongs_to :lock_owner, :class_name => "User", :foreign_key => :locking_user_id, optional: true
12 12
13 # Callbacks 13 # Callbacks