Sha256: 284262a2099055f44160e2d4d7a54d0f97111a299e0e5727e65f2a7e6c5d1121
Contents?: true
Size: 1.31 KB
Versions: 2
Compression:
Stored size: 1.31 KB
Contents
# frozen_string_literal: true module Decidim # A form object used to handle user registrations class RegistrationForm < Form mimic :user attribute :sign_up_as, String attribute :name, String attribute :email, String attribute :password, String attribute :password_confirmation, String attribute :newsletter_notifications, Boolean attribute :tos_agreement, Boolean attribute :user_group_name, String attribute :user_group_document_number, String attribute :user_group_phone, String validates :sign_up_as, inclusion: { in: %w(user user_group) } validates :name, presence: true validates :email, presence: true validates :password, presence: true, confirmation: true, length: { in: Decidim::User.password_length } validates :tos_agreement, allow_nil: false, acceptance: true validates :user_group_name, presence: true, if: :user_group? validates :user_group_document_number, presence: true, if: :user_group? validates :user_group_phone, presence: true, if: :user_group? validate :email_unique_in_organization def user_group? sign_up_as == "user_group" end private def email_unique_in_organization errors.add :email, :taken if User.where(email: email, organization: current_organization).first.present? end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
decidim-core-0.2.0 | app/forms/decidim/registration_form.rb |
decidim-core-0.1.0 | app/forms/decidim/registration_form.rb |