From: Jan Provaznik <[email protected]>
---
src/app/controllers/templates_controller.rb | 10 +++---
src/app/views/templates/_content_selection.haml | 41 ++++++++++++----------
src/app/views/templates/new.haml | 13 +++++++-
3 files changed, 39 insertions(+), 25 deletions(-)
diff --git a/src/app/controllers/templates_controller.rb
b/src/app/controllers/templates_controller.rb
index 8d97c05..9f2dded 100644
--- a/src/app/controllers/templates_controller.rb
+++ b/src/app/controllers/templates_controller.rb
@@ -42,7 +42,7 @@ class TemplatesController < ApplicationController
# can't use @template variable - is used by compass (or something other)
@tpl = Template.find_or_create(params[:id])
@repository_manager = RepositoryManager.new
- @groups = @repository_manager.all_groups(params[:repository])
+ @groups = @repository_manager.all_groups
end
def create
@@ -71,7 +71,7 @@ class TemplatesController < ApplicationController
if params[:add_software_form]
@repository_manager = RepositoryManager.new
- @groups =
@repository_manager.all_groups_with_tagged_selected_packages(@tpl.xml.packages,
params[:repository])
+ @groups =
@repository_manager.all_groups_with_tagged_selected_packages(@tpl.xml.packages,
params[:tpl] ? params[:tpl][:platform] : nil)
render :action => 'add_software_form'
return
end
@@ -82,7 +82,7 @@ class TemplatesController < ApplicationController
redirect_to :action => 'index'
else
@repository_manager = RepositoryManager.new
- @groups = @repository_manager.all_groups(params[:repository])
+ @groups = @repository_manager.all_groups
render :action => 'new'
end
end
@@ -90,7 +90,7 @@ class TemplatesController < ApplicationController
def add_software
@tpl = params[:template_id].to_s.empty? ? Template.new :
Template.find(params[:template_id])
@repository_manager = RepositoryManager.new
- @groups = @repository_manager.all_groups(params[:repository])
+ @groups = @repository_manager.all_groups
if params[:add_selected]
params[:groups].to_a.each { |group| @tpl.xml.add_group(group) }
params[:packages].to_a.each { |pkg| @tpl.xml.add_package(pkg) }
@@ -164,7 +164,7 @@ class TemplatesController < ApplicationController
def update_group_or_package(method, *args)
@repository_manager = RepositoryManager.new
- @groups = @repository_manager.all_groups(params[:repository])
+ @groups = @repository_manager.all_groups
@tpl.xml.send(method, *args)
# we save template w/o validation (we can add package before name,... is
# set)
diff --git a/src/app/views/templates/_content_selection.haml
b/src/app/views/templates/_content_selection.haml
index 2372a4a..2ec9502 100644
--- a/src/app/views/templates/_content_selection.haml
+++ b/src/app/views/templates/_content_selection.haml
@@ -27,26 +27,29 @@
-#%fieldset.clearfix
-# = submit_tag "Add Selected", :name => "add_selected", :class =>
"grid_2 alpha", :id => "do_add_software"
-# = submit_tag "Cancel", :name => "cancel", :class => "grid_2", :id =>
"cancel_add_software"
- %ul.softwaregroups
- - groups = @groups.keys.sort
- - unsorted = groups.delete('unsorted')
- - groups.push('unsorted') if params[:show_unsorted] and unsorted
- - groups.each do |group|
- - group_sel = @groups[group][:selected]
- - group_id = group.gsub(/\s/, '_')
- %li
- = check_box_tag 'groups[]', group, group_sel, :disabled =>
group_sel, :id => "group_#{group_id}"
- = label_tag "group_#{group_id}", group
- %ul{:class => "packages group_#{group_id}"}
- - pkgs = @groups[group][:packages]
- - pkgs.keys.sort.each do |pkg|
- - pkg_sel = pkgs[pkg][:selected] ? true : false
- - pkg_id = pkg.gsub(/\s/, '_')
- %li
- = check_box_tag 'packages[]', pkg, pkg_sel, :disabled =>
pkg_sel, :id => "package_#{pkg_id}"
- = label_tag "package_#{pkg_id}", pkg
+ - if @groups.empty?
+ No Packages Found
+ -else
+ %ul.softwaregroups
+ - groups = @groups.keys.sort
+ - unsorted = groups.delete('unsorted')
+ - groups.push('unsorted') if params[:show_unsorted] and unsorted
+ - groups.each do |group|
+ - group_sel = @groups[group][:selected]
+ - group_id = group.gsub(/\s/, '_')
+ %li
+ = check_box_tag 'groups[]', group, group_sel, :disabled =>
group_sel, :id => "group_#{group_id}"
+ = label_tag "group_#{group_id}", group
+ %ul{:class => "packages group_#{group_id}"}
+ - pkgs = @groups[group][:packages]
+ - pkgs.keys.sort.each do |pkg|
+ - pkg_sel = pkgs[pkg][:selected] ? true : false
+ - pkg_id = pkg.gsub(/\s/, '_')
+ %li
+ = check_box_tag 'packages[]', pkg, pkg_sel, :disabled =>
pkg_sel, :id => "package_#{pkg_id}"
+ = label_tag "package_#{pkg_id}", pkg
- = link_to "Show unsorted packages", {:action => 'create',
:add_software_form => true, :show_unsorted => true, 'tpl[id]' => @tpl.id}, {:id
=> 'switch_all_link'} unless params[:show_unsorted]
+ = link_to "Show unsorted packages", {:action => 'create',
:add_software_form => true, :show_unsorted => true, 'tpl[id]' => @tpl.id}, {:id
=> 'switch_all_link'} unless params[:show_unsorted]
%fieldset.clearfix
= submit_tag "Add Selected", :name => "add_selected", :class => "grid_2
alpha", :id => "do_add_software"
= submit_tag "Cancel", :name => "cancel", :class => "grid_2", :id =>
"cancel_add_software"
diff --git a/src/app/views/templates/new.haml b/src/app/views/templates/new.haml
index 42fc85d..065d2c4 100644
--- a/src/app/views/templates/new.haml
+++ b/src/app/views/templates/new.haml
@@ -5,7 +5,11 @@
$submit.click(function(e, show_all) {
var list_url = '#{url_for :action => 'create', :add_software_form =>
true}';
var list_all_url = '#{url_for :action => 'create', :add_software_form =>
true, :show_unsorted => true}';
- var list_data = {'tpl[id]': $("input[name='tpl[id]']").val() || '',
ajax: true};
+ var list_data = {
+ 'tpl[id]': $("input[name='tpl[id]']").val() || '',
+ ajax: true,
+ 'tpl[platform]': $("select[name='tpl[platform]']").val() || ''
+ };
e.preventDefault();
$(this).hide();
$container.empty().show().addClass('loading');
@@ -43,6 +47,13 @@
});
});
});
+
+ // select correct package repo when we change platform
+ $("select[name='tpl[platform]']").change(function() {
+ if ($submit.is(':hidden')) {
+ $submit.trigger('click');
+ }
+ });
});
.grid_16
--
1.7.2.3
_______________________________________________
deltacloud-devel mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/deltacloud-devel