2013-08-01 10:33:49 +08:00
|
|
|
<span id="attachments_fields">
|
|
|
|
<% if defined?(container) && container && container.saved_attachments %>
|
|
|
|
<% container.saved_attachments.each_with_index do |attachment, i| %>
|
|
|
|
<span id="attachments_p<%= i %>">
|
2013-08-06 16:08:54 +08:00
|
|
|
<span style="width:100px;"><%= text_field_tag("attachments[p#{i}][filename]", attachment.filename, :class => 'filename', :maxlength => 10)%>
|
|
|
|
</span>
|
|
|
|
<%= text_field_tag("attachments[p#{i}][description]", attachment.description, :maxlength => 155, :placeholder => l(:label_optional_description), :class => 'description') +
|
2013-08-01 10:33:49 +08:00
|
|
|
link_to(' '.html_safe, attachment_path(attachment, :attachment_id => "p#{i}", :format => 'js'), :method => 'delete', :remote => true, :class => 'remove-upload') %>
|
|
|
|
<%= hidden_field_tag "attachments[p#{i}][token]", "#{attachment.token}" %>
|
|
|
|
</span>
|
|
|
|
<% end %>
|
|
|
|
<% end %>
|
|
|
|
</span>
|
|
|
|
<span class="add_attachment">
|
|
|
|
<%= file_field_tag 'attachments[dummy][file]',
|
|
|
|
:id => nil,
|
|
|
|
:class => 'file_selector',
|
|
|
|
:multiple => true,
|
|
|
|
:onchange => 'addInputFiles(this);',
|
|
|
|
:data => {
|
|
|
|
:max_file_size => Setting.attachment_max_size.to_i.kilobytes,
|
|
|
|
:max_file_size_message => l(:error_attachment_too_big, :max_size => number_to_human_size(Setting.attachment_max_size.to_i.kilobytes)),
|
|
|
|
:max_concurrent_uploads => Redmine::Configuration['max_concurrent_ajax_uploads'].to_i,
|
|
|
|
:upload_path => uploads_path(:format => 'js'),
|
|
|
|
:description_placeholder => l(:label_optional_description)
|
|
|
|
} %>
|
|
|
|
(<%= l(:label_max_size) %>: <%= number_to_human_size(Setting.attachment_max_size.to_i.kilobytes) %>)
|
|
|
|
</span>
|
|
|
|
|
|
|
|
<% content_for :header_tags do %>
|
|
|
|
<%= javascript_include_tag 'attachments' %>
|
|
|
|
<% end %>
|