Commit e01734c7a7ff944f128a995b89e7ce709ede05e8
1 parent
adc5c4e7
Exists in
theme-brasil-digital-from-staging
and in
9 other branches
fixes
Showing
3 changed files
with
40 additions
and
16 deletions
Show diff stats
app/helpers/profile_helper.rb
| ... | ... | @@ -51,9 +51,10 @@ module ProfileHelper |
| 51 | 51 | def display_custom_fields(profile) |
| 52 | 52 | fields = [] |
| 53 | 53 | profile.custom_fields.each { |custom_field_key,custom_field_data| |
| 54 | - fields << display_custom_field(custom_field_data[:title], profile, custom_field_key) | |
| 54 | + if !profile.fields_privacy.blank? && profile.fields_privacy.include?(custom_field_key) | |
| 55 | + fields << display_custom_field(custom_field_data[:title], profile, custom_field_key) if profile.fields_privacy[custom_field_key] == 'public' | |
| 56 | + end | |
| 55 | 57 | } |
| 56 | - fields.reject!(&:blank?) | |
| 57 | 58 | fields.size >= 1 ? content_tag('tr', content_tag('th', _('Custom Fields'), { :colspan => 2 })) + fields.join.html_safe : '' |
| 58 | 59 | end |
| 59 | 60 | ... | ... |
app/views/profile_editor/_person_form.html.erb
| ... | ... | @@ -114,24 +114,50 @@ |
| 114 | 114 | |
| 115 | 115 | <% template_custom_fields.each { |key,value| %> |
| 116 | 116 | |
| 117 | - <div class="field-with-privacy-selector"> | |
| 118 | - <div class="formfieldline"> | |
| 117 | + <% if @person.custom_fields.include?(key) %> | |
| 119 | 118 | |
| 120 | - <span style="display: block;"> | |
| 121 | - <%= label_tag value[:label] %> | |
| 122 | - </span> | |
| 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> | |
| 131 | + | |
| 132 | + </div> | |
| 133 | + | |
| 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> | |
| 123 | 152 | |
| 124 | - <div class="formfield type-text" style="display: inline-block;"> | |
| 125 | - <%= hidden_field_tag "profile_data[custom_fields][#{key}[title]", @person.custom_fields[key][:title] %> | |
| 126 | - <% valor = @person.custom_fields[key] ? @person.custom_fields[key][:value] : "" %> | |
| 127 | - <%= text_field_tag( "profile_data[custom_fields][#{key}][value]", valor, :size => 30 ) %> | |
| 128 | 153 | </div> |
| 129 | 154 | |
| 155 | + <%= profile_field_privacy_selector @person, key %> | |
| 156 | + | |
| 130 | 157 | </div> |
| 131 | 158 | |
| 132 | - <%= profile_field_privacy_selector @person, key %> | |
| 133 | 159 | |
| 134 | - </div> | |
| 160 | + <% end %> | |
| 135 | 161 | |
| 136 | 162 | <% } %> |
| 137 | 163 | ... | ... |
public/javascripts/manage-custom-fields.js
| ... | ... | @@ -61,9 +61,6 @@ function add_new_field() { |
| 61 | 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="">' + |
| 62 | 62 | '</td>' + |
| 63 | 63 | '<td align="center">' + |
| 64 | - '<input id="profile_data_custom_fields_custom_field_' + next_custom_field_id + '_required" name="profile_data[custom_fields][custom_field_' + next_custom_field_id + '][required]" onclick="required_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">' + | |
| 65 | - '</td>' + | |
| 66 | - '<td align="center">' + | |
| 67 | 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">' + |
| 68 | 65 | '</td>' + |
| 69 | 66 | '<td align="center">' + | ... | ... |