apply workaround for pattern search
[opensuse:software-o-o.git] / app / views / download / html.erb
1 <% if @data.empty? %>
2 <p>No packages built for <%= @project %> / <%= @package %></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     background: #fff;
57     font: 0.8em "DejaVu Sans", "Bitstream Vera Sans", Verdana, sans-serif;
58     margin: 16px;
59     margin-top: 0px;
60     padding: 0;
61   }
62   .soo_line {
63     color: #480;
64     clear: both;
65     border-bottom: 1px solid #CCC;
66     padding-top: 10px;
67     font-size: 1.1em;
68     display: none;
69     cursor: pointer;
70   }
71   .soo_line span {
72     float: right;
73   }
74   .soo_line_visible {
75     display: block;
76   }
77   .soo_button {
78     display: block;
79     float: left;
80     cursor: pointer;
81     border: 1px solid transparent;
82     padding: 3px 5px;
83     margin: 0 .5em 0 0;
84     -moz-border-radius: 8px;
85     border-radius: 8px;
86   }
87   .soo_button:hover, .soo_button_chosen {
88     border: 1px solid #BE7;
89     <%= gradient('#FCFCFC','#F0F0F0','#E4E4E4')%>
90   }
91   .soo_button p {
92     font-size: 0.75em;
93     text-align: center;
94     margin: 0;
95   }
96   .soo_ymplink, .soo_pkglink {
97     color: white !important;
98     display: block;
99     margin: 6px;
100     line-height: 16px;
101     font-weight: bolder;
102     float: left;
103     text-decoration: none;
104     text-align: center;
105     -moz-border-radius: 12px;
106     border-radius: 12px;
107     padding-left: 8px;
108     padding-right: 8px;
109   }
110   .soo_ymplink {
111     <%= gradient('#9D0','#7B0','#580') %>
112     border: 1px solid #490;
113     min-width: 112px;
114     font-size: 0.85em;
115   }
116   .soo_pkglink {
117     <%= gradient('#09D','#07B','#058') %>
118     border: 1px solid #049;
119     min-width: 64px;
120     font-size: 0.75em;
121   }
122   pre {
123     background: #EEE;
124     border: 1px dotted #888;
125     padding: 4px;
126     margin-left: 2em;
127     font-size: 1.2em;
128     overflow-x: auto;
129   }
130   pre a {
131     text-decoration: none;
132     color: #008;
133   }
134   .soo_distro {
135     display: none;
136   }
137 </style>
138
139 <% unless @flavors.blank? %>
140   <div class="soo_box">
141     <p class="soo_line soo_line_visible">Select Your Operating System</p>
142     <div class="soo_flavour_line">
143       <% @flavors.each do |flavor| %>
144         <div class="soo_button" id="soo_button_<%= flavor %>"><img src="<%= image_path('download/' + flavor.downcase + '.png') %>" alt="<%= flavor %>" /><p><%= flavor %></p></div>
145       <% end %>
146     </div>
147   </div>
148 <% else %>
149   <p>No download packages found for <%= @pkg %> in project <%= @prj %>.</p>
150 <% end %>
151
152 <div id="soo_ymp" class="soo_box">
153   <p class="soo_line" id="soo_section_toggle_ymp">Install using One Click Install<span></span></p>
154   <div id="soo_section_ymp">
155     <% @data.select {|k,v| v.has_key?(:ymp)}.version_sort.each do |k,v| %>
156       <a class="soo_ymplink soo_distro soo_distro_<%= v[:flavor] %> soo_distro_<%= k %>" href="<%= v[:ymp] %>"><%= k.gsub('_', '&nbsp;') %></a>
157     <% end %>
158   </div>
159 </div>
160
161 <div id="soo_repo" class="soo_box">
162   <p class="soo_line" id="soo_section_toggle_repo">Add repository and install manually<span></span></p>
163   <div id="soo_section_repo">
164     <% @data.select {|k,v| v.has_key?(:repo)}.version_sort.each do |k,v| %>
165       <div class="soo_repoinfo soo_distro soo_distro_<%= v[:flavor] %> soo_distro_<%= k %>">
166         <p>For <strong><%= k.gsub('_', '&nbsp;') %></strong> run the following as <strong>root</strong>:</p>
167         <pre><%=
168           case v[:flavor]
169           when 'openSUSE', 'SLE'
170             if @package.nil?
171               "zypper addrepo #{v[:repo]}#{@project}.repo\nzypper refresh\nzypper install -t pattern #{@pattern}"
172             else
173               "zypper addrepo #{v[:repo]}#{@project}.repo\nzypper refresh\nzypper install #{@package}"
174             end
175           when 'CentOS', 'Fedora', 'RHEL', 'SL'
176             "cd /etc/yum/repos.d/\nwget #{v[:repo]}#{@project}.repo\nyum install #{@package}"
177           when 'Debian', 'Ubuntu'
178             "echo 'deb #{v[:repo]} ./' > /etc/apt/sources.list\napt-get update\napt-get install #{@package}"
179           when 'Mageia', 'Mandriva'
180             "urpmi.addmedia #{@project} #{v[:repo]}\nurpmi.update -a\nurpmi #{@package}"
181           else
182             '?'
183           end
184         %></pre>
185       </div>
186     <% end %>
187   </div>
188 </div>
189
190 <% if not @package.nil? %>
191 <div id="soo_pkg" class="soo_box">
192   <p class="soo_line" id="soo_section_toggle_pkg">Grab binary packages directly<span></span></p>
193   <div id="soo_section_pkg">
194     <table>
195       <% @data.select {|k,v| v.has_key?(:pkg)}.version_sort.each do |k,v| %>
196         <tr class="soo_pkginfo soo_distro soo_distro_<%= v[:flavor] %> soo_distro_<%= k %>"><td>Packages for <strong><%= k.gsub('_', '&nbsp;') %></strong>:</td>
197           <td>
198             <% v[:pkg].sort.each do |k,v| %>
199               <a class="soo_pkglink" href="<%= v %>"><%= k %></a>
200             <% end %>
201           </td>
202         </tr>
203       <% end %>
204     </table>
205   </div>
206 </div>
207 <% end %>
208
209 <% end %>