patch.diff
app/helpers/download_helper.rb | ||
---|---|---|
14 | 14 |
:locals => { :label => download_label(version, download), |
15 | 15 |
:package => download_package(version, download), |
16 | 16 |
:link => download_link(version, download), |
17 |
:files => download_files(version, download), |
|
17 | 18 |
:style => options[:class], |
18 | 19 |
:align => options[:align] }) |
19 | 20 |
end |
... | ... | |
28 | 29 |
nil |
29 | 30 |
end |
30 | 31 | |
32 |
def download_files(version, download) |
|
33 |
if download || !version.attachments.any?|| !version.attachments_visible? |
|
34 |
nil |
|
35 |
else |
|
36 |
version.attachments.collect do |attachment| |
|
37 |
[attachment.description, |
|
38 |
url_for( |
|
39 |
:controller => 'attachments', |
|
40 |
:action => 'download', |
|
41 |
:id => attachment, |
|
42 |
:filename => attachment.filename |
|
43 |
)] |
|
44 |
end |
|
45 |
end |
|
46 |
end |
|
47 | ||
31 | 48 |
def download_link(version, download) |
32 | 49 |
if download && download.file_id.to_i < 0 |
33 | 50 |
download.url |
... | ... | |
41 | 58 |
:filename => attachment.filename |
42 | 59 |
) |
43 | 60 |
end |
44 |
else
|
|
61 |
elsif version.attachments_visible?
|
|
45 | 62 |
if version.attachments.any? |
46 | 63 |
url_for( |
47 | 64 |
:controller => 'attachments', |
... | ... | |
50 | 67 |
:filename => version.attachments.last.filename |
51 | 68 |
) |
52 | 69 |
end |
70 |
else |
|
71 |
url_for( |
|
72 |
:controller => 'files', |
|
73 |
:action => 'index', |
|
74 |
:project_id => version.project.identifier |
|
75 |
) |
|
53 | 76 |
end |
54 | 77 |
end |
55 | 78 |
app/views/download/_button.html.erb | ||
---|---|---|
1 |
<% if files %> |
|
2 |
<%= javascript_tag do %> |
|
3 |
<% if defined? observe_field %> |
|
4 |
// Prototype code |
|
5 |
function update_download_file(select) { |
|
6 |
$('sidebar-download-button').href = select.getValue(); |
|
7 |
} |
|
8 |
<% else %> |
|
9 |
// jQuery code |
|
10 |
function update_download_file(select) { |
|
11 |
$('#sidebar-download-button').attr('href', $(select).val()); |
|
12 |
} |
|
13 |
<% end %> |
|
14 |
<% end %> |
|
15 |
<div class="download"> |
|
16 |
<h3><%= l(:field_downloads) %></h3> |
|
17 |
<p> |
|
18 |
<%= select_tag 'sidebar-download-file', options_for_select(files, files.last.last), :onchange => 'update_download_file(this);' %> |
|
19 |
</p> |
|
20 |
<% end %> |
|
21 | ||
22 |
<p> |
|
1 | 23 |
<% css_classes = style.blank? ? "download" : "download #{style}" %> |
2 | 24 |
<% css_styles = align && (align.downcase == 'left' || align.downcase == 'right') ? " style=\"float: #{align};\"" : "" %> |
3 |
<a href="<%= h(link) %>" class="<%= h(css_classes) %>"<%= css_styles %>> |
|
25 |
<a id='sidebar-download-button' href="<%= h(link) %>" class="<%= h(css_classes) %>"<%= css_styles %>>
|
|
4 | 26 |
<span class="icon-download"> |
5 | 27 |
<%= h(label) %> |
6 | 28 |
<span class="version"><%= h(package) %></span> |
7 | 29 |
</span> |
8 | 30 |
</a> |
31 |
</p> |
|
32 | ||
33 |
<% if files %> |
|
34 |
</div> |
|
35 |
<% end %> |
app/views/download/_sidebar.html.erb | ||
---|---|---|
4 | 4 |
<% if controller.class.name == 'ProjectsController' || |
5 | 5 |
controller.class.name == 'ActivitiesController' || |
6 | 6 |
controller.class.name == 'WikiController' %> |
7 |
<p><%= download_button(project, download) %></p>
|
|
7 |
<%= download_button(project, download) %>
|
|
8 | 8 |
<% elsif controller.class.name == 'VersionsController' %> |
9 | 9 |
<% if params[:action] && params[:action] == 'show' %> |
10 | 10 |
<% if version = Version.find_by_id(params[:id]) %> |
11 | 11 |
<!-- render(:partial => 'download/version', :locals => { :version => version }) --> |
12 | 12 |
<% end %> |
13 | 13 |
<% else %> |
14 |
<p><%= download_button(project, download) %></p>
|
|
14 |
<%= download_button(project, download) %>
|
|
15 | 15 |
<% end %> |
16 | 16 |
<% end %> |
17 | 17 |
<% end %> |
assets/stylesheets/download.css | ||
---|---|---|
42 | 42 |
#content .wiki a.download { |
43 | 43 |
margin: 0.25em 1em; |
44 | 44 |
} |
45 | ||
46 |
#sidebar div.download { |
|
47 |
background-color: inherit; |
|
48 |
padding: 0; |
|
49 |
border: 0; |
|
50 |
margin-bottom: 3px; |
|
51 |
margin-top: 5px; |
|
52 |
} |
|
53 | ||
54 |
#sidebar div.download p { |
|
55 |
margin: 6px 0 6px 0; |
|
56 |
} |
assets/stylesheets/remedy.css | ||
---|---|---|
1 |
a.download { |
|
2 |
background-color: #536a3f !important; |
|
3 |
background-image: url(../images/remedy/button.png) !important; |
|
4 |
background-position: left top !important; |
|
5 |
border-color: #afc69c #435335 #435335 #afc69c !important; |
|
6 |
} |
|
7 |
a.download.old-version { |
|
8 |
background-color: #5e5e5e !important; |
|
9 |
background-image: url(../images/red-andy/old-button.png) !important; |
|
10 |
border-color: #bababa #4b4b4b #4b4b4b #bababa !important; |
|
11 |
} |
|
12 |
a.download span.icon-download { |
|
13 |
background-image: url(../images/remedy/arrow.gif); |
|
14 |
background-position: 7px center; |
|
15 |
background-repeat: no-repeat; |
|
16 |
padding-left: 30px; |
|
17 |
display: block; |
|
18 |
} |
|
19 |
#content .wiki a.download { |
|
20 |
font-family: Tahoma, Verdana; |
|
21 |
} |