infopark_rails_connector 6.9.1.3.22208381 → 6.9.2.1.125136549

Sign up to get free protection for your applications and to get access to all the features.
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