Accept nested attributes for documents on proposals. Adapt documentable js file to allow many input files at the same page.

This commit is contained in:
Senén Rodero Rodríguez
2017-08-12 17:28:03 +02:00
parent e327b420ff
commit e9c5f77368
10 changed files with 74 additions and 24 deletions

View File

@@ -28,6 +28,7 @@ module CommentableActions
def new
@resource = resource_model.new
prepare_new_resource_documents
set_geozone
set_resource_instance
end
@@ -58,6 +59,7 @@ module CommentableActions
def update
resource.assign_attributes(strong_params)
resource = parse_documents(resource)
if resource.save
redirect_to resource, notice: t("flash.actions.update.#{resource_name.underscore}")
else
@@ -110,4 +112,22 @@ module CommentableActions
nil
end
def prepare_new_resource_documents
if @resource.class == Proposal || @resource.class == Budget::Investment
(0..@resource.class.max_documents_allowed - 1).each do
@resource.documents.build
end
end
end
def parse_documents(resource)
resource.documents.each do |document|
document.user = current_user
end
resource.documents = resource.documents.select{|document| document.valid? }.each do |document|
document.attachment = File.open(document.cached_attachment)
end
resource
end
end