[webui] initial ui for driver update disk creation
[opensuse:adrians-build-service.git] / src / webui / app / views / driver_update / create.html.erb
1 <% @pagetitle = "Driver Update Disk Wizard" %>
2
3 <% package_bread_crumb 'Edit Package Information' -%>
4 <%= render :partial => "package/tabs" %>
5
6 <% content_for :content_for_head do %>
7   <%= javascript_include_tag 'jquery.autocomplete.pack' %>
8   <%= stylesheet_link_tag 'jquery.autocomplete' %>
9 <% end %>
10
11 <% content_for :ready_function do %> 
12   $("#target_project").autocomplete('<%= url_for :controller => :project, :action => :autocomplete_projects %>',
13   { minChars: 2, matchCase: true, max: 50 } );
14
15   $('#target_project').result(function(event, data, formatted) {
16   if (data) {
17   $('#target_repo').html('');
18   $.ajax({ url: '<%= url_for :controller => :project, :action => :autocomplete_repositories %>',
19   data: {project: $("#target_project").attr('value')},
20   success: function(data){
21   $('#target_repo').removeAttr('disabled');
22   $.each(data.split('\n'), function(idx, val) {
23   $('#target_repo').append( new Option( val ) );
24   });
25   }});
26   }
27   });
28
29   $("#target_package").autocomplete('<%= url_for :controller => :project, :action => :autocomplete_packages %>', {
30   matchCase: true, max: 50,
31   extraParams: {
32   projects: function() { return $("#inst_repos > div > p > :input").attr('value'); }
33   }
34   });
35
36   $("#add_repo_toggle").click(function () {
37   $("#add_repository").show();
38   $("#add_repo_toggle").hide();
39   });
40
41   remove_repo = function(key) {
42   $("#" + key).remove();
43   }
44
45   create_repo_line = function() {
46   var project = $("#target_project").attr('value')
47   var repo = $("#target_repo").attr('value')
48   var key = (project + '_' + repo).replace(/[:\.]/g,'_')
49   var html = '<div id="' + key +'"><p><%= image_tag("project.png", :title => "Project") %> ' + project + ' / ' + repo;
50   var html = html + '<input type="hidden" name="projects[]" value="' + project + '/' + repo + '" />';
51   var html = html + ' <a href="#" onclick="remove_repo(\'' + key + '\')"><%= image_tag("icons/drive_delete.png", :title => "Remove Repository") %></a></p></div>';
52   return html;
53   }
54
55   $("#add_repo").click(function () {
56   $("#no_inst_repos").hide();
57   $("#inst_repos").append( create_repo_line() )
58   $("#add_repository").hide();
59   $("#add_repo_toggle").show();
60   });
61
62 <% end -%>
63
64 <h2>Driver update disk wizard</h2>
65
66 <p>This editor helps to create the configuration for a <a href="http://en.opensuse.org/Libzypp/Products/DuD/Installation">driver update disk</a>.
67   It will store it's settings in the _service file which generates the full kiwi config on the build server or
68   your workstation when using osc.</p>
69
70
71 <% form_tag :controller => "driver_update", :action => "save" do %>
72
73
74   <h2>Installation repositories:</h2>
75
76   <div id="inst_repos">
77     <% @repositories.each do |repo| %>
78       <% key = "#{repo[:project]}_#{repo[:repo]}".gsub(/[:\.]/, '_')  %>
79       <div id="<%= key %>"><p><%= image_tag("project.png", :title => "Project") %> <%= repo[:project] %> / <%= repo[:repo] %>
80           <input type="hidden" name="projects[]" value="<%= "#{repo[:project]}/#{repo[:repo]}" %>" />
81           <a href="#" onclick="remove_repo('<%= key %>');"><%= image_tag("icons/drive_delete.png", :title => "Remove Repository") %></a></p></div>
82     <% end %>
83     <% if @repositories.blank? %>
84       <div id="no_inst_repos"><p><i>No installation repositories configured yet.</i></p></div>
85     <% end %>
86   </div>
87
88
89   <div id="add_repo_toggle"><p>
90       <%= image_tag("icons/drive_add.png", :title => "Add Repository") %>
91       <%= link_to 'Add repository', '#' %>
92     </p></div>
93
94   <div id="add_repository" class="show_left box show_right" style="display: none">
95     <p><strong>Project: </strong><%= text_field_tag 'target_project', '', :size => 60, :id => 'target_project' %> <i>(gets auto-completed)</i> </p>
96     <p><strong>Repository: </strong>
97       <%= select_tag "target_repo", "<option value=''></option>", :id => 'target_repo', :disabled => true %>
98     </p> <p>
99       <strong>Architectures: </strong>
100       <% VISIBLE_ARCHITECTURES.each do |arch| %>
101         <%= check_box_tag "arch[#{arch}]", "", (DEFAULT_ENABLED_ARCHITECTURES.include? arch) %><%=arch%>
102       <% end %>
103     </p>
104     <div id="add_repo"><p>
105         <%= image_tag("icons/drive_add.png", :title => "Add Repository") %>
106         <%= link_to 'Add this repository', '#' %>
107       </p>
108     </div>
109   </div>
110
111
112   <h2>Choose packages: </h2>
113
114
115   <div id="inst_packs">
116     <% @packages.each do |pack| %>
117     <div id="pack"><p>- <%= pack %></p></div>
118     <% end %>
119     <% if @packages.blank? %>
120     <div id="no_inst_packs"><p><i>No packages selected for installation yet.</i></p></div>
121     <% end %>
122   </div>
123
124   <p><strong>Add package: </strong><%= text_field_tag 'target_package', '', :size => 60, :id => 'target_package' %> <i>(gets auto-completed)</i> </p>
125
126
127   <p>
128     <%= submit_tag "Generate kiwi file" %>
129     <%= hidden_field_tag 'project', @project.name %>
130   </p>
131 <% end %>
132
133
134