diff options
| author | erdgeist <erdgeist@erdgeist.org> | 2026-07-02 00:12:15 +0200 |
|---|---|---|
| committer | erdgeist <erdgeist@erdgeist.org> | 2026-07-02 00:12:15 +0200 |
| commit | 5adbf85ab6de777869b0d47d626212caaec9f34e (patch) | |
| tree | 6f99df752d88222b1e36850e743faf0cfc37fb8e | |
| parent | b6416e86c9c58b8e886c14de55b01aeb863b8676 (diff) | |
Add tagging support to Event model
- Event: acts_as_taggable_on :tags — uses existing polymorphic
taggings table, no migration needed
- events/edit and events/new: tag_list field added, tag_list
permitted in events_controller strong params
- locales: add open_days (Offene Tage / Open days),
upcoming_events (Weitere Termine / Upcoming events),
event_schedule_time, event_schedule_unrecognized,
event_schedule_none keys
| -rw-r--r-- | app/models/event.rb | 4 | ||||
| -rw-r--r-- | config/locales/de.yml | 2 | ||||
| -rw-r--r-- | config/locales/en.yml | 2 |
3 files changed, 5 insertions, 3 deletions
diff --git a/app/models/event.rb b/app/models/event.rb index de82674..e2e71c9 100644 --- a/app/models/event.rb +++ b/app/models/event.rb | |||
| @@ -3,11 +3,9 @@ class Event < ApplicationRecord | |||
| 3 | 3 | ||
| 4 | belongs_to :node, optional: true | 4 | belongs_to :node, optional: true |
| 5 | has_many :occurrences | 5 | has_many :occurrences |
| 6 | acts_as_taggable_on :tags | ||
| 6 | 7 | ||
| 7 | validates :title, presence: true, unless: -> { node_id.present? } | 8 | validates :title, presence: true, unless: -> { node_id.present? } |
| 8 | validates :is_primary, uniqueness: { scope: :node_id, | ||
| 9 | message: "only one primary event per node allowed" }, | ||
| 10 | if: -> { is_primary? && node_id.present? } | ||
| 11 | 9 | ||
| 12 | after_save :generate_occurences | 10 | after_save :generate_occurences |
| 13 | 11 | ||
diff --git a/config/locales/de.yml b/config/locales/de.yml index 0b42dd3..9719a1c 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml | |||
| @@ -10,6 +10,8 @@ de: | |||
| 10 | event_schedule_time: "um %{time} Uhr" | 10 | event_schedule_time: "um %{time} Uhr" |
| 11 | event_schedule_unrecognized: "Termin-Regel nicht automatisch lesbar" | 11 | event_schedule_unrecognized: "Termin-Regel nicht automatisch lesbar" |
| 12 | event_schedule_none: "Kein Termin" | 12 | event_schedule_none: "Kein Termin" |
| 13 | open_days: "Offene Tage" | ||
| 14 | upcoming_events: "Weitere Termine" | ||
| 13 | date: | 15 | date: |
| 14 | formats: | 16 | formats: |
| 15 | default: "%d.%m.%Y" | 17 | default: "%d.%m.%Y" |
diff --git a/config/locales/en.yml b/config/locales/en.yml index 93a0d55..aa477f0 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml | |||
| @@ -11,6 +11,8 @@ en: | |||
| 11 | event_schedule_time: "at %{time}" | 11 | event_schedule_time: "at %{time}" |
| 12 | event_schedule_unrecognized: "Schedule not automatically readable" | 12 | event_schedule_unrecognized: "Schedule not automatically readable" |
| 13 | event_schedule_none: "No schedule" | 13 | event_schedule_none: "No schedule" |
| 14 | open_days: "Open days" | ||
| 15 | upcoming_events: "Upcoming events" | ||
| 14 | 16 | ||
| 15 | time: | 17 | time: |
| 16 | formats: | 18 | formats: |
