allow editing of confirmed status
This commit is contained in:
@@ -57,6 +57,9 @@ class UsersController < ApplicationController
|
|||||||
flash[:alert] = "Your account has already been confirmed!"
|
flash[:alert] = "Your account has already been confirmed!"
|
||||||
end
|
end
|
||||||
redirect_to @user
|
redirect_to @user
|
||||||
|
elsif !@user.is?(current_user)
|
||||||
|
flash[:alert] = "Wrong user, please log in as '#{@user.name}' first!"
|
||||||
|
redirect_to root_path
|
||||||
else
|
else
|
||||||
flash[:alert] = "Something is wrong with your confirmation code"
|
flash[:alert] = "Something is wrong with your confirmation code"
|
||||||
redirect_to root_path
|
redirect_to root_path
|
||||||
@@ -131,20 +134,20 @@ class UsersController < ApplicationController
|
|||||||
def update
|
def update
|
||||||
@user = User.find(params[:id])
|
@user = User.find(params[:id])
|
||||||
if (mod? && current_user.role >= @user.role ) || (@user.is?(current_user) && confirmed?)
|
if (mod? && current_user.role >= @user.role ) || (@user.is?(current_user) && confirmed?)
|
||||||
userdata = user_params([:name, :role, :skype, :skype_public, :youtube, :twitter, :about])
|
if mod?
|
||||||
|
userdata = user_params([:name, :skype, :skype_public, :youtube, :twitter, :about, :role, :confirmed])
|
||||||
|
else
|
||||||
|
userdata = user_params([:name, :skype, :skype_public, :youtube, :twitter, :about])
|
||||||
|
end
|
||||||
if userdata[:role]
|
if userdata[:role]
|
||||||
role = Role.get(userdata[:role])
|
role = Role.get(userdata[:role])
|
||||||
if (mod? && role <= current_user.role)
|
if role <= current_user.role
|
||||||
userdata[:role] = role
|
userdata[:role] = role
|
||||||
else
|
else
|
||||||
#reset role
|
# don't change role
|
||||||
userdata.delete[:role]
|
userdata.delete[:role]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
unless userdata[:ign] && (mod? && current_user.role >= @user.role)
|
|
||||||
#reset ign
|
|
||||||
userdata[:ign] = @user.ign
|
|
||||||
end
|
|
||||||
if @user.youtube != userdata[:youtube]
|
if @user.youtube != userdata[:youtube]
|
||||||
youtube = get_youtube(userdata[:youtube])
|
youtube = get_youtube(userdata[:youtube])
|
||||||
userdata[:youtube] = youtube[:channel]
|
userdata[:youtube] = youtube[:channel]
|
||||||
|
|||||||
@@ -20,11 +20,17 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td>Role</td>
|
<td>Role</td>
|
||||||
<td>
|
<td>
|
||||||
<% if mod? && current_user.role >= @user.role %>
|
<% if current_user.role >= @user.role %>
|
||||||
<%= f.select :role, Role.all_to(current_user.role) %>
|
<%= f.select :role, Role.all_to(current_user.role) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Confirmed email adress</td>
|
||||||
|
<td>
|
||||||
|
<%= f.select :confirmed, [["No", false], ["Yes", true]], {}, { disabled: !can_edit? } %>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
<% end %>
|
<% end %>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Skype username</td>
|
<td>Skype username</td>
|
||||||
|
|||||||
Reference in New Issue
Block a user