Sha256: b206cb5b2ec66a6ea0612142df51c77f0e087ec160d233d55aea868a056c2b61

Contents?: true

Size: 996 Bytes

Versions: 8

Compression:

Stored size: 996 Bytes

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

      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

8 entries across 8 versions & 2 rubygems

Version Path
decidim-admin-0.1.0 app/forms/decidim/admin/participatory_process_step_form.rb
decidim-0.1.0 decidim-admin/app/forms/decidim/admin/participatory_process_step_form.rb
decidim-admin-0.0.8.1 app/forms/decidim/admin/participatory_process_step_form.rb
decidim-0.0.8.1 decidim-admin/app/forms/decidim/admin/participatory_process_step_form.rb
decidim-admin-0.0.7 app/forms/decidim/admin/participatory_process_step_form.rb
decidim-0.0.7 decidim-admin/app/forms/decidim/admin/participatory_process_step_form.rb
decidim-admin-0.0.6 app/forms/decidim/admin/participatory_process_step_form.rb
decidim-0.0.6 decidim-admin/app/forms/decidim/admin/participatory_process_step_form.rb