Sha256: 4728408099d62f1ceac92e4ff67609ecb04f76094e3a700165d8df9389de212c

Contents?: true

Size: 1.03 KB

Versions: 7

Compression:

Stored size: 1.03 KB

Contents

# frozen_string_literal: true
module Decidim
  module Admin
    # A form object used to create participatory processes steps from the admin
    # dashboard.
    #
    class ParticipatoryProcessStepForm < Form
      include TranslatableAttributes

      translatable_attribute :title, String
      translatable_attribute :description, String
      translatable_attribute :short_description, String

      mimic :participatory_process_step

      attribute :start_date, DateTime
      attribute :end_date, DateTime

      validates :title, translatable_presence: true

      validates :start_date, date: { before: :end_date, allow_blank: true, if: proc { |obj| obj.end_date.present? } }
      validates :end_date, date: { after: :start_date, allow_blank: true, if: proc { |obj| obj.start_date.present? } }

      def start_date
        return nil unless super.respond_to?(:at_midnight)
        super.at_midnight
      end

      def end_date
        return nil unless super.respond_to?(:at_midnight)
        super.at_midnight
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
decidim-admin-0.0.5 app/forms/decidim/admin/participatory_process_step_form.rb
decidim-0.0.5 decidim-admin/app/forms/decidim/admin/participatory_process_step_form.rb
decidim-0.0.4 decidim-admin/app/forms/decidim/admin/participatory_process_step_form.rb
decidim-admin-0.0.3 app/forms/decidim/admin/participatory_process_step_form.rb
decidim-0.0.3 decidim-admin/app/forms/decidim/admin/participatory_process_step_form.rb
decidim-admin-0.0.2 app/forms/decidim/admin/participatory_process_step_form.rb
decidim-0.0.2 decidim-admin/app/forms/decidim/admin/participatory_process_step_form.rb