Sha256: 7133dba758a7b3bfcd3aaa882bf535f8c8d98eabd4ad7fc58af4a8e2bc74aab8

Contents?: true

Size: 1.68 KB

Versions: 2

Compression:

Stored size: 1.68 KB

Contents

# frozen_string_literal: true

require_dependency "decidim/features/namer"

Decidim.register_feature(:meetings) do |feature|
  feature.engine = Decidim::Meetings::ListEngine
  feature.admin_engine = Decidim::Meetings::AdminEngine
  feature.icon = "decidim/meetings/icon.svg"

  feature.on(:before_destroy) do |instance|
    raise StandardError, "Can't remove this feature" if Decidim::Meetings::Meeting.where(feature: instance).any?
  end

  feature.seeds do
    Decidim::ParticipatoryProcess.all.each do |process|
      next unless process.steps.any?

      feature = Decidim::Feature.create!(
        name: Decidim::Features::Namer.new(process.organization.available_locales, :meetings).i18n_name,
        manifest_name: :meetings,
        participatory_process: process
      )

      3.times do
        meeting = Decidim::Meetings::Meeting.create!(
          feature: feature,
          scope: process.organization.scopes.sample,
          category: process.categories.sample,
          title: Decidim::Faker::Localized.sentence(2),
          description: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
            Decidim::Faker::Localized.paragraph(3)
          end,
          short_description: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
            Decidim::Faker::Localized.paragraph(3)
          end,
          location: Decidim::Faker::Localized.sentence,
          location_hints: Decidim::Faker::Localized.sentence,
          start_time: 3.weeks.from_now,
          end_time: 3.weeks.from_now + 4.hours,
          address: "#{Faker::Address.street_address} #{Faker::Address.zip} #{Faker::Address.city}"
        )

        Decidim::Comments::Seed.comments_for(meeting)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
decidim-meetings-0.0.2 lib/decidim/meetings/feature.rb
decidim-0.0.2 decidim-meetings/lib/decidim/meetings/feature.rb