Commit e102c1242bb74c3b92b717b302e600fd70aaa0ef

Authored by Fabio Teixeira
1 parent b0727510
Exists in master and in 79 other branches add_sisp_to_chef, add_super_archives_plugin, api_for_colab, automates_core_packing, backup_not_prod, changes_in_buttons_on_content_panel, colab_automated_login, colab_spb_plugin_recipe, colab_widgets_settings, design_validation, dev_env_minimal, disable_email_dev, fix_breadcrumbs_position, fix_categories_software_link, fix_edit_institution, fix_edit_software_with_another_license, fix_get_license_info, fix_gitlab_assets_permission, fix_list_style_inside_article, fix_list_style_on_folder_elements, fix_members_pagination, fix_merge_request_url, fix_models_translations, fix_no_license, fix_software_api, fix_software_block_migration, fix_software_communities_translations, fix_software_communities_unit_test, fix_style_create_institution_admin_panel, fix_superarchives_imports, fix_sym_links_noosfero, focus_search_field_theme, gov-user-refactoring, gov-user-refactoring-rails4, header_fix, institution_modal_on_rating, kalibro-conf-refactoring, kalibro-processor-package, lxc_settings, margin_fix, mezuro_cookbook, prezento, refactor_download_block, refactor_software_communities, refactor_software_for_sisp, register_page, release-process, release-process-v2, remove-unused-images, remove_broken_theme, remove_secondary_email_from_user, remove_sisp_buttons, removing_super_archives_email, review_message, scope2method, signals_user_noosfero, sisp_catalog_header, sisp_colab_config, sisp_dev, sisp_dev_master, sisp_simple_version, software_as_organization, software_catalog_style_fix, software_communities_html_refactor, software_infos_api, spb_minimal_env, spb_to_rails4, spec_refactor, stable-4.1, stable-4.2, stable-4.x, temp_soft_comm_refactoring, theme_header, theme_javascript_refactory, thread_dropdown, thread_page, update_search_by_categories, update_software_api, update_softwares_boxes

incomplete_registration: New visualization to percentage of profile complete regeistration.

Signed-off-by: Fabio Teixeira  <fabio1079@gmail.com>
Signed-off-by: Parley Martins <parley@outlook.com>
lib/mpog_software_plugin.rb
@@ -150,17 +150,14 @@ class MpogSoftwarePlugin &lt; Noosfero::Plugin @@ -150,17 +150,14 @@ class MpogSoftwarePlugin &lt; Noosfero::Plugin
150 person.has_permission_without_plugins?(permission, target) 150 person.has_permission_without_plugins?(permission, target)
151 end 151 end
152 152
153 -  
154 - def body_middle 153 + def incomplete_registration
155 return if context.session[:user].nil? or context.session[:hide_incomplete_percentage] == true 154 return if context.session[:user].nil? or context.session[:hide_incomplete_percentage] == true
156 155
157 person = Person.where(:user_id=>context.session[:user]).first 156 person = Person.where(:user_id=>context.session[:user]).first
158 157
159 unless person.nil? 158 unless person.nil?
160 - @profile_edit_link = link_to _("Complete your registration"), "/myprofile/#{person.identifier}/profile_editor/edit"  
161 - @profile_empty_fields = profile_required_empty_list person 159 + @profile_edit_link = link_to _("Complete your profile"), "/myprofile/#{person.identifier}/profile_editor/edit"
162 @percentege = calc_percentage_registration(person) 160 @percentege = calc_percentage_registration(person)
163 -  
164 if @percentege >= 0 and @percentege <= 100 161 if @percentege >= 0 and @percentege <= 100
165 expanded_template('incomplete_registration.html.erb') 162 expanded_template('incomplete_registration.html.erb')
166 end 163 end
@@ -178,7 +175,7 @@ class MpogSoftwarePlugin &lt; Noosfero::Plugin @@ -178,7 +175,7 @@ class MpogSoftwarePlugin &lt; Noosfero::Plugin
178 required_list = profile_required_list 175 required_list = profile_required_list
179 empty_fields = profile_required_empty_list person 176 empty_fields = profile_required_empty_list person
180 177
181 - percentege = (empty_fields.count*100)/required_list.count 178 + percentege = 100 - ((empty_fields.count*100)/required_list.count)
182 person.percentage_incomplete = percentege 179 person.percentage_incomplete = percentege
183 person.save(validate: false) 180 person.save(validate: false)
184 percentege 181 percentege
public/mpog-incomplete-registration.js
@@ -3,11 +3,25 @@ function hide_incomplete_percentage(evt) { @@ -3,11 +3,25 @@ function hide_incomplete_percentage(evt) {
3 3
4 jQuery.get("/plugin/mpog_software/hide_registration_incomplete_percentage", {hide:true}, function(response){ 4 jQuery.get("/plugin/mpog_software/hide_registration_incomplete_percentage", {hide:true}, function(response){
5 if( response == true ) 5 if( response == true )
6 - jQuery("#incomplete_registration").fadeOut(); 6 + jQuery("#complete_registration").fadeOut();
7 }); 7 });
8 } 8 }
9 9
  10 +function show_complete_progressbar() {
  11 + var percentage = jQuery("#complete_registration_message span").html();
  12 + var canvas_tag = document.getElementById("complete_registration_percentage");
  13 + var context = canvas_tag.getContext("2d");
  14 +
  15 + percentage = canvas_tag.width*(percentage/100.0);
  16 +
  17 + context.beginPath();
  18 + context.rect(0, 0, percentage, canvas_tag.height);
  19 + context.fillStyle = '#00FF00';
  20 + context.fill();
  21 +}
10 22
11 jQuery(document).ready(function(){ 23 jQuery(document).ready(function(){
12 jQuery(".hide-incomplete-percentage").click(hide_incomplete_percentage); 24 jQuery(".hide-incomplete-percentage").click(hide_incomplete_percentage);
  25 +
  26 + show_complete_progressbar();
13 }); 27 });
public/style.css
@@ -114,22 +114,23 @@ @@ -114,22 +114,23 @@
114 width: 180px; 114 width: 180px;
115 } 115 }
116 116
117 -#incomplete_registration {  
118 - position: relative;  
119 - border: solid 2px #000; 117 +#complete_registration {
120 padding: 5px; 118 padding: 5px;
  119 + width: 100%;
  120 + background-color: #fff;
121 } 121 }
122 122
123 -#incomplete_percentage {  
124 - text-align: center;  
125 - margin-bottom: 15px;  
126 - font-size: 18px; 123 +#complete_registration a {
  124 + text-decoration: none;
127 } 125 }
128 126
129 -#profile_empty_fields span {  
130 - margin-left: 15px; 127 +#complete_registration a:hover {
  128 + font-weight: bold;
131 } 129 }
132 130
133 -#profile_links table tr td {  
134 - text-align: center;  
135 -} 131 +#complete_registration_percentage {
  132 + width: 100%;
  133 + height: 20px;
  134 + background: #fff;
  135 + border: solid 1px #000;
  136 +}
136 \ No newline at end of file 137 \ No newline at end of file
views/incomplete_registration.html.erb
1 -<div id='incomplete_registration'>  
2 - <div id="incomplete_percentage">  
3 - <%= _("Incomplete registration percentage")+":#{@percentege}%" %> 1 +<div id='complete_registration'>
  2 + <div id="complete_registration_message">
  3 + <div><%= _("Complete Profile")+": <span>#{@percentege}</span>%" %></div>
  4 + <canvas id="complete_registration_percentage" width="100%" height="20"></canvas>
  5 + <div>
  6 + <%= @profile_edit_link %> |
  7 + <%= link_to _("Hide"), "#", :class=>"hide-incomplete-percentage" %>
  8 + </div>
4 </div> 9 </div>
5 -  
6 - <div id="profile_empty_fields">  
7 - <span><%= _("List with fields to be filled")+":" %></span>  
8 - <ul>  
9 - <% @profile_empty_fields.each do |field|%>  
10 - <li>  
11 - <%= field %>  
12 - </li>  
13 - <% end %>  
14 - </ul>  
15 - </div>  
16 -  
17 - <div id="profile_links">  
18 - <table>  
19 - <tr>  
20 - <td>  
21 - <%= @profile_edit_link %>  
22 - </td>  
23 - <td>  
24 - <%= link_to _("Hide this message"), "#", :class=>"hide-incomplete-percentage" %></a>  
25 - </td>  
26 - </tr>  
27 - </table>  
28 - </div>  
29 -</div> 10 +</div>
30 \ No newline at end of file 11 \ No newline at end of file