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,84 +0,0 @@
1
- module RailsConnector
2
- #
3
- # This controller provides an interface for rating CMS objects.
4
- #
5
- # =Before Filters
6
- # <tt>load_object</tt>: finds the Obj instance using <tt>params[:obj_id]</tt>
7
- # <tt>ensure_object_is_rateable</tt>: renders nothing unless <tt>@obj.allow_rating?</tt> AND <tt>user_has_already_rated?(@obj.id)</tt> return <tt>true</tt>.
8
- #
9
- # =Hooks
10
- #
11
- # <tt>after_create</tt>: redefine this method in your application in order to specify additional functionality that should occur after a rating has been created.
12
- #
13
- # Example:
14
- #
15
- # class RatingsController < RailsConnector::DefaultRatingsController
16
- # private
17
- # def after_create
18
- # # * send an email
19
- # # * create an inquiry in the OMC
20
- # end
21
- # end
22
- class DefaultRatingsController < ApplicationController
23
-
24
- before_filter :load_object
25
- before_filter :ensure_object_is_rateable, :only => [:rate]
26
- before_filter :ensure_admin, :only => :reset
27
-
28
- layout nil
29
-
30
- # Rate a CMS object.
31
- def rate
32
- respond_to do |format|
33
- format.html do
34
- score = params[:score].to_i
35
- if @obj.rate(score)
36
- store_rating_in_session(@obj.id, score)
37
- after_create
38
- end
39
- render :partial => "cms/rating"
40
- end
41
- end
42
- end
43
-
44
- # Reset rating for a CMS object.
45
- def reset
46
- respond_to do |format|
47
- format.html do
48
- @obj.reset_rating
49
- store_rating_in_session(@obj.id, nil)
50
- redirect_to :back
51
- end
52
- end
53
- end
54
-
55
- private
56
-
57
- def after_create;end
58
-
59
- def load_object
60
- @obj = Obj.find(params[:id])
61
- end
62
-
63
- def ensure_object_is_rateable
64
- render(:nothing => true) if (!@obj.allow_rating? || user_has_already_rated?(@obj.id))
65
- unless @obj.allow_anonymous_rating? or logged_in?
66
- render '/errors/403_forbidden', :status => 403
67
- end
68
- end
69
-
70
- def user_has_already_rated?(obj_id)
71
- session[:rated_objs] && session[:rated_objs][obj_id]
72
- end
73
-
74
- def store_rating_in_session(obj_id, score)
75
- session[:rated_objs] ||= {}
76
- session[:rated_objs][obj_id] = score
77
- end
78
-
79
- def ensure_admin
80
- render("errors/403_forbidden", :status => 403) unless admin?
81
- end
82
- end
83
-
84
- end
@@ -1,30 +0,0 @@
1
- module RailsConnector
2
- #
3
- # This class provides a default controller implementation for rendering an RSS feed.
4
- # It should be customized by subclassing.
5
- #
6
- # The RSS feature assumes that you have a root object specified whose direct children will be used as feed entries.
7
- #
8
- # Specify the RSS root in
9
- # <code><em>RAILS_ROOT</em>/config/initializers/rails_connector.rb</code>:
10
- # RailsConnector::Configuration::Rss.root = lambda { NamedLink.get_object('news') }
11
- class DefaultRssController < DefaultCmsController
12
- #
13
- # This action renders the built-in RSS feed.
14
- #
15
- # To customize feed's layout, override either this method, or the apropriate view.
16
- #
17
- # @return [void]
18
- def index
19
- respond_to do |format|
20
- format.rss
21
- end
22
- end
23
-
24
- protected
25
-
26
- def load_object
27
- @obj = Configuration::Rss.root
28
- end
29
- end
30
- end
@@ -1,60 +0,0 @@
1
- require 'will_paginate'
2
-
3
- module RailsConnector
4
-
5
- # This class provides a default controller implementation for searching.
6
- # It should be customized by subclassing.
7
- class DefaultSearchController < ApplicationController
8
- class_attribute :options
9
- self.options = {:limit => 10}
10
-
11
- # Fetches search hits and paginates them.
12
- # In case of an error, flashes appropriate error messages.
13
- #
14
- # For use in views, hits are stored in the <tt>@hits</tt> variable.
15
- # Pagination is done using the limit option (defaults to 10).
16
- # You can change that limit by subclassing <tt>DefaultSearchController</tt>
17
- # and then overwriting to <tt>CustomSearchController.options = {:limit => X}</tt>.
18
- #
19
- # To customize the pagination, you should subclass DefaultSearchController:
20
- #
21
- # class SearchController < RailsConnector::DefaultSearchController
22
- # def search
23
- # # What this method should do:
24
- # # * Initialize a SearchRequest obj
25
- # # * Paginate the results
26
- # # * Fill the @hits variable for your views
27
- # # * Flash on errors
28
- # end
29
- # end
30
- def search
31
- unless (@query = params[:q]).blank?
32
- @hits = WillPaginate::Collection.create(current_page, options[:limit]) do |pager|
33
- result = SearchRequest.new(@query, options.merge(:offset => pager.offset)).fetch_hits
34
- pager.replace(result)
35
- pager.total_entries = result.total_hits
36
- end
37
- else
38
- flash.now[:errors] = I18n.t(:"rails_connector.controllers.search.specify_query")
39
- end
40
- rescue SES::SearchError => e
41
- logger.error(e)
42
- flash.now[:errors] = I18n.t(:"rails_connector.controllers.search.try_another_key")
43
- rescue Errno::ECONNREFUSED, Errno::EAFNOSUPPORT
44
- flash.now[:errors] = I18n.t(:"rails_connector.controllers.search.search_disabled")
45
- end
46
-
47
- private
48
-
49
- # This is just a convenience wrapper so the +options+ hash can be
50
- # accessed easily from an instance of this class.
51
- def options
52
- self.class.options
53
- end
54
-
55
- def current_page
56
- [params[:page].to_i, 1].max
57
- end
58
- end
59
-
60
- end
@@ -1,269 +0,0 @@
1
- require 'recaptcha'
2
- require 'active_resource/exceptions'
3
-
4
- module RailsConnector
5
-
6
- # This class provides a default controller implementation for user functionality.
7
- # It should be customized by subclassing.
8
- #
9
- # To change how all actions contacting the WebCRM behave in case of an WebCRM error,
10
- # override +on_crm_error+ in your subclassed controller. See Crm::Callbacks for details.
11
- #
12
- # To override what attributes are writable by the user when registering or editing profiles,
13
- # use +editable_attributes_on_register+ and +editable_attributes_on_edit+, respectively.
14
- # This can be done in your <tt>rails_connector.rb</tt> or in +UserController+ directly.
15
- #
16
- # By default, users can submit their first name, last name, email and company name.
17
- class DefaultUserController < ApplicationController
18
-
19
- before_filter :check_editable_attribute_configuration
20
- before_filter :redirect_to_login_unless_logged_in, :only => [
21
- :edit, :edit_password, :profile
22
- ]
23
- before_filter :check_recaptcha_keypair
24
- around_filter :handle_crm_errors
25
-
26
- cattr_accessor :editable_attributes_on_register, :editable_attributes_on_edit
27
- self.editable_attributes_on_register = {
28
- :contact => [:gender, :first_name, :last_name, :email, :phone, :language],
29
- }
30
- self.editable_attributes_on_edit = {
31
- :contact => [:first_name, :last_name, :email, :phone, :language],
32
- }
33
-
34
- include Crm::Localizable
35
- include Crm::Sanitization
36
- include Crm::Callbacks
37
- include ReCaptcha::AppHelper
38
-
39
- def self.store_user_attrs_in_session=(fields)
40
- raise %Q{
41
- DefaultUserController doesn't maintain which fields are stored in the session anymore.
42
- Please use RailsConnector::Configuration.store_user_attrs_in_session instead.
43
- }
44
- end
45
-
46
- # Displays a profile page containing links to all available actions
47
- def profile
48
- end
49
-
50
- # Logs a CRM user in.
51
- #
52
- # After successful login, user attributes are stored in <tt>session[:user]</tt>.
53
- #
54
- # To change which fields are stored in the session use
55
- # +RailsConnector::Configuration.store_user_attrs_in_session+.
56
- #
57
- # Use +current_user+ for a Contact object of the attributes stored in the session.
58
- #
59
- # The user will be redirected to the path given in the return_to param. If no
60
- # return_to param is set, the user will be redirected to the profile page.
61
- #
62
- # If you merely want to change what happens before or after a user is authenticated,
63
- # do not override this method but override +before_authenticate+ or +after_authenticate+.
64
- def login
65
- if request.post?
66
- @user = Infopark::Crm::Contact.new(params[:user] || {:login => nil, :password => nil})
67
- before_authenticate
68
- @user = Infopark::Crm::Contact.authenticate(@user.login, @user.password)
69
- if @user
70
- after_authenticate
71
- flash[:notice] = tcon('login_successful')
72
- self.current_user = @user
73
- redirect_to params[:return_to].blank? ?
74
- user_path(:action => 'profile') :
75
- params[:return_to]
76
- else
77
- flash.now[:error] = tcon('login_failed')
78
- end
79
- end
80
- rescue Infopark::Crm::Errors::AuthenticationFailed, ActiveResource::ResourceInvalid
81
- flash.now[:error] = tcon('login_failed')
82
- ensure
83
- @user.password = nil if @user
84
- end
85
-
86
- # Logs the user out by setting <tt>session[:user]</tt> to +nil+.
87
- #
88
- # To change the behavior before or after invalidating the session,
89
- # override +before_logout+ or +after_logout+.
90
- def logout
91
- before_logout
92
- self.current_user = nil
93
- after_logout
94
- redirect_to params[:return_to].blank? ? root_path : params[:return_to]
95
- end
96
-
97
- # Creates a WebCRM user.
98
- #
99
- # The user login is automatically set to his/her e-mail.
100
- #
101
- # If you merely want to change what happens before or after a user is registered,
102
- # do not override this method but override +before_register+ or +after_register+.
103
- def new
104
- @user = Infopark::Crm::Contact.new
105
- # Load some default attributes so that form_for is working
106
- @user.load(Crm::CONTACT_DEFAULT_ATTRS.merge(sanitize_user_params(params[:user],
107
- self.class.editable_attributes_on_register)))
108
- if request.post?
109
- if RailsConnector::Configuration.use_recaptcha_on_user_registration &&
110
- !validate_recap(params, @user.errors)
111
- raise ActiveResource::ResourceInvalid, "captcha failed"
112
- end
113
- before_register
114
- register
115
- after_register
116
- redirect_to(:action => "register_pending")
117
- end
118
- rescue ActiveResource::ResourceInvalid
119
- flash.now[:error] = tcon('registration_failed')
120
- end
121
-
122
- def register_pending
123
- end
124
-
125
- # Lets the user change his/her user details.
126
- def edit
127
- @user = Infopark::Crm::Contact.find(current_user.id)
128
- if request.post? || request.put?
129
- @user.load(sanitize_user_params(params[:user], self.class.editable_attributes_on_edit))
130
- @user.save
131
- flash[:notice] = tcon('edit_successful')
132
- redirect_to(:action => 'profile')
133
- end
134
- rescue ActiveResource::ResourceInvalid
135
- flash.now[:error] = tcon('edit_failed')
136
- end
137
-
138
- # Lets the user change his/her password.
139
- #
140
- # Validates the new password using +validate_edit_password_params_for+.
141
- def edit_password
142
- if request.post?
143
- validate_edit_password_params_for(params[:user])
144
- @user = Infopark::Crm::Contact.authenticate(current_user.login, params[:user][:old_password])
145
- @user.password_set(params[:user][:new_password])
146
- flash[:notice] = tcon('edit_password_successful')
147
- redirect_to(:action => "profile")
148
- end
149
- rescue ActiveResource::ResourceInvalid, Infopark::Crm::Errors::AuthenticationFailed
150
- flash.now[:error] = tcon('edit_password_failed')
151
- end
152
-
153
- # Lets the user request a new password (double opt-in).
154
- #
155
- # Uses the +ConfirmationMailer+ for sending out the confirmation message.
156
- def forgot_password
157
- if request.post?
158
- user = Infopark::Crm::Contact.search(:params => {:login => params[:user][:login]}).first
159
- if user
160
- confirmation_link = set_password_url_for(user)
161
- ConfirmationMailer.reset_password(user.email, confirmation_link).deliver
162
- flash[:notice] = tcon('reset_password_successful')
163
- redirect_to(:action => "forgot_password")
164
- else
165
- flash.now[:error] = tcon('request_password_failed')
166
- end
167
- end
168
- end
169
-
170
- def set_password
171
- if request.get? && params[:token].blank?
172
- flash[:error] = tcon('token_url_invalid')
173
- elsif request.post?
174
- if params[:user][:new_password].blank?
175
- flash.now[:error] = tcon('password_cannot_be_empty')
176
- elsif params[:user][:new_password] != params[:user][:new_password_confirm]
177
- flash.now[:error] = tcon('password_does_not_match_confirmation')
178
- else
179
- Infopark::Crm::Contact.password_set(params[:user][:new_password], params[:user][:token])
180
- flash[:notice] = tcon('password_set')
181
- redirect_to(:action => 'login')
182
- end
183
- end
184
- rescue ActiveResource::ResourceNotFound => e
185
- flash[:error] = tcon('set_password_failed')
186
- end
187
-
188
- protected
189
-
190
- def check_editable_attribute_configuration
191
- raise RuntimeError if editable_attributes_on_edit[:contact].nil? ||
192
- editable_attributes_on_register[:contact].nil?
193
- rescue
194
- raise ConfigurationError, "editable_attributes in UserController is not configured correctly"
195
- end
196
-
197
- def register
198
- if @user.email.blank?
199
- @user.errors.add(:base, tcon('email_blank'))
200
- raise ActiveResource::ResourceInvalid.new("E-mail can't be blank")
201
- end
202
- @user.login = @user.email
203
- @user.save!
204
- confirmation_link = set_password_url_for(@user)
205
- ConfirmationMailer.register_confirmation(@user.email, confirmation_link).deliver
206
- flash[:notice] = tcon('registration_successful_awaiting_confirmation')
207
- end
208
-
209
- def tcon(x)
210
- t("rails_connector.controllers.user.#{x}")
211
- end
212
-
213
- ALL_CRM_ERRORS = [
214
- Errno::ECONNREFUSED,
215
- ActiveResource::ForbiddenAccess,
216
- ActiveResource::UnauthorizedAccess,
217
- ActiveResource::BadRequest
218
- ]
219
-
220
- # invoke user defined callback when an error related to WebCRM occurs
221
- def handle_crm_errors
222
- yield
223
- rescue *ALL_CRM_ERRORS => e
224
- on_crm_error(e)
225
- default_render unless performed?
226
- end
227
-
228
- # Filter to force users to login by redirecting.
229
- def redirect_to_login_unless_logged_in
230
- redirect_to login_path unless logged_in?
231
- end
232
-
233
- # Checks if constants RCC_PUB and RCC_PRIV are set (for reCaptcha)
234
- #
235
- # Used as a filter in this controller.
236
- def check_recaptcha_keypair
237
- return true unless RailsConnector::Configuration.use_recaptcha_on_user_registration
238
- unless Object.const_defined?(:RCC_PUB) && Object.const_defined?(:RCC_PRIV)
239
- raise RuntimeError, <<-EOS
240
-
241
- reCaptcha requires the constants RCC_PUB and RCC_PRIV to be set.
242
- Please sign up for the reCaptcha webservice if you haven't already done so.
243
-
244
- Then set your public key in RCC_PUB and your private key in RCC_PRIV.
245
- EOS
246
- end
247
- true
248
- end
249
-
250
- # Validates the password for a given user.
251
- #
252
- # Used by #edit_password.
253
- def validate_edit_password_params_for(params)
254
- if params[:new_password].empty? || params[:new_password] != params[:new_password_confirm]
255
- raise ActiveResource::ResourceInvalid.new(
256
- "password is empty or does not match confirmation"
257
- )
258
- end
259
- end
260
-
261
- # Generates a URL for password confirmation.
262
- def set_password_url_for(user)
263
- url_for(
264
- :action => "set_password",
265
- :token => user.password_request(:params => {:only_get_token => true})
266
- )
267
- end
268
- end
269
- end
@@ -1,48 +0,0 @@
1
- module RailsConnector
2
-
3
- class TimeMachineController < ApplicationController
4
-
5
- protect_from_forgery :except => :set_preview_time
6
-
7
- before_filter :only_available_in_editor_mode
8
-
9
- def index
10
- @language = params[:language] || 'de'
11
- @preview_time = session[:preview_time] || Time.now
12
- end
13
-
14
- # Set the preview time to the Time as specified by the parameter <tt>:preview_time</tt>.
15
- def set_preview_time
16
- if preview_time = params[:preview_time]
17
- pt = Time.from_iso(preview_time)
18
- pt = nil if pt <= Time.now
19
- handle_request pt
20
- end
21
- end
22
-
23
- # Resets the preview time, so <tt>Time::now</tt> will be used as preview time afterwards.
24
- def reset_preview_time
25
- handle_request nil
26
- end
27
-
28
- private
29
-
30
- def handle_request(preview_time)
31
- session[:preview_time] = preview_time
32
- if request.xhr?
33
- render :js => "window.location.reload();"
34
- else
35
- render :nothing => true
36
- end
37
- end
38
-
39
- def only_available_in_editor_mode
40
- unless Configuration.editor_interface_enabled?
41
- render :template => 'errors/403_forbidden', :status => 403, :content_type => Mime::HTML
42
- return false
43
- end
44
- end
45
-
46
- end
47
-
48
- end