37 lines
1.2 KiB
Ruby
37 lines
1.2 KiB
Ruby
module DocumentablesHelper
|
|
|
|
def documentable_class(documentable)
|
|
documentable.class.name.parameterize(separator: "_")
|
|
end
|
|
|
|
def max_documents_allowed(documentable)
|
|
documentable.class.max_documents_allowed
|
|
end
|
|
|
|
def max_file_size(documentable_class)
|
|
bytes_to_mega(documentable_class.max_file_size)
|
|
end
|
|
|
|
def accepted_content_types(documentable_class)
|
|
documentable_class.accepted_content_types
|
|
end
|
|
|
|
def accepted_content_types_extensions(documentable_class)
|
|
Setting.accepted_content_types_for("documents").map { |content_type| ".#{content_type}" }.join(",")
|
|
end
|
|
|
|
def documentable_humanized_accepted_content_types(documentable_class)
|
|
Setting.accepted_content_types_for("documents").join(", ")
|
|
end
|
|
|
|
def documentables_note(documentable)
|
|
t "documents.form.note", max_documents_allowed: max_documents_allowed(documentable),
|
|
accepted_content_types: documentable_humanized_accepted_content_types(documentable.class),
|
|
max_file_size: max_file_size(documentable.class)
|
|
end
|
|
|
|
def max_documents_allowed?(documentable)
|
|
documentable.documents.count >= documentable.class.max_documents_allowed
|
|
end
|
|
end
|