Sha256: 3ad96fa2c3aa56bfd6bfa1088d4e11190eb550501118cb58772544f31f1ccd02

Contents?: true

Size: 830 Bytes

Versions: 14

Compression:

Stored size: 830 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module Meetings
    module Admin
      # This class holds a Form to validate registration codes from Decidim's admin panel.
      class ValidateRegistrationCodeForm < Decidim::Form
        attribute :code, String

        validates :code, presence: true
        validate :registration_exists

        def registration
          @registration ||= meeting.registrations.find_by(code: code, validated_at: nil)
        end

        private

        def meeting
          @meeting ||= context[:meeting]
        end

        def registration_exists
          return unless registration.nil?
          errors.add(
            :code,
            I18n.t("registrations.validate_registration_code.invalid", scope: "decidim.meetings.admin")
          )
        end
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
decidim-meetings-0.18.1 app/forms/decidim/meetings/admin/validate_registration_code_form.rb
decidim-meetings-0.17.2 app/forms/decidim/meetings/admin/validate_registration_code_form.rb
decidim-meetings-0.18.0 app/forms/decidim/meetings/admin/validate_registration_code_form.rb
decidim-meetings-0.17.1 app/forms/decidim/meetings/admin/validate_registration_code_form.rb
decidim-meetings-0.16.1 app/forms/decidim/meetings/admin/validate_registration_code_form.rb
decidim-meetings-0.17.0 app/forms/decidim/meetings/admin/validate_registration_code_form.rb
decidim-meetings-0.16.0 app/forms/decidim/meetings/admin/validate_registration_code_form.rb
decidim-meetings-0.15.2 app/forms/decidim/meetings/admin/validate_registration_code_form.rb
decidim-meetings-0.15.1 app/forms/decidim/meetings/admin/validate_registration_code_form.rb
decidim-meetings-0.15.0 app/forms/decidim/meetings/admin/validate_registration_code_form.rb
decidim-meetings-0.14.4 app/forms/decidim/meetings/admin/validate_registration_code_form.rb
decidim-meetings-0.14.3 app/forms/decidim/meetings/admin/validate_registration_code_form.rb
decidim-meetings-0.14.2 app/forms/decidim/meetings/admin/validate_registration_code_form.rb
decidim-meetings-0.14.1 app/forms/decidim/meetings/admin/validate_registration_code_form.rb