Sha256: 21fbe5c2504f9325ee3521d7f7a8e364f702e965eafe14ee730dda25a197cd21
Contents?: true
Size: 913 Bytes
Versions: 91
Compression:
Stored size: 913 Bytes
Contents
# frozen_string_literal: true module Decidim module Admin # A form object to create or update scopes. class ScopeForm < Form include TranslatableAttributes translatable_attribute :name, String attribute :organization, Decidim::Organization attribute :code, String attribute :parent_id, Integer attribute :scope_type_id, Integer mimic :scope validates :name, translatable_presence: true validates :organization, :code, presence: true validate :code, :code_uniqueness alias organization current_organization def scope_type Decidim::ScopeType.find_by(id: scope_type_id) if scope_type_id end private def code_uniqueness return unless organization return unless organization.scopes.where(code: code).where.not(id: id).any? errors.add(:code, :taken) end end end end
Version data entries
91 entries across 91 versions & 1 rubygems