Commit 5c02a6e47f22d9715a052c93e3028a9e161077ed

Authored by Rodrigo Souto
2 parents d5d9e7da 0c765b9c

Merge branch 'ai2990' of https://gitlab.com/brauliobo/noosfero into brauliobo/noosfero-ai2990

Showing 1 changed file with 13 additions and 7 deletions   Show diff stats
app/models/theme.rb
... ... @@ -42,14 +42,20 @@ class Theme
42 42 end
43 43  
44 44 def approved_themes(owner)
45   - Dir.glob(File.join(system_themes_dir, '*')).select do |item|
46   - if File.exists?( File.join(item, 'theme.yml') )
47   - config = YAML.load_file(File.join(item, 'theme.yml'))
48   - (config['owner_type'] == owner.class.base_class.name) &&
49   - (config['owner_id'] == owner.id) || config['public']
  45 + Dir.glob(File.join(system_themes_dir, '*')).map do |item|
  46 + next unless File.exists? File.join(item, 'theme.yml')
  47 + id = File.basename item
  48 + config = YAML.load_file File.join(item, 'theme.yml')
  49 +
  50 + approved = config['public']
  51 + unless approved
  52 + approved = config['owner_type'] == owner.class.base_class.name || config['owner_type'] == owner.class.name
  53 + approved &&= config['owner_id'] == owner.id if config['owner_id'].present?
50 54 end
51   - end.map do |desc|
52   - new(File.basename(desc))
  55 +
  56 + [id, config] if approved
  57 + end.compact.map do |id, config|
  58 + new id, config
53 59 end
54 60 end
55 61  
... ...