infopark_rails_connector 6.9.1.3.22208381 → 6.9.2.1.125136549

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. data/README +2 -14
  2. data/app/assets/javascripts/infopark_rails_connector.js.erb +0 -3
  3. data/app/assets/stylesheets/infopark_rails_connector.css.erb +0 -4
  4. data/app/controllers/rails_connector/default_cms_controller.rb +0 -1
  5. data/app/helpers/rails_connector/default_cms_helper.rb +0 -6
  6. data/app/helpers/rails_connector/layout_helper.rb +2 -7
  7. data/app/views/cms/index.html.erb +0 -2
  8. data/app/views/errors/410_gone.html.erb +2 -2
  9. data/config/ca-bundle.crt +1 -1
  10. data/config/cms_routes.rb +2 -1
  11. data/config/locales/de.rails_connector.views.yml +0 -78
  12. data/config/locales/en.rails_connector.views.yml +0 -78
  13. data/lib/generators/rails_connector/install/install_generator.rb +0 -1
  14. data/lib/generators/rails_connector/install/templates/initializers/rails_connector.rb +0 -27
  15. data/lib/rails_connector/cms_accessible.rb +0 -4
  16. data/lib/rails_connector/configuration.rb +9 -72
  17. data/lib/rails_connector/engine.rb +0 -18
  18. metadata +3 -181
  19. data/app/assets/images/ratings/star.gif +0 -0
  20. data/app/assets/images/time_machine/calendar-menuarrow.gif +0 -0
  21. data/app/assets/images/time_machine/calendar_bg.png +0 -0
  22. data/app/assets/images/time_machine/icon.png +0 -0
  23. data/app/assets/images/time_machine/slider_bg.png +0 -0
  24. data/app/assets/images/time_machine/slider_handle.png +0 -0
  25. data/app/assets/images/time_machine/timemachine_bg.png +0 -0
  26. data/app/assets/javascripts/comments.js +0 -29
  27. data/app/assets/javascripts/initializer.js +0 -9
  28. data/app/assets/javascripts/ratings.js +0 -26
  29. data/app/assets/javascripts/time_machine.js +0 -8
  30. data/app/assets/javascripts/time_machine/calendar-setup.js +0 -200
  31. data/app/assets/javascripts/time_machine/calendar.js +0 -1806
  32. data/app/assets/javascripts/time_machine/lang/calendar-de.js +0 -127
  33. data/app/assets/javascripts/time_machine/lang/calendar-en.js +0 -127
  34. data/app/assets/javascripts/time_machine/lang/calendar-es.js +0 -129
  35. data/app/assets/javascripts/time_machine/lang/calendar-fr.js +0 -125
  36. data/app/assets/javascripts/time_machine/lang/calendar-it.js +0 -124
  37. data/app/assets/javascripts/time_machine/slider.js +0 -278
  38. data/app/assets/stylesheets/ratings.css +0 -97
  39. data/app/assets/stylesheets/time_machine.css +0 -6
  40. data/app/assets/stylesheets/time_machine/time_machine.css +0 -292
  41. data/app/controllers/comments_controller.rb +0 -6
  42. data/app/controllers/crm_form_controller.rb +0 -6
  43. data/app/controllers/rails_connector/default_comments_controller.rb +0 -70
  44. data/app/controllers/rails_connector/default_crm_form_controller.rb +0 -167
  45. data/app/controllers/rails_connector/default_ratings_controller.rb +0 -84
  46. data/app/controllers/rails_connector/default_rss_controller.rb +0 -30
  47. data/app/controllers/rails_connector/default_search_controller.rb +0 -60
  48. data/app/controllers/rails_connector/default_user_controller.rb +0 -269
  49. data/app/controllers/rails_connector/time_machine_controller.rb +0 -48
  50. data/app/controllers/ratings_controller.rb +0 -6
  51. data/app/controllers/rss_controller.rb +0 -6
  52. data/app/controllers/search_controller.rb +0 -6
  53. data/app/controllers/seo_sitemap_controller.rb +0 -12
  54. data/app/controllers/user_controller.rb +0 -6
  55. data/app/helpers/crm_form_helper.rb +0 -6
  56. data/app/helpers/rails_connector/default_crm_form_helper.rb +0 -58
  57. data/app/helpers/rails_connector/default_ratings_helper.rb +0 -38
  58. data/app/helpers/rails_connector/default_user_helper.rb +0 -90
  59. data/app/helpers/rails_connector/error_messages_helper.rb +0 -23
  60. data/app/helpers/rails_connector/link_helper.rb +0 -93
  61. data/app/helpers/rails_connector/mandatory_label_helper.rb +0 -10
  62. data/app/helpers/rails_connector/menu_helper.rb +0 -73
  63. data/app/helpers/rails_connector/micronav_helper.rb +0 -109
  64. data/app/helpers/rails_connector/seo_helper.rb +0 -44
  65. data/app/helpers/rails_connector/time_machine_helper.rb +0 -26
  66. data/app/helpers/rails_connector/tracking_helper.rb +0 -32
  67. data/app/helpers/ratings_helper.rb +0 -4
  68. data/app/helpers/user_helper.rb +0 -6
  69. data/app/mailers/confirmation_mailer.rb +0 -15
  70. data/app/models/crm_form.rb +0 -2
  71. data/app/models/rails_connector/default_comment.rb +0 -30
  72. data/app/models/rails_connector/default_rating.rb +0 -22
  73. data/app/views/cms/_comments.html.erb +0 -44
  74. data/app/views/cms/_rating.html.erb +0 -31
  75. data/app/views/comments/_comment.html.erb +0 -28
  76. data/app/views/confirmation_mailer/register_confirmation.erb +0 -5
  77. data/app/views/confirmation_mailer/reset_password.erb +0 -5
  78. data/app/views/crm_form/_flash_messages.html.erb +0 -11
  79. data/app/views/crm_form/_form.html.erb +0 -17
  80. data/app/views/crm_form/confirmation.html.erb +0 -3
  81. data/app/views/crm_form/index.html.erb +0 -5
  82. data/app/views/crm_form/not_logged_in.html.erb +0 -1
  83. data/app/views/layouts/rails_connector/time_machine.html.erb +0 -12
  84. data/app/views/rails_connector/time_machine/index.html.erb +0 -88
  85. data/app/views/rss/_item.rss.builder +0 -11
  86. data/app/views/rss/index.rss.builder +0 -11
  87. data/app/views/search/_hit.html.erb +0 -11
  88. data/app/views/search/_hits.html.erb +0 -11
  89. data/app/views/search/_mini_panel.html.erb +0 -4
  90. data/app/views/search/_pagination.html.erb +0 -5
  91. data/app/views/search/_panel.html.erb +0 -4
  92. data/app/views/search/search.html.erb +0 -12
  93. data/app/views/seo_sitemap/show.xml.builder +0 -16
  94. data/app/views/user/_flash_messages.html.erb +0 -11
  95. data/app/views/user/edit.html.erb +0 -6
  96. data/app/views/user/edit_password.html.erb +0 -11
  97. data/app/views/user/forgot_password.html.erb +0 -7
  98. data/app/views/user/login.html.erb +0 -15
  99. data/app/views/user/new.html.erb +0 -13
  100. data/app/views/user/profile.html.erb +0 -8
  101. data/app/views/user/register_pending.html.erb +0 -1
  102. data/app/views/user/set_password.html.erb +0 -14
  103. data/config/locales/de.rails_connector.controllers.yml +0 -28
  104. data/config/locales/de.rails_connector.helpers.yml +0 -9
  105. data/config/locales/de.rails_connector.models.yml +0 -8
  106. data/config/locales/en.rails_connector.controllers.yml +0 -28
  107. data/config/locales/en.rails_connector.helpers.yml +0 -9
  108. data/config/locales/en.rails_connector.models.yml +0 -8
  109. data/config/routes.rb +0 -31
  110. data/lib/generators/rails_connector/comments/comments_generator.rb +0 -20
  111. data/lib/generators/rails_connector/comments/templates/migration.rb +0 -16
  112. data/lib/generators/rails_connector/install/templates/initializers/crm_connector.rb +0 -22
  113. data/lib/generators/rails_connector/ratings/ratings_generator.rb +0 -20
  114. data/lib/generators/rails_connector/ratings/templates/migration.rb +0 -14
  115. data/lib/rails_connector/commentable.rb +0 -23
  116. data/lib/rails_connector/configuration/google_analytics.rb +0 -29
  117. data/lib/rails_connector/configuration/rss.rb +0 -46
  118. data/lib/rails_connector/crm.rb +0 -282
  119. data/lib/rails_connector/googlebot_checker.rb +0 -46
  120. data/lib/rails_connector/liquid_support.rb +0 -25
  121. data/lib/rails_connector/liquid_support/field_value_drop.rb +0 -22
  122. data/lib/rails_connector/liquid_support/general_helper_tag.rb +0 -44
  123. data/lib/rails_connector/liquid_support/link_drop.rb +0 -22
  124. data/lib/rails_connector/liquid_support/liquid_template_handler.rb +0 -162
  125. data/lib/rails_connector/liquid_support/named_object_drop.rb +0 -14
  126. data/lib/rails_connector/liquid_support/obj_drop.rb +0 -43
  127. data/lib/rails_connector/liquid_support/obj_filters.rb +0 -77
  128. data/lib/rails_connector/rateable.rb +0 -57
  129. data/lib/rails_connector/seo.rb +0 -52
  130. data/lib/rails_connector/ses.rb +0 -81
  131. data/lib/rails_connector/syndicateable.rb +0 -11
  132. data/lib/search_request.rb +0 -2
@@ -1,6 +0,0 @@
1
- /*
2
- * This is a manifest file that'll automatically include all the stylesheets available in this directory
3
- * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
4
- * the top of the compiled file, but it's generally better to create a new file per style scope.
5
- *= require_tree ./time_machine
6
- */
@@ -1,292 +0,0 @@
1
- body {
2
- color:#fff;
3
- font-size:11px;
4
- font-family:'Lucida Grande', Helvetica, Verdana, Arial, sans-serif;
5
- background-color:#333;
6
- }
7
-
8
- #time-machine {
9
- width:425px;
10
- height:300px;
11
- margin:auto;
12
- margin-top:20px;
13
- padding:0;
14
- background:transparent url(../time_machine/timemachine_bg.png) no-repeat;
15
- }
16
-
17
- #slider {
18
- width:375px;
19
- height:50px;
20
- margin-left:25px;
21
- margin-top:15px;
22
- }
23
-
24
- #track {
25
- width:375px;
26
- height:23px;
27
- background:transparent url(../time_machine/slider_bg.png) no-repeat;
28
- }
29
-
30
- #handle {
31
- height:21px;
32
- width:50px;
33
- margin:2px;
34
- padding-right:2px;
35
- background:transparent url(../time_machine/slider_handle.png) no-repeat 0 2px;
36
- cursor:move;
37
- }
38
-
39
- #display {
40
- padding-top:5px;
41
- width:375px;
42
- text-align:center;
43
- }
44
-
45
- #calendar {
46
- width:250px;
47
- height:200px;
48
- padding-top:20px;
49
- margin-left:87px;
50
- }
51
-
52
- /* The main calendar widget. DIV containing a table. */
53
-
54
- .calendar {
55
- height:200px;
56
- position:relative;
57
- display: none;
58
- font-size: 11px;
59
- color: #fff;
60
- cursor: default;
61
- background:transparent url(../time_machine/calendar_bg.png) no-repeat;
62
- font-family: tahoma,verdana,sans-serif;
63
- }
64
-
65
- .calendar table {
66
- margin:10px;
67
- font-size: 11px;
68
- color: #fff;
69
- cursor: default;
70
- background:none;
71
- font-family: tahoma,verdana,sans-serif;
72
- }
73
-
74
- /* Header part -- contains navigation buttons and day names. */
75
-
76
- .calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
77
- text-align: center;
78
- padding: 1px;
79
- border-bottom: 1px solid #666;
80
- }
81
-
82
- .calendar .nav {
83
- background: transparent url(../time_machine/calendar-menuarrow.gif) no-repeat 100% 100%;
84
- }
85
-
86
- .calendar thead .title { /* This holds the current "month, year" */
87
- font-weight: bold;
88
- padding: 1px;
89
- border: 1px solid #000;
90
- background:none;
91
- color: #fff;
92
- text-align: center;
93
- border-bottom: 1px solid #666;
94
- }
95
-
96
- .calendar thead .headrow { /* Row <TR> containing navigation buttons */
97
- }
98
-
99
- .calendar thead .daynames { /* Row <TR> containing the day names */
100
- }
101
-
102
- .calendar thead .name { /* Cells <TD> containing the day names */
103
- border-bottom:1px solid #666;
104
- padding:2px;
105
- text-align:center;
106
- background:none;
107
- }
108
-
109
- .calendar thead .weekend { /* How a weekend day name shows in header */
110
- color: #fff;
111
- }
112
-
113
- .calendar thead .hilite { /* How do the buttons in header appear when hover */
114
- padding: 0px;
115
- background-color: #999;
116
- }
117
-
118
- .calendar thead .active { /* Active (pressed) buttons in header */
119
- padding: 2px 0px 0px 2px;
120
- background-color: #fff;
121
- color:#333;
122
- }
123
-
124
- /* The body part -- contains all the days in month. */
125
-
126
- .calendar tbody .day { /* Cells <TD> containing month days dates */
127
- width: 2em;
128
- text-align: right;
129
- padding: 2px 4px 2px 2px;
130
- }
131
- .calendar tbody .day.othermonth {
132
- font-size: 80%;
133
- color: #aaa;
134
- }
135
- .calendar tbody .day.othermonth.oweekend {
136
- color: #faa;
137
- }
138
-
139
- .calendar table .wn {
140
- padding: 2px 3px 2px 2px;
141
- border-right: 1px solid #666;
142
- background:none;
143
- }
144
-
145
- .calendar tbody .rowhilite td {
146
- background: #999;
147
- }
148
-
149
- .calendar tbody .rowhilite td.wn {
150
- background: #999;
151
- }
152
-
153
- .calendar tbody td.hilite { /* Hovered cells <TD> */
154
- background:#666
155
- }
156
-
157
- .calendar tbody td.active { /* Active (pressed) cells <TD> */
158
- padding: 2px 2px 0px 2px;
159
- border: 1px solid;
160
- border-color:#000;
161
- }
162
-
163
- .calendar tbody td.selected { /* Cell showing selected date */
164
- font-weight: bold;
165
- padding: 2px 2px 0px 2px;
166
- border: 1px solid;
167
- border-color: #000;
168
- background:#aaa;
169
- color:#fff;
170
- }
171
-
172
- .calendar tbody td.weekend { /* Cells showing weekend days */
173
- color: #f00;
174
- }
175
-
176
- .calendar tbody td.today { /* Cell showing today date */
177
- font-weight: bold;
178
- color: #3366ff;
179
- }
180
-
181
- .calendar tbody .disabled { color: #999; }
182
-
183
- .calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
184
- visibility: hidden;
185
- }
186
-
187
- .calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
188
- display: none;
189
- }
190
-
191
- /* The footer part -- status bar and "Close" button */
192
-
193
- .calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
194
- }
195
-
196
- .calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
197
- background: #e8f0f4;
198
- padding: 2px;
199
- border: 1px solid #000;
200
- background: #666;
201
- color: #fff;
202
- text-align: center;
203
- }
204
-
205
- .calendar tfoot .hilite { /* Hover style for buttons in footer */
206
- border-top: 1px solid #fff;
207
- border-right: 1px solid #000;
208
- border-bottom: 1px solid #000;
209
- border-left: 1px solid #fff;
210
- padding: 1px;
211
- background: #d8e0e4;
212
- }
213
-
214
- .calendar tfoot .active { /* Active (pressed) style for buttons in footer */
215
- padding: 2px 0px 0px 2px;
216
- border-top: 1px solid #000;
217
- border-right: 1px solid #fff;
218
- border-bottom: 1px solid #fff;
219
- border-left: 1px solid #000;
220
- }
221
-
222
- /* Combo boxes (menus that display months/years for direct selection) */
223
-
224
- .calendar .combo {
225
- position: absolute;
226
- display: none;
227
- width: 4em;
228
- top: 0px;
229
- left: 0px;
230
- cursor: default;
231
- background: #999;
232
- font-size: 90%;
233
- padding: 1px;
234
- z-index: 100;
235
- }
236
-
237
- .calendar .combo .label,
238
- .calendar .combo .label-IEfix {
239
- text-align: center;
240
- padding: 1px;
241
- }
242
-
243
- .calendar .combo .label-IEfix {
244
- width: 4em;
245
- }
246
-
247
- .calendar .combo .active {
248
- background: #c8d0d4;
249
- padding: 0px;
250
- }
251
-
252
- .calendar .combo .hilite {
253
- background: #333;
254
- color: #fff;
255
- }
256
-
257
- .calendar td.time {
258
- border-top: 1px solid #000;
259
- padding: 1px 0px;
260
- text-align: center;
261
- background-color: #e8f0f4;
262
- }
263
-
264
- .calendar td.time .hour,
265
- .calendar td.time .minute,
266
- .calendar td.time .ampm {
267
- padding: 0px 3px 0px 4px;
268
- border: 1px solid #889;
269
- font-weight: bold;
270
- background-color: #fff;
271
- }
272
-
273
- .calendar td.time .ampm {
274
- text-align: center;
275
- }
276
-
277
- .calendar td.time .colon {
278
- padding: 0px 2px 0px 3px;
279
- font-weight: bold;
280
- }
281
-
282
- .calendar td.time span.hilite {
283
- border-color: #000;
284
- background-color: #667;
285
- color: #fff;
286
- }
287
-
288
- .calendar td.time span.active {
289
- border-color: #f00;
290
- background-color: #000;
291
- color: #0f0;
292
- }
@@ -1,6 +0,0 @@
1
- # This controller inherits all of its behavior from
2
- # {RailsConnector::DefaultCommentsController}.
3
- #
4
- # {CommentsController} is referenced by the Rails Connector routes.
5
- class CommentsController < RailsConnector::DefaultCommentsController
6
- end
@@ -1,6 +0,0 @@
1
- # This controller inherits all of its behavior from
2
- # {RailsConnector::DefaultCrmFormController}.
3
- #
4
- # {CrmFormController} is referenced by the Rails Connector routes.
5
- class CrmFormController < RailsConnector::DefaultCrmFormController
6
- end
@@ -1,70 +0,0 @@
1
- module RailsConnector
2
- #
3
- # This class provides a default controller implementation for comment creation.
4
- # It should only be used indirectly via a subclass named {CommentsController}.
5
- #
6
- # The controller actions only respond to XMLHttpRequests (Ajax).
7
- class DefaultCommentsController < ApplicationController
8
- layout nil
9
-
10
- before_filter :ensure_object_is_commentable, :only => :create
11
- before_filter :ensure_admin, :only => :delete
12
-
13
- #
14
- # Creates a comment and calls the +after_create+ callback.
15
- #
16
- def create
17
- respond_to do |format|
18
- format.js do
19
- @comment = @obj.comments.create(
20
- if logged_in?
21
- params[:comment].merge({
22
- :name => "#{current_user.first_name} #{current_user.last_name}",
23
- :email => current_user.email
24
- })
25
- else
26
- params[:comment]
27
- end
28
- )
29
- if @comment.errors.empty?
30
- after_create
31
- html = render_to_string(:partial => "comments/comment", :locals => {:comment => @comment})
32
- render :json => {:comment => html}.to_json
33
- else
34
- render :json => {:errors => @comment.errors.keys}.to_json
35
- end
36
- end
37
- end
38
- end
39
-
40
- #
41
- # Deletes a comment.
42
- # Allowed only to an admin.
43
- #
44
- def delete
45
- respond_to do |format|
46
- format.html do
47
- @comment = Comment.find(params[:id])
48
- @comment.destroy
49
- redirect_to :back
50
- end
51
- end
52
- end
53
-
54
- private
55
-
56
- def ensure_object_is_commentable
57
- @obj = Obj.find(params[:obj_id])
58
- render :nothing => true unless @obj.allow_comments?
59
- unless @obj.allow_anonymous_comments? or logged_in?
60
- render '/errors/403_forbidden', :status => 403
61
- end
62
- end
63
-
64
- def ensure_admin
65
- render("errors/403_forbidden", :status => 403) unless admin?
66
- end
67
-
68
- def after_create; end
69
- end
70
- end
@@ -1,167 +0,0 @@
1
- module RailsConnector
2
- # This class provides a default controller implementation for WebCRM form using custom attributes.
3
- # It should be customized by subclassing.
4
- class DefaultCrmFormController < DefaultCmsController
5
-
6
- include Crm::Localizable
7
- include Crm::Sanitization
8
-
9
- before_filter :authorize
10
-
11
- class_attribute :editable_attributes_on_register
12
- self.editable_attributes_on_register = {
13
- :contact => [:gender, :first_name, :last_name, :email]
14
- }
15
-
16
- def index
17
- unless logged_in?
18
- @user = Infopark::Crm::Contact.new(:language => default_language)
19
- @user.load(sanitize_user_params(params[:user], editable_attributes_on_register))
20
- end
21
- @activity = Infopark::Crm::Activity.new(:state => activity_state, :kind => activity_kind)
22
- @activity.load(sanitize_activity_params(params[:activity]))
23
- if request.post?
24
- if logged_in?
25
- @activity.contact_id = current_user.id
26
- else
27
- if @user.email.blank?
28
- @user.errors.add(:email, t(:'rails_connector.errors.messages.blank'))
29
- raise ActiveResource::ResourceInvalid.new("E-mail can't be blank")
30
- end
31
- @user.save!
32
- @activity.contact_id = @user.id
33
- end
34
- before_saving_activity(@activity)
35
- @activity.save
36
- raise ActiveResource::ResourceInvalid, "activity invalid" unless @activity.valid?
37
- after_saving_activity(@activity)
38
- end
39
- rescue ActiveResource::ResourceInvalid => e
40
- flash.now[:error] = t("rails_connector.controllers.crm_form.submit_failed")
41
- end
42
-
43
- protected
44
-
45
- # Returns the activity kind to create.
46
- # Override this method for custom logic to get from a given OBJ to an activity kind.
47
- #
48
- # Defaults to +@obj[:activity_kind]+ or 'contact form' if the former is +nil+.
49
- def activity_kind
50
- @obj[:activity_kind] || 'contact form'
51
- end
52
-
53
- # Returns the state of a new activity.
54
- #
55
- # Defaults to the first state assigned to +activity_kind+.
56
- def activity_state
57
- Infopark::Crm::CustomType.find(activity_kind).states.first
58
- end
59
-
60
- # Returns the language for a new contact, in case you don't have a language field in your form.
61
- #
62
- # If you want your visitors to choose their language, don't override this method!
63
- # Instead, include :language in your +editable_attributes_on_register+ and add
64
- # an additional form field to the corresponding view.
65
- #
66
- # Defaults to the current locale.
67
- def default_language
68
- I18n.locale.to_s
69
- end
70
-
71
- # Provides a callback to change the given activity in-place before saving it.
72
- # Be aware that this method may modify the argument.
73
- #
74
- # This method may be used to prepend the activity's title or otherwise customize
75
- # the behavior without having to override #index.
76
- #
77
- # By default, it assigns a default title if +has_title_input_field?+ is +false+.
78
- def before_saving_activity(activity)
79
- activity.title = "Website form submission" unless has_title_input_field?
80
- end
81
-
82
- # Provides a callback after saving the activity.
83
- # This method may be overridden to render a confirmation text,
84
- # or redirect the user to a separate confirmation page.
85
- #
86
- # The method is also available as helper in your views.
87
- #
88
- # By default, it renders crm_form/confirmation
89
- def after_saving_activity(activity)
90
- render 'crm_form/confirmation'
91
- end
92
-
93
- # Used by views to determine if input field for title should be rendered.
94
- # Override this method to return +false+ if you want to set the title programmatically.
95
- #
96
- # By default, it returns +true+
97
- def has_title_input_field?
98
- true
99
- end
100
- helper_method :has_title_input_field?
101
-
102
- # Sanitizes the given hash of POST parameters, cleaning out any key-value pairs that are
103
- # potentially dangerous if set by the user.
104
- # This prevents users from setting arbitrary activity properties, such as kind or state,
105
- # and custom attributes that are not to be set by users.
106
- #
107
- # By default, it returns a hash only with title and custom values.
108
- def sanitize_activity_params(activity_params_or_nil)
109
- activity_params_whitelist = [:title]
110
- (activity_params_or_nil || {}).reject do |attr, value|
111
- !(attr.starts_with?('custom_') && allow_custom_attribute?(attr)) &&
112
- !activity_params_whitelist.include?(attr.to_sym)
113
- end
114
- end
115
-
116
- # Default before_filter for this controller that renders
117
- # +crm_form/not_logged_in+ if the user is not logged in.
118
- #
119
- # Drop a custom view to change the look, or override this method
120
- # if you want different behavior, like a redirect.
121
- def authorize
122
- render 'not_logged_in' unless logged_in? || allow_anonymous?
123
- end
124
-
125
- # Returns +true+ if users should see the form even when they are not logged in.
126
- # In that case, the WebCRM activity includes a registration request so that a contact
127
- # can be created from it.
128
- #
129
- # The method is also available as helper in your views.
130
- #
131
- # By default, it returns +false+, i.e. only logged-in users can see the form
132
- def allow_anonymous?
133
- false
134
- end
135
- helper_method :allow_anonymous?
136
-
137
- # Returns +true+ if users should be able to fill in the given custom attribute.
138
- #
139
- # The method is also available as helper and used in +custom_fields_for+ in
140
- # +CrmFormHelper+.
141
- #
142
- # By default, it returns +true+ for any attribute, i.e. every custom attribute
143
- # can be filled in by the user.
144
- def allow_custom_attribute?(attribute_name)
145
- true
146
- end
147
- helper_method :allow_custom_attribute?
148
-
149
- # Returns a hash of attributes users are allowed to change in their profile.
150
- # Use it in your views and your controller.
151
- # The hash has only one key, +:contact+, with an array of symbols.
152
- #
153
- # Do not override this (instance) method. Assign a new hash in your subclass:
154
- #
155
- # class CrmFormController < RailsConnector::DefaultCrmFormController
156
- #
157
- # self.editable_attributes_on_register = {
158
- # :contact => [:first_name, :last_name, :email]
159
- # }
160
- #
161
- # end
162
- def editable_attributes_on_register
163
- self.class.editable_attributes_on_register
164
- end
165
- helper_method :editable_attributes_on_register
166
- end
167
- end