<%= f.hidden_field :id %>
<%= f.hidden_field :user_id, value: current_user.id %>
<%= f.hidden_field :cached_attachment %>
@@ -9,16 +9,16 @@
- <%= render_attachment(f.object) %>
+ <%= render_attachment %>
- <%= render_destroy_document_link(f.object) %>
+ <%= render_destroy_document_link %>
- <%= document_attachment_file_name(f.object) %>
+ <%= document_attachment_file_name %>
diff --git a/app/components/documents/fields_component.rb b/app/components/documents/fields_component.rb
index b5f2384eb..3e285ccf7 100644
--- a/app/components/documents/fields_component.rb
+++ b/app/components/documents/fields_component.rb
@@ -8,11 +8,15 @@ class Documents::FieldsComponent < ApplicationComponent
private
- def document_attachment_file_name(document)
+ def document
+ f.object
+ end
+
+ def document_attachment_file_name
document.attachment_file_name
end
- def render_destroy_document_link(document)
+ def render_destroy_document_link
if !document.persisted? && document.cached_attachment.present?
link_to t("documents.form.delete_button"),
direct_upload_destroy_path(
@@ -29,25 +33,25 @@ class Documents::FieldsComponent < ApplicationComponent
end
end
- def render_attachment(document)
+ def render_attachment
klass = document.persisted? || document.cached_attachment.present? ? " hide" : ""
f.file_field :attachment,
label_options: { class: "button hollow #{klass}" },
- accept: accepted_content_types_extensions(document.documentable_type.constantize),
+ accept: accepted_content_types_extensions,
class: "js-document-attachment",
data: {
- url: document_direct_upload_path(document),
+ url: document_direct_upload_path,
nested_document: true
}
end
- def document_direct_upload_path(document)
+ def document_direct_upload_path
direct_uploads_path("direct_upload[resource_type]": document.documentable_type,
"direct_upload[resource_id]": document.documentable_id,
"direct_upload[resource_relation]": "documents")
end
- def accepted_content_types_extensions(documentable_class)
+ def accepted_content_types_extensions
Setting.accepted_content_types_for("documents").map { |content_type| ".#{content_type}" }.join(",")
end
end
diff --git a/app/components/images/fields_component.html.erb b/app/components/images/fields_component.html.erb
index 991554381..5e922c788 100644
--- a/app/components/images/fields_component.html.erb
+++ b/app/components/images/fields_component.html.erb
@@ -1,4 +1,4 @@
-
+
<%= f.hidden_field :id %>
<%= f.hidden_field :user_id, value: current_user.id %>
<%= f.hidden_field :cached_attachment %>
@@ -7,20 +7,20 @@
<%= f.text_field :title, placeholder: t("images.form.title_placeholder") %>
- <%= render_image(f.object, :thumb, false) if f.object.attachment.exists? %>
+ <%= render_image(image, :thumb, false) if image.attachment.exists? %>
- <%= render_image_attachment(f.object) %>
+ <%= render_image_attachment %>
- <%= render_destroy_image_link(f.object) %>
+ <%= render_destroy_image_link %>
- <%= image_attachment_file_name(f.object) %>
+ <%= image_attachment_file_name %>
diff --git a/app/components/images/fields_component.rb b/app/components/images/fields_component.rb
index ab35baf9e..088b1e585 100644
--- a/app/components/images/fields_component.rb
+++ b/app/components/images/fields_component.rb
@@ -9,11 +9,15 @@ class Images::FieldsComponent < ApplicationComponent
private
- def image_attachment_file_name(image)
+ def image
+ f.object
+ end
+
+ def image_attachment_file_name
image.attachment_file_name
end
- def render_destroy_image_link(image)
+ def render_destroy_image_link
if !image.persisted? && image.cached_attachment.present?
link_to t("images.form.delete_button"),
direct_upload_destroy_path(
@@ -30,7 +34,7 @@ class Images::FieldsComponent < ApplicationComponent
end
end
- def render_image_attachment(image)
+ def render_image_attachment
klass = image.persisted? || image.cached_attachment.present? ? " hide" : ""
f.file_field :attachment,
label_options: { class: "button hollow #{klass}" },