Commit 5d6ae4ae86f9898c1091f3cf2f2482b3568ed41c

Authored by Francisco Marcelo de Araújo Lima Júnior
1 parent e01734c7

fixes

app/controllers/public/account_controller.rb
@@ -67,7 +67,7 @@ class AccountController < ApplicationController @@ -67,7 +67,7 @@ class AccountController < ApplicationController
67 67
68 def custom_fields_for_template 68 def custom_fields_for_template
69 custom_fields ||= environment.people.templates.find(params[:template_id]).custom_fields.map { |k,v| 69 custom_fields ||= environment.people.templates.find(params[:template_id]).custom_fields.map { |k,v|
70 - { :name => k, :label => v[:label] } if v['signup'] 70 + { :name => k, :title => v[:title] } if v['signup']
71 }.compact 71 }.compact
72 render :text => {:ok => true, :custom_fields => custom_fields}.to_json 72 render :text => {:ok => true, :custom_fields => custom_fields}.to_json
73 end 73 end
app/models/profile.rb
@@ -25,8 +25,26 @@ class Profile < ActiveRecord::Base @@ -25,8 +25,26 @@ class Profile < ActiveRecord::Base
25 25
26 settings_items :custom_fields, :default => {} 26 settings_items :custom_fields, :default => {}
27 27
28 - def custom_field_value(key)  
29 - self.custom_fields[key] 28 + def custom_field_value(field)
  29 + self.custom_fields[field][:value]
  30 + end
  31 +
  32 + def custom_field_title(field)
  33 + if !self.custom_fields.blank?
  34 + self.custom_fields[field][:title]
  35 + else
  36 + ''
  37 + end
  38 + end
  39 +
  40 + def custom_fields_template
  41 + fields = {}
  42 + fields = self.template.custom_fields unless self.template.blank?
  43 + fields
  44 + end
  45 +
  46 + def custom_fields_template_title(field)
  47 + self.template.custom_fields[field][:title]
30 end 48 end
31 49
32 def self.default_search_display 50 def self.default_search_display
app/views/account/_signup_form.html.erb
@@ -124,7 +124,7 @@ @@ -124,7 +124,7 @@
124 '</div>'; 124 '</div>';
125 125
126 html = html.replace( /{#CUSTOM_FIELD_ID#}/g, field.name ); 126 html = html.replace( /{#CUSTOM_FIELD_ID#}/g, field.name );
127 - html = html.replace( /{#CUSTOM_FIELD_NAME#}/g, field.label ); 127 + html = html.replace( /{#CUSTOM_FIELD_NAME#}/g, field.title );
128 jQuery('div#signup-form-profile').append(html); 128 jQuery('div#signup-form-profile').append(html);
129 }); 129 });
130 }; 130 };
app/views/profile_editor/_person_form.html.erb
@@ -82,13 +82,13 @@ @@ -82,13 +82,13 @@
82 <th>&nbsp;</th> 82 <th>&nbsp;</th>
83 </tr> 83 </tr>
84 84
85 - <% @person.custom_fields.each { |key,value| %> 85 + <% @person.custom_fields.each { |field,value| %>
86 <tr> 86 <tr>
87 <td> 87 <td>
88 - <%= text_field_tag( "profile_data[custom_fields][#{key}][label]", value[:label], :style => "display:block") %> 88 + <%= text_field_tag( "profile_data[custom_fields][#{field}][title]", value[:title], :style => "display:block") %>
89 </td> 89 </td>
90 <td align="center"> 90 <td align="center">
91 - <%= check_box_tag "profile_data[custom_fields][#{key}][signup]", value['signup'], value['signup'], :onclick => "signup_action('profile_data[custom_fields][#{key}][active]','profile_data[custom_fields][#{key}][required]', 'profile_data[custom_fields][#{key}][signup]')" %> 91 + <%= check_box_tag "profile_data[custom_fields][#{field}][signup]", value['signup'], value['signup'], :onclick => "signup_action('profile_data[custom_fields][#{field}][active]','profile_data[custom_fields][#{field}][required]', 'profile_data[custom_fields][#{field}][signup]')" %>
92 </td> 92 </td>
93 <td align="center"> 93 <td align="center">
94 <%= link_to content_tag(:span, _('Delete')), '#', onclick: "return remove_custom_field(this);", title: "Delete", class: "button icon-delete" %> 94 <%= link_to content_tag(:span, _('Delete')), '#', onclick: "return remove_custom_field(this);", title: "Delete", class: "button icon-delete" %>
@@ -110,54 +110,25 @@ @@ -110,54 +110,25 @@
110 110
111 <% else %> 111 <% else %>
112 112
113 - <% template_custom_fields = Profile.find(@person.template_id).custom_fields %> 113 + <% @person.custom_fields_template.each { |field,value| %>
114 114
115 - <% template_custom_fields.each { |key,value| %> 115 + <div class="field-with-privacy-selector">
  116 + <div class="formfieldline">
116 117
117 - <% if @person.custom_fields.include?(key) %>  
118 -  
119 - <div class="field-with-privacy-selector">  
120 - <div class="formfieldline">  
121 -  
122 - <span style="display: block;">  
123 - <%= label_tag value[:label] %>  
124 - </span>  
125 -  
126 - <div class="formfield type-text" style="display: inline-block;">  
127 - <%= hidden_field_tag "profile_data[custom_fields][#{key}[title]", @person.custom_fields[key][:title] %>  
128 - <% valor = @person.custom_fields[key] ? @person.custom_fields[key][:value] : "" %>  
129 - <%= text_field_tag( "profile_data[custom_fields][#{key}][value]", valor, :size => 30 ) %>  
130 - </div> 118 + <span style="display: block;">
  119 + <%= label_tag @person.custom_fields_template_title(field) %>
  120 + </span>
131 121
  122 + <div class="formfield type-text" style="display: inline-block;">
  123 + <%= hidden_field_tag "profile_data[custom_fields][#{field}[title]", @person.custom_fields_template_title(field) %>
  124 + <%= text_field_tag( "profile_data[custom_fields][#{field}][value]", @person.custom_field_value(field), :size => 30 ) %>
132 </div> 125 </div>
133 126
134 - <%= profile_field_privacy_selector @person, key %>  
135 -  
136 - </div>  
137 -  
138 - <% else %>  
139 -  
140 - <div class="field-with-privacy-selector">  
141 - <div class="formfieldline">  
142 -  
143 - <span style="display: block;">  
144 - <%= label_tag value[:label] %>  
145 - </span>  
146 -  
147 - <div class="formfield type-text" style="display: inline-block;">  
148 - <%= hidden_field_tag "profile_data[custom_fields][#{key}[title]", value[:label] %>  
149 - <% valor = key ? value[:value] : "" %>  
150 - <%= text_field_tag( "profile_data[custom_fields][#{key}][value]", valor, :size => 30 ) %>  
151 - </div>  
152 -  
153 - </div>  
154 -  
155 - <%= profile_field_privacy_selector @person, key %>  
156 -  
157 </div> 127 </div>
158 128
  129 + <%= profile_field_privacy_selector @person, field %>
159 130
160 - <% end %> 131 + </div>
161 132
162 <% } %> 133 <% } %>
163 134
public/javascripts/manage-custom-fields.js
@@ -58,7 +58,7 @@ function add_new_field() { @@ -58,7 +58,7 @@ function add_new_field() {
58 new_custom_field = '' + 58 new_custom_field = '' +
59 '<tr>' + 59 '<tr>' +
60 '<td>' + 60 '<td>' +
61 - '<input id="profile_data_custom_fields_custom_field_' + next_custom_field_id + '_label" name="profile_data[custom_fields][custom_field_' + next_custom_field_id + '][label]" style="display:block" type="text" value="">' + 61 + '<input id="profile_data_custom_fields_custom_field_' + next_custom_field_id + '_title" name="profile_data[custom_fields][custom_field_' + next_custom_field_id + '][title]" style="display:block" type="text" value="">' +
62 '</td>' + 62 '</td>' +
63 '<td align="center">' + 63 '<td align="center">' +
64 '<input id="profile_data_custom_fields_custom_field_' + next_custom_field_id + '_signup" name="profile_data[custom_fields][custom_field_' + next_custom_field_id + '][signup]" onclick="signup_action("profile_data[custom_fields][custom_field_' + next_custom_field_id + '][active]","profile_data[custom_fields][custom_field_' + next_custom_field_id + '][required]", "profile_data[custom_fields][custom_field_' + next_custom_field_id + '][signup]")" type="checkbox">' + 64 '<input id="profile_data_custom_fields_custom_field_' + next_custom_field_id + '_signup" name="profile_data[custom_fields][custom_field_' + next_custom_field_id + '][signup]" onclick="signup_action("profile_data[custom_fields][custom_field_' + next_custom_field_id + '][active]","profile_data[custom_fields][custom_field_' + next_custom_field_id + '][required]", "profile_data[custom_fields][custom_field_' + next_custom_field_id + '][signup]")" type="checkbox">' +
@@ -70,50 +70,3 @@ function add_new_field() { @@ -70,50 +70,3 @@ function add_new_field() {
70 70
71 jQuery('#custom-fields-container tbody').append(new_custom_field); 71 jQuery('#custom-fields-container tbody').append(new_custom_field);
72 } 72 }
73 -  
74 -/**  
75 -jQuery(document).ready(function(){  
76 - function check_fields(check, table_id, start) {  
77 - var checkboxes = jQuery("#" + table_id + " tbody tr td input[type='checkbox']")  
78 - for (var i = start; i < checkboxes.length; i+=3) {  
79 - checkboxes[i].checked = check  
80 - }  
81 - }  
82 -  
83 - function verify_checked(fields_id){  
84 - var checkboxes = jQuery("#" + fields_id + "_fields_conf tbody tr td input[type='checkbox']")  
85 - for (var i = 2; i >= 0; i--) {  
86 - var allchecked = true  
87 - for (var j = i+3; j < checkboxes.length; j+=3) {  
88 - if(!checkboxes[j].checked) {  
89 - allchecked = false  
90 - break  
91 - }  
92 - }  
93 -  
94 - var checkbox = jQuery(checkboxes[i+3]).attr("id").split("_")  
95 - jQuery("#" + checkbox.first() + "_" + checkbox.last()).attr("checked", allchecked)  
96 - }  
97 - }  
98 -  
99 - function check_all(fields_id) {  
100 - jQuery("#" + fields_id + "_active").click(function (){check_fields(this.checked, fields_id + "_fields_conf", 0)})  
101 - jQuery("#" + fields_id + "_required").click(function (){check_fields(this.checked, fields_id + "_fields_conf", 1)})  
102 - jQuery("#" + fields_id +"_signup").click(function (){check_fields(this.checked, fields_id + "_fields_conf", 2)})  
103 - verify_checked(fields_id)  
104 - }  
105 -  
106 - //check_all("person")  
107 - //check_all("enterprise")  
108 - //check_all("community")  
109 -  
110 - jQuery("input[type='checkbox']").click(function (){  
111 - var checkbox = jQuery(this).attr("id").split("_")  
112 - verify_checked(checkbox.first())  
113 -  
114 - if(this.checked == false) {  
115 - jQuery("#" + checkbox.first() + "_" + checkbox.last()).attr("checked", false)  
116 - }  
117 - })  
118 -})  
119 -**/