Commit e102c1242bb74c3b92b717b302e600fd70aaa0ef
1 parent
b0727510
Exists in
master
and in
5 other branches
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>
Showing
4 changed files
with
40 additions
and
47 deletions
Show diff stats
lib/mpog_software_plugin.rb
@@ -150,17 +150,14 @@ class MpogSoftwarePlugin < Noosfero::Plugin | @@ -150,17 +150,14 @@ class MpogSoftwarePlugin < 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 < Noosfero::Plugin | @@ -178,7 +175,7 @@ class MpogSoftwarePlugin < 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 |