+require "ostruct"
+
module ReportsHelper
def report_link(name, reportable)
link_to name, new_report_url(:reportable_id => reportable.id, :reportable_type => reportable.class.name)
end
+
+ # Convert a list of strings into objects with methods that the collection_radio_buttons helper expects
+ def report_categories(reportable)
+ Report.categories_for(reportable).map do |c|
+ OpenStruct.new(:id => c, :label => t(".categories.#{reportable.class.name.underscore}.#{c}_label"))
+ end
+ end
end
</ul>
</div>
-<%= form_for(@report) do |f| %>
- <%= f.error_messages %>
- <fieldset class="standard-form">
- <%= f.fields_for @report.issue do |issue_form| %>
- <%= issue_form.hidden_field :reportable_id %>
- <%= issue_form.hidden_field :reportable_type %>
- <% end %>
+<%= bootstrap_form_for(@report) do |f| %>
+ <%= f.fields_for @report.issue do |issue_form| %>
+ <%= issue_form.hidden_field :reportable_id %>
+ <%= issue_form.hidden_field :reportable_type %>
+ <% end %>
- <div class='standard-form-row'>
- <p><%= t(".select") %></p>
- <ul class="form-list">
- <% Report.categories_for(@report.issue.reportable).each do |c| %>
- <li>
- <%= radio_button :report, :category, c, :required => true %>
- <%= label_tag "report_category_#{c}", t(".categories.#{@report.issue.reportable.class.name.underscore}.#{c}_label") %>
- </li>
- <% end %>
- </ul>
- </div>
-
- <div class='standard-form-row'>
- <%= text_area :report, :details, :cols => 20, :rows => 5, :placeholder => t(".details") %>
- </div>
-
- <div class='buttons'>
- <%= f.submit %>
- </div>
- </fieldset>
+ <%= f.collection_radio_buttons :category, report_categories(@report.issue.reportable), :id, :label %>
+ <%= f.text_area :details, :rows => 5, :label_as_placeholder => true %>
+ <%= f.primary %>
<% end %>
title: "Subject"
body: "Body"
recipient: "Recipient"
+ report:
+ category: Select a reason for your report
+ details: Please provide some more details about the problem (required).
user:
email: "Email"
active: "Active"
new:
title_html: "Report %{link}"
missing_params: "Cannot create a new report"
- details: Please provide some more details about the problem (required).
- select: "Select a reason for your report:"
disclaimer:
intro: "Before sending your report to the site moderators, please ensure that:"
not_just_mistake: You are certain that the problem is not just a mistake