Sha256: cc4691addfb3406527fcea29d759ff30c1b193faea487f269948f02fd788186f
Contents?: true
Size: 1.32 KB
Versions: 51
Compression:
Stored size: 1.32 KB
Contents
# frozen_string_literal: true module Decidim module Devise # Custom Devise ConfirmationsController to avoid namespace problems. class ConfirmationsController < ::Devise::ConfirmationsController include Decidim::DeviseControllers helper_method :new_user_group_session_path def create super do |resource| resource.errors.delete(:decidim_organization_id) if resource.errors.any? end end # Since we're using a single Devise installation for multiple # organizations, and user emails can be repeated across organizations, # we need to identify the user by both the email and the organization. # Setting the organization ID here will be used by Devise internally to # find the correct user. # # Note that in order for this to work we need to define the `confirmation_keys` # Devise attribute in the `Decidim::User` model to include the # `decidim_organization_id` attribute. def resource_params super.merge(decidim_organization_id: current_organization.id) end # Overwrites the default method to handle user groups confirmations. def after_confirmation_path_for(resource_name, resource) return profile_path(resource.nickname) if resource_name == :user_group super end end end end
Version data entries
51 entries across 51 versions & 1 rubygems