11class UsersController < ApplicationController
2- before_action :authenticate_user! , :member_should_be_active
2+ before_action :authenticate_user! , :member_should_be_active , except : [ :signup , :create ]
33
44 has_scope :tagged_with , as : :tag
55
@@ -41,8 +41,10 @@ def create
4141 @user . setup_and_save_user
4242
4343 if @user . persisted?
44- @user . tune_after_persisted ( current_organization )
45- @user . add_tags ( current_organization , params [ :tag_list ] || [ ] )
44+ unless request . referer . include? ( signup_users_path )
45+ @user . tune_after_persisted ( current_organization )
46+ @user . add_tags ( current_organization , params [ :tag_list ] || [ ] )
47+ end
4648
4749 redirect_to_after_create
4850 else
@@ -65,6 +67,10 @@ def update
6567 end
6668 end
6769
70+ def signup
71+ @user = User . new
72+ end
73+
6874 def update_avatar
6975 operation = AvatarGenerator . new ( current_user , params )
7076
@@ -102,6 +108,7 @@ def user_params
102108 fields_to_permit += %w" admin registration_number
103109 registration_date " if admin?
104110 fields_to_permit += %w" organization_id superadmin " if superadmin?
111+ fields_to_permit += %w" password " if request . referer . include? ( signup_users_path )
105112
106113 params . require ( :user ) . permit *fields_to_permit
107114 end
@@ -115,17 +122,22 @@ def find_user
115122 end
116123
117124 def redirect_to_after_create
118- id = @user . member ( current_organization ) . member_uid
119- if params [ :more ]
120- redirect_to new_user_path ,
121- notice : I18n . t ( "users.new.user_created_add" ,
122- uid : id ,
123- name : @user . username )
125+ if request . referer . include? ( signup_users_path )
126+ sign_in ( @user )
127+ redirect_to terms_path
124128 else
125- redirect_to users_path ,
126- notice : I18n . t ( "users.index.user_created" ,
127- uid : id ,
128- name : @user . username )
129+ id = @user . member ( current_organization ) . member_uid
130+ if params [ :more ]
131+ redirect_to new_user_path ,
132+ notice : I18n . t ( "users.new.user_created_add" ,
133+ uid : id ,
134+ name : @user . username )
135+ else
136+ redirect_to users_path ,
137+ notice : I18n . t ( "users.index.user_created" ,
138+ uid : id ,
139+ name : @user . username )
140+ end
129141 end
130142 end
131143end
0 commit comments