Extract methods to get objects in attachment forms
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user