allow editing of confirmed status

This commit is contained in:
jomo
2014-05-03 03:50:01 +02:00
parent 6213c87bd8
commit 6f3cc934da
3 changed files with 17 additions and 8 deletions

View File

@@ -57,6 +57,9 @@ class UsersController < ApplicationController
flash[:alert] = "Your account has already been confirmed!"
end
redirect_to @user
elsif !@user.is?(current_user)
flash[:alert] = "Wrong user, please log in as '#{@user.name}' first!"
redirect_to root_path
else
flash[:alert] = "Something is wrong with your confirmation code"
redirect_to root_path
@@ -131,20 +134,20 @@ class UsersController < ApplicationController
def update
@user = User.find(params[:id])
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]
role = Role.get(userdata[:role])
if (mod? && role <= current_user.role)
if role <= current_user.role
userdata[:role] = role
else
#reset role
# don't change role
userdata.delete[:role]
end
end
unless userdata[:ign] && (mod? && current_user.role >= @user.role)
#reset ign
userdata[:ign] = @user.ign
end
if @user.youtube != userdata[:youtube]
youtube = get_youtube(userdata[:youtube])
userdata[:youtube] = youtube[:channel]

View File

@@ -20,11 +20,17 @@
<tr>
<td>Role</td>
<td>
<% if mod? && current_user.role >= @user.role %>
<% if current_user.role >= @user.role %>
<%= f.select :role, Role.all_to(current_user.role) %>
<% end %>
</td>
</tr>
<tr>
<td>Confirmed email adress</td>
<td>
<%= f.select :confirmed, [["No", false], ["Yes", true]], {}, { disabled: !can_edit? } %>
</td>
</tr>
<% end %>
<tr>
<td>Skype username</td>