change the download page if there are no packages to download
[opensuse:software-o-o.git] / app / views / download / html.erb
1 <% if @data.empty? %>
2 <p>No packages built for <%= @prj %> / <%= @pkg %></p>
3 <% else %>
4
5 <script type="text/javascript">
6   $(function(){
7     $('.soo_button').click(function(){
8       $('.soo_line').show();
9       $('.soo_button').removeClass('soo_button_chosen');
10       $(this).addClass('soo_button_chosen');
11       $('.soo_distro').hide();
12       var distro = $(this).attr('id').replace('soo_button_','');
13       $('.soo_distro_' + distro).show();
14       if (distro == 'openSUSE' || distro == 'SLE') {
15         $('#soo_ymp').show();
16         $('#soo_section_ymp').show();  $('#soo_section_toggle_ymp span').text('(hide)');
17         $('#soo_section_repo').hide(); $('#soo_section_toggle_repo span').text('(show)');
18         $('#soo_section_pkg').hide();  $('#soo_section_toggle_pkg span').text('(show)');
19       } else {
20         $('#soo_ymp').hide();
21         $('#soo_section_ymp').hide();  $('#soo_section_toggle_ymp span').text('(show)');
22         $('#soo_section_repo').show(); $('#soo_section_toggle_repo span').text('(hide)');
23         $('#soo_section_pkg').hide();  $('#soo_section_toggle_pkg span').text('(show)');
24       }
25     });
26
27     $('.soo_line').click(function(){
28       $('#' + $(this).attr('id').replace('toggle_', '')).toggle();
29       $(this).children('span').text($(this).children('span').text() == '(hide)' ? '(show)' : '(hide)');
30     });
31
32     // try to detect distro via user agent
33     if (navigator.userAgent.indexOf('CentOS') > 0 ) $('#soo_button_CentOS').click();
34     if (navigator.userAgent.indexOf('Debian') > 0 ) $('#soo_button_Debian').click();
35     if (navigator.userAgent.indexOf('Fedora') > 0 ) $('#soo_button_Fedora').click();
36     if (navigator.userAgent.indexOf('Mandriva') > 0 ) $('#soo_button_Mandriva').click();
37     if (navigator.userAgent.indexOf('Mageia') > 0 ) $('#soo_button_Mageia').click();
38     if (navigator.userAgent.indexOf('Red Hat') > 0 ) $('#soo_button_RHEL').click();
39     if (navigator.userAgent.indexOf('Scientific') > 0 ) $('#soo_button_SL').click();
40     if (navigator.userAgent.indexOf('SUSE') > 0 ) $('#soo_button_openSUSE').click();
41     if (navigator.userAgent.indexOf('buntu') > 0 ) $('#soo_button_Ubuntu').click();
42   });
43 </script>
44
45 <%
46 def gradient(top, mid, btm)
47   "  background: #{mid};\n" +
48     "  background: -webkit-gradient(linear, left top, left bottom, from(#{top}), to(#{btm}));\n" +
49     "  background: -moz-linear-gradient(top,  #{top},  #{btm});\n" +
50     "  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#{top}', endColorstr='#{btm}');"
51 end
52 %>
53
54 <style type="text/css">
55   body {
56     font: 0.8em "DejaVu Sans", "Bitstream Vera Sans", Verdana, sans-serif;
57     margin: 16px;
58     margin-top: 0px;
59     padding: 0;
60   }
61   .soo_line {
62     color: #480;
63     clear: both;
64     border-bottom: 1px solid #CCC;
65     padding-top: 10px;
66     font-size: 1.1em;
67     display: none;
68     cursor: pointer;
69   }
70   .soo_line span {
71     float: right;
72   }
73   .soo_line_visible {
74     display: block;
75   }
76   .soo_button {
77     display: block;
78     float: left;
79     cursor: pointer;
80     border: 1px solid transparent;
81     padding: 3px 5px;
82     margin: 0 .5em 0 0;
83     -moz-border-radius: 8px;
84     border-radius: 8px;
85   }
86   .soo_button:hover, .soo_button_chosen {
87     border: 1px solid #BE7;
88     <%= gradient('#FCFCFC','#F0F0F0','#E4E4E4')%>
89   }
90   .soo_button p {
91     font-size: 0.75em;
92     text-align: center;
93     margin: 0;
94   }
95   .soo_ymplink, .soo_pkglink {
96     color: white !important;
97     display: block;
98     margin: 6px;
99     line-height: 16px;
100     font-weight: bolder;
101     float: left;
102     text-decoration: none;
103     text-align: center;
104     -moz-border-radius: 12px;
105     border-radius: 12px;
106     padding-left: 8px;
107     padding-right: 8px;
108   }
109   .soo_ymplink {
110     <%= gradient('#9D0','#7B0','#580') %>
111     border: 1px solid #490;
112     min-width: 112px;
113     font-size: 0.85em;
114   }
115   .soo_pkglink {
116     <%= gradient('#09D','#07B','#058') %>
117     border: 1px solid #049;
118     min-width: 64px;
119     font-size: 0.75em;
120   }
121   pre {
122     background: #EEE;
123     border: 1px dotted #888;
124     padding: 4px;
125     margin-left: 2em;
126     font-size: 1.2em;
127     overflow-x: auto;
128   }
129   pre a {
130     text-decoration: none;
131     color: #008;
132   }
133   .soo_distro {
134     display: none;
135   }
136 </style>
137
138 <% unless @flavors.blank? %>
139   <div class="soo_box">
140     <p class="soo_line soo_line_visible">Select Your Operating System</p>
141     <div class="soo_flavour_line">
142       <% @flavors.each do |flavor| %>
143         <div class="soo_button" id="soo_button_<%= flavor %>"><img src="<%= image_path('download/' + flavor.downcase + '.png') %>" alt="<%= flavor %>" /><p><%= flavor %></p></div>
144       <% end %>
145     </div>
146   </div>
147 <% else %>
148   <p>No download packages found for <%= @pkg %> in project <%= @prj %>.</p>
149 <% end %>
150
151 <div id="soo_ymp" class="soo_box">
152   <p class="soo_line" id="soo_section_toggle_ymp">Install using One Click Install<span></span></p>
153   <div id="soo_section_ymp">
154     <% @data.select {|k,v| v.has_key?(:ymp)}.version_sort.each do |k,v| %>
155       <a class="soo_ymplink soo_distro soo_distro_<%= v[:flavor] %> soo_distro_<%= k %>" href="<%= v[:ymp] %>"><%= k.gsub('_', '&nbsp;') %></a>
156     <% end %>
157   </div>
158 </div>
159
160 <div id="soo_repo" class="soo_box">
161   <p class="soo_line" id="soo_section_toggle_repo">Add repository and install manually<span></span></p>
162   <div id="soo_section_repo">
163     <% @data.select {|k,v| v.has_key?(:repo)}.version_sort.each do |k,v| %>
164       <div class="soo_repoinfo soo_distro soo_distro_<%= v[:flavor] %> soo_distro_<%= k %>">
165         <p>For <strong><%= k.gsub('_', '&nbsp;') %></strong> run the following as <strong>root</strong>:</p>
166         <pre><%=
167           case v[:flavor]
168           when 'openSUSE', 'SLE'
169             "zypper addrepo #{v[:repo]}#{@prj}.repo\nzypper refresh\nzypper install #{@pkg}"
170           when 'CentOS', 'Fedora', 'RHEL', 'SL'
171             "cd /etc/yum/repos.d/\nwget #{v[:repo]}#{@prj}.repo\nyum install #{@pkg}"
172           when 'Debian', 'Ubuntu'
173             "echo 'deb #{v[:repo]} ./' > /etc/apt/sources.list\napt-get update\napt-get install #{@pkg}"
174           when 'Mageia', 'Mandriva'
175             "urpmi.addmedia #{@prj} #{v[:repo]}\nurpmi.update -a\nurpmi #{@pkg}"
176           else
177             '?'
178           end
179         %></pre>
180       </div>
181     <% end %>
182   </div>
183 </div>
184
185 <div id="soo_pkg" class="soo_box">
186   <p class="soo_line" id="soo_section_toggle_pkg">Grab binary packages directly<span></span></p>
187   <div id="soo_section_pkg">
188     <table>
189       <% @data.select {|k,v| v.has_key?(:pkg)}.version_sort.each do |k,v| %>
190         <tr class="soo_pkginfo soo_distro soo_distro_<%= v[:flavor] %> soo_distro_<%= k %>"><td>Packages for <strong><%= k.gsub('_', '&nbsp;') %></strong>:</td>
191           <td>
192             <% v[:pkg].sort.each do |k,v| %>
193               <a class="soo_pkglink" href="<%= v %>"><%= k %></a>
194             <% end %>
195           </td>
196         </tr>
197       <% end %>
198     </table>
199   </div>
200 </div>
201 <% end %>