@page = (params[:page] || 1).to_i
@page_size = 20
- @entries = @entries.visible unless current_user&.administrator?
+ @entries = @entries.visible unless can? :unhide, DiaryEntry
@entries = @entries.order("created_at DESC")
@entries = @entries.offset((@page - 1) * @page_size)
@entries = @entries.limit(@page_size)
@entry = @user.diary_entries.visible.where(:id => params[:id]).first
if @entry
@title = t "diary_entries.show.title", :user => params[:display_name], :title => @entry.title
- @comments = current_user&.administrator? ? @entry.comments : @entry.visible_comments
+ @comments = can?(:unhidecomment, DiaryEntry) ? @entry.comments : @entry.visible_comments
else
@title = t "diary_entries.no_such_entry.title", :id => params[:id]
render :action => "no_such_entry", :status => :not_found
def comments
conditions = { :user_id => @user }
- conditions[:visible] = true unless current_user&.administrator?
+ conditions[:visible] = true unless can? :unhidecomment, DiaryEntry
@comment_pages, @comments = paginate(:diary_comments,
:conditions => conditions,
<% end %>
- <% if current_user and current_user.administrator? %>
+ <% if can?(:set_status, User) || can?(:delete, User) %>
<ul class='secondary-actions clearfix'>
- <% if ["active", "confirmed"].include? @user.status %>
- <li>
- <%= link_to t(".deactivate_user"), set_status_user_path(:status => "pending", :display_name => @user.display_name), :data => { :confirm => t(".confirm") } %>
- </li>
- <% elsif ["pending"].include? @user.status %>
- <li>
- <%= link_to t(".activate_user"), set_status_user_path(:status => "active", :display_name => @user.display_name), :data => { :confirm => t(".confirm") } %>
- </li>
- <% end %>
+ <% if can? :set_status, User %>
+ <% if ["active", "confirmed"].include? @user.status %>
+ <li>
+ <%= link_to t(".deactivate_user"), set_status_user_path(:status => "pending", :display_name => @user.display_name), :data => { :confirm => t(".confirm") } %>
+ </li>
+ <% elsif ["pending"].include? @user.status %>
+ <li>
+ <%= link_to t(".activate_user"), set_status_user_path(:status => "active", :display_name => @user.display_name), :data => { :confirm => t(".confirm") } %>
+ </li>
+ <% end %>
- <% if ["active", "suspended"].include? @user.status %>
- <li>
- <%= link_to t(".confirm_user"), set_status_user_path(:status => "confirmed", :display_name => @user.display_name), :data => { :confirm => t(".confirm") } %>
- </li>
+ <% if ["active", "suspended"].include? @user.status %>
+ <li>
+ <%= link_to t(".confirm_user"), set_status_user_path(:status => "confirmed", :display_name => @user.display_name), :data => { :confirm => t(".confirm") } %>
+ </li>
+ <% end %>
+ <li>
+ <% if ["pending", "active", "confirmed", "suspended"].include? @user.status %>
+ <%= link_to t(".hide_user"), set_status_user_path(:status => "deleted", :display_name => @user.display_name), :data => { :confirm => t(".confirm") } %>
+ <% else %>
+ <%= link_to t(".unhide_user"), set_status_user_path(:status => "active", :display_name => @user.display_name), :data => { :confirm => t(".confirm") } %>
+ </li>
+ <% end %>
<% end %>
+ <% if can? :delete, User %>
<li>
- <% if ["pending", "active", "confirmed", "suspended"].include? @user.status %>
- <%= link_to t(".hide_user"), set_status_user_path(:status => "deleted", :display_name => @user.display_name), :data => { :confirm => t(".confirm") } %>
- <% else %>
- <%= link_to t(".unhide_user"), set_status_user_path(:status => "active", :display_name => @user.display_name), :data => { :confirm => t(".confirm") } %>
+ <%= link_to t(".delete_user"), delete_user_path(:display_name => @user.display_name), :data => { :confirm => t(".confirm") } %>
</li>
<% end %>
- <li>
- <%= link_to t(".delete_user"), delete_user_path(:display_name => @user.display_name), :data => { :confirm => t(".confirm") } %>
- </li>
</ul>
<% end %>