[webui] improve the services ui
[opensuse:build-service.git] / src / webui / app / views / package / _services.html.erb
1
2 <!-- Service elements -->
3 <% if @services || @package.can_edit?( session[:login] )%>
4   <h3>Source Services</h3>
5
6   <% number = 0 %>
7   <% unless @services.blank? %>
8     <p><i>Services are applied in the displayed order. You can use drag&amp;drop to re-order them.</i></p>
9     <% @services.each do |service|
10       number += 1 %>
11       <div>
12         <% object_id = "service_#{number}" %>
13         <div class="service" id="<%= object_id %>" style="margin-left: 15px; ">
14           <%= image_tag('icons/cog.png') %> <b><%= h Service.summary(service.name) %></b>
15           <div style="color: #999; font-size: 8pt; margin-left: 2em;">
16             <%= link_text = "Show Parameters"
17             link_text = image_tag('icons/cog_edit.png') + " Edit Parameters" if @package.can_edit?( session[:login] )
18             link_to_remote( link_text, :url => { :action => :service_parameter, :project => @project, :package => @package, :servicename => service.name, :serviceid => number } ) %>
19             <%= if @package.can_edit?( session[:login] )
20               " | " + image_tag('icons/cog_delete.png') + ' ' + link_to( "Remove this service", {:action => :remove_service, :project => @project, :package => @package, :id => number}, :confirm => "Remove this service (#{service.name}) ?" )
21             end %>
22           </div>
23         </div>
24         <%= draggable_element(object_id) %>
25         <%= drop_receiving_element( object_id,
26           :hoverclass => "hover",
27           :onDrop => "function(drag, drop) { window.location='/package/add_or_move_service?id=' + drop.draggable.first()[0].id + '&position=#{number}&package=#{@package}&project=#{@project}' }"
28         )%>
29       </div>
30     <% end %>
31   <% end %>
32
33   <!-- source is currently broken due to an error -->
34   <% if @serviceerror %>
35     <div id="error" class="error">
36       <h4>
37         Source processing is currently broken:
38       </h4>
39       <pre id="code" class="text">
40         <%=h @serviceerror %>
41       </pre>
42     </div>
43   <% end %>
44 <% end %>
45
46 <% if @package.can_edit?( session[:login] ) %>
47   <p>
48     <%= link_to_remote image_tag('icons/cog_add.png'), :url => { :action => :add_service, :project => @project, :package => @package} %>
49     <%= link_to_remote '<i>Add a service for source processing</i>', :url => { :action => :add_service, :project => @project, :package => @package} %>
50
51     <%= link_to image_tag('icons/cog_go.png'), {:action => :execute_services, :project => @project, :package => @package },
52       {:confirm => "Execute all services now?", :method => :post } unless @services.blank? %>
53     <%= link_to 'Run services now', {:action => :execute_services, :project => @project, :package => @package },
54       {:confirm => "Execute all services now?", :method => :post } unless @services.blank? %>
55   </p>
56 <% end %>