refactors comment form

This commit is contained in:
Juanjo Bazán
2015-09-02 17:19:32 +02:00
committed by Juanjo Bazán
parent df5ef2dc29
commit eb689d7c7e
4 changed files with 21 additions and 20 deletions

View File

@@ -1,11 +1,11 @@
module CommentsHelper module CommentsHelper
def comment_link_text(parent) def comment_link_text(parent_id)
parent.is_a? Comment ? t("comments_helper.reply_link") : t("comments_helper.comment_link") parent_id.present? ? t("comments_helper.reply_link") : t("comments_helper.comment_link")
end end
def comment_button_text(parent) def comment_button_text(parent_id)
parent.is_a? Comment ? t("comments_helper.reply_button") : t("comments_helper.comment_button") parent_id.present? ? t("comments_helper.reply_button") : t("comments_helper.comment_button")
end end
end end

View File

@@ -88,14 +88,14 @@
<%= render 'comments/actions', comment: comment %> <%= render 'comments/actions', comment: comment %>
<%= render 'comments/form', {parent: comment, toggeable: true} %> <%= render 'comments/form', {commentable: @debate, parent_id: comment.id, toggeable: true} %>
<% end %> <% end %>
</div> </div>
</div> </div>
<% end %> <% end %>
<div class="comment-children"> <div class="comment-children">
<%= render comment.children.for_render.reorder('id DESC, lft') %> <%= render comment.children.for_render.reorder('id DESC') %>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -1,22 +1,23 @@
<div id="js-comment-form-<%= dom_id(parent) %>" <%= "style='display:none'".html_safe if toggeable %>> <div id="js-comment-form-<%= dom_id(commentable) %>" <%= "style='display:none'".html_safe if toggeable %>>
<%= form_for [@debate, Comment.new], remote: true do |f| %> <%= form_for [commentable, Comment.new], remote: true do |f| %>
<%= label_tag "comment-body-#{dom_id(parent)}", t("comments.form.leave_comment") %> <%= label_tag "comment-body-#{dom_id(commentable)}", t("comments.form.leave_comment") %>
<%= f.text_area :body, id: "comment-body-#{dom_id(parent)}", label: false %> <%= f.text_area :body, id: "comment-body-#{dom_id(commentable)}", label: false %>
<%= f.hidden_field :commentable_type, value: parent.class %> <%= f.hidden_field :commentable_type, value: commentable.class %>
<%= f.hidden_field :commentable_id, value: parent.id %> <%= f.hidden_field :commentable_id, value: commentable.id %>
<%= f.hidden_field :parent_id, value: parent_id %>
<%= f.submit comment_button_text(parent), class: "button radius small inline-block" %> <%= f.submit comment_button_text(parent_id), class: "button radius small inline-block" %>
<% if can? :comment_as_moderator, @debate %> <% if can? :comment_as_moderator, commentable %>º
<div class="right"> <div class="right">
<%= f.check_box :as_moderator, id: "comment-as-moderator-#{dom_id(parent)}", label: false %> <%= f.check_box :as_moderator, id: "comment-as-moderator-#{dom_id(commentable)}", label: false %>
<%= label_tag "comment-as-moderator-#{dom_id(parent)}", t("comments.form.comment_as_moderator"), class: "checkbox" %> <%= label_tag "comment-as-moderator-#{dom_id(commentable)}", t("comments.form.comment_as_moderator"), class: "checkbox" %>
</div> </div>
<% end %> <% end %>
<% if can? :comment_as_administrator, @debate %> <% if can? :comment_as_administrator, commentable %>
<div class="right"> <div class="right">
<%= f.check_box :as_administrator, id: "comment-as-administrator-#{dom_id(parent)}",label: false %> <%= f.check_box :as_administrator, id: "comment-as-administrator-#{dom_id(commentable)}",label: false %>
<%= label_tag "comment-as-administrator-#{dom_id(parent)}", t("comments.form.comment_as_admin"), class: "checkbox" %> <%= label_tag "comment-as-administrator-#{dom_id(commentable)}", t("comments.form.comment_as_admin"), class: "checkbox" %>
</div> </div>
<% end %> <% end %>
<% end %> <% end %>

View File

@@ -82,7 +82,7 @@
<span>(<%= @debate.comments_count %>)</span> <span>(<%= @debate.comments_count %>)</span>
</h2> </h2>
<% if user_signed_in? %> <% if user_signed_in? %>
<%= render 'comments/form', {parent: @debate, toggeable: false} %> <%= render 'comments/form', {commentable: @debate, parent_id: nil, toggeable: false} %>
<% else %> <% else %>
<br> <br>
<div class="alert-box radius info"> <div class="alert-box radius info">