Skip to content

Commit

Permalink
simpler (and more blade-ish) comments index
Browse files Browse the repository at this point in the history
  • Loading branch information
john muhl committed Nov 11, 2011
1 parent f6b2f5e commit 6db26ea
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 104 deletions.
32 changes: 9 additions & 23 deletions app/views/admin/comments/_comment.html.haml
Original file line number Diff line number Diff line change
@@ -1,26 +1,12 @@
%tr{:id => dom_id(comment), :class => "comment comment-#{comment.ap_status}"}
%td.content{:title => comment.content.size >= 70 ? t('click_to_toggle') : "" }
%blockquote.short= escape_once(truncate(comment.content, :length => 70))
- if comment.content.size >= 70
%blockquote.expanded{:style => "display:none"}
= escape_once(comment.content)
%td.date-column
= comment.created_at.strftime("%b %e, %Y at %I:%M%p")
%td.author-column
= escape_once(comment.author)
- unless comment.author_email.blank?
= mail_to(comment.author_email, image_tag("admin/email.png"))
- unless comment.author_url.blank?
= link_to(image_tag("admin/link.png"), comment.author_url)
%tr.comment_row
%td.name= link_to escape_once(truncate(comment.content, :length => 70)), edit_admin_comment_path(comment)
- unless @page
%td.page-column
= link_to truncate(comment.page.title, :length => 40), comment.page.url, :class => 'view-page'
= link_to image_tag("admin/page_white_edit.png"), edit_admin_page_path(comment.page), :title => t('edit_page')
%td.controls-column
%td.page= truncate comment.page.title, :length => 40
%td.date= comment.created_at.strftime("%D")
%td.author= mail_to comment.author_email, escape_once(comment.author)
%td.actions
- if comment.approved?
= link_to(image_tag('admin/error.png'), unapprove_admin_comment_path(comment), :method => :put, :title => t('unapprove_comment'))
= link_to image("error") + " " + "Unapprove", unapprove_admin_comment_path(comment), :method => :put, :class => :action
- else
= link_to(image_tag('admin/accept.png'), approve_admin_comment_path(comment), :title => t('approve_comment'), :method => :put)

= link_to image_tag("admin/delete.png"), admin_comment_path(comment), :method => :delete, :confirm => t('are_you_sure_you_want_to_delete_this_comment'), :title => t('delete_comment')
= link_to image_tag("admin/comment_edit.png"), edit_admin_comment_path(comment), :title => t('edit_comment')
= link_to image("accept") + " " + "Approve", approve_admin_comment_path(comment), :method => :put, :class => "action approve"
= link_to image('minus') + ' ' + t('remove'), admin_comment_path(comment), :method => :delete, :confirm => t('are_you_sure_you_want_to_delete_this_comment'), :class => :action
67 changes: 19 additions & 48 deletions app/views/admin/comments/index.html.haml
Original file line number Diff line number Diff line change
@@ -1,57 +1,28 @@
- content_for :page_scripts do
:plain
document.observe('dom:loaded', function(){
Event.addBehavior({
'tr.comment td.content': function(event){
$(this).observe('click', function(event){
if($(this).down('blockquote.expanded')){
$(this).down('blockquote.expanded').toggle();
$(this).down('blockquote.short').toggle();
}
event.stop();
});
}
});
});

- include_stylesheet 'admin/comments'

.outset
#filters
%ul.comment-nav
- if @page
%li
= "#{@page.comments.count.to_s} #{t("comment_states.#{params[:status]}")} " if params[:status]
= "#{pluralize(@page.comments.count, 'Comment')} on #{link_to @page.title, edit_admin_page_path(@page)}"
%li.all
= link_or_span_unless_current(t('comment_states.all'), :status => 'all', :page_id => params[:page_id])
%li.approved
= link_or_span_unless_current(t('comment_states.approved'), :status => "approved", :page_id => params[:page_id])
%li.unapproved
= link_or_span_unless_current(t('comment_states.unapproved'), :status => "unapproved", :page_id => params[:page_id])


#comments_table
%table#comments.index
%thead
%tr
%th= t('content')
%th= t('date_string')
%th= t('author')
- unless @page
%th= t('page')
%th= t('actions')
%tbody
= render(:partial => "comment", :collection => @comments) || %Q[<tr><td class="note" colspan="#{@page ? 4 : 5}">No comments</td></tr>]
%p
%small.notice
= Comment.spam_filter.message

%table#comments.index
%thead
%tr
%th= t('comment')
- unless @page
%th= t('page')
%th= t('date_string')
%th= t('author')
%th.actions= t('actions')
%tbody
= render(:partial => "comment", :collection => @comments) || %Q[<tr><td class="note" colspan="#{@page ? 4 : 5}">No comments</td></tr>]

#actions
= will_paginate @comments
%ul
%li.all
= link_to "#{image('comments')} #{t('comment_states.all')}", "/admin/comments/all"
%li.approved
= link_to "#{image('accept')} #{t('comment_states.approved')}", "/admin/comments/approved"
%li.unapproved
= link_to "#{image('error')} #{t('comment_states.unapproved')}", "/admin/comments/unapproved"
%li
= link_to "#{image('table_save')} #{t('download_csv')}", :format => :csv
= link_to "#{image('comments_delete')} #{t('delete_unapproved')}", destroy_unapproved_admin_comments_url, :class => 'delete-unapproved', :method => :delete, :confirm => 'Delete all unapproved comments?'
%li
= link_to "#{image('comments_delete')} #{t('delete_unapproved')}", destroy_unapproved_admin_comments_url, :class => 'delete-unapproved', :method => :delete, :confirm => 'Is it OK to delete ALL Unapproved Comments?'
= link_to "#{image('table_save')} #{t('download_csv')}", :format => :csv
41 changes: 8 additions & 33 deletions public/stylesheets/admin/comments.css
Original file line number Diff line number Diff line change
@@ -1,33 +1,8 @@
.comment-nav {
background: #ccc;
border-top: 1px solid #ccc;
border-bottom: 1px solid #ccc;
list-style: none;
margin: 0;
padding: 10px; }
.comment-nav li {
display: inline;
margin: 0 5px 0 0; }
.comment-nav a, .comment-nav span {
padding: 5px 5px 5px 25px;
background-position: 5px center;
background-repeat: no-repeat; }
.comment-nav a, .comment-nav a:visited {
color: black; }
.comment-nav span {
border: 1px solid #e8e8e8;
background-color: #eee; }
.all span, .all a {
background-image: url(/images/admin/comments.png); }
.approved span, .approved a {
background-image: url(/images/admin/accept.png); }
.unapproved span, .unapproved a {
background-image: url(/images/admin/error.png); }

#content .outset {
margin-bottom: 40px;
}

.controls-column, .date-column, .author-column { white-space: nowrap }
.comment-unapproved { background-color: #ffe; }
.comment a, .comment a:visited { color: black; }
.comment_row td {
height: 31px; }
.comment_row td.page, .comment_row td.date {
font-size: 10px; }
.comment_row .actions .approve {
margin-right: 38px; }
.comment_row .actions .approve:hover, .comment_row .actions .approve:focus {
margin-right: 37px; }
14 changes: 14 additions & 0 deletions public/stylesheets/sass/admin/comments.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
.comment_row {
td {
height: 31px;
&.page, &.date {
font-size: 10px;
}
}
.actions .approve {
margin-right: 38px;
&:hover, &:focus {
margin-right: 37px;
}
}
}

0 comments on commit 6db26ea

Please sign in to comment.