Commit a24518abb0e6ad2ce63ac03f859a241058351223
1 parent
b55b0cd5
Exists in
theme-brasil-digital-from-staging
and in
9 other branches
fixes
Showing
3 changed files
with
40 additions
and
54 deletions
Show diff stats
app/helpers/profile_helper.rb
| ... | ... | @@ -40,4 +40,27 @@ module ProfileHelper |
| 40 | 40 | end |
| 41 | 41 | end |
| 42 | 42 | |
| 43 | + def display_custom_field(title, profile, field, force = false) | |
| 44 | + unless force || profile.may_display_field_to?(field, user) | |
| 45 | + return | |
| 46 | + end | |
| 47 | + value = profile.custom_fields[field][:value] | |
| 48 | + if !value.blank? | |
| 49 | + if block_given? | |
| 50 | + value = yield(value) | |
| 51 | + end | |
| 52 | + content_tag('tr', content_tag('td', title, :class => 'field-name') + content_tag('td', value)) | |
| 53 | + else | |
| 54 | + '' | |
| 55 | + end | |
| 56 | + end | |
| 57 | + | |
| 58 | + def display_custom_fields(profile) | |
| 59 | + fields = [] | |
| 60 | + profile.custom_fields.each { |key,value| | |
| 61 | + fields << display_custom_field(value[:label], profile, key) | |
| 62 | + } | |
| 63 | + content_tag('tr', content_tag('th', _('Custom Fields'), { :colspan => 2 })) + fields.join.html_safe | |
| 64 | + end | |
| 65 | + | |
| 43 | 66 | end | ... | ... |
app/views/profile/_person_profile.html.erb
| ... | ... | @@ -18,6 +18,8 @@ |
| 18 | 18 | <% cache_timeout(profile.relationships_cache_key, 4.hours) do %> |
| 19 | 19 | <%= display_work_info profile %> |
| 20 | 20 | |
| 21 | + <%= display_custom_fields(profile) %> | |
| 22 | + | |
| 21 | 23 | <tr> |
| 22 | 24 | <th colspan='2'><%= _('Network')%></th> |
| 23 | 25 | </tr> |
| ... | ... | @@ -40,4 +42,3 @@ |
| 40 | 42 | |
| 41 | 43 | <% end %> |
| 42 | 44 | </table> |
| 43 | - | ... | ... |
app/views/profile_editor/_person_form.html.erb
| ... | ... | @@ -116,67 +116,29 @@ |
| 116 | 116 | |
| 117 | 117 | <% template_custom_fields = Profile.find(@person.template_id).custom_fields %> |
| 118 | 118 | |
| 119 | - <% @person.custom_fields.each { |key,value| %> | |
| 120 | - | |
| 121 | - <% if template_custom_fields.include?(key) || !value[:value].empty? %> | |
| 122 | - | |
| 123 | - <% if value[:active] %> | |
| 124 | - <div class="field-with-privacy-selector"> | |
| 125 | - <div class="formfieldline"> | |
| 126 | - | |
| 127 | - <span style="display: block;"> | |
| 128 | - <% if value[:required] %> | |
| 129 | - <%= label_tag value[:label] + ' (*)', nil, class: 'required' %> | |
| 130 | - <% else %> | |
| 131 | - <%= label_tag value[:label] %> | |
| 132 | - <% end %> | |
| 133 | - </span> | |
| 134 | - | |
| 135 | - <div class="formfield type-text" style="display: inline-block;"> | |
| 136 | - <% valor = @person.custom_fields[key] ? @person.custom_fields[key][:value] : "" %> | |
| 137 | - <%= text_field_tag( "profile_data[custom_fields][#{key}][value]", valor, :size => 30 ) %> | |
| 138 | - </div> | |
| 139 | - | |
| 140 | - </div> | |
| 141 | - | |
| 142 | - <%= profile_field_privacy_selector @person, key %> | |
| 143 | - | |
| 144 | - </div> | |
| 145 | - <% end %> | |
| 146 | - | |
| 147 | - <% end %> | |
| 148 | - | |
| 149 | - <% } %> | |
| 150 | - | |
| 151 | 119 | <% template_custom_fields.each { |key,value| %> |
| 152 | 120 | |
| 153 | - <% unless @person.custom_fields.include?(key) %> | |
| 121 | + <div class="field-with-privacy-selector"> | |
| 122 | + <div class="formfieldline"> | |
| 154 | 123 | |
| 155 | - <% if value['active'] %> | |
| 156 | - <div class="field-with-privacy-selector"> | |
| 157 | - <div class="formfieldline"> | |
| 158 | - | |
| 159 | - <span style="display: block;"> | |
| 160 | - <% if value['required'] %> | |
| 161 | - <%= label_tag value[:label] + ' (*)', nil, class: 'required' %> | |
| 162 | - <% else %> | |
| 163 | - <%= label_tag value[:label] %> | |
| 164 | - <% end %> | |
| 165 | - </span> | |
| 166 | - | |
| 167 | - <div class="formfield type-text" style="display: inline-block;"> | |
| 168 | - <% valor = @person.custom_fields[key] ? @person.custom_fields[key][:value] : "" %> | |
| 169 | - <%= text_field_tag( "profile_data[custom_fields][#{key}][value]", valor, :size => 30 ) %> | |
| 170 | - </div> | |
| 124 | + <span style="display: block;"> | |
| 125 | + <% if value[:required] %> | |
| 126 | + <%= label_tag value[:label] + ' (*)', nil, class: 'required' %> | |
| 127 | + <% else %> | |
| 128 | + <%= label_tag value[:label] %> | |
| 129 | + <% end %> | |
| 130 | + </span> | |
| 171 | 131 | |
| 132 | + <div class="formfield type-text" style="display: inline-block;"> | |
| 133 | + <% valor = @person.custom_fields[key] ? @person.custom_fields[key][:value] : "" %> | |
| 134 | + <%= text_field_tag( "profile_data[custom_fields][#{key}][value]", valor, :size => 30 ) %> | |
| 172 | 135 | </div> |
| 173 | 136 | |
| 174 | - <%= profile_field_privacy_selector @person, key %> | |
| 175 | - | |
| 176 | 137 | </div> |
| 177 | - <% end %> | |
| 178 | 138 | |
| 179 | - <% end %> | |
| 139 | + <%= profile_field_privacy_selector @person, key %> | |
| 140 | + | |
| 141 | + </div> | |
| 180 | 142 | |
| 181 | 143 | <% } %> |
| 182 | 144 | ... | ... |