Sha256: 46f4c65a862d8bcd95ba2458f2f5b38665dea4b32a10c5018db61be1777ce8e1
Contents?: true
Size: 1.21 KB
Versions: 1
Compression:
Stored size: 1.21 KB
Contents
# frozen_string_literal: true module Decidim # A UserGroup is an organization of citizens class UserGroup < ApplicationRecord has_many :users, through: :memberships, class_name: "Decidim::User", foreign_key: :decidim_user_id has_many :memberships, class_name: "Decidim::UserGroupMembership", foreign_key: :decidim_user_group_id validates :name, presence: true validates :document_number, presence: true validates :phone, presence: true validates :avatar, file_size: { less_than_or_equal_to: 5.megabytes } validate :correct_state mount_uploader :avatar, Decidim::AvatarUploader scope :verified, -> { where.not(verified_at: nil) } scope :rejected, -> { where.not(rejected_at: nil) } # Public: Checks if the user group is verified. def verified? verified_at.present? end # Public: Checks if the user group is rejected. def rejected? rejected_at.present? end # Public: Checks if the user group is pending. def pending? verified_at.blank? && rejected_at.blank? end private # Private: Checks if the state user group is correct. def correct_state errors.add(:base, :invalid) if verified? && rejected? end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
decidim-core-0.2.0 | app/models/decidim/user_group.rb |