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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user