hancock_cms_feedback 1.0.2
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.
- checksums.yaml +7 -0
- data/.gitignore +9 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/.travis.yml +4 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +60 -0
- data/Rakefile +1 -0
- data/app/assets/javascripts/hancock/feedback.coffee +8 -0
- data/app/assets/javascripts/hancock/feedback/form.coffee +77 -0
- data/app/assets/javascripts/hancock/feedback/init.coffee +2 -0
- data/app/assets/stylesheets/hancock/feedback.sass +0 -0
- data/app/controllers/concerns/hancock/feedback/decorators/contacts.rb +84 -0
- data/app/controllers/hancock/feedback/contacts_controller.rb +7 -0
- data/app/mailers/hancock/feedback/contact_mailer.rb +17 -0
- data/app/models/concerns/hancock/feedback/decorators/contact_message.rb +44 -0
- data/app/models/hancock/feedback/contact_message.rb +17 -0
- data/app/views/hancock/feedback/contact_mailer/new_message_email.html.slim +15 -0
- data/app/views/hancock/feedback/contacts/_fields.html.slim +18 -0
- data/app/views/hancock/feedback/contacts/_fields_with_settings.html.slim +24 -0
- data/app/views/hancock/feedback/contacts/_form.html.slim +37 -0
- data/app/views/hancock/feedback/contacts/_form_with_wrapper.html.slim +2 -0
- data/app/views/hancock/feedback/contacts/_simple_captcha.html.slim +17 -0
- data/app/views/hancock/feedback/contacts/_success.html.slim +4 -0
- data/app/views/hancock/feedback/contacts/index.html.slim +8 -0
- data/app/views/hancock/feedback/contacts/new.html.slim +8 -0
- data/app/views/hancock/feedback/contacts/sent.html.slim +3 -0
- data/app/views/hancock/feedback/contacts/update_captcha.html.slim +21 -0
- data/bin/console +15 -0
- data/bin/setup +7 -0
- data/config/locales/hancock.feedback.ru.yml +56 -0
- data/config/locales/ru.simple_captcha.yml +3 -0
- data/config/locales/ru.simple_form.yml +9 -0
- data/hancock_cms_feedback.gemspec +39 -0
- data/lib/generators/hancock/feedback/config/config_generator.rb +13 -0
- data/lib/generators/hancock/feedback/config/templates/hancock_feedback.erb +19 -0
- data/lib/generators/hancock/feedback/controllers/decorators_generator.rb +24 -0
- data/lib/generators/hancock/feedback/controllers/templates/contacts.erb +145 -0
- data/lib/generators/hancock/feedback/controllers/transfers_generator.rb +39 -0
- data/lib/generators/hancock/feedback/migrations/migrations_generator.rb +18 -0
- data/lib/generators/hancock/feedback/migrations/templates/migration_contact_messages.erb +17 -0
- data/lib/hancock/feedback/admin.rb +6 -0
- data/lib/hancock/feedback/admin/contact_message.rb +40 -0
- data/lib/hancock/feedback/configuration.rb +51 -0
- data/lib/hancock/feedback/controllers/contacts.rb +154 -0
- data/lib/hancock/feedback/engine.rb +36 -0
- data/lib/hancock/feedback/models/active_record/contact_message.rb +13 -0
- data/lib/hancock/feedback/models/contact_message.rb +92 -0
- data/lib/hancock/feedback/models/mongoid/contact_message.rb +35 -0
- data/lib/hancock/feedback/routes.rb +42 -0
- data/lib/hancock/feedback/version.rb +5 -0
- data/lib/hancock_cms_feedback.rb +34 -0
- data/release.sh +6 -0
- metadata +187 -0
@@ -0,0 +1,37 @@
|
|
1
|
+
ruby:
|
2
|
+
is_cache_fields ||= ['new', 'index'].include? action_name
|
3
|
+
cache_key ||= 'hancock_feedback_contacts_fields'.freeze
|
4
|
+
if Hancock::Feedback.config.model_settings_support
|
5
|
+
settings_scope ||= Hancock::Feedback::ContactMessage.settings
|
6
|
+
elsif defined?(Settings)
|
7
|
+
settings_scope ||= Settings.ns('feedback')
|
8
|
+
end
|
9
|
+
fields_partial ||= "hancock/feedback/contacts/#{(Hancock::Feedback.config.model_settings_support ? 'fields_with_settings' : 'fields')}".freeze
|
10
|
+
recaptcha_options ||= {}
|
11
|
+
_cache_helper = (Hancock::Feedback.config.cache_support ? :hancock_cache : :cache)
|
12
|
+
autofocus_field ||= :name
|
13
|
+
@contact_message ||= Hancock::Feedback::ContactMessage.new
|
14
|
+
|
15
|
+
/ = simple_form_for @contact_message, url: hancock_feedback_contacts_path do |f|
|
16
|
+
= simple_form_for @contact_message, url: hancock_feedback_contacts_path, html: {data: {remote: true }} do |f|
|
17
|
+
- if is_cache_fields
|
18
|
+
- send _cache_helper, cache_key do
|
19
|
+
= render partial: fields_partial, locals: {f: f, cache_key: "views/#{cache_key}", settings_scope: settings_scope, autofocus_field: autofocus_field}
|
20
|
+
- else
|
21
|
+
= render partial: fields_partial, locals: {f: f, settings_scope: settings_scope, autofocus_field: autofocus_field}
|
22
|
+
|
23
|
+
- if Hancock::Feedback.config.captcha
|
24
|
+
- if Hancock::Feedback.config.recaptcha_support
|
25
|
+
.input
|
26
|
+
- if @recaptcha_error
|
27
|
+
span.error.recaptcha_error= @recaptcha_error
|
28
|
+
= recaptcha_tags(recaptcha_options)
|
29
|
+
- elsif Hancock::Feedback.config.simple_captcha_support
|
30
|
+
= render partial: "hancock/feedback/contacts/simple_captcha", locals: {f: f, settings_scope: settings_scope}
|
31
|
+
|
32
|
+
- if Hancock::Feedback.config.model_settings_support
|
33
|
+
- label = settings_scope.submit_label(default: t('hancock.send'), label: "Текст на кнопке отправки")
|
34
|
+
- else
|
35
|
+
- label = t('hancock.send')
|
36
|
+
.submit_button_wrapper
|
37
|
+
= f.submit label, class: 'submit_button'
|
@@ -0,0 +1,17 @@
|
|
1
|
+
ruby:
|
2
|
+
if Hancock::Feedback.config.model_settings_support
|
3
|
+
settings_scope ||= Hancock::Feedback::ContactMessage.settings
|
4
|
+
elsif defined?(Settings)
|
5
|
+
settings_scope ||= Settings.ns('feedback')
|
6
|
+
end
|
7
|
+
|
8
|
+
- label = t('hancock.feedback_plugin.fields.captcha.label')
|
9
|
+
- placeholder = t('hancock.feedback_plugin.fields.captcha.placeholder')
|
10
|
+
- update_captcha_text = t('hancock.feedback_plugin.fields.captcha.update')
|
11
|
+
- update_captcha = link_to update_captcha_text, hancock_feedback_update_captcha_path, class: 'update_captcha_link'
|
12
|
+
- if Hancock::Feedback.config.model_settings_support
|
13
|
+
- label = settings_scope.simple_captcha_label(default: label, label: "Заголовок поля Код проверки")
|
14
|
+
- placeholder = settings_scope.simple_captcha_placeholder(default: placeholder, label: "Placeholder поля Код проверки")
|
15
|
+
= f.input :captcha, as: :simple_captcha, label: label, input_html: {placeholder: placeholder, update_captcha: update_captcha}, required: true
|
16
|
+
- else
|
17
|
+
= f.input :captcha, as: :simple_captcha, label: label, input_html: {placeholder: placeholder, update_captcha: update_captcha}, required: true
|
@@ -0,0 +1,8 @@
|
|
1
|
+
/ - if Hancock::Feedback.config.breadcrumbs_on_rails_support
|
2
|
+
/ = render partial: "blocks/breadcrumbs"
|
3
|
+
|
4
|
+
- _partial_path = (Hancock::Feedback.config.seo_support ? 'shared/obj_with_seo' : 'shared/obj')
|
5
|
+
= render _partial_path, obj: (@seo_page || @seo_parent_page)
|
6
|
+
|
7
|
+
#hancock_feedback_contact_form
|
8
|
+
= render partial: "hancock/feedback/contacts/form"
|
@@ -0,0 +1,8 @@
|
|
1
|
+
/ - if Hancock::Feedback.config.breadcrumbs_on_rails_support
|
2
|
+
/ = render partial: "blocks/breadcrumbs"
|
3
|
+
|
4
|
+
- _partial_path = (Hancock::Feedback.config.seo_support ? 'shared/obj_with_seo' : 'shared/obj')
|
5
|
+
= render _partial_path, obj: (@seo_page || @seo_parent_page)
|
6
|
+
|
7
|
+
#hancock_feedback_contact_form
|
8
|
+
= render partial: "hancock/feedback/contacts/form"
|
@@ -0,0 +1,21 @@
|
|
1
|
+
.input.simple_captcha.required.hancock_feedback_contact_message_captcha
|
2
|
+
- if Hancock::Feedback.config.captcha and Hancock::Feedback.config.simple_captcha_support
|
3
|
+
ruby:
|
4
|
+
if Hancock::Feedback.config.model_settings_support
|
5
|
+
settings_scope ||= Hancock::Feedback::ContactMessage.settings
|
6
|
+
elsif defined?(Settings)
|
7
|
+
settings_scope ||= Settings.ns('feedback')
|
8
|
+
end
|
9
|
+
options = {
|
10
|
+
label: t('hancock.feedback_plugin.fields.captcha.label'),
|
11
|
+
placeholder: t('hancock.feedback_plugin.fields.captcha.placeholder'),
|
12
|
+
update_captcha: link_to(' (обн)', hancock_feedback_update_captcha_path, class: 'update_captcha_link'),
|
13
|
+
object: Hancock::Feedback::ContactMessage.new
|
14
|
+
}
|
15
|
+
|
16
|
+
- if Hancock::Feedback.config.model_settings_support
|
17
|
+
- options[:label] = settings_scope.simple_captcha_label(default: options[:label], label: "Заголовок поля Код проверки")
|
18
|
+
- options[:placeholder] = settings_scope.simple_captcha_placeholder(default: options[:placeholder], label: "Placeholder поля Код проверки")
|
19
|
+
= show_simple_captcha options
|
20
|
+
- else
|
21
|
+
= show_simple_captcha options
|
data/bin/console
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require "bundler/setup"
|
4
|
+
require "hancock
|
5
|
+
_cms_feedback"
|
6
|
+
|
7
|
+
# You can add fixtures and/or initialization code here to make experimenting
|
8
|
+
# with your gem easier. You can also use a different console, if you like.
|
9
|
+
|
10
|
+
# (If you use this, don't forget to add pry to your Gemfile!)
|
11
|
+
# require "pry"
|
12
|
+
# Pry.start
|
13
|
+
|
14
|
+
require "irb"
|
15
|
+
IRB.start
|
data/bin/setup
ADDED
@@ -0,0 +1,56 @@
|
|
1
|
+
ru:
|
2
|
+
hancock:
|
3
|
+
feedback: Обратная связь
|
4
|
+
breadcrumbs:
|
5
|
+
feedback: Обратная связь
|
6
|
+
contacts: Контакты
|
7
|
+
errors:
|
8
|
+
feedback:
|
9
|
+
recaptcha: Вы робот?
|
10
|
+
|
11
|
+
feedback_plugin:
|
12
|
+
fields:
|
13
|
+
name:
|
14
|
+
label: 'ФИО'
|
15
|
+
placeholder: 'ФИО'
|
16
|
+
email:
|
17
|
+
label: E-mail
|
18
|
+
placeholder: E-mail
|
19
|
+
phone:
|
20
|
+
label: Телефон
|
21
|
+
placeholder: Телефон
|
22
|
+
content:
|
23
|
+
label: Сообщение
|
24
|
+
placeholder: Сообщение
|
25
|
+
captcha:
|
26
|
+
label: "Введите код с картинки"
|
27
|
+
placeholder: "Введите код с картинки"
|
28
|
+
update: ""
|
29
|
+
|
30
|
+
|
31
|
+
mongoid: &mongoid
|
32
|
+
models:
|
33
|
+
hancock/feedback/contact_message: Сообщение
|
34
|
+
attributes:
|
35
|
+
hancock/feedback/contact_message:
|
36
|
+
c_at: Время создания
|
37
|
+
name: Ваше имя
|
38
|
+
email: Ваш е-мейл
|
39
|
+
phone: Ваш телефон
|
40
|
+
content: Ваше сообщение
|
41
|
+
|
42
|
+
errors:
|
43
|
+
models:
|
44
|
+
hancock/feedback/contact_message:
|
45
|
+
attributes:
|
46
|
+
email:
|
47
|
+
invalid_email_address: "^Неверный e-mail"
|
48
|
+
activerecord:
|
49
|
+
<<: *mongoid
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
admin:
|
54
|
+
scopes:
|
55
|
+
rails_admin_settings~setting:
|
56
|
+
ns_rails_admin_model_settings_hancock_feedback_contact_message: 'Обратная связь'
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'hancock/feedback/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "hancock_cms_feedback"
|
8
|
+
spec.version = Hancock::Feedback::VERSION
|
9
|
+
spec.authors = ["Alexander Kiseliev"]
|
10
|
+
spec.email = ["dev@redrocks.pro"]
|
11
|
+
|
12
|
+
spec.description = %q{hancock_cms_feedback }
|
13
|
+
spec.summary = %q{hancock_cms_feedback}
|
14
|
+
spec.homepage = 'https://github.com/red-rocks/hancock_cms_feedback'
|
15
|
+
spec.license = "MIT"
|
16
|
+
|
17
|
+
# Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
|
18
|
+
# delete this section to allow pushing this gem to any host.
|
19
|
+
# if spec.respond_to?(:metadata)
|
20
|
+
# spec.metadata['allowed_push_host'] = "TODO: Set to 'http://mygemserver.com'"
|
21
|
+
# else
|
22
|
+
# raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
|
23
|
+
# end
|
24
|
+
|
25
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
26
|
+
spec.bindir = "exe"
|
27
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
28
|
+
spec.require_paths = ["lib"]
|
29
|
+
|
30
|
+
spec.add_development_dependency "bundler", "~> 1.10"
|
31
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
32
|
+
|
33
|
+
spec.add_dependency 'hancock_cms', [">=1.0.2", "<2.1.x"]
|
34
|
+
# spec.add_dependency 'hancock_cms', ["~> 1.0.2", "~> 2.0"]
|
35
|
+
|
36
|
+
spec.add_dependency 'addressable'
|
37
|
+
spec.add_dependency 'x-real-ip'
|
38
|
+
spec.add_dependency 'validates_email_format_of'
|
39
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
|
3
|
+
module Hancock::Feedback
|
4
|
+
class ConfigGenerator < Rails::Generators::Base
|
5
|
+
source_root File.expand_path('../templates', __FILE__)
|
6
|
+
|
7
|
+
desc 'Hancock::Feedback Config generator'
|
8
|
+
def config
|
9
|
+
template 'hancock_feedback.erb', "config/initializers/hancock_feedback.rb"
|
10
|
+
end
|
11
|
+
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
Hancock::Feedback.configure do |config|
|
2
|
+
##### defaults #####
|
3
|
+
# config.recaptcha_support = !!defined?(Recaptcha)
|
4
|
+
# config.simple_captcha_support = !!defined?(SimpleCaptcha)
|
5
|
+
#
|
6
|
+
# config.captcha = # config.recaptcha_support || # config.simple_captcha_support
|
7
|
+
# config.message_required = true
|
8
|
+
#
|
9
|
+
# config.captcha_error_message = "Код проверки введен неверно"
|
10
|
+
# config.no_contact_info_error_message = "Пожалуйста введите Ваш e-mail или телефон, чтобы мы могли связаться с вами."
|
11
|
+
#
|
12
|
+
# config.recreate_contact_message_action = "new"
|
13
|
+
#
|
14
|
+
# config.breadcrumbs_on_rails_support = !!defined?(BreadcrumbsOnRails)
|
15
|
+
#
|
16
|
+
# config.model_settings_support = !!defined?(RailsAdminModelSettings)
|
17
|
+
# config.user_abilities_support = !!defined?(RailsAdminUserAbilities)
|
18
|
+
# config.ra_comments_support = !!defined?(RailsAdminComments)
|
19
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
|
3
|
+
module Hancock::Feedback::Controllers
|
4
|
+
class DecoratorsGenerator < Rails::Generators::Base
|
5
|
+
source_root File.expand_path('../../../../../../app/controllers/concerns/hancock/feedback/decorators', __FILE__)
|
6
|
+
argument :controllers, type: :array, default: []
|
7
|
+
|
8
|
+
desc 'Hancock::Feedback Controllers decorators generator'
|
9
|
+
def decorators
|
10
|
+
copied = false
|
11
|
+
(controllers == ['all'] ? permitted_controllers : controllers & permitted_controllers).each do |m|
|
12
|
+
copied = true
|
13
|
+
copy_file "#{m}.rb", "app/controllers/concerns/hancock/feedback/decorators/#{m}.rb"
|
14
|
+
end
|
15
|
+
puts "U need to set controllers`s name. One of this: #{permitted_controllers.join(", ")}." unless copied
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
def permitted_controllers
|
20
|
+
['contacts']
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,145 @@
|
|
1
|
+
class <%= camelcased_class_name %> < Hancock::Feddback::ContactsController
|
2
|
+
|
3
|
+
# # if Hancock::Feedback.config.breadcrumbs_on_rails_support
|
4
|
+
# # add_breadcrumb I18n.t('hancock.breadcrumbs.contacts'), :hancock_feedback_contacts_path
|
5
|
+
# # end
|
6
|
+
#
|
7
|
+
# def index
|
8
|
+
# @contact_message = model.new
|
9
|
+
# after_initialize
|
10
|
+
# render locals: locals unless xhr_checker
|
11
|
+
# end
|
12
|
+
#
|
13
|
+
# def new
|
14
|
+
# @contact_message = model.new
|
15
|
+
# after_initialize
|
16
|
+
# render locals: locals unless xhr_checker
|
17
|
+
# end
|
18
|
+
#
|
19
|
+
# def create
|
20
|
+
# @contact_message = model.new(message_params)
|
21
|
+
# after_initialize
|
22
|
+
#
|
23
|
+
# if Hancock::Feedback.config.captcha
|
24
|
+
# if Hancock::Feedback.config.recaptcha_support
|
25
|
+
# if verify_recaptcha
|
26
|
+
# meth = :save
|
27
|
+
# else
|
28
|
+
# meth = :valid?
|
29
|
+
# @recaptcha_error = I18n.t('hancock.errors.feedback.recaptcha')
|
30
|
+
# end
|
31
|
+
#
|
32
|
+
# elsif Hancock::Feedback.config.simple_captcha_support
|
33
|
+
# meth = :save_with_captcha
|
34
|
+
#
|
35
|
+
# else
|
36
|
+
# meth = :save
|
37
|
+
# end
|
38
|
+
# else
|
39
|
+
# meth = :save
|
40
|
+
# end
|
41
|
+
#
|
42
|
+
# if @contact_message.send(meth) and @recaptcha_error.blank?
|
43
|
+
# after_create
|
44
|
+
# if request.xhr? && process_ajax
|
45
|
+
# ajax_success
|
46
|
+
# else
|
47
|
+
# redirect_after_done
|
48
|
+
# end
|
49
|
+
# else
|
50
|
+
# render_contacts_error
|
51
|
+
# end
|
52
|
+
# end
|
53
|
+
#
|
54
|
+
# def sent
|
55
|
+
# end
|
56
|
+
#
|
57
|
+
# def update_captcha
|
58
|
+
# render layout: false
|
59
|
+
# end
|
60
|
+
#
|
61
|
+
#
|
62
|
+
# def hancock_feedback_update_captcha_path
|
63
|
+
# url_for(action: :update_captcha, time: Time.new.to_i, only_path: true)
|
64
|
+
# end
|
65
|
+
# def is_cache_fields
|
66
|
+
# cache_fields?
|
67
|
+
# end
|
68
|
+
# def cache_fields?
|
69
|
+
# ['new', 'index'].include? action_name
|
70
|
+
# end
|
71
|
+
# def cache_key
|
72
|
+
# 'hancock_feedback_contacts_fields'.freeze
|
73
|
+
# end
|
74
|
+
# def fields_partial
|
75
|
+
# "hancock/feedback/contacts/#{(Hancock::Feedback.config.model_settings_support ? 'fields_with_settings' : 'fields')}".freeze
|
76
|
+
# end
|
77
|
+
# def settings_scope
|
78
|
+
# if Hancock::Feedback.config.model_settings_support
|
79
|
+
# model.settings
|
80
|
+
# elsif defined?(Settings)
|
81
|
+
# Settings.ns('feedback')
|
82
|
+
# else
|
83
|
+
# nil
|
84
|
+
# end
|
85
|
+
# end
|
86
|
+
# def recaptcha_options
|
87
|
+
# {}
|
88
|
+
# end
|
89
|
+
# def locals
|
90
|
+
# {
|
91
|
+
# is_cache_fields: is_cache_fields,
|
92
|
+
# cache_key: cache_key,
|
93
|
+
# fields_partial: fields_partial,
|
94
|
+
# settings_scope: settings_scope,
|
95
|
+
# recaptcha_options: recaptcha_options
|
96
|
+
# }
|
97
|
+
# end
|
98
|
+
#
|
99
|
+
# private
|
100
|
+
# def render_contacts_error
|
101
|
+
# if request.xhr? && process_ajax
|
102
|
+
# render partial: form_partial, status: 422
|
103
|
+
# # render json: {errors: @contact_message.errors}, status: 422
|
104
|
+
# else
|
105
|
+
# flash.now[:alert] = @contact_message.errors.full_messages.join("\n")
|
106
|
+
# render action: Hancock::Feedback.configuration.recreate_contact_message_action, status: 422
|
107
|
+
# end
|
108
|
+
# end
|
109
|
+
# def process_ajax
|
110
|
+
# true
|
111
|
+
# end
|
112
|
+
# def ajax_success
|
113
|
+
# render partial: success_partial
|
114
|
+
# # render json: {ok: true}
|
115
|
+
# end
|
116
|
+
# def redirect_after_done
|
117
|
+
# redirect_to action: :sent
|
118
|
+
# end
|
119
|
+
# def xhr_checker
|
120
|
+
# if request.xhr?
|
121
|
+
# render layout: false, locals: locals
|
122
|
+
# return true
|
123
|
+
# end
|
124
|
+
# end
|
125
|
+
# def after_initialize
|
126
|
+
# end
|
127
|
+
# def after_create
|
128
|
+
# # overrideable hook for updating message
|
129
|
+
# end
|
130
|
+
# def form_partial
|
131
|
+
# "hancock/feedback/contacts/form"
|
132
|
+
# end
|
133
|
+
# def success_partial
|
134
|
+
# "hancock/feedback/contacts/success"
|
135
|
+
# end
|
136
|
+
# def model
|
137
|
+
# Hancock::Feedback::ContactMessage
|
138
|
+
# end
|
139
|
+
# def message_params
|
140
|
+
# params.require(model.to_param.gsub("::", "").underscore).permit(
|
141
|
+
# model.permitted_fields + [:name, :email, :phone, :content, :captcha, :captcha_key]
|
142
|
+
# )
|
143
|
+
# end
|
144
|
+
|
145
|
+
end
|