Commit e102c1242bb74c3b92b717b302e600fd70aaa0ef

Authored by Fabio Teixeira
1 parent b0727510

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 150 person.has_permission_without_plugins?(permission, target)
151 151 end
152 152  
153   -
154   - def body_middle
  153 + def incomplete_registration
155 154 return if context.session[:user].nil? or context.session[:hide_incomplete_percentage] == true
156 155  
157 156 person = Person.where(:user_id=>context.session[:user]).first
158 157  
159 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 160 @percentege = calc_percentage_registration(person)
163   -
164 161 if @percentege >= 0 and @percentege <= 100
165 162 expanded_template('incomplete_registration.html.erb')
166 163 end
... ... @@ -178,7 +175,7 @@ class MpogSoftwarePlugin &lt; Noosfero::Plugin
178 175 required_list = profile_required_list
179 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 179 person.percentage_incomplete = percentege
183 180 person.save(validate: false)
184 181 percentege
... ...
public/mpog-incomplete-registration.js
... ... @@ -3,11 +3,25 @@ function hide_incomplete_percentage(evt) {
3 3  
4 4 jQuery.get("/plugin/mpog_software/hide_registration_incomplete_percentage", {hide:true}, function(response){
5 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 23 jQuery(document).ready(function(){
12 24 jQuery(".hide-incomplete-percentage").click(hide_incomplete_percentage);
  25 +
  26 + show_complete_progressbar();
13 27 });
... ...
public/style.css
... ... @@ -114,22 +114,23 @@
114 114 width: 180px;
115 115 }
116 116  
117   -#incomplete_registration {
118   - position: relative;
119   - border: solid 2px #000;
  117 +#complete_registration {
120 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 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 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 11 \ No newline at end of file
... ...