- show user friendly message if patch installation in progress
[opensuse:yast-web-client.git] / plugins / software / app / views / patch_updates / index.html.erb
1 <!--
2 # Copyright (c) 2009-2010 Novell, Inc.
3 #
4 # All Rights Reserved.
5 #
6 # This program is free software; you can redistribute it and/or modify it
7 # under the terms of version 2 of the GNU General Public License
8 # as published by the Free Software Foundation.
9 #
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, contact Novell, Inc.
17 #
18 # To contact Novell about this file by physical or electronic mail,
19 # you may find current contact information at www.novell.com
20 -->
21
22 <script type="text/javascript">
23   var AUTH_TOKEN = 'authenticity_token=' + encodeURIComponent("<%= escape_javascript form_authenticity_token %>");
24   startNotifier({'module':'patches', 'AUTH_TOKEN':AUTH_TOKEN}, 1000, 11000);
25
26   $(document).ready(function() {
27     $(":button").click(function() {
28       $("button[type=submit].active").removeClass('active')
29       $(this).removeClass("left").addClass("active left");
30       return false;
31     });
32     $("form#form1").submit(function () { return false; }); // so it won't submit
33
34     var message = "<%= _("Please wait") -%>";
35     $("#update_submit_button").click(function() {
36       $.modalDialog.wait( {message: message});
37     });
38   });
39   
40   function disableForm(){
41     $(document).ready(function() {
42       var message = <%= jss _("Please wait") -%>;
43       $.modalDialog.wait( {message: message});
44     });
45   }
46
47   <% if @reload %>
48   // reload the page after 15 seconds
49     setTimeout(function() {
50       //$('#progress').show();
51       var message = <%= jss _("Please wait") -%>;
52       $.modalDialog.wait( {message: message});
53       window.location.reload();
54     } , 15000);
55   <% end %> 
56
57 </script>
58
59 <% if @permissions and @patch_updates %>
60   <%= javascript_include_tag :defaults %>
61
62   <div class="plugin-content plugin-border">
63      <% if @patch_updates.empty? %>
64      <div class="webyast_form">
65       <div class="plugin-header">
66         <div class="left">
67           <label class="plugin-icon-container"><img class="plugin-icon" src="/icons/updates.png"></label>
68           <label class="plugin-name"><%=_("Updates") %></label>
69         </div>
70
71         <div class="right" >
72           <span id="questionMark" style="margin:2px 5px; float:none;">?</span>
73         </div>
74         <div class="clearfix"></div>
75       </div>
76
77       <div class="clearfix">&nbsp;</div>
78
79       <h3 class="module_header" id="system_uptodate">
80         <% unless @error %>
81           <img src='/images/checkmark.gif'/>
82         <%=_("Your system is up to date.")%>
83         <% else %>
84          <%= @flash_message unless @flash_message.nil? %>
85         <% end %>
86       </h3> <!-- RORSCAN_ITL -->
87
88
89       <div class="clearfix"></div>
90
91       <div class="button_container">
92             <div class="hr">&nbsp;</div>
93
94               <div class="nav-buttons">
95           <% form_for :patch_updates, :url => { :action => "install" }, :html => {:id => "patches-form"} do |form| %>
96            <% if Basesystem.new.load_from_session(session).completed? %>
97              <%= form_back_button %>
98            <% else %>
99              <%= form_send_buttons %>
100            <% end %>
101           <% end %>
102               </div>
103       </div>
104     </div>
105
106     <% else %>
107       <% @hash = Hash.new(0)
108          counter=0
109         @patch_updates.each do |p|
110           # don't count installed patches
111                 unless p.installed
112                   if @hash.has_key?(p.kind)
113                     @hash[p.kind]= @hash[p.kind]+1
114                     counter = counter+1
115                   else
116                     @hash[p.kind]=1
117                     counter = counter+1
118                   end
119                 end
120       end %>
121
122     <div id="parent">
123         <div id="shade"></div>
124         <div id="wait"><%= image_tag("/images/wait.gif", :style => "vertical-align:middle;") %><%=_("Please wait ...") %></div>
125     </div>
126
127     <form id="form1" class="webyast_form" style="z-index:0" method="post">
128       <div class="plugin-header">
129         <div class="left">
130           <label class="plugin-icon-container"><img class="plugin-icon" src="/icons/updates.png"></label>
131           <label class="plugin-name"><%=_("Updates") %></label>
132         </div>
133
134         <div class="right" >
135           <span id="questionMark" style="margin:2px 5px; float:none;">?</span>
136         </div>
137         <div class="clearfix"></div>
138       </div>
139
140       <div class="clearfix">&nbsp;</div>
141
142       <div id="updates_panel">
143         <script type="text/javascript">var message = <%= jss _("Please wait") -%>;</script>
144         <button type="submit" id="comment" class="left active" value="all"
145            onclick ="<%= remote_function(:update => :patchesd, :url => { :action => :load_filtered }, :with => "'value=' + value",
146            :loading => "pleaseWaitForUpdates(message)", :complete => "$.unblockUI()") %>">
147            <img src='/images/install.png'/><%=_("All updates") %>&nbsp;<span>(<%=counter%>)</span>
148         </button>
149         <button type="submit" class="middle" value="security"
150             onclick ="<%= remote_function(:update => :patchesd, :url => { :action => :load_filtered }, :with => "'value=' + value",
151             :loading => "pleaseWaitForUpdates(message)", :complete => "$.unblockUI()") %>">
152             <img src='/icons/kupdateapplet_red.png'/><%=_("Security") %>&nbsp;<span>(<%=@hash["security"]%>)</span></button>
153         <button type="submit" class="middle" value="important"
154             onclick ="<%= remote_function(:update => :patchesd, :url => { :action => :load_filtered }, :with => "'value=' + value",
155             :loading => "pleaseWaitForUpdates(message)", :complete => "$.unblockUI()") %>">
156           <img src='/icons/kupdateapplet_yellow.png'/><%=_("Important") %>&nbsp;<span>(<%=@hash["important"]%>)</span>
157         </button>
158         <button type="submit" class="middle" value="green"
159             onclick ="<%= remote_function(:update => :patchesd, :url => { :action => :load_filtered }, :with => "'value=' + value",
160             :loading => "pleaseWaitForUpdates(message)", :complete => "$.unblockUI()") %>">
161             <img src='/icons/kupdateapplet_green.png'/><%=_("Recommended") %>&nbsp;<span>(<%=@hash["green"]%>)</span>
162         </button>
163         <button type="submit" class="right" value="optional"
164           onclick ="<%= remote_function(:update => :patchesd, :url => { :action => :load_filtered }, :with => "'value=' + value",
165             :loading => "pleaseWaitForUpdates(message)", :complete => "$.unblockUI()") %>">
166           <img src='/icons/kupdateapplet_optional.png'/><%=_("Optional") %>&nbsp;<span>(<%=@hash["optional"] + @hash["low"] %>)</span>
167         </button>
168       </div>
169     </form>
170
171     <div class="clearfix" style="height:10px;">&nbsp;</div>
172
173     <% form_for :patch_updates, :url => { :action => "install" }, :html => {:id => "patches-form", :class=>"webyast_form" } do |form| %>
174       <fieldset  class="webyast_fieldset" style="margin:0px auto;">
175         <div id="patchesd"><%= render :partial => "patches"%></div>
176       </fieldset>
177
178     <div class="clearfix" style="height:10px;">&nbsp;</div>
179
180       <div class="button_container">
181             <div class="hr">&nbsp;</div>
182         <div class="nav-buttons">
183                 <%= form_send_buttons :label => _("Update"), :id=>"update_submit_button", :action => 'install' %>
184         </div>
185       </div>
186
187     <% end %>
188   <% end %>
189 </div>
190 <% end %>
191