Commit c100e4e86e5d4b457ad3f5aecd463fca882ae440

Authored by Daniela Feitosa
1 parent 8909cf9e

Fix: migration skips softwares without community

src/noosfero-spb/software_communities/db/migrate/20160104170028_changing_software_statistics_from_block_to_software_info.rb
... ... @@ -4,14 +4,16 @@ class ChangingSoftwareStatisticsFromBlockToSoftwareInfo < ActiveRecord::Migratio
4 4 benefited_people = 0
5 5 saved_resources = 0
6 6  
7   - select_all("SELECT * FROM tasks WHERE status=3 AND type='CreateOrganizationRatingComment' AND target_id=#{software['community_id']}").each do |task|
8   - settings = YAML.load(task['data'])
9   - organization_rating = select_one("SELECT * FROM organization_ratings WHERE id=#{settings[:organization_rating_id]}")
  7 + if software['community_id']
  8 + select_all("SELECT * FROM tasks WHERE status=3 AND type='CreateOrganizationRatingComment' AND target_id=#{software['community_id']}").each do |task|
  9 + settings = YAML.load(task['data'])
  10 + organization_rating = select_one("SELECT * FROM organization_ratings WHERE id=#{settings[:organization_rating_id]}")
10 11  
11   - benefited_people += organization_rating["people_benefited"].to_i
12   - saved_resources += organization_rating["saved_value"].to_f
  12 + benefited_people += organization_rating["people_benefited"].to_i
  13 + saved_resources += organization_rating["saved_value"].to_f
  14 + end
  15 + execute("UPDATE software_infos SET benefited_people=#{benefited_people}, saved_resources=#{saved_resources} WHERE id=#{software['id']}")
13 16 end
14   - execute("UPDATE software_infos SET benefited_people=#{benefited_people}, saved_resources=#{saved_resources} WHERE id=#{software['id']}")
15 17 end
16 18  
17 19 end
... ...