infopark_rails_connector 6.8.0.210.ed204b0 → 6.8.0.322.c003f11

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 (87) hide show
  1. data/.yardopts +5 -0
  2. data/README +9 -20
  3. data/app/controllers/cms_controller.rb +3 -2
  4. data/app/controllers/comments_controller.rb +2 -2
  5. data/app/controllers/crm_form_controller.rb +5 -0
  6. data/app/controllers/pdf_controller.rb +1 -0
  7. data/app/controllers/rails_connector/default_cms_controller.rb +8 -4
  8. data/app/controllers/rails_connector/default_comments_controller.rb +1 -2
  9. data/app/controllers/rails_connector/default_crm_form_controller.rb +13 -0
  10. data/app/controllers/rails_connector/default_pdf_controller.rb +2 -0
  11. data/app/controllers/rails_connector/default_rss_controller.rb +4 -1
  12. data/app/controllers/rails_connector/default_search_controller.rb +2 -0
  13. data/app/controllers/rails_connector/default_user_controller.rb +10 -0
  14. data/app/controllers/rails_connector/pdf_external_controller.rb +2 -1
  15. data/app/controllers/rails_connector/time_machine_controller.rb +1 -1
  16. data/app/controllers/rss_controller.rb +1 -0
  17. data/app/controllers/search_controller.rb +5 -0
  18. data/app/controllers/seo_sitemap_controller.rb +2 -0
  19. data/app/controllers/user_controller.rb +5 -0
  20. data/app/helpers/cms_helper.rb +2 -1
  21. data/app/helpers/cms_routing_helper.rb +2 -1
  22. data/app/helpers/crm_form_helper.rb +4 -0
  23. data/app/helpers/rails_connector/cms_asset_helper.rb +3 -0
  24. data/app/helpers/rails_connector/default_cms_helper.rb +1 -1
  25. data/app/helpers/rails_connector/default_cms_routing_helper.rb +10 -5
  26. data/app/helpers/rails_connector/default_crm_form_helper.rb +4 -0
  27. data/app/helpers/rails_connector/default_user_helper.rb +7 -1
  28. data/app/helpers/rails_connector/display_helper.rb +7 -5
  29. data/app/helpers/rails_connector/layout_helper.rb +3 -0
  30. data/app/helpers/rails_connector/link_helper.rb +3 -0
  31. data/app/helpers/rails_connector/mandatory_label_helper.rb +1 -1
  32. data/app/helpers/rails_connector/menu_helper.rb +2 -1
  33. data/app/helpers/rails_connector/micronav_helper.rb +2 -0
  34. data/app/helpers/rails_connector/seo_helper.rb +2 -0
  35. data/app/helpers/rails_connector/table_of_contents_helper.rb +2 -0
  36. data/app/helpers/rails_connector/time_machine_helper.rb +2 -0
  37. data/app/helpers/rails_connector/tracking_helper.rb +2 -0
  38. data/app/helpers/ratings_helper.rb +1 -1
  39. data/app/helpers/user_helper.rb +4 -0
  40. data/app/mailers/confirmation_mailer.rb +5 -0
  41. data/app/models/crm_form.rb +1 -0
  42. data/app/models/rails_connector/default_comment.rb +1 -1
  43. data/app/models/rails_connector/link_list.rb +3 -1
  44. data/lib/generators/rails_connector/comments/comments_generator.rb +0 -1
  45. data/lib/generators/rails_connector/comments/templates/migration.rb +0 -1
  46. data/lib/generators/rails_connector/install/install_generator.rb +0 -1
  47. data/lib/generators/rails_connector/install/templates/obj_extensions.rb +2 -1
  48. data/lib/generators/rails_connector/ratings/ratings_generator.rb +0 -1
  49. data/lib/generators/rails_connector/ratings/templates/migration.rb +0 -1
  50. data/lib/infopark_rails_connector.rb +4 -2
  51. data/lib/rails_connector/authenticable.rb +2 -2
  52. data/lib/rails_connector/cms_accessible.rb +14 -10
  53. data/lib/rails_connector/cms_dispatch_controller.rb +0 -1
  54. data/lib/rails_connector/cms_env.rb +0 -1
  55. data/lib/rails_connector/cms_test_request.rb +1 -1
  56. data/lib/rails_connector/commentable.rb +2 -2
  57. data/lib/rails_connector/configuration/google_analytics.rb +7 -4
  58. data/lib/rails_connector/configuration/pdf_generator.rb +3 -0
  59. data/lib/rails_connector/configuration/rss.rb +8 -2
  60. data/lib/rails_connector/configuration.rb +56 -27
  61. data/lib/rails_connector/core_extensions/time.rb +1 -1
  62. data/lib/rails_connector/crm.rb +54 -46
  63. data/lib/rails_connector/engine.rb +1 -1
  64. data/lib/rails_connector/fop.rb +2 -2
  65. data/lib/rails_connector/fop_on_rails/document/dom_tree.rb +1 -1
  66. data/lib/rails_connector/fop_on_rails/document/images.rb +1 -1
  67. data/lib/rails_connector/fop_on_rails/document/tables.rb +1 -1
  68. data/lib/rails_connector/fop_on_rails/document.rb +1 -1
  69. data/lib/rails_connector/fop_on_rails.rb +2 -2
  70. data/lib/rails_connector/googlebot_checker.rb +0 -1
  71. data/lib/rails_connector/html_string.rb +2 -2
  72. data/lib/rails_connector/link_resolvable.rb +1 -1
  73. data/lib/rails_connector/liquid_support/field_value_drop.rb +1 -1
  74. data/lib/rails_connector/liquid_support/link_drop.rb +1 -1
  75. data/lib/rails_connector/liquid_support/liquid_template_handler.rb +6 -6
  76. data/lib/rails_connector/liquid_support/named_object_drop.rb +1 -1
  77. data/lib/rails_connector/liquid_support/obj_drop.rb +1 -1
  78. data/lib/rails_connector/liquid_support/obj_filters.rb +1 -1
  79. data/lib/rails_connector/liquid_support.rb +4 -2
  80. data/lib/rails_connector/markdown_string.rb +2 -2
  81. data/lib/rails_connector/rateable.rb +1 -1
  82. data/lib/rails_connector/seo.rb +15 -7
  83. data/lib/rails_connector/ses.rb +13 -5
  84. data/lib/rails_connector/string_tagging.rb +1 -1
  85. data/lib/rails_connector/syndicateable.rb +3 -1
  86. data/lib/search_request.rb +1 -0
  87. metadata +15 -66
data/.yardopts ADDED
@@ -0,0 +1,5 @@
1
+ --hide-void-return
2
+ --protected
3
+ --private
4
+ --non-transitive-tag api
5
+ --api public
data/README CHANGED
@@ -1,17 +1,19 @@
1
1
  = Infopark Rails Connector
2
2
 
3
- Infopark Rails Connector allows you to integrate a number of ready-to-run features into your Rails application.
3
+ Infopark Rails Connector integrates Infopark’s CMS into your Rails application.
4
+
5
+ It connects either to Infopark Cloud Express CMS via {https://rubygems.org/gems/infopark_cloud_connector infopark_cloud_connector} or to Infopark CMS Fiona via {https://rubygems.org/gems/infopark_fiona_connector infopark_fiona_connector}. It also enables you to integrate various ready-to-run features.
6
+
7
+ For more information about Infopark Rails Connector, please visit {http://kb.infopark.de/ Infopark’s Knowledge Base}.
4
8
 
5
9
  == Configuration
6
- Here is how all available addons would be enabled in the <tt>rails_connector.rb</tt> initializer file of your application:
10
+ Here is how all available addons can be enabled in the <tt>rails_connector.rb</tt> initializer file of your application:
7
11
 
8
12
  RailsConnector::Configuration.enable(
9
- :comments,
10
13
  :google_analytics,
11
14
  :infopark_tracking,
12
- :omc,
15
+ :crm,
13
16
  :pdf_generator,
14
- :ratings,
15
17
  :rss,
16
18
  :search,
17
19
  :seo_sitemap,
@@ -37,23 +39,10 @@ That helper is to be put right before the closing body tag.
37
39
  == Generators
38
40
  Infopark Rails Connector comes with three generators to help you get up and running quickly:
39
41
 
40
- <tt>rails generate rails_connector:install</tt>
42
+ > rails generate rails_connector:install
41
43
 
42
44
  Adds Time machine assets, a +rails_connector.rb+ initializer and rake tasks specific to the gem to your application.
43
45
 
44
- <tt>rails generate rails_connector:comments</tt>
45
-
46
- Specific to the +comments+ feature. Adds a comments migration to your application.
47
-
48
- <tt>rails generate rails_connector:ratings</tt>
49
-
50
- Specific to the +ratings+ feature. Adds a ratings migration to your application as well as an example stylesheet and background image.
51
-
52
- == Infopark Tracking
53
-
54
- If you enable the infopark_tracking, please refer to the OMC documentation for further details,
55
- e.g. Apache logging options.
56
-
57
46
  == Seo Sitemap
58
47
 
59
- The default implementation for the seo sitemap will feature all files from your CMS in the generated <tt>sitemap.xml</tt>. For a large number of files, this can slow down your server. Please refer to <tt>RailsConnector::SEO::ClassMethods#find_all_for_sitemap</tt> for advise on optimization.
48
+ The default implementation for the seo sitemap will feature all files from your CMS in the generated <tt>sitemap.xml</tt>. For a large number of files, this can slow down your server. Please refer to {RailsConnector::SEO::ClassMethods#find_all_for_sitemap} for advise on optimization.
@@ -1,6 +1,7 @@
1
1
  # This controller inherits all of its behavior from
2
- # RailsConnector::DefaultCmsController.
2
+ # {RailsConnector::DefaultCmsController}.
3
3
  #
4
- # CmsController is referenced by the Rails Connector routes.
4
+ # {CmsController} is referenced by the Rails Connector routes.
5
+ # @api public
5
6
  class CmsController < RailsConnector::DefaultCmsController
6
7
  end
@@ -1,6 +1,6 @@
1
1
  # This controller inherits all of its behavior from
2
- # RailsConnector::DefaultCommentsController.
2
+ # {RailsConnector::DefaultCommentsController}.
3
3
  #
4
- # CommentsController is referenced by the Rails Connector routes.
4
+ # {CommentsController} is referenced by the Rails Connector routes.
5
5
  class CommentsController < RailsConnector::DefaultCommentsController
6
6
  end
@@ -1,2 +1,7 @@
1
+ # This controller inherits all of its behavior from
2
+ # {RailsConnector::DefaultCrmFormController}.
3
+ #
4
+ # {CrmFormController} is referenced by the Rails Connector routes.
5
+ # @api public
1
6
  class CrmFormController < RailsConnector::DefaultCrmFormController
2
7
  end
@@ -2,5 +2,6 @@
2
2
  # RailsConnector::DefaultPdfController.
3
3
  #
4
4
  # PdfController is referenced by the Rails Connector routes.
5
+ # @api public
5
6
  class PdfController < RailsConnector::DefaultPdfController
6
7
  end
@@ -1,9 +1,10 @@
1
1
  module RailsConnector
2
2
 
3
- # This controller provides some default includes (+CmsAccessible+),
3
+ # This controller provides some default includes ({CmsAccessible}),
4
4
  # before filters (+load_object+, among others), and actions to simplify
5
5
  # CMS object handling. It should never be used directly, but only as a
6
- # super class to CmsController.
6
+ # super class to {CmsController}.
7
+ # @api public
7
8
  class DefaultCmsController < ApplicationController
8
9
  include CmsAccessible
9
10
  before_filter :set_preview_time
@@ -13,11 +14,13 @@ module RailsConnector
13
14
  before_filter :set_google_expire_header
14
15
 
15
16
  # Default Action. Delivers files directly if their mime type is not text/html
17
+ # @api public
16
18
  def index
17
19
  deliver_file if @obj.mime_type != "text/html"
18
20
  end
19
21
 
20
22
  # Toggles edit markers. The current status is stored in the session.
23
+ # @api public
21
24
  def toggle_editmarkers
22
25
  session[:hide_editmarkers] = !session[:hide_editmarkers]
23
26
  redirect_to cms_id_url(@obj)
@@ -28,10 +31,11 @@ module RailsConnector
28
31
  #
29
32
  # Overwrite it to return false if you do want your controller to be excluded from Obj dispatching.
30
33
  #
31
- # You may also implement a method with the name +use_for_obj_dispatch?+ in controllers not
32
- # descending from +DefaultCmsController+ to include them in Obj dispatching.
34
+ # You may also implement a method with the name {use_for_obj_dispatch?} in controllers not
35
+ # descending from {DefaultCmsController} to include them in Obj dispatching.
33
36
  #
34
37
  # @see Obj#controller_name
38
+ # @api public
35
39
  def self.use_for_obj_dispatch?
36
40
  true
37
41
  end
@@ -1,10 +1,9 @@
1
1
  module RailsConnector
2
2
  #
3
3
  # This class provides a default controller implementation for comment creation.
4
- # It should only be used indirectly via a subclass named CommentsController.
4
+ # It should only be used indirectly via a subclass named {CommentsController}.
5
5
  #
6
6
  # The controller actions only respond to XMLHttpRequests (Ajax).
7
- #
8
7
  class DefaultCommentsController < ApplicationController
9
8
  layout nil
10
9
 
@@ -1,6 +1,7 @@
1
1
  module RailsConnector
2
2
  # This class provides a default controller implementation for WebCRM form using custom attributes.
3
3
  # It should be customized by subclassing.
4
+ # @api public
4
5
  class DefaultCrmFormController < DefaultCmsController
5
6
 
6
7
  include Crm::Localizable
@@ -13,6 +14,7 @@ module RailsConnector
13
14
  :contact => [:gender, :first_name, :last_name, :email]
14
15
  }
15
16
 
17
+ # @api public
16
18
  def index
17
19
  unless logged_in?
18
20
  @user = Infopark::Crm::Contact.new(:language => default_language)
@@ -46,6 +48,7 @@ module RailsConnector
46
48
  # Override this method for custom logic to get from a given OBJ to an activity kind.
47
49
  #
48
50
  # Defaults to +@obj[:activity_kind]+ or 'contact form' if the former is +nil+.
51
+ # @api public
49
52
  def activity_kind
50
53
  @obj[:activity_kind] || 'contact form'
51
54
  end
@@ -53,6 +56,7 @@ module RailsConnector
53
56
  # Returns the state of a new activity.
54
57
  #
55
58
  # Defaults to the first state assigned to +activity_kind+.
59
+ # @api public
56
60
  def activity_state
57
61
  Infopark::Crm::CustomType.find(activity_kind).states.first
58
62
  end
@@ -64,6 +68,7 @@ module RailsConnector
64
68
  # an additional form field to the corresponding view.
65
69
  #
66
70
  # Defaults to the current locale.
71
+ # @api public
67
72
  def default_language
68
73
  I18n.locale.to_s
69
74
  end
@@ -75,6 +80,7 @@ module RailsConnector
75
80
  # the behavior without having to override #index.
76
81
  #
77
82
  # By default, it assigns a default title if +has_title_input_field?+ is +false+.
83
+ # @api public
78
84
  def before_saving_activity(activity)
79
85
  activity.title = "Website form submission" unless has_title_input_field?
80
86
  end
@@ -86,6 +92,7 @@ module RailsConnector
86
92
  # The method is also available as helper in your views.
87
93
  #
88
94
  # By default, it renders crm_form/confirmation
95
+ # @api public
89
96
  def after_saving_activity(activity)
90
97
  render 'crm_form/confirmation'
91
98
  end
@@ -94,6 +101,7 @@ module RailsConnector
94
101
  # Override this method to return +false+ if you want to set the title programmatically.
95
102
  #
96
103
  # By default, it returns +true+
104
+ # @api public
97
105
  def has_title_input_field?
98
106
  true
99
107
  end
@@ -105,6 +113,7 @@ module RailsConnector
105
113
  # and custom attributes that are not to be set by users.
106
114
  #
107
115
  # By default, it returns a hash only with title and custom values.
116
+ # @api public
108
117
  def sanitize_activity_params(activity_params_or_nil)
109
118
  activity_params_whitelist = [:title]
110
119
  (activity_params_or_nil || {}).reject do |attr, value|
@@ -118,6 +127,7 @@ module RailsConnector
118
127
  #
119
128
  # Drop a custom view to change the look, or override this method
120
129
  # if you want different behavior, like a redirect.
130
+ # @api public
121
131
  def authorize
122
132
  render 'not_logged_in' unless logged_in? || allow_anonymous?
123
133
  end
@@ -129,6 +139,7 @@ module RailsConnector
129
139
  # The method is also available as helper in your views.
130
140
  #
131
141
  # By default, it returns +false+, i.e. only logged-in users can see the form
142
+ # @api public
132
143
  def allow_anonymous?
133
144
  false
134
145
  end
@@ -141,6 +152,7 @@ module RailsConnector
141
152
  #
142
153
  # By default, it returns +true+ for any attribute, i.e. every custom attribute
143
154
  # can be filled in by the user.
155
+ # @api public
144
156
  def allow_custom_attribute?(attribute_name)
145
157
  true
146
158
  end
@@ -159,6 +171,7 @@ module RailsConnector
159
171
  # }
160
172
  #
161
173
  # end
174
+ # @api public
162
175
  def editable_attributes_on_register
163
176
  self.class.editable_attributes_on_register
164
177
  end
@@ -58,6 +58,7 @@ module RailsConnector
58
58
  # "white list", then an error message will be rendered as inline text with response status "403
59
59
  # Forbidden".
60
60
  #
61
+ # @api public
61
62
  class DefaultPdfController < DefaultCmsController
62
63
  # Returns false by default to exclude this controller from regular Obj dispatch.
63
64
  # @see DefaultCmsController#use_for_obj_dispatch?
@@ -92,6 +93,7 @@ module RailsConnector
92
93
  # <%= link_to 'Generate PDF', pdf_path(@obj) %>
93
94
  # # This will generate a PDF containing the title and the body of the current object
94
95
  #
96
+ # @api public
95
97
  def index
96
98
  end
97
99
 
@@ -8,12 +8,15 @@ module RailsConnector
8
8
  # Specify the RSS root in
9
9
  # <code><em>RAILS_ROOT</em>/config/initializers/rails_connector.rb</code>:
10
10
  # RailsConnector::Configuration::Rss.root = lambda { NamedLink.get_object('news') }
11
+ # @api public
11
12
  class DefaultRssController < DefaultCmsController
12
13
  #
13
14
  # This action renders the built-in RSS feed.
14
15
  #
15
16
  # To customize feed's layout, override either this method, or the apropriate view.
16
17
  #
18
+ # @return [void]
19
+ # @api public
17
20
  def index
18
21
  respond_to do |format|
19
22
  format.rss
@@ -22,7 +25,7 @@ module RailsConnector
22
25
 
23
26
  protected
24
27
 
25
- def load_object # :nodoc:
28
+ def load_object
26
29
  @obj = Configuration::Rss.root
27
30
  end
28
31
  end
@@ -4,6 +4,7 @@ module RailsConnector
4
4
 
5
5
  # This class provides a default controller implementation for searching.
6
6
  # It should be customized by subclassing.
7
+ # @api public
7
8
  class DefaultSearchController < ApplicationController
8
9
  class_attribute :options
9
10
  self.options = {:limit => 10}
@@ -27,6 +28,7 @@ module RailsConnector
27
28
  # # * Flash on errors
28
29
  # end
29
30
  # end
31
+ # @api public
30
32
  def search
31
33
  unless (@query = params[:q]).blank?
32
34
  @hits = WillPaginate::Collection.create(current_page, options[:limit]) do |pager|
@@ -14,6 +14,7 @@ module RailsConnector
14
14
  # This can be done in your <tt>rails_connector.rb</tt> or in +UserController+ directly.
15
15
  #
16
16
  # By default, users can submit their first name, last name, email and company name.
17
+ # @api public
17
18
  class DefaultUserController < ApplicationController
18
19
 
19
20
  before_filter :check_editable_attribute_configuration
@@ -44,6 +45,7 @@ module RailsConnector
44
45
  end
45
46
 
46
47
  # Displays a profile page containing links to all available actions
48
+ # @api public
47
49
  def profile
48
50
  end
49
51
 
@@ -61,6 +63,7 @@ module RailsConnector
61
63
  #
62
64
  # If you merely want to change what happens before or after a user is authenticated,
63
65
  # do not override this method but override +before_authenticate+ or +after_authenticate+.
66
+ # @api public
64
67
  def login
65
68
  if request.post?
66
69
  @user = Infopark::Crm::Contact.new(params[:user] || {:login => nil, :password => nil})
@@ -87,6 +90,7 @@ module RailsConnector
87
90
  #
88
91
  # To change the behavior before or after invalidating the session,
89
92
  # override +before_logout+ or +after_logout+.
93
+ # @api public
90
94
  def logout
91
95
  before_logout
92
96
  self.current_user = nil
@@ -100,6 +104,7 @@ module RailsConnector
100
104
  #
101
105
  # If you merely want to change what happens before or after a user is registered,
102
106
  # do not override this method but override +before_register+ or +after_register+.
107
+ # @api public
103
108
  def new
104
109
  @user = Infopark::Crm::Contact.new
105
110
  # Load some default attributes so that form_for is working
@@ -119,10 +124,12 @@ module RailsConnector
119
124
  flash.now[:error] = tcon('registration_failed')
120
125
  end
121
126
 
127
+ # @api public
122
128
  def register_pending
123
129
  end
124
130
 
125
131
  # Lets the user change his/her user details.
132
+ # @api public
126
133
  def edit
127
134
  @user = Infopark::Crm::Contact.find(current_user.id)
128
135
  if request.post? || request.put?
@@ -138,6 +145,7 @@ module RailsConnector
138
145
  # Lets the user change his/her password.
139
146
  #
140
147
  # Validates the new password using +validate_edit_password_params_for+.
148
+ # @api public
141
149
  def edit_password
142
150
  if request.post?
143
151
  validate_edit_password_params_for(params[:user])
@@ -153,6 +161,7 @@ module RailsConnector
153
161
  # Lets the user request a new password (double opt-in).
154
162
  #
155
163
  # Uses the +ConfirmationMailer+ for sending out the confirmation message.
164
+ # @api public
156
165
  def forgot_password
157
166
  if request.post?
158
167
  user = Infopark::Crm::Contact.search(:params => {:login => params[:user][:login]}).first
@@ -167,6 +176,7 @@ module RailsConnector
167
176
  end
168
177
  end
169
178
 
179
+ # @api public
170
180
  def set_password
171
181
  if request.get? && params[:token].blank?
172
182
  flash[:error] = tcon('token_url_invalid')
@@ -1,5 +1,6 @@
1
1
  module RailsConnector
2
- class PdfExternalController < ApplicationController # :nodoc: all
2
+
3
+ class PdfExternalController < ApplicationController
3
4
  skip_before_filter :verify_authenticity_token
4
5
  before_filter :validate_inputs
5
6
 
@@ -1,6 +1,6 @@
1
1
  module RailsConnector
2
2
 
3
- class TimeMachineController < ApplicationController #:nodoc:
3
+ class TimeMachineController < ApplicationController
4
4
 
5
5
  protect_from_forgery :except => :set_preview_time
6
6
 
@@ -2,5 +2,6 @@
2
2
  # RailsConnector::DefaultRssController.
3
3
  #
4
4
  # RssController is referenced by the Rails Connector routes.
5
+ # @api public
5
6
  class RssController < RailsConnector::DefaultRssController
6
7
  end
@@ -1,2 +1,7 @@
1
+ # This controller inherits all of its behavior from
2
+ # {RailsConnector::DefaultSearchController}.
3
+ #
4
+ # {SearchController} is referenced by the Rails Connector routes.
5
+ # @api public
1
6
  class SearchController < RailsConnector::DefaultSearchController
2
7
  end
@@ -1,9 +1,11 @@
1
1
  # Renders a search engine optimized sitemap.xml
2
2
  # Enable via <tt>RailsConnector::Configuration.enable(:seo_sitemap)</tt>
3
+ # @api public
3
4
  class SeoSitemapController < ApplicationController
4
5
  layout nil
5
6
 
6
7
  # Finds all objects which are to be shown in the SEO sitemap. Responds to xml only.
8
+ # @api public
7
9
  def show
8
10
  @objects = Obj.find_all_for_sitemap
9
11
  respond_to { |format| format.xml }
@@ -1,2 +1,7 @@
1
+ # This controller inherits all of its behavior from
2
+ # {RailsConnector::DefaultUserController}.
3
+ #
4
+ # {UserController} is referenced by the Rails Connector routes.
5
+ # @api public
1
6
  class UserController < RailsConnector::DefaultUserController
2
7
  end
@@ -1,6 +1,7 @@
1
- # CmsHelper is a wrapper around RailsConnector::DefaultCmsHelper.
1
+ # {CmsHelper} is a wrapper around {RailsConnector::DefaultCmsHelper}.
2
2
  # It can be replaced in your application in order to add or
3
3
  # modify helpers.
4
+ # @api public
4
5
  module CmsHelper
5
6
  include RailsConnector::DefaultCmsHelper
6
7
  end
@@ -1,6 +1,7 @@
1
- # CmsRoutingHelper is a wrapper around RailsConnector::DefaultCmsRoutingHelper.
1
+ # {CmsRoutingHelper} is a wrapper around {RailsConnector::DefaultCmsRoutingHelper}.
2
2
  # It can be replaced in your application in order to add or
3
3
  # modify helpers.
4
+ # @api public
4
5
  module CmsRoutingHelper
5
6
  include RailsConnector::DefaultCmsRoutingHelper
6
7
  end
@@ -1,3 +1,7 @@
1
+ # {CrmFormHelper} is a wrapper around {RailsConnector::DefaultCrmFormHelper}.
2
+ # It can be replaced in your application in order to add or
3
+ # modify helpers.
4
+ # @api public
1
5
  module CrmFormHelper
2
6
  include RailsConnector::DefaultCrmFormHelper
3
7
  end
@@ -5,6 +5,7 @@ module RailsConnector
5
5
  # Use this helper to take advantage of rails' asset host mechanism.
6
6
  # (See http://api.rubyonrails.com/classes/ActionView/Helpers/AssetTagHelper.html for details about asset hosts.)
7
7
  # If your application does not use any asset hosts, the helper will generate regular (=non asset host) pathes.
8
+ # @api public
8
9
  module CmsAssetHelper
9
10
 
10
11
  # Returns an html image tag for an image stored in the CMS.
@@ -16,6 +17,7 @@ module RailsConnector
16
17
  # +target+'s +display_title+ as the html alt attribute.
17
18
  # If your application is configured to use asset hosts, the images tag will reference
18
19
  # the image using one of your asset hosts.
20
+ # @api public
19
21
  def cms_image_tag(target, options = {})
20
22
  options.symbolize_keys!
21
23
 
@@ -31,6 +33,7 @@ module RailsConnector
31
33
  # +target+ can be an +Obj+ or a +Link+ or a +LinkList+.
32
34
  # If your application is configured to use asset hosts, the path will reference
33
35
  # the object using one of your asset hosts.
36
+ # @api public
34
37
  def cms_asset_path(target)
35
38
  regular_path = cms_path(target)
36
39
  return regular_path if regular_path.first == "#"
@@ -8,7 +8,7 @@ module RailsConnector
8
8
  # module CmsHelper
9
9
  # include RailsConnector::DefaultCmsHelper
10
10
  # end
11
-
11
+ # @api public
12
12
  module DefaultCmsHelper
13
13
  include DisplayHelper
14
14
  include MarkerHelper
@@ -1,11 +1,14 @@
1
1
  module RailsConnector
2
2
 
3
+ # @api public
3
4
  module DefaultCmsRoutingHelper
4
5
  # Returns the path for +target+ using the +CmsController+ routes.
5
6
  # +target+ can be an +Obj+ or a +Link+ or a +LinkList+.
6
7
  # If +target+ is a +Linklist+, it must be non-empty. The first +Link+ from the +LinkList+ will be used.
7
8
  # +options+ are optional and include url settings such as path parameters or protocol
8
9
  # +options+ are only passed on if +target+ is an +Obj+.
10
+ # @return [String]
11
+ # @api public
9
12
  def cms_path(target, options = {})
10
13
  cms_path_or_url(target, "path", options)
11
14
  end
@@ -15,14 +18,16 @@ module RailsConnector
15
18
  # If +target+ is a +Linklist+, it must be non-empty. The first +Link+ from the +LinkList+ will be used.
16
19
  # +options+ are optional and include url settings such as path parameters or protocol
17
20
  # +options+ are only passed on if +target+ is an +Obj+.
21
+ # @return [String]
22
+ # @api public
18
23
  def cms_url(target, options = {})
19
24
  cms_path_or_url(target, "url", options)
20
25
  end
21
26
 
22
- LINK_TO_UNREACHABLE = "#__target_object_not_reachable" #:nodoc:
23
- LINK_TO_EMPTY_LINKLIST = "#__empty_linklist" #:nodoc:
27
+ LINK_TO_UNREACHABLE = "#__target_object_not_reachable"
28
+ LINK_TO_EMPTY_LINKLIST = "#__empty_linklist"
24
29
 
25
- def cms_path_or_url(target, path_or_url, options = {}) #:nodoc:
30
+ def cms_path_or_url(target, path_or_url, options = {})
26
31
  if target.is_a?(Link)
27
32
  cms_path_or_url_for_links(target, path_or_url)
28
33
  elsif target.is_a?(Obj)
@@ -39,14 +44,14 @@ module RailsConnector
39
44
  end
40
45
  end
41
46
 
42
- def cms_path_or_url_for_links(link, path_or_url) #:nodoc:
47
+ def cms_path_or_url_for_links(link, path_or_url)
43
48
  return LINK_TO_UNREACHABLE if link.internal? && link.destination_object.nil?
44
49
  append_search_and_fragment(
45
50
  basic_url_or_path_for_link(link, path_or_url), link
46
51
  )
47
52
  end
48
53
 
49
- def cms_path_or_url_for_objs(obj, path_or_url, options = {}) #:nodoc:
54
+ def cms_path_or_url_for_objs(obj, path_or_url, options = {})
50
55
  permalink = obj.permalink
51
56
  if permalink && !Configuration.editor_interface_enabled?
52
57
  __send__("cms_permalink_#{path_or_url}", options.merge(:permalink => permalink))
@@ -1,11 +1,13 @@
1
1
  module RailsConnector
2
2
 
3
+ # @api public
3
4
  module DefaultCrmFormHelper
4
5
 
5
6
  include ::RailsConnector::DefaultUserHelper
6
7
  include ::RailsConnector::MandatoryLabelHelper
7
8
  include ::RailsConnector::ErrorMessagesHelper
8
9
 
10
+ # @api public
9
11
  def custom_fields_for(form)
10
12
  activity = instance_variable_get("@#{form.object_name}")
11
13
  custom_attribute_defs = Infopark::Crm::CustomType.find(activity.kind).custom_attributes
@@ -35,6 +37,7 @@ module RailsConnector
35
37
  content
36
38
  end
37
39
 
40
+ # @api public
38
41
  def title_field_for(form)
39
42
  content = "".html_safe
40
43
  if has_title_input_field?
@@ -48,6 +51,7 @@ module RailsConnector
48
51
  content
49
52
  end
50
53
 
54
+ # @api public
51
55
  def logged_in_as(user)
52
56
  content_tag(:em) do
53
57
  t('rails_connector.views.crm_form.logged_in_as',
@@ -2,7 +2,8 @@ require "recaptcha"
2
2
 
3
3
  module RailsConnector
4
4
 
5
- # This module contains helpers for the +UserController+ and +DefaultUserController+
5
+ # This module contains helpers for the {UserController} and {DefaultUserController}
6
+ # @api public
6
7
  module DefaultUserHelper
7
8
 
8
9
  include ::ReCaptcha::ViewHelper
@@ -10,6 +11,7 @@ module RailsConnector
10
11
  include ::RailsConnector::ErrorMessagesHelper
11
12
 
12
13
  # Returns mandatory user fields as array of symbols.
14
+ # @api public
13
15
  def mandatory_user_fields
14
16
  [:email, :gender, :language, :last_name]
15
17
  end
@@ -38,6 +40,7 @@ module RailsConnector
38
40
  # user:
39
41
  # first_name: First name
40
42
  # last_name: Last name
43
+ # @api public
41
44
  def user_fields_for(form, model_name, *attributes)
42
45
  output = "".html_safe
43
46
  attributes.flatten.each do |attr|
@@ -63,6 +66,7 @@ module RailsConnector
63
66
  output
64
67
  end
65
68
 
69
+ # @api public
66
70
  def genders_for_select
67
71
  [
68
72
  ['', 'N'],
@@ -71,6 +75,7 @@ module RailsConnector
71
75
  ]
72
76
  end
73
77
 
78
+ # @api public
74
79
  def languages_for_select_for(*languages)
75
80
  options = []
76
81
  languages.flatten.each do |lang|
@@ -79,6 +84,7 @@ module RailsConnector
79
84
  options
80
85
  end
81
86
 
87
+ # @api public
82
88
  def profile_fields_for(form, editable_attributes={})
83
89
  output = "".html_safe
84
90
  output += user_fields_for(form, "contact", editable_attributes[:contact])