Sha256: 29544ba9d10c87a98eb81cd1f1279df88c895766b1a0489f44df24f6417e062a
Contents?: true
Size: 1.16 KB
Versions: 36
Compression:
Stored size: 1.16 KB
Contents
# frozen_string_literal: true module Decidim module Meetings # The data store for a AgendaItem in the Decidim::Meetings component. It stores a # title, description and duration to render inside meeting. class AgendaItem < Meetings::ApplicationRecord include Decidim::Traceable include Decidim::Loggable include Decidim::TranslatableResource translatable_fields :title, :description belongs_to :agenda, foreign_key: "decidim_agenda_id", class_name: "Decidim::Meetings::Agenda" has_many :agenda_item_children, foreign_key: "parent_id", class_name: "Decidim::Meetings::AgendaItem", inverse_of: :parent, dependent: :destroy belongs_to :parent, class_name: "Decidim::Meetings::AgendaItem", inverse_of: :agenda_item_children, optional: true default_scope { order(:position) } def self.first_class where(parent_id: nil) end def parent? return true unless parent_id end def self.agenda_item_children where.not(parent_id: nil) end def self.log_presenter_class_for(_log) Decidim::Meetings::AdminLog::AgendaItemPresenter end end end end
Version data entries
36 entries across 36 versions & 1 rubygems