Commit 9aa9bc85ac1a342539baaa0b892dddc04ec154b8

Authored by Gabriela Navarro
1 parent 8482deba

Add fields to percentage calculation

Signed-off-by: Gabriela Navarro <navarro1703@gmail.com>
Signed-off-by: Gustavo Jaruga <darksshades@gmail.com>
lib/mpog_software_plugin.rb
@@ -258,8 +258,8 @@ class MpogSoftwarePlugin &lt; Noosfero::Plugin @@ -258,8 +258,8 @@ class MpogSoftwarePlugin &lt; Noosfero::Plugin
258 def calc_percentage_registration person 258 def calc_percentage_registration person
259 required_list = profile_required_list 259 required_list = profile_required_list
260 empty_fields = profile_required_empty_list person 260 empty_fields = profile_required_empty_list person
261 -  
262 - percentege = 100 - ((empty_fields.count*100)/required_list.count) 261 + count = required_list[:person_fields].count + required_list[:user_fields].count
  262 + percentege = 100 - ((empty_fields.count*100)/count)
263 person.percentage_incomplete = percentege 263 person.percentage_incomplete = percentege
264 person.save(validate: false) 264 person.save(validate: false)
265 percentege 265 percentege
@@ -275,18 +275,26 @@ class MpogSoftwarePlugin &lt; Noosfero::Plugin @@ -275,18 +275,26 @@ class MpogSoftwarePlugin &lt; Noosfero::Plugin
275 end 275 end
276 276
277 def profile_required_list 277 def profile_required_list
278 - ["cell_phone","contact_phone","comercial_phone","country","city","state","organization_website","image"] 278 + fields = Hash.new
  279 + fields[:person_fields] = ["cell_phone","contact_phone","comercial_phone","country","city","state","organization_website", "image", "identifier", "name"]
  280 + fields[:user_fields] = ["secondary_email", "email"]
  281 + fields
279 end 282 end
280 283
281 def profile_required_empty_list person 284 def profile_required_empty_list person
282 empty_fields = [] 285 empty_fields = []
283 required_list = profile_required_list 286 required_list = profile_required_list
284 287
285 - required_list.each do |field| 288 + required_list[:person_fields].each do |field|
286 if person.send(field).blank? 289 if person.send(field).blank?
287 empty_fields << field.sub("_"," ") 290 empty_fields << field.sub("_"," ")
288 end 291 end
289 end 292 end
  293 + required_list[:user_fields].each do |field|
  294 + if person.user.send(field).blank?
  295 + empty_fields << field.sub("_"," ")
  296 + end
  297 + end
290 empty_fields 298 empty_fields
291 end 299 end
292 300
test/unit/mpog_software_plugin_test.rb
@@ -22,10 +22,12 @@ class MpogSoftwarePluginTest &lt; ActiveSupport::TestCase @@ -22,10 +22,12 @@ class MpogSoftwarePluginTest &lt; ActiveSupport::TestCase
22 @person.cell_phone = "76888919" 22 @person.cell_phone = "76888919"
23 @person.contact_phone = "987654321" 23 @person.contact_phone = "987654321"
24 24
25 - assert_equal(50, @plugin.calc_percentage_registration(@person)) 25 + assert_equal(67, @plugin.calc_percentage_registration(@person))
26 26
27 @person.comercial_phone = "11223344" 27 @person.comercial_phone = "11223344"
28 @person.country = "I dont know" 28 @person.country = "I dont know"
  29 + @person.state = "I dont know"
  30 + @person.city = "I dont know"
29 @person.organization_website = "www.whatever.com" 31 @person.organization_website = "www.whatever.com"
30 @person.image = Image::new :uploaded_data=>fixture_file_upload('/files/rails.png', 'image/png') 32 @person.image = Image::new :uploaded_data=>fixture_file_upload('/files/rails.png', 'image/png')
31 @person.save 33 @person.save