Main Avalanche Network server application. Built with Ruby on Rails.

invitations_controller.rb 1.4KB

    class Users::InvitationsController < Devise::InvitationsController before_filter :update_sanitized_params, only: :update # PUT /resource/invitation def update respond_to do |format| format.js do invitation_token = Devise.token_generator.digest(resource_class, :invitation_token, update_resource_params[:invitation_token]) self.resource = resource_class.where(invitation_token: invitation_token).first resource.skip_password = true resource.update_attributes update_resource_params.except(:invitation_token) end format.html do invitation_token = Devise.token_generator.digest(resource_class, :invitation_token, update_resource_params[:invitation_token]) @user = User.where(email: params[:user][:email]).first @user.update(first_name: params[:user][:first_name], last_name: params[:user][:last_name]) @user.update_attributes update_resource_params.except(:invitation_token) @analytics.track_invitation_accepted(@user) Resque.enqueue(SendSignupMessageSimple, @user.id) #Mark invites as accepted invites = Invite.where(email: @user.email) invites.each {|i| i.update(invited: true, ) } super end end end protected def update_sanitized_params devise_parameter_sanitizer.for(:accept_invitation) do |u| u.permit(:password, :password_confirmation, :invitation_token) end end end