journalduhacker/app/controllers/signup_controller.rb

69 lines
1.7 KiB
Ruby
Raw Normal View History

class SignupController < ApplicationController
before_filter :require_logged_in_user, :only => :invite
def index
2012-07-01 20:31:31 +02:00
if @user
2016-11-26 13:58:51 +01:00
flash[:error] = I18n.t 'controllers.signup_controller.signedup'
2012-07-01 20:31:31 +02:00
return redirect_to "/"
end
@title = "Signup"
end
def invite
@title = I18n.t 'controllers.signup_controller.signuptitle'
end
2012-07-01 20:31:31 +02:00
def invited
if @user
2016-11-26 13:58:51 +01:00
flash[:error] = I18n.t 'controllers.signup_controller.invalidinv'
2012-07-01 20:31:31 +02:00
return redirect_to "/"
end
if !(@invitation = Invitation.where(:code => params[:invitation_code].to_s).first)
2016-11-26 13:58:51 +01:00
flash[:error] = I18n.t 'controllers.signup_controller.invalidinv'
2012-07-01 20:31:31 +02:00
return redirect_to "/signup"
end
@title = "Signup"
@new_user = User.new
@new_user.email = @invitation.email
2012-07-01 20:31:31 +02:00
render :action => "invited"
end
def signup
if !(@invitation = Invitation.where(:code => params[:invitation_code].to_s).first)
2016-11-26 13:58:51 +01:00
flash[:error] = I18n.t 'controllers.signup_controller.invalidinv'
2012-07-01 20:31:31 +02:00
return redirect_to "/signup"
end
@title = "Signup"
@new_user = User.new(user_params)
2012-07-01 20:31:31 +02:00
@new_user.invited_by_user_id = @invitation.user_id
if @new_user.save
2012-07-01 20:31:31 +02:00
@invitation.destroy
2012-06-30 23:44:12 +02:00
session[:u] = @new_user.session_token
flash[:success] = I18n.t 'controllers.signup_controller.flashsuccesssignupcontroller'
2012-08-12 17:47:27 +02:00
Countinual.count!("#{Rails.application.shortname}.users.created", "+1")
Countinual.count!("#{Rails.application.shortname}.users.total",
User.count)
2012-08-12 17:47:27 +02:00
return redirect_to "/signup/invite"
else
2012-07-01 20:31:31 +02:00
render :action => "invited"
end
end
private
def user_params
params.require(:user).permit(
:username, :email, :password, :password_confirmation, :about,
)
end
end