Added view to upload documents to poll answers

This commit is contained in:
María Checa
2017-10-05 15:20:09 +02:00
committed by decabeza
parent 6192ea8b78
commit 590344a576
3 changed files with 73 additions and 3 deletions

View File

@@ -1,5 +1,6 @@
class Admin::Poll::Questions::AnswersController < Admin::Poll::BaseController class Admin::Poll::Questions::AnswersController < Admin::Poll::BaseController
before_action :load_question before_action :load_question
before_action :load_answer, only: [:update, :documents]
load_and_authorize_resource :question, class: "::Poll::Question" load_and_authorize_resource :question, class: "::Poll::Question"
@@ -18,10 +19,28 @@ class Admin::Poll::Questions::AnswersController < Admin::Poll::BaseController
end end
end end
def update
if @answer.update(answer_params)
redirect_to admin_question_path(@question), notice: t("flash.actions.save_changes.notice")
else
redirect_to :back
end
end
def documents
@documents = @answer.documents
render 'admin/poll/questions/answers/documents'
end
private private
def answer_params def answer_params
params.require(:poll_question_answer).permit(:title, :description, :question_id) params.require(:poll_question_answer).permit(:title, :description, :question_id, documents_attributes: [:id, :title, :attachment, :cached_attachment, :user_id, :_destroy])
end
def load_answer
@answer = ::Poll::Question::Answer.find(params[:id] || params[:answer_id])
end end
def load_question def load_question

View File

@@ -0,0 +1,51 @@
<h4><%= link_to @question.title, admin_question_path(@question) %> > <%= @answer.title %></h4>
<h2><%= t("admin.questions.show.answers.documents_list") %></h2>
<div class="poll-question-answer-form">
<%= form_for(@answer, url: admin_question_answer_path(@question, @answer)) do |f| %>
<%= render 'shared/errors', resource: @answer %>
<%= f.hidden_field :question_id, value: @question.id %>
<div class="row">
<div class="small-12 column">
<div class="documents small-12">
<%= render 'documents/nested_documents', documentable: @answer, f: f %>
</div>
<div class="row">
<div class="actions small-12 medium-4 margin-top">
<%= f.submit(class: "button expanded", value: t("shared.save")) %>
</div>
</div>
</div>
</div>
<% end %>
<% if @answer.documents.present? %>
<table>
<tr>
<th scope="col"><%= t("admin.questions.show.answers.document_title") %></th>
<th scope="col"><%= t("admin.questions.show.answers.description") %></th>
</tr>
<% @answer.documents.each do |document| %>
<tr>
<td scope="col">
<%= link_to document.title, document.attachment.url %>
</td>
<td scope="col">
<%= link_to t('documents.buttons.download_document'),
document.attachment.url,
target: "_blank",
rel: "nofollow",
class: 'button hollow' %>
</td>
</tr>
<% end %>
</table>
<% end %>
</div>

View File

@@ -301,10 +301,10 @@ Rails.application.routes.draw do
end end
resources :questions do resources :questions do
resources :answers, only: [:new, :create], controller: 'questions/answers', shallow: true do resources :answers, only: [:new, :create, :update], controller: 'questions/answers', shallow: true do
resources :images, controller: 'questions/answers/images' resources :images, controller: 'questions/answers/images'
get :documents, to: 'questions/answers#documents'
end end
end end
end end