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 67  
68 68 def custom_fields_for_template
69 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 71 }.compact
72 72 render :text => {:ok => true, :custom_fields => custom_fields}.to_json
73 73 end
... ...
app/models/profile.rb
... ... @@ -25,8 +25,26 @@ class Profile < ActiveRecord::Base
25 25  
26 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 48 end
31 49  
32 50 def self.default_search_display
... ...
app/views/account/_signup_form.html.erb
... ... @@ -124,7 +124,7 @@
124 124 '</div>';
125 125  
126 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 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 82 <th>&nbsp;</th>
83 83 </tr>
84 84  
85   - <% @person.custom_fields.each { |key,value| %>
  85 + <% @person.custom_fields.each { |field,value| %>
86 86 <tr>
87 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 89 </td>
90 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 92 </td>
93 93 <td align="center">
94 94 <%= link_to content_tag(:span, _('Delete')), '#', onclick: "return remove_custom_field(this);", title: "Delete", class: "button icon-delete" %>
... ... @@ -110,54 +110,25 @@
110 110  
111 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 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 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 58 new_custom_field = '' +
59 59 '<tr>' +
60 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 62 '</td>' +
63 63 '<td align="center">' +
64 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 70  
71 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   -**/
... ...