Files
old-holivud2/app/controllers/accounts_controller.rb
Senad Uka da8e187430 Cast me
2020-07-15 11:57:21 +02:00

57 lines
1.6 KiB
Ruby

class AccountsController < ApplicationController
before_action :set_account, only: [:update]
skip_before_action :require_login, only: [:new, :create]
skip_after_action :verify_authorized, only: [:new, :create]
def new
end
def create
account = Account.create(account_params_for_create)
if account.valid?
user = sign_up(user_params)
if user.valid?
user.account_auths << AccountAuth.create(user: user, account: account, role: "account_manager")
if sign_in(user)
TrackAnalyticsJob.perform_later(user, user.primary_account, :track_guest_sign_up, user_agent: request.user_agent, user_ip: request.remote_ip)
SubmitHubspotFormJob.perform_later(first_name: user.first_name, last_name: user.last_name, email: user.email, company: account.name, i_m_interested_in: user.interested_product_name, form_guid: ENV["HUBSPOT_FORM_GUID"])
redirect_to signed_in_root_path
else
redirect_to new_session_path, alert: t(".notice")
end
else
redirect_to new_account_path, alert: t(".error")
end
else
redirect_to new_account_path, alert: t(".error")
end
end
def update
authorize @account
@account.update(account_params_for_update)
end
private
def set_account
@account = Current.account
end
def account_params_for_create
{ name: params[:user][:account_name], plan_uid: :me_suite }
end
def account_params_for_update
params.require(:account).permit(:logo)
end
def user_params
params.require(:user).except(:account_name).permit(:email, :password, :first_name, :last_name, :interested_product_name)
end
end