Sha256: 559f106330734284af1aab6a6e7a33bca7c05f4908e8030a2a58592525a04835

Contents?: true

Size: 625 Bytes

Versions: 2

Compression:

Stored size: 625 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module Admin
    # Defines a relation between a user and a participatory process, and what
    # kind of relation does the user has.
    class ParticipatoryProcessUserRole < ApplicationRecord
      belongs_to :user, foreign_key: "decidim_user_id", class_name: "Decidim::User"
      belongs_to :participatory_process, foreign_key: "decidim_participatory_process_id", class_name: "Decidim::ParticipatoryProcess"

      ROLES = %w(admin collaborator).freeze
      validates :role, inclusion: { in: ROLES }, uniqueness: { scope: [:user, :participatory_process] }
    end
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
decidim-admin-0.2.0 app/models/decidim/admin/participatory_process_user_role.rb
decidim-0.2.0 decidim-admin/app/models/decidim/admin/participatory_process_user_role.rb