Sha256: 933031b201982b51609112b0898921de62303c470e9a9d420a9a9d03e8dcd8a2

Contents?: true

Size: 678 Bytes

Versions: 3

Compression:

Stored size: 678 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module Admin
    # A form object used to create participatory space private users from the
    # admin dashboard.
    #
    class ParticipatorySpacePrivateUserForm < Form
      mimic :participatory_space_private_user

      attribute :name, String
      attribute :email, String

      validates :name, :email, presence: true

      validates :name, format: { with: UserBaseEntity::REGEXP_NAME }
      validate :admin_uniqueness

      def admin_uniqueness
        errors.add(:email, :taken) if context && context.current_organization && context.current_organization.admins.where(email: email).exists?
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
decidim-admin-0.23.1 app/forms/decidim/admin/participatory_space_private_user_form.rb
decidim-admin-0.23.1.rc1 app/forms/decidim/admin/participatory_space_private_user_form.rb
decidim-admin-0.23.0 app/forms/decidim/admin/participatory_space_private_user_form.rb