From 9aa9bc85ac1a342539baaa0b892dddc04ec154b8 Mon Sep 17 00:00:00 2001 From: Gabriela Navarro Date: Tue, 21 Oct 2014 11:39:49 +0000 Subject: [PATCH] Add fields to percentage calculation --- lib/mpog_software_plugin.rb | 16 ++++++++++++---- test/unit/mpog_software_plugin_test.rb | 4 +++- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/lib/mpog_software_plugin.rb b/lib/mpog_software_plugin.rb index 88af783..9de8f00 100644 --- a/lib/mpog_software_plugin.rb +++ b/lib/mpog_software_plugin.rb @@ -258,8 +258,8 @@ class MpogSoftwarePlugin < Noosfero::Plugin def calc_percentage_registration person required_list = profile_required_list empty_fields = profile_required_empty_list person - - percentege = 100 - ((empty_fields.count*100)/required_list.count) + count = required_list[:person_fields].count + required_list[:user_fields].count + percentege = 100 - ((empty_fields.count*100)/count) person.percentage_incomplete = percentege person.save(validate: false) percentege @@ -275,18 +275,26 @@ class MpogSoftwarePlugin < Noosfero::Plugin end def profile_required_list - ["cell_phone","contact_phone","comercial_phone","country","city","state","organization_website","image"] + fields = Hash.new + fields[:person_fields] = ["cell_phone","contact_phone","comercial_phone","country","city","state","organization_website", "image", "identifier", "name"] + fields[:user_fields] = ["secondary_email", "email"] + fields end def profile_required_empty_list person empty_fields = [] required_list = profile_required_list - required_list.each do |field| + required_list[:person_fields].each do |field| if person.send(field).blank? empty_fields << field.sub("_"," ") end end + required_list[:user_fields].each do |field| + if person.user.send(field).blank? + empty_fields << field.sub("_"," ") + end + end empty_fields end diff --git a/test/unit/mpog_software_plugin_test.rb b/test/unit/mpog_software_plugin_test.rb index 9223042..e1ce413 100644 --- a/test/unit/mpog_software_plugin_test.rb +++ b/test/unit/mpog_software_plugin_test.rb @@ -22,10 +22,12 @@ class MpogSoftwarePluginTest < ActiveSupport::TestCase @person.cell_phone = "76888919" @person.contact_phone = "987654321" - assert_equal(50, @plugin.calc_percentage_registration(@person)) + assert_equal(67, @plugin.calc_percentage_registration(@person)) @person.comercial_phone = "11223344" @person.country = "I dont know" + @person.state = "I dont know" + @person.city = "I dont know" @person.organization_website = "www.whatever.com" @person.image = Image::new :uploaded_data=>fixture_file_upload('/files/rails.png', 'image/png') @person.save -- libgit2 0.21.2