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 258 def calc_percentage_registration person
259 259 required_list = profile_required_list
260 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 263 person.percentage_incomplete = percentege
264 264 person.save(validate: false)
265 265 percentege
... ... @@ -275,18 +275,26 @@ class MpogSoftwarePlugin &lt; Noosfero::Plugin
275 275 end
276 276  
277 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 282 end
280 283  
281 284 def profile_required_empty_list person
282 285 empty_fields = []
283 286 required_list = profile_required_list
284 287  
285   - required_list.each do |field|
  288 + required_list[:person_fields].each do |field|
286 289 if person.send(field).blank?
287 290 empty_fields << field.sub("_"," ")
288 291 end
289 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 298 empty_fields
291 299 end
292 300  
... ...
test/unit/mpog_software_plugin_test.rb
... ... @@ -22,10 +22,12 @@ class MpogSoftwarePluginTest &lt; ActiveSupport::TestCase
22 22 @person.cell_phone = "76888919"
23 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 27 @person.comercial_phone = "11223344"
28 28 @person.country = "I dont know"
  29 + @person.state = "I dont know"
  30 + @person.city = "I dont know"
29 31 @person.organization_website = "www.whatever.com"
30 32 @person.image = Image::new :uploaded_data=>fixture_file_upload('/files/rails.png', 'image/png')
31 33 @person.save
... ...