#1548 Issue attachments
This commit is contained in:
parent
62bfc18357
commit
e0532a81b2
@ -47,7 +47,29 @@ class DmsfUpload
|
||||
end
|
||||
end
|
||||
|
||||
def initialize(project, folder, uploaded)
|
||||
def initialize(project, folder = nil, uploaded = nil)
|
||||
unless uploaded
|
||||
@name = ''
|
||||
@disk_filename = ''
|
||||
@mime_type = ''
|
||||
@size = 0
|
||||
@tempfile_path = ''
|
||||
@token = ''
|
||||
@digest = ''
|
||||
if Setting.plugin_redmine_dmsf['empty_minor_version_by_default']
|
||||
@major_version = 1
|
||||
@minor_version = nil
|
||||
else
|
||||
@major_version = 0
|
||||
@minor_version = 0
|
||||
end
|
||||
@patch_version = nil
|
||||
@workflow = nil
|
||||
revision = DmsfFileRevision.new
|
||||
@custom_values = revision.custom_field_values
|
||||
return
|
||||
end
|
||||
|
||||
@name = uploaded[:original_filename]
|
||||
|
||||
file = DmsfFile.find_file_by_name(project, folder, @name)
|
||||
|
||||
@ -81,8 +81,10 @@
|
||||
upload_path: dmsf_uploads_path(format: 'js'),
|
||||
description_placeholder: l(:label_optional_description),
|
||||
project: @project ? "#{@project.identifier}" : '',
|
||||
description: description,
|
||||
awf: awf
|
||||
awf: awf,
|
||||
dmsf_file_details_form: container ? controller.send( :render_to_string,
|
||||
{ partial: 'dmsf_upload/upload_file',
|
||||
locals: { upload: DmsfUpload.new(container.project, nil, nil), i: 0 } }) : nil
|
||||
} %>
|
||||
</span>
|
||||
<% if defined?(container) && container %>
|
||||
|
||||
@ -21,21 +21,18 @@
|
||||
<div class="box tabular dmfs-box-tabular">
|
||||
<%= hidden_field_tag "committed_files[#{i}][disk_filename]", upload.disk_filename %>
|
||||
<%= hidden_field_tag "committed_files[#{i}][token]", upload.token %>
|
||||
<%= hidden_field_tag "committed_files[#{i}][size]", upload.size %>
|
||||
<%= hidden_field_tag "committed_files[#{i}][mime_type]", upload.mime_type %>
|
||||
<%= hidden_field_tag "committed_files[#{i}][digest]", upload.digest %>
|
||||
<div class="splitcontent">
|
||||
<div class="splitcontentleft">
|
||||
<p>
|
||||
<%= label_tag "committed_files[#{i}][title]", l(:label_title) %>
|
||||
<%= text_field_tag "committed_files[#{i}][title]", upload.title, required:true %>
|
||||
<%= text_field_tag "committed_files[#{i}][title]", upload.title, required: true %>
|
||||
</p>
|
||||
</div>
|
||||
<div class="splitcontentright">
|
||||
<p>
|
||||
<%= label_tag '', l(:label_filename) %>
|
||||
<%= text_field_tag :name, h(upload.name), readonly: true %>
|
||||
<%= hidden_field_tag "committed_files[#{i}][name]", upload.name %>
|
||||
<%= label_tag "committed_files[#{i}][name]", l(:label_filename) %>
|
||||
<%= text_field_tag "committed_files[#{i}][name]", upload.name, readonly: true %>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@ -55,12 +52,12 @@
|
||||
revision_or_upload: upload } %>
|
||||
</p>
|
||||
<p>
|
||||
<%= label_tag '', l(:label_mime) %>
|
||||
<%= text_field_tag :name, h(upload.mime_type), readonly: true %>
|
||||
<%= label_tag "committed_files[#{i}][mime_type]", l(:label_mime) %>
|
||||
<%= text_field_tag "committed_files[#{i}][mime_type]", h(upload.mime_type), readonly: true %>
|
||||
</p>
|
||||
<p>
|
||||
<%= label_tag '', l(:label_size) %>
|
||||
<%= text_field_tag :name, number_to_human_size(upload.size), readonly: true %>
|
||||
<%= label_tag "committed_files[#{i}][size]", l(:label_size) %>
|
||||
<%= text_field_tag "committed_files[#{i}][size]", number_to_human_size(upload.size), readonly: true %>
|
||||
</p>
|
||||
</div>
|
||||
<div class="splitcontentright">
|
||||
|
||||
@ -41,7 +41,7 @@
|
||||
<% end %>
|
||||
<% end %>
|
||||
<div class="form-actions">
|
||||
<%= submit_tag l(:label_upload),
|
||||
<%= submit_tag l(:label_dmsf_commit),
|
||||
data: { cy: 'button__submit__upload-file--project' },
|
||||
class: 'button-positive',
|
||||
onclick: "$('#ajax-indicator').show();" %>
|
||||
|
||||
@ -45,6 +45,21 @@ function dmsfAddLink(linksSpan, linkId, linkName, title, project, awf) {
|
||||
|
||||
dmsfAddLink.nextLinkId = 1000;
|
||||
|
||||
/* Remove the extension and replace underscores with spaces, 'after_init.rb' -> 'after init' */
|
||||
function filenameToTitle(filename) {
|
||||
return filename.replace(/\.[^/.]+$/, "").replace(/_+/g, " ");
|
||||
}
|
||||
|
||||
/* File size to human readable file size, 1024 -> 1.00 KB */
|
||||
function humanFileSize(bytes) {
|
||||
var u = 0, s= 1024;
|
||||
while (bytes >= s || -bytes >= s) {
|
||||
bytes /= s;
|
||||
u++;
|
||||
}
|
||||
return (u ? bytes.toFixed(2) + ' ' : bytes) + ' KMGTPEZY'[u] + 'B';
|
||||
}
|
||||
|
||||
function dmsfAddFile(inputEl, file, eagerUpload) {
|
||||
|
||||
let attachments = $('#dmsf_attachments_fields');
|
||||
@ -62,16 +77,6 @@ function dmsfAddFile(inputEl, file, eagerUpload) {
|
||||
|
||||
if($(inputEl).attr('multiple') == 'multiple') {
|
||||
|
||||
if($(inputEl).data('description')) {
|
||||
|
||||
let description = $('<input>', {type: 'text', 'class': 'description',
|
||||
name: 'dmsf_attachments[' + attachmentId + '][description]', maxlength: 255,
|
||||
placeholder: $(inputEl).data('description-placeholder')
|
||||
}).toggle(!eagerUpload);
|
||||
|
||||
fileSpan.append(description);
|
||||
}
|
||||
|
||||
fileSpan.append(iconDel.click(dmsfRemoveFileLbl));
|
||||
|
||||
if($(inputEl).data('awf')) {
|
||||
@ -83,13 +88,45 @@ function dmsfAddFile(inputEl, file, eagerUpload) {
|
||||
fileSpan.append(iconWf);
|
||||
}
|
||||
|
||||
attachments.append(fileSpan);
|
||||
// Details
|
||||
let detailsForm = $(inputEl).data('dmsf-file-details-form');
|
||||
if(detailsForm) {
|
||||
let detailsDiv = $('<div>').attr({id: 'dmsf_attachments_details_' + attachmentId});
|
||||
let detailsArrow = $('<a>');
|
||||
detailsArrow.attr({href: '#', 'class': 'icon-only icon-sorted-asc', title: 'Details'});
|
||||
detailsArrow.attr(
|
||||
{
|
||||
onclick: "$('#dmsf_attachments_details_" + attachmentId + "').toggle();" +
|
||||
"$(this).toggleClass('icon-sorted-asc');$(this).toggleClass('icon-sorted-desc');" +
|
||||
"return false;"
|
||||
});
|
||||
detailsForm = detailsForm.replace(/\[0\]/g, '[' + attachmentId + ']');
|
||||
detailsForm = detailsForm.replace(/_0/g, '_' + attachmentId);
|
||||
detailsForm = detailsForm.replace('id="committed_files_' + attachmentId + '_name" value=""',
|
||||
'id="committed_files_' + attachmentId + '_name" value="' + file.name + '"');
|
||||
detailsForm = detailsForm.replace('id="committed_files_' + attachmentId + '_title"',
|
||||
'id="committed_files_' + attachmentId + '_title" value = "' + filenameToTitle(file.name) + '"');
|
||||
detailsForm = detailsForm.replace('id="committed_files_' + attachmentId + '_size"',
|
||||
'id="committed_files_' + attachmentId + '_size" value = "' + humanFileSize(file.size) + '"');
|
||||
detailsForm = detailsForm.replace('id="committed_files_' + attachmentId + '_mime_type"',
|
||||
'id="committed_files_' + attachmentId + '_mime_type" value = "' + file.type + '"');
|
||||
detailsDiv.append(detailsForm);
|
||||
detailsDiv.hide();
|
||||
|
||||
fileSpan.append(detailsArrow)
|
||||
attachments.append(fileSpan);
|
||||
attachments.append(detailsDiv);
|
||||
}
|
||||
else {
|
||||
attachments.append(fileSpan);
|
||||
}
|
||||
}
|
||||
else{
|
||||
fileSpan.append(iconDel.click(dmsfRemoveFileLbl));
|
||||
attachments.append(fileSpan);
|
||||
$('#dmsf_file_revision_name').val(file.name);
|
||||
}
|
||||
attachments.append('<br>');
|
||||
|
||||
if(eagerUpload) {
|
||||
dmsfAjaxUpload(file, attachmentId, fileSpan, inputEl);
|
||||
|
||||
@ -77,7 +77,7 @@ div[id^="step-index-"] {
|
||||
}
|
||||
|
||||
.dmsf-revision-box {
|
||||
background-color:#f6f6f6;
|
||||
background-color: #f6f6f6;
|
||||
}
|
||||
|
||||
.dmsf-revision-inner-box {
|
||||
@ -108,7 +108,7 @@ div.dmsf-id-box {
|
||||
}
|
||||
|
||||
.dmsf-log-header-box{
|
||||
padding:6px;
|
||||
padding: 6px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.dmsf-log-header-left {
|
||||
@ -150,8 +150,8 @@ div[id*="revision_access_"] {
|
||||
}
|
||||
|
||||
/* Command icons */
|
||||
.dmsf-icon-link { background-image: url(../../../images/link.png); }
|
||||
.icon-approvalworkflows { background-image: url(../../../images/ticket_go.png); }
|
||||
.dmsf-icon-link { background-image: url("../../../images/link.png"); }
|
||||
.icon-approvalworkflows { background-image: url("../../../images/ticket_go.png"); }
|
||||
|
||||
/* File types */
|
||||
.dmsf-icon-file{
|
||||
@ -159,55 +159,57 @@ div[id*="revision_access_"] {
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
.dmsf-gray .icon-folder { background-image: url(../images/folder_gray.png); }
|
||||
.dmsf-system .icon-folder { background-image: url(../images/folder_system.png); }
|
||||
.dmsf-gray .icon-folder { background-image: url("../images/folder_gray.png"); }
|
||||
.dmsf-system .icon-folder { background-image: url("../images/folder_system.png"); }
|
||||
|
||||
.icon-file.filetype-doc, .icon-file.filetype-docx { background-image: url(../images/filetypes/doc.png); }
|
||||
.icon-file.filetype-xls, .icon-file.filetype-xlsx, .icon-file.filetype-xlsm { background-image: url(../images/filetypes/xls.png); }
|
||||
.icon-file.filetype-ppt, .icon-file.filetype-pptx { background-image: url(../images/filetypes/ppt.png); }
|
||||
.icon-file.filetype-vsd, .icon-file.filetype-vsdx { background-image: url(../images/filetypes/vsd.png); }
|
||||
.icon-file.filetype-mpp { background-image: url(../images/filetypes/mpp.png); }
|
||||
.icon-file.filetype-odt { background-image: url(../images/filetypes/odt.png); }
|
||||
.icon-file.filetype-ods { background-image: url(../images/filetypes/ods.png); }
|
||||
.icon-file.filetype-ott { background-image: url(../images/filetypes/ott.png); }
|
||||
.icon-file.filetype-odp { background-image: url(../images/filetypes/odp.png); }
|
||||
.icon-file.filetype-odg { background-image: url(../images/filetypes/odg.png); }
|
||||
.icon-file.filetype-doc, .icon-file.filetype-docx { background-image: url("../images/filetypes/doc.png"); }
|
||||
.icon-file.filetype-xls,
|
||||
.icon-file.filetype-xlsx,
|
||||
.icon-file.filetype-xlsm { background-image: url("../images/filetypes/xls.png"); }
|
||||
.icon-file.filetype-ppt, .icon-file.filetype-pptx { background-image: url("../images/filetypes/ppt.png"); }
|
||||
.icon-file.filetype-vsd, .icon-file.filetype-vsdx { background-image: url("../images/filetypes/vsd.png"); }
|
||||
.icon-file.filetype-mpp { background-image: url("../images/filetypes/mpp.png"); }
|
||||
.icon-file.filetype-odt { background-image: url("../images/filetypes/odt.png"); }
|
||||
.icon-file.filetype-ods { background-image: url("../images/filetypes/ods.png"); }
|
||||
.icon-file.filetype-ott { background-image: url("../images/filetypes/ott.png"); }
|
||||
.icon-file.filetype-odp { background-image: url("../images/filetypes/odp.png"); }
|
||||
.icon-file.filetype-odg { background-image: url("../images/filetypes/odg.png"); }
|
||||
|
||||
.dmsf-gray .icon-file.filetype-doc { background-image: url(../images/filetypes/doc_gray.png); }
|
||||
.dmsf-gray .icon-file.filetype-docx { background-image: url(../images/filetypes/doc_gray.png); }
|
||||
.dmsf-gray .icon-file.filetype-xls { background-image: url(../images/filetypes/xls_gray.png); }
|
||||
.dmsf-gray .icon-file.filetype-xlsx { background-image: url(../images/filetypes/xls_gray.png); }
|
||||
.dmsf-gray .icon-file.filetype-xlsm { background-image: url(../images/filetypes/xls_gray.png); }
|
||||
.dmsf-gray .icon-file.filetype-ppt { background-image: url(../images/filetypes/ppt_gray.png); }
|
||||
.dmsf-gray .icon-file.filetype-pptx { background-image: url(../images/filetypes/ppt_gray.png); }
|
||||
.dmsf-gray .icon-file.filetype-vsd { background-image: url(../images/filetypes/vsd_gray.png); }
|
||||
.dmsf-gray .icon-file.filetype-vsdx { background-image: url(../images/filetypes/vsd_gray.png); }
|
||||
.dmsf-gray .icon-file.filetype-mpp { background-image: url(../images/filetypes/mpp_gray.png); }
|
||||
.dmsf-gray .icon-file.filetype-odt { background-image: url(../images/filetypes/odt_gray.png); }
|
||||
.dmsf-gray .icon-file.filetype-ott { background-image: url(../images/filetypes/ott_gray.png); }
|
||||
.dmsf-gray .icon-file.filetype-ods { background-image: url(../images/filetypes/ods_gray.png); }
|
||||
.dmsf-gray .icon-file.filetype-odp { background-image: url(../images/filetypes/odp_gray.png); }
|
||||
.dmsf-gray .icon-file.filetype-odg { background-image: url(../images/filetypes/odg_gray.png); }
|
||||
.dmsf-gray .icon-file.filetype-doc { background-image: url("../images/filetypes/doc_gray.png"); }
|
||||
.dmsf-gray .icon-file.filetype-docx { background-image: url("../images/filetypes/doc_gray.png"); }
|
||||
.dmsf-gray .icon-file.filetype-xls { background-image: url("../images/filetypes/xls_gray.png"); }
|
||||
.dmsf-gray .icon-file.filetype-xlsx { background-image: url("../images/filetypes/xls_gray.png"); }
|
||||
.dmsf-gray .icon-file.filetype-xlsm { background-image: url("../images/filetypes/xls_gray.png"); }
|
||||
.dmsf-gray .icon-file.filetype-ppt { background-image: url("../images/filetypes/ppt_gray.png"); }
|
||||
.dmsf-gray .icon-file.filetype-pptx { background-image: url("../images/filetypes/ppt_gray.png"); }
|
||||
.dmsf-gray .icon-file.filetype-vsd { background-image: url("../images/filetypes/vsd_gray.png"); }
|
||||
.dmsf-gray .icon-file.filetype-vsdx { background-image: url("../images/filetypes/vsd_gray.png"); }
|
||||
.dmsf-gray .icon-file.filetype-mpp { background-image: url("../images/filetypes/mpp_gray.png"); }
|
||||
.dmsf-gray .icon-file.filetype-odt { background-image: url("../images/filetypes/odt_gray.png"); }
|
||||
.dmsf-gray .icon-file.filetype-ott { background-image: url("../images/filetypes/ott_gray.png"); }
|
||||
.dmsf-gray .icon-file.filetype-ods { background-image: url("../images/filetypes/ods_gray.png"); }
|
||||
.dmsf-gray .icon-file.filetype-odp { background-image: url("../images/filetypes/odp_gray.png"); }
|
||||
.dmsf-gray .icon-file.filetype-odg { background-image: url("../images/filetypes/odg_gray.png"); }
|
||||
|
||||
.dmsf-gray .icon-file.text-x-c { background-image: url(../images/filetypes/c_gray.png); }
|
||||
.dmsf-gray .icon-file.text-x-csharp { background-image: url(../images/filetypes/csharp_gray.png); }
|
||||
.dmsf-gray .icon-file.text-x-java { background-image: url(../images/filetypes/java_gray.png); }
|
||||
.dmsf-gray .icon-file.text-x-javascript { background-image: url(../images/filetypes/js_gray.png); }
|
||||
.dmsf-gray .icon-file.text-x-php { background-image: url(../images/filetypes/php_gray.png); }
|
||||
.dmsf-gray .icon-file.text-x-ruby { background-image: url(../images/filetypes/ruby_gray.png); }
|
||||
.dmsf-gray .icon-file.text-xml { background-image: url(../images/filetypes/xml_gray.png); }
|
||||
.dmsf-gray .icon-file.text-css { background-image: url(../images/filetypes/css_gray.png); }
|
||||
.dmsf-gray .icon-file.text-html { background-image: url(../images/filetypes/html_gray.png); }
|
||||
.dmsf-gray .icon-file.image-gif { background-image: url(../images/filetypes/image_gray.png); }
|
||||
.dmsf-gray .icon-file.image-jpeg { background-image: url(../images/filetypes/image_gray.png); }
|
||||
.dmsf-gray .icon-file.image-png { background-image: url(../images/filetypes/image_gray.png); }
|
||||
.dmsf-gray .icon-file.image-tiff { background-image: url(../images/filetypes/image_gray.png); }
|
||||
.dmsf-gray .icon-file.application-pdf { background-image: url(../images/filetypes/pdf_gray.png); }
|
||||
.dmsf-gray .icon-file.application-zip { background-image: url(../images/filetypes/zip_gray.png); }
|
||||
.dmsf-gray .icon-file.application-x-gzip { background-image: url(../images/filetypes/zip_gray.png); }
|
||||
.dmsf-gray .icon-file.text-x-c { background-image: url("../images/filetypes/c_gray.png"); }
|
||||
.dmsf-gray .icon-file.text-x-csharp { background-image: url("../images/filetypes/csharp_gray.png"); }
|
||||
.dmsf-gray .icon-file.text-x-java { background-image: url("../images/filetypes/java_gray.png"); }
|
||||
.dmsf-gray .icon-file.text-x-javascript { background-image: url("../images/filetypes/js_gray.png"); }
|
||||
.dmsf-gray .icon-file.text-x-php { background-image: url("../images/filetypes/php_gray.png"); }
|
||||
.dmsf-gray .icon-file.text-x-ruby { background-image: url("../images/filetypes/ruby_gray.png"); }
|
||||
.dmsf-gray .icon-file.text-xml { background-image: url("../images/filetypes/xml_gray.png"); }
|
||||
.dmsf-gray .icon-file.text-css { background-image: url("../images/filetypes/css_gray.png"); }
|
||||
.dmsf-gray .icon-file.text-html { background-image: url("../images/filetypes/html_gray.png"); }
|
||||
.dmsf-gray .icon-file.image-gif { background-image: url("../images/filetypes/image_gray.png"); }
|
||||
.dmsf-gray .icon-file.image-jpeg { background-image: url("../images/filetypes/image_gray.png"); }
|
||||
.dmsf-gray .icon-file.image-png { background-image: url("../images/filetypes/image_gray.png"); }
|
||||
.dmsf-gray .icon-file.image-tiff { background-image: url("../images/filetypes/image_gray.png"); }
|
||||
.dmsf-gray .icon-file.application-pdf { background-image: url("../images/filetypes/pdf_gray.png"); }
|
||||
.dmsf-gray .icon-file.application-zip { background-image: url("../images/filetypes/zip_gray.png"); }
|
||||
.dmsf-gray .icon-file.application-x-gzip { background-image: url("../images/filetypes/zip_gray.png"); }
|
||||
|
||||
/* Activities */
|
||||
.icon-dmsf-file-revision { background-image: url(../../../images/document.png); }
|
||||
.icon-dmsf-file-revision { background-image: url("../../../images/document.png"); }
|
||||
|
||||
/* Links */
|
||||
.dmsf-gray { color: #AAA }
|
||||
@ -222,18 +224,18 @@ div[id*="revision_access_"] {
|
||||
}
|
||||
|
||||
/* Search results */
|
||||
.icon-dmsf-file { background-image: url(../../../images/document.png); }
|
||||
.icon-dmsf-file { background-image: url("../../../images/document.png"); }
|
||||
|
||||
/* DMSF tree view */
|
||||
.dmsf-hidden { display:none; }
|
||||
.dmsf-hidden { display: none; }
|
||||
.dmsf-tree:not(.dmsf-child) span.dmsf-expander { cursor: pointer; }
|
||||
.dmsf-tree.dmsf-expanded span.dmsf-expander {
|
||||
background: url(../../../images/arrow_down.png) no-repeat 0 50%;
|
||||
background: url("../../../images/arrow_down.png") no-repeat 0 50%;
|
||||
padding-left: 16px;
|
||||
}
|
||||
.dmsf-tree.dmsf-child span.dmsf-expander { padding-left: 16px; }
|
||||
.dmsf-tree.dmsf-collapsed span.dmsf-expander {
|
||||
background: url(../../../images/arrow_right.png) no-repeat 0 50%;
|
||||
background: url("../../../images/arrow_right.png") no-repeat 0 50%;
|
||||
padding-left: 16px;
|
||||
}
|
||||
.dmsf-tree.idnt-1 td.dmsf-title { padding-left: 1.5em; }
|
||||
@ -270,11 +272,11 @@ span.fileover {
|
||||
}
|
||||
|
||||
.dmsf-uploader {
|
||||
padding:10px;
|
||||
padding: 10px;
|
||||
margin-bottom: 20px;
|
||||
background-color:#f6f6f6;
|
||||
color:#505050;
|
||||
line-height:1.5em;
|
||||
background-color: #f6f6f6;
|
||||
color: #505050;
|
||||
line-height: 1.5em;
|
||||
border: 1px solid #e4e4e4;
|
||||
word-wrap: break-word;
|
||||
border-radius: 3px;
|
||||
@ -291,52 +293,51 @@ span.fileover {
|
||||
}
|
||||
|
||||
#dmsf_attachments_fields input.description {
|
||||
margin-left:4px;
|
||||
width:340px;
|
||||
margin-left: 4px;
|
||||
width: 340px;
|
||||
}
|
||||
|
||||
#dmsf_attachments_fields span {
|
||||
display:block;
|
||||
white-space:nowrap;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
#dmsf_attachments_fields input.filename {
|
||||
border:0;
|
||||
height:1.8em;
|
||||
width:250px;
|
||||
color:#555;
|
||||
background-color:inherit;
|
||||
background:url(../../../images/attachment.png) no-repeat 1px 50%;
|
||||
border: 0;
|
||||
height: 1.8em;
|
||||
width: 250px;
|
||||
color: #555;
|
||||
background-color: inherit;
|
||||
background: url("../../../images/attachment.png") no-repeat 1px 50%;
|
||||
padding-left: 18px;
|
||||
}
|
||||
|
||||
#dmsf_attachments_fields .ajax-waiting input.filename {
|
||||
background:url(../../../images/hourglass.png) no-repeat 0 50%;
|
||||
background: url("../../../images/hourglass.png") no-repeat 0 50%;
|
||||
}
|
||||
|
||||
#dmsf_attachments_fields .ajax-loading input.filename {
|
||||
background:url(../../../images/loading.gif) no-repeat 0 50%;
|
||||
background: url("../../../images/loading.gif") no-repeat 0 50%;
|
||||
}
|
||||
|
||||
#dmsf_attachments_fields div.ui-progressbar {
|
||||
width: 100px;
|
||||
height:14px;
|
||||
height: 14px;
|
||||
margin: 2px 0 -5px 8px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#dmsf_links_attachments_fields span {
|
||||
display:block;
|
||||
white-space:nowrap;
|
||||
display: block;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
#dmsf_links_attachments_fields input.filename {
|
||||
border:0;
|
||||
height:1.8em;
|
||||
width:250px;
|
||||
color:#555;
|
||||
background-color:inherit;
|
||||
background:url(../../../images/link.png) no-repeat 1px 50%;
|
||||
border: 0;
|
||||
height: 1.8em;
|
||||
width: 250px;
|
||||
color: #555;
|
||||
background-color: inherit;
|
||||
background: url("../../../images/link.png") no-repeat 1px 50%;
|
||||
padding-left: 18px;
|
||||
}
|
||||
|
||||
@ -345,7 +346,7 @@ span.fileover {
|
||||
}
|
||||
|
||||
a.dmsf-scroll-down {
|
||||
background: url(../../../images/arrow_down.png) no-repeat 5px 50%;
|
||||
background: url("../../../images/arrow_down.png") no-repeat 5px 50%;
|
||||
background-color: #759FCF;
|
||||
text-decoration: none;
|
||||
color: #FFFFFF;
|
||||
@ -370,15 +371,15 @@ div.dmsf-scroll {
|
||||
}
|
||||
|
||||
/* New link form */
|
||||
#dmsf_link_target_file_id, #dmsf_link_target_folder_id, #dmsf_link_target_project_id, #dmsf_link_name{
|
||||
#dmsf_link_target_file_id, #dmsf_link_target_folder_id, #dmsf_link_target_project_id, #dmsf_link_name {
|
||||
min-width: 40%;
|
||||
}
|
||||
|
||||
#dmsf_link_external{
|
||||
#dmsf_link_external {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.dmsf_attachments_label{
|
||||
.dmsf_attachments_label {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
@ -394,5 +395,5 @@ div.dmsf-scroll {
|
||||
|
||||
/* Wiki toolbar */
|
||||
.jstb_dmsf {
|
||||
background-image: url('../images/jstoolbar/bt_dmsf.png');
|
||||
background-image: url("../images/jstoolbar/bt_dmsf.png");
|
||||
}
|
||||
@ -489,6 +489,8 @@ cs:
|
||||
text_dmsf_webdav_digest_reset: Je vyžadováno vaše heslo pro vygenerování nového DMSF WebDAV digestu.
|
||||
notice_webdav_digest_reset: Váš DMSF WebDAV digest byl resetován.
|
||||
|
||||
label_dmsf_commit: Commit
|
||||
|
||||
easy_pages:
|
||||
modules:
|
||||
dmsf_locked_documents: My locked documents
|
||||
|
||||
@ -484,6 +484,8 @@ de:
|
||||
text_dmsf_webdav_digest_reset: Bitte geben Sie Ihr Passwort ein, um einen neuen DMS WebDAV Digest zu generieren.
|
||||
notice_webdav_digest_reset: Ihr DMS WebDAV Digest wurde zurückgesetzt.
|
||||
|
||||
label_dmsf_commit: Commit
|
||||
|
||||
easy_pages:
|
||||
modules:
|
||||
dmsf_locked_documents: Von mir gesperrte Dokumente
|
||||
|
||||
@ -488,6 +488,8 @@ en:
|
||||
text_dmsf_webdav_digest_reset: You are supposed to enter your password to generate a new DMSF WebDAV digest.
|
||||
notice_webdav_digest_reset: Your DMSF WebDAV digest was reset.
|
||||
|
||||
label_dmsf_commit: Commit
|
||||
|
||||
easy_pages:
|
||||
modules:
|
||||
dmsf_locked_documents: My locked documents
|
||||
|
||||
@ -488,6 +488,8 @@ es:
|
||||
text_dmsf_webdav_digest_reset: You are supposed to enter your password to generate a new DMSF WebDAV digest.
|
||||
notice_webdav_digest_reset: Your DMSF WebDAV digest was reset.
|
||||
|
||||
label_dmsf_commit: Commit
|
||||
|
||||
easy_pages:
|
||||
modules:
|
||||
dmsf_locked_documents: My locked documents
|
||||
|
||||
@ -467,6 +467,8 @@ fa:
|
||||
text_dmsf_webdav_digest_reset: You are supposed to enter your password to generate a new DMSF WebDAV digest.
|
||||
notice_webdav_digest_reset: Your DMSF WebDAV digest was reset.
|
||||
|
||||
label_dmsf_commit: Commit
|
||||
|
||||
easy_pages:
|
||||
modules:
|
||||
dmsf_locked_documents: اسناد قفل شدهی من
|
||||
|
||||
@ -489,6 +489,8 @@ fr:
|
||||
text_dmsf_webdav_digest_reset: You are supposed to enter your password to generate a new DMSF WebDAV digest.
|
||||
notice_webdav_digest_reset: Your DMSF WebDAV digest was reset.
|
||||
|
||||
label_dmsf_commit: Commit
|
||||
|
||||
easy_pages:
|
||||
modules:
|
||||
dmsf_locked_documents: My locked documents
|
||||
|
||||
@ -489,6 +489,8 @@ hu:
|
||||
text_dmsf_webdav_digest_reset: You are supposed to enter your password to generate a new DMSF WebDAV digest.
|
||||
notice_webdav_digest_reset: Your DMSF WebDAV digest was reset.
|
||||
|
||||
label_dmsf_commit: Commit
|
||||
|
||||
easy_pages:
|
||||
modules:
|
||||
dmsf_locked_documents: My locked documents
|
||||
|
||||
@ -488,6 +488,8 @@ it: # Italian strings thx 2 Matteo Arceci!
|
||||
text_dmsf_webdav_digest_reset: You are supposed to enter your password to generate a new DMSF WebDAV digest.
|
||||
notice_webdav_digest_reset: Your DMSF WebDAV digest was reset.
|
||||
|
||||
label_dmsf_commit: Commit
|
||||
|
||||
easy_pages:
|
||||
modules:
|
||||
dmsf_locked_documents: My locked documents
|
||||
|
||||
@ -490,6 +490,8 @@ ja:
|
||||
text_dmsf_webdav_digest_reset: You are supposed to enter your password to generate a new DMSF WebDAV digest.
|
||||
notice_webdav_digest_reset: Your DMSF WebDAV digest was reset.
|
||||
|
||||
label_dmsf_commit: Commit
|
||||
|
||||
easy_pages:
|
||||
modules:
|
||||
dmsf_locked_documents: 自分がロック中の文書
|
||||
|
||||
@ -488,6 +488,8 @@ ko:
|
||||
text_dmsf_webdav_digest_reset: You are supposed to enter your password to generate a new DMSF WebDAV digest.
|
||||
notice_webdav_digest_reset: Your DMSF WebDAV digest was reset.
|
||||
|
||||
label_dmsf_commit: Commit
|
||||
|
||||
easy_pages:
|
||||
modules:
|
||||
dmsf_locked_documents: 내 잠긴 파일
|
||||
|
||||
@ -488,6 +488,8 @@ nl:
|
||||
text_dmsf_webdav_digest_reset: You are supposed to enter your password to generate a new DMSF WebDAV digest.
|
||||
notice_webdav_digest_reset: Your DMSF WebDAV digest was reset.
|
||||
|
||||
label_dmsf_commit: Commit
|
||||
|
||||
easy_pages:
|
||||
modules:
|
||||
dmsf_locked_documents: My locked documents
|
||||
|
||||
@ -487,6 +487,8 @@ pl:
|
||||
text_dmsf_webdav_digest_reset: You are supposed to enter your password to generate a new DMSF WebDAV digest.
|
||||
notice_webdav_digest_reset: Your DMSF WebDAV digest was reset.
|
||||
|
||||
label_dmsf_commit: Commit
|
||||
|
||||
easy_pages:
|
||||
modules:
|
||||
dmsf_locked_documents: My locked documents
|
||||
|
||||
@ -488,6 +488,8 @@ pt-BR:
|
||||
text_dmsf_webdav_digest_reset: You are supposed to enter your password to generate a new DMSF WebDAV digest.
|
||||
notice_webdav_digest_reset: Your DMSF WebDAV digest was reset.
|
||||
|
||||
label_dmsf_commit: Commit
|
||||
|
||||
easy_pages:
|
||||
modules:
|
||||
dmsf_locked_documents: My locked documents
|
||||
|
||||
@ -489,6 +489,8 @@ sl:
|
||||
text_dmsf_webdav_digest_reset: You are supposed to enter your password to generate a new DMSF WebDAV digest.
|
||||
notice_webdav_digest_reset: Your DMSF WebDAV digest was reset.
|
||||
|
||||
label_dmsf_commit: Commit
|
||||
|
||||
easy_pages:
|
||||
modules:
|
||||
dmsf_locked_documents: My locked documents
|
||||
|
||||
@ -490,6 +490,8 @@ uk:
|
||||
text_dmsf_webdav_digest_reset: You are supposed to enter your password to generate a new DMSF WebDAV digest.
|
||||
notice_webdav_digest_reset: Your DMSF WebDAV digest was reset.
|
||||
|
||||
label_dmsf_commit: Commit
|
||||
|
||||
easy_pages:
|
||||
modules:
|
||||
dmsf_locked_documents: Мої заблоковані документи
|
||||
|
||||
@ -487,6 +487,8 @@ zh-TW:
|
||||
text_dmsf_webdav_digest_reset: You are supposed to enter your password to generate a new DMSF WebDAV digest.
|
||||
notice_webdav_digest_reset: Your DMSF WebDAV digest was reset.
|
||||
|
||||
label_dmsf_commit: Commit
|
||||
|
||||
easy_pages:
|
||||
modules:
|
||||
dmsf_locked_documents: My locked documents
|
||||
|
||||
@ -489,6 +489,8 @@ zh:
|
||||
text_dmsf_webdav_digest_reset: You are supposed to enter your password to generate a new DMSF WebDAV digest.
|
||||
notice_webdav_digest_reset: Your DMSF WebDAV digest was reset.
|
||||
|
||||
label_dmsf_commit: Commit
|
||||
|
||||
easy_pages:
|
||||
modules:
|
||||
dmsf_locked_documents: My locked documents
|
||||
|
||||
@ -157,7 +157,8 @@ module RedmineDmsf
|
||||
end
|
||||
# Attach DMS documents
|
||||
uploaded_files = params[:dmsf_attachments]
|
||||
if uploaded_files
|
||||
details = params[:committed_files]
|
||||
if uploaded_files && details
|
||||
system_folder = issue.system_folder(create: true)
|
||||
uploaded_files.each do |key, uploaded_file|
|
||||
upload = DmsfUpload.create_from_uploaded_attachment(issue.project, system_folder, uploaded_file)
|
||||
@ -166,7 +167,11 @@ module RedmineDmsf
|
||||
uploaded_file[:disk_filename] = upload.disk_filename
|
||||
uploaded_file[:name] = upload.name
|
||||
uploaded_file[:title] = upload.title
|
||||
uploaded_file[:version] = 1
|
||||
uploaded_file[:description] = details[key][:description]
|
||||
uploaded_file[:comment] = details[key][:comment]
|
||||
uploaded_file[:version_major] = details[key][:version_major]
|
||||
uploaded_file[:version_minor] = details[key][:version_minor]
|
||||
uploaded_file[:version_patch] = details[key][:version_patch]
|
||||
uploaded_file[:size] = upload.size
|
||||
uploaded_file[:mime_type] = upload.mime_type
|
||||
uploaded_file[:tempfile_path] = upload.tempfile_path
|
||||
@ -174,6 +179,7 @@ module RedmineDmsf
|
||||
if params[:dmsf_attachments_wfs].present? && params[:dmsf_attachments_wfs][key].present?
|
||||
uploaded_file[:workflow_id] = params[:dmsf_attachments_wfs][key].to_i
|
||||
end
|
||||
uploaded_file[:custom_field_values] = details[key][:custom_field_values]
|
||||
end
|
||||
DmsfUploadHelper.commit_files_internal uploaded_files, issue.project, system_folder, context[:controller],
|
||||
issue, new_object: @new_object
|
||||
|
||||
@ -163,8 +163,9 @@ module RedmineDmsf
|
||||
html = description ? +'<p' : +'<div'
|
||||
if User.current.pref.dmsf_attachments_upload_choice == 'Attachments' &&
|
||||
allowed_to_attach_attachments(container)
|
||||
html << ' style="display: none;">'
|
||||
html << ' style="display: none;"'
|
||||
end
|
||||
html << '>'
|
||||
if label
|
||||
html << "<label>#{l(:label_document_plural)}</label>"
|
||||
html << '<span class="attachments-container dmsf-uploader">'
|
||||
@ -176,7 +177,7 @@ module RedmineDmsf
|
||||
locals: { container: container,
|
||||
multiple: true,
|
||||
description: description,
|
||||
awf: true } })
|
||||
awf: false } })
|
||||
html << '</span>'
|
||||
html << (description ? '</p>' : '</div>')
|
||||
html
|
||||
|
||||
@ -41,7 +41,11 @@ module RedmineDmsf
|
||||
uploaded_file[:disk_filename] = upload.disk_filename
|
||||
uploaded_file[:name] = upload.name
|
||||
uploaded_file[:title] = upload.title
|
||||
uploaded_file[:version] = 1
|
||||
uploaded_file[:description] = details[key][:description]
|
||||
uploaded_file[:comment] = details[key][:comment]
|
||||
uploaded_file[:version_major] = details[key][:version_major]
|
||||
uploaded_file[:version_minor] = details[key][:version_minor]
|
||||
uploaded_file[:version_patch] = details[key][:version_patch]
|
||||
uploaded_file[:size] = upload.size
|
||||
uploaded_file[:mime_type] = upload.mime_type
|
||||
uploaded_file[:tempfile_path] = upload.tempfile_path
|
||||
@ -49,6 +53,7 @@ module RedmineDmsf
|
||||
if params[:dmsf_attachments_wfs].present? && params[:dmsf_attachments_wfs][key].present?
|
||||
uploaded_file[:workflow_id] = params[:dmsf_attachments_wfs][key].to_i
|
||||
end
|
||||
uploaded_file[:custom_field_values] = details[key][:custom_field_values]
|
||||
end
|
||||
DmsfUploadHelper.commit_files_internal uploaded_files, easy_crm_case.project, system_folder, self,
|
||||
easy_crm_case, new_object: false
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user