On Monday 19 October 2009 14:56:35 Klaus Kaempf wrote:
* Martin Vidner
[Oct 16. 2009 15:12]: Here is a patch that I am not sure is right, so it is not committed. If I use this, it is still broken, and every controller says:
You must accept all EULAs before using this product! Accept End User Licence Agreement All licenses have already been accepted OK
From a4d3a161f6691e1d50bc311c4cea6d86fc8f6a2e Mon Sep 17 00:00:00 2001
From: Martin Vidner
Date: Fri, 16 Oct 2009 15:07:14 +0200 Subject: [PATCH] Attempting to fix the eula code if the config specifies no licenses. Like echo "licenses:" >/etc/YaST2/eula.yml --- plugins/eulas/app/models/license.rb | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/plugins/eulas/app/models/license.rb b/plugins/eulas/app/models/license.rb index fe2003b..be94037 100644 --- a/plugins/eulas/app/models/license.rb +++ b/plugins/eulas/app/models/license.rb @@ -71,7 +71,7 @@ class License def self.license_names config = YaST::ConfigFile.new(:eula) begin - config["licenses"] + config["licenses"] || [] rescue Exception => e raise CorruptedFileException.new config.path end
Hmm, the begin..rescue..end encloses accessing the config hash only. I guess it should catch YaST::ConfigFile.new exceptions also ?!
Ok, if we want to treat non-existing/corrupted eulas.yml as blank licenses list. The main problem fix: def self.all_accepted? - find_all.collect{|license| license.accepted}.inject{|a,b| a and b} + find_all.collect{|license| license.accepted}.inject(true){|a,b| a and b} end absence of default value in inject + blank list = problem. Martin
Klaus
--- SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg)
-- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org For additional commands, e-mail: yast-devel+help@opensuse.org