module Spree class UserRegistrationsController < Devise::RegistrationsController helper 'spree/base', 'spree/store' include Spree::Core::ControllerHelpers::Auth include Spree::Core::ControllerHelpers::Common include Spree::Core::ControllerHelpers::Order include Spree::Core::ControllerHelpers::SSL ssl_required before_filter :check_permissions, only: [:edit, :update] skip_before_filter :require_no_authentication # GET /resource/sign_up def new super @user = resource end # POST /resource/sign_up def create @user = build_resource(params[:spree_user]) if resource.save set_flash_message(:notice, :signed_up) sign_in(:spree_user, @user) session[:spree_user_signup] = true associate_user respond_with resource, location: after_sign_up_path_for(resource) else clean_up_passwords(resource) render :new end end # GET /resource/edit def edit super end # PUT /resource def update super end # DELETE /resource def destroy super end # GET /resource/cancel # Forces the session data which is usually expired after sign # in to be expired now. This is useful if the user wants to # cancel oauth signing in/up in the middle of the process, # removing all OAuth session data. def cancel super end protected def check_permissions authorize!(:create, resource) end end end