refinerycms-inquiries 1.0.1 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +3 -0
- data/.travis.yml +16 -0
- data/Gemfile +68 -0
- data/Guardfile +20 -0
- data/Rakefile +19 -0
- data/app/assets/stylesheets/refinery/inquiries/inquiries.css.scss +21 -0
- data/app/controllers/refinery/inquiries/admin/inquiries_controller.rb +50 -0
- data/app/controllers/refinery/inquiries/admin/settings_controller.rb +56 -0
- data/app/controllers/refinery/inquiries/inquiries_controller.rb +47 -0
- data/app/helpers/refinery/inquiries/inquiries_helper.rb +6 -0
- data/app/mailers/refinery/inquiries/inquiry_mailer.rb +22 -0
- data/app/models/refinery/inquiries/inquiry.rb +27 -0
- data/app/models/refinery/inquiries/setting.rb +63 -0
- data/app/views/refinery/inquiries/admin/inquiries/_inquiry.html.erb +27 -0
- data/app/views/refinery/inquiries/admin/inquiries/_submenu.html.erb +27 -0
- data/app/views/{admin → refinery/inquiries/admin}/inquiries/index.html.erb +2 -2
- data/app/views/{admin → refinery/inquiries/admin}/inquiries/show.html.erb +9 -7
- data/app/views/refinery/inquiries/admin/settings/_confirmation_email_form.html.erb +59 -0
- data/app/views/{admin/inquiry_settings → refinery/inquiries/admin/settings}/_notification_recipients_form.html.erb +3 -3
- data/app/views/{admin/inquiry_settings → refinery/inquiries/admin/settings}/edit.html.erb +1 -1
- data/app/views/refinery/inquiries/inquiries/new.html.erb +32 -0
- data/app/views/refinery/inquiries/inquiries/thank_you.html.erb +1 -0
- data/app/views/refinery/inquiries/inquiry_mailer/confirmation.text.erb +1 -0
- data/app/views/refinery/inquiries/inquiry_mailer/notification.text.erb +18 -0
- data/config/locales/bg.yml +77 -0
- data/config/locales/cs.yml +68 -66
- data/config/locales/da.yml +60 -58
- data/config/locales/de.yml +69 -67
- data/config/locales/en-GB.yml +68 -66
- data/config/locales/en.yml +68 -66
- data/config/locales/es.yml +71 -69
- data/config/locales/fr.yml +69 -67
- data/config/locales/it.yml +70 -68
- data/config/locales/lolcat.yml +69 -67
- data/config/locales/lt.yml +69 -67
- data/config/locales/lv.yml +69 -67
- data/config/locales/nb.yml +70 -68
- data/config/locales/nl.yml +69 -67
- data/config/locales/pl.yml +69 -67
- data/config/locales/pt-BR.yml +69 -67
- data/config/locales/ru.yml +69 -67
- data/config/locales/sk.yml +69 -67
- data/config/locales/sl.yml +69 -67
- data/config/locales/sv.yml +69 -67
- data/config/locales/zh-CN.yml +69 -67
- data/config/routes.rb +16 -16
- data/db/migrate/20101208082840_create_inquiries.rb +16 -34
- data/db/seeds.rb +50 -0
- data/lib/generators/refinery/inquiries/inquiries_generator.rb +19 -0
- data/lib/refinery/inquiries/configuration.rb +9 -0
- data/lib/refinery/inquiries/engine.rb +28 -0
- data/lib/refinery/inquiries.rb +26 -0
- data/lib/refinerycms-inquiries.rb +1 -23
- data/readme.md +12 -4
- data/refinerycms-inquiries.gemspec +11 -86
- data/spec/factories/inquiry.rb +7 -0
- data/spec/models/refinery/inquiries/inquiry_spec.rb +52 -0
- data/spec/requests/refinery/inquiries/admin/inquiries_spec.rb +138 -0
- data/spec/requests/refinery/inquiries/inquiries_spec.rb +81 -0
- data/spec/spec_helper.rb +56 -0
- data/tasks/rspec.rake +4 -0
- metadata +114 -39
- data/app/controllers/admin/inquiries_controller.rb +0 -41
- data/app/controllers/admin/inquiry_settings_controller.rb +0 -43
- data/app/controllers/inquiries_controller.rb +0 -43
- data/app/helpers/inquiries_helper.rb +0 -2
- data/app/mailers/inquiry_mailer.rb +0 -20
- data/app/models/inquiry.rb +0 -21
- data/app/models/inquiry_setting.rb +0 -33
- data/app/views/admin/inquiries/_inquiry.html.erb +0 -24
- data/app/views/admin/inquiries/_submenu.html.erb +0 -27
- data/app/views/admin/inquiry_settings/_confirmation_email_form.html.erb +0 -57
- data/app/views/inquiries/new.html.erb +0 -34
- data/app/views/inquiries/thank_you.html.erb +0 -1
- data/app/views/inquiry_mailer/confirmation.html.erb +0 -1
- data/app/views/inquiry_mailer/notification.html.erb +0 -18
- data/db/migrate/20101208082841_remove_position_and_open_from_inquiries.rb +0 -11
- data/db/seeds/pages_for_inquiries.rb +0 -55
- data/features/create_inquiries.feature +0 -38
- data/features/manage_inquiries.feature +0 -57
- data/features/step_definitions/inquiry_steps.rb +0 -25
- data/features/support/factories.rb +0 -7
- data/features/support/paths.rb +0 -26
- data/lib/gemspec.rb +0 -29
- data/lib/generators/refinerycms_inquiries_generator.rb +0 -6
- data/lib/inquiries.rb +0 -2
- data/spec/models/inquiry_spec.rb +0 -59
data/config/locales/zh-CN.yml
CHANGED
@@ -1,74 +1,76 @@
|
|
1
1
|
zh-CN:
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
new:
|
8
|
-
send: 发送消息
|
9
|
-
privacy_policy: 我们珍视您的隐私
|
10
|
-
admin:
|
2
|
+
refinery:
|
3
|
+
plugins:
|
4
|
+
refinerycms_inquiries:
|
5
|
+
title: 咨询
|
6
|
+
description: 提供一个联系表单与保存咨询
|
11
7
|
inquiries:
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
8
|
+
inquiries:
|
9
|
+
new:
|
10
|
+
send: 发送消息
|
11
|
+
privacy_policy: 我们珍视您的隐私
|
12
|
+
admin:
|
13
|
+
inquiries:
|
14
|
+
delete: 永久删除此咨询
|
15
|
+
inquiry:
|
16
|
+
read_inquiry: 阅读此咨询
|
17
|
+
said: 说
|
18
|
+
mark_as_spam: 标记为垃圾邮件
|
19
|
+
mark_as_ham: 移到收件箱
|
20
|
+
submenu:
|
21
|
+
inbox: 收件箱
|
22
|
+
spam: 垃圾邮件
|
23
|
+
update_notified: 更新通知名单
|
24
|
+
edit_confirmation_email: 编辑确认email
|
25
|
+
index:
|
26
|
+
no_inquiries: 你还没有收到任何的咨询.
|
27
|
+
no_spam: 垃圾邮件箱为空.
|
28
|
+
show:
|
29
|
+
details: 详细
|
30
|
+
age: 时间
|
31
|
+
actions: 操作
|
32
|
+
back_to_all_inquiries: 返回到所有的咨询
|
33
|
+
spam: 垃圾邮件
|
34
|
+
spam_yes: '是'
|
35
|
+
inquiry: 咨询
|
36
|
+
to: 到
|
37
|
+
from: 从
|
38
|
+
click_to_email: 点击发送到这个地址
|
39
|
+
phone: 电话
|
40
|
+
date: 日期
|
41
|
+
message: 信息
|
42
|
+
settings:
|
43
|
+
notification_recipients_form:
|
44
|
+
inquiry_settings_value_name: 发送通知到
|
45
|
+
hint: 当收到新的咨询时,Refinery将会发一封email通知你.
|
46
|
+
example: "输入你的email地址如: jack@work.com, jill@office.com"
|
47
|
+
confirmation_email_form:
|
48
|
+
to: 到
|
49
|
+
from: 从
|
50
|
+
subject: 标题
|
51
|
+
click_to_edit_subject: 点击这里编辑标题
|
52
|
+
explanation: 每当有人在网站上联系你, Refinery发送出一封email去确认发送者的身份.
|
53
|
+
below_edit_email_sent: 你可以在下面编辑你要发出去的email.
|
54
|
+
the_customer_making_inquiry: 客户正在写咨询
|
55
|
+
message: 信息
|
56
|
+
note: "注意: 把你的客户名字在电子邮件出现的位置以文字 %name% 做替换"
|
57
|
+
inquiry_mailer:
|
58
|
+
notification:
|
59
|
+
greeting: 您好
|
60
|
+
you_recieved_new_inquiry: 你刚从你的网站收到一条新的咨询.
|
61
|
+
inquiry_starts: --- 咨询开始处 ---
|
62
|
+
inquiry_ends: --- 咨询结束处 ---
|
63
|
+
from: 表单
|
64
|
+
email: email
|
65
|
+
phone: 电话
|
66
|
+
message: 信息
|
67
|
+
closing_line: 谨致问候
|
68
|
+
ps: 附言 您所有的咨询被保存在“咨询”区域以便于你在日后查看.
|
69
|
+
activerecord:
|
68
70
|
models:
|
69
|
-
inquiry: inquiry
|
71
|
+
refinery/inquiry: inquiry
|
70
72
|
attributes:
|
71
|
-
inquiry:
|
73
|
+
refinery/inquiry:
|
72
74
|
name: 姓名
|
73
75
|
email: email
|
74
76
|
phone: 联系电话
|
data/config/routes.rb
CHANGED
@@ -1,23 +1,23 @@
|
|
1
|
-
Refinery::
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
1
|
+
Refinery::Core::Engine.routes.draw do
|
2
|
+
namespace :inquiries, :path => '' do
|
3
|
+
get '/contact', :to => 'inquiries#new', :as => 'new_inquiry'
|
4
|
+
|
5
|
+
resources :contact,
|
6
|
+
:only => :create,
|
7
|
+
:as => :inquiries,
|
8
|
+
:controller => 'inquiries' do
|
9
|
+
get :thank_you, :on => :collection
|
9
10
|
end
|
10
|
-
end
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
get :
|
12
|
+
namespace :admin, :path => 'refinery' do
|
13
|
+
resources :inquiries, :only => [:index, :show, :destroy] do
|
14
|
+
get :spam, :on => :collection
|
15
|
+
get :toggle_spam, :on => :member
|
16
16
|
end
|
17
|
-
|
18
|
-
|
17
|
+
|
18
|
+
scope :path => 'inquiries' do
|
19
|
+
resources :settings, :only => [:edit, :update]
|
19
20
|
end
|
20
21
|
end
|
21
|
-
resources :inquiry_settings, :only => [:edit, :update]
|
22
22
|
end
|
23
23
|
end
|
@@ -1,42 +1,24 @@
|
|
1
1
|
class CreateInquiries < ActiveRecord::Migration
|
2
|
-
def
|
3
|
-
unless ::Inquiry.table_exists?
|
4
|
-
create_table
|
5
|
-
t.string
|
6
|
-
t.string
|
7
|
-
t.string
|
8
|
-
t.text
|
9
|
-
t.
|
10
|
-
t.
|
11
|
-
t.datetime "created_at"
|
12
|
-
t.datetime "updated_at"
|
13
|
-
t.boolean "spam", :default => false
|
2
|
+
def up
|
3
|
+
unless ::Refinery::Inquiries::Inquiry.table_exists?
|
4
|
+
create_table :refinery_inquiries_inquiries, :force => true do |t|
|
5
|
+
t.string :name
|
6
|
+
t.string :email
|
7
|
+
t.string :phone
|
8
|
+
t.text :message
|
9
|
+
t.boolean :spam, :default => false
|
10
|
+
t.timestamps
|
14
11
|
end
|
15
12
|
|
16
|
-
add_index
|
13
|
+
add_index :refinery_inquiries_inquiries, :id
|
17
14
|
end
|
18
|
-
|
19
|
-
# todo: remove at 1.0
|
20
|
-
create_table ::InquirySetting.table_name, :force => true do |t|
|
21
|
-
t.string "name"
|
22
|
-
t.text "value"
|
23
|
-
t.boolean "destroyable"
|
24
|
-
t.datetime "created_at"
|
25
|
-
t.datetime "updated_at"
|
26
|
-
end unless ::InquirySetting.table_exists?
|
27
|
-
|
28
|
-
::Page.reset_column_information if defined?(::Page)
|
29
|
-
|
30
|
-
load(Rails.root.join('db', 'seeds', 'pages_for_inquiries.rb').to_s)
|
31
15
|
end
|
32
16
|
|
33
|
-
def
|
34
|
-
drop_table ::Inquiry.table_name
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
::Page.delete_all({
|
17
|
+
def down
|
18
|
+
drop_table ::Refinery::Inquiries::Inquiry.table_name
|
19
|
+
|
20
|
+
::Refinery::Page.delete_all({
|
39
21
|
:link_url => ("/contact" || "/contact/thank_you")
|
40
|
-
}) if defined?(::Page)
|
22
|
+
}) if defined?(::Refinery::Page)
|
41
23
|
end
|
42
|
-
end
|
24
|
+
end
|
data/db/seeds.rb
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
::Refinery::User.all.each do |user|
|
2
|
+
if user.plugins.where(:name => 'refinery_inquiries').blank?
|
3
|
+
user.plugins.create(:name => "refinery_inquiries")
|
4
|
+
end
|
5
|
+
end if defined?(::Refinery::User)
|
6
|
+
|
7
|
+
if defined?(::Refinery::Page)
|
8
|
+
unless Refinery::Page.where(:link_url => '/contact').any?
|
9
|
+
contact_us_page = ::Refinery::Page.create({
|
10
|
+
:title => "Contact",
|
11
|
+
:link_url => "/contact",
|
12
|
+
:menu_match => "^/(inquiries|contact).*$",
|
13
|
+
:deletable => false
|
14
|
+
})
|
15
|
+
contact_us_page.parts.create({
|
16
|
+
:title => "Body",
|
17
|
+
:body => "<p>Get in touch with us. Just use the form below and we'll get back to you as soon as we can.</p>"
|
18
|
+
})
|
19
|
+
contact_us_page.parts.create({
|
20
|
+
:title => "Side Body",
|
21
|
+
:body => ""
|
22
|
+
})
|
23
|
+
end
|
24
|
+
|
25
|
+
unless Refinery::Page.where(:link_url => '/contact/thank_you').any?
|
26
|
+
thank_you_page = contact_us_page.children.create({
|
27
|
+
:title => "Thank You",
|
28
|
+
:link_url => "/contact/thank_you",
|
29
|
+
:menu_match => "^/(inquiries|contact)/thank_you$",
|
30
|
+
:show_in_menu => false,
|
31
|
+
:deletable => false
|
32
|
+
})
|
33
|
+
thank_you_page.parts.create({
|
34
|
+
:title => "Body",
|
35
|
+
:body => "<p>We've received your inquiry and will get back to you with a response shortly.</p><p><a href='/'>Return to the home page</a></p>"
|
36
|
+
})
|
37
|
+
end
|
38
|
+
|
39
|
+
unless Refinery::Page.by_title('Privacy Policy').any?
|
40
|
+
privacy_policy_page = contact_us_page.children.create({
|
41
|
+
:title => "Privacy Policy",
|
42
|
+
:deletable => true,
|
43
|
+
:show_in_menu => false
|
44
|
+
})
|
45
|
+
privacy_policy_page.parts.create({
|
46
|
+
:title => "Body",
|
47
|
+
:body => "<p>We respect your privacy. We do not market, rent or sell our email list to any outside parties.</p><p>We need your e-mail address so that we can ensure that the people using our forms are bona fide. It also allows us to send you e-mail newsletters and other communications, if you opt-in. Your postal address is required in order to send you information and pricing, if you request it.</p><p>Please call us at 123 456 7890 if you have any questions or concerns.</p>"
|
48
|
+
})
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Refinery
|
2
|
+
class InquiriesGenerator < Rails::Generators::Base
|
3
|
+
def rake_db
|
4
|
+
rake("refinery_inquiries:install:migrations")
|
5
|
+
rake("refinery_settings:install:migrations")
|
6
|
+
end
|
7
|
+
|
8
|
+
def append_load_seed_data
|
9
|
+
create_file 'db/seeds.rb' unless File.exists?(File.join(destination_root, 'db', 'seeds.rb'))
|
10
|
+
append_file 'db/seeds.rb', :verbose => true do
|
11
|
+
<<-EOH
|
12
|
+
|
13
|
+
# Added by Refinery CMS Inquiries engine
|
14
|
+
Refinery::Inquiries::Engine.load_seed
|
15
|
+
EOH
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Refinery
|
2
|
+
module Inquiries
|
3
|
+
class Engine < Rails::Engine
|
4
|
+
include Refinery::Engine
|
5
|
+
|
6
|
+
isolate_namespace Refinery::Inquiries
|
7
|
+
|
8
|
+
initializer "init plugin" do
|
9
|
+
Refinery::Plugin.register do |plugin|
|
10
|
+
plugin.pathname = root
|
11
|
+
plugin.name = "refinerycms_inquiries"
|
12
|
+
plugin.url = proc { Refinery::Core::Engine.routes.url_helpers.inquiries_admin_inquiries_path }
|
13
|
+
plugin.menu_match = %r{/refinery/inquiries(/.+?)?$}
|
14
|
+
plugin.activity = {
|
15
|
+
:class_name => :'refinery/inquiries/inquiry',
|
16
|
+
:title => 'name',
|
17
|
+
:url_prefix => nil,
|
18
|
+
:url => 'refinery.inquiries_admin_inquiries_path'
|
19
|
+
}
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
config.after_initialize do
|
24
|
+
Refinery.register_engine(Refinery::Inquiries)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'refinerycms-core'
|
2
|
+
require 'refinerycms-settings'
|
3
|
+
require 'filters_spam'
|
4
|
+
|
5
|
+
module Refinery
|
6
|
+
autoload :InquiriesGenerator, 'generators/refinery/inquiries/inquiries_generator'
|
7
|
+
|
8
|
+
module Inquiries
|
9
|
+
require 'refinery/inquiries/engine'
|
10
|
+
require 'refinery/inquiries/configuration'
|
11
|
+
|
12
|
+
autoload :Version, 'refinery/inquiries/version'
|
13
|
+
|
14
|
+
class << self
|
15
|
+
attr_writer :root
|
16
|
+
|
17
|
+
def root
|
18
|
+
@root ||= Pathname.new(File.expand_path('../../../', __FILE__))
|
19
|
+
end
|
20
|
+
|
21
|
+
def factory_paths
|
22
|
+
@factory_paths ||= [ root.join("spec/factories").to_s ]
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -1,23 +1 @@
|
|
1
|
-
require
|
2
|
-
|
3
|
-
module Refinery
|
4
|
-
module Inquiries
|
5
|
-
class Engine < Rails::Engine
|
6
|
-
config.to_prepare do
|
7
|
-
require 'filters_spam'
|
8
|
-
end
|
9
|
-
|
10
|
-
config.after_initialize do
|
11
|
-
Refinery::Plugin.register do |plugin|
|
12
|
-
plugin.name = "refinery_inquiries"
|
13
|
-
plugin.directory = "inquiries"
|
14
|
-
plugin.menu_match = /(refinery|admin)\/inquir(ies|y_settings)$/
|
15
|
-
plugin.activity = {
|
16
|
-
:class => InquirySetting,
|
17
|
-
:title => 'name'
|
18
|
-
}
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
1
|
+
require 'refinery/inquiries'
|
data/readme.md
CHANGED
@@ -6,17 +6,17 @@
|
|
6
6
|
|
7
7
|
Include the latest [gem](http://rubygems.org/gems/refinerycms-inquiries) into your Refinery CMS application's Gemfile:
|
8
8
|
|
9
|
-
gem 'refinerycms-inquiries', '~>
|
9
|
+
gem 'refinerycms-inquiries', '~> 2.0.0'
|
10
10
|
|
11
11
|
Then type the following at command line inside your Refinery CMS application's root directory:
|
12
12
|
|
13
13
|
bundle install
|
14
14
|
|
15
|
-
#### Installation on Refinery 0.
|
15
|
+
#### Installation on Refinery 2.0.0 or above.
|
16
16
|
|
17
17
|
To install the migrations, run:
|
18
18
|
|
19
|
-
rails generate
|
19
|
+
rails generate refinery:inquiries
|
20
20
|
|
21
21
|
Next migrate your database and you're done:
|
22
22
|
|
@@ -40,4 +40,12 @@ Go into your 'Inquiries' tab in the Refinery admin area and click on "Update who
|
|
40
40
|
|
41
41
|
## How do I Edit the Automatic Confirmation Email
|
42
42
|
|
43
|
-
Go into your 'Inquiries' tab in the Refinery admin area and click on "Edit confirmation email"
|
43
|
+
Go into your 'Inquiries' tab in the Refinery admin area and click on "Edit confirmation email"
|
44
|
+
|
45
|
+
## Help! How do I send emails from no-reply@domain.com.au instead of no-reply@com.au?
|
46
|
+
|
47
|
+
Simply set the following in config/application.rb:
|
48
|
+
|
49
|
+
```ruby
|
50
|
+
config.action_dispatch.tld_length = 2
|
51
|
+
```
|
@@ -1,96 +1,21 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = %q{refinerycms-inquiries}
|
3
|
-
s.version = %q{
|
4
|
-
s.date = %
|
3
|
+
s.version = %q{2.0.0}
|
4
|
+
s.date = "#{Date.today.strftime("%Y-%m-%d")}"
|
5
5
|
s.summary = %q{Inquiry handling functionality for the Refinery CMS project.}
|
6
6
|
s.description = %q{Inquiry handling functionality extracted from Refinery CMS to allow you to have a contact form and manage inquiries in the Refinery backend.}
|
7
7
|
s.homepage = %q{http://refinerycms.com}
|
8
8
|
s.email = %q{info@refinerycms.com}
|
9
|
-
s.authors = [
|
9
|
+
s.authors = ['Philip Arndt', 'Uģis Ozols', 'David Jones']
|
10
10
|
s.require_paths = %w(lib)
|
11
11
|
|
12
|
-
s.files =
|
13
|
-
|
14
|
-
'app/controllers',
|
15
|
-
'app/controllers/admin',
|
16
|
-
'app/controllers/admin/inquiries_controller.rb',
|
17
|
-
'app/controllers/admin/inquiry_settings_controller.rb',
|
18
|
-
'app/controllers/inquiries_controller.rb',
|
19
|
-
'app/helpers',
|
20
|
-
'app/helpers/inquiries_helper.rb',
|
21
|
-
'app/mailers',
|
22
|
-
'app/mailers/inquiry_mailer.rb',
|
23
|
-
'app/models',
|
24
|
-
'app/models/inquiry.rb',
|
25
|
-
'app/models/inquiry_setting.rb',
|
26
|
-
'app/views',
|
27
|
-
'app/views/admin',
|
28
|
-
'app/views/admin/inquiries',
|
29
|
-
'app/views/admin/inquiries/_inquiry.html.erb',
|
30
|
-
'app/views/admin/inquiries/_submenu.html.erb',
|
31
|
-
'app/views/admin/inquiries/index.html.erb',
|
32
|
-
'app/views/admin/inquiries/show.html.erb',
|
33
|
-
'app/views/admin/inquiry_settings',
|
34
|
-
'app/views/admin/inquiry_settings/_confirmation_email_form.html.erb',
|
35
|
-
'app/views/admin/inquiry_settings/_notification_recipients_form.html.erb',
|
36
|
-
'app/views/admin/inquiry_settings/edit.html.erb',
|
37
|
-
'app/views/inquiries',
|
38
|
-
'app/views/inquiries/new.html.erb',
|
39
|
-
'app/views/inquiries/thank_you.html.erb',
|
40
|
-
'app/views/inquiry_mailer',
|
41
|
-
'app/views/inquiry_mailer/confirmation.html.erb',
|
42
|
-
'app/views/inquiry_mailer/notification.html.erb',
|
43
|
-
'config',
|
44
|
-
'config/locales',
|
45
|
-
'config/locales/cs.yml',
|
46
|
-
'config/locales/da.yml',
|
47
|
-
'config/locales/de.yml',
|
48
|
-
'config/locales/en-GB.yml',
|
49
|
-
'config/locales/en.yml',
|
50
|
-
'config/locales/es.yml',
|
51
|
-
'config/locales/fr.yml',
|
52
|
-
'config/locales/it.yml',
|
53
|
-
'config/locales/lolcat.yml',
|
54
|
-
'config/locales/lt.yml',
|
55
|
-
'config/locales/lv.yml',
|
56
|
-
'config/locales/nb.yml',
|
57
|
-
'config/locales/nl.yml',
|
58
|
-
'config/locales/pl.yml',
|
59
|
-
'config/locales/pt-BR.yml',
|
60
|
-
'config/locales/ru.yml',
|
61
|
-
'config/locales/sk.yml',
|
62
|
-
'config/locales/sl.yml',
|
63
|
-
'config/locales/sv.yml',
|
64
|
-
'config/locales/zh-CN.yml',
|
65
|
-
'config/routes.rb',
|
66
|
-
'db',
|
67
|
-
'db/migrate',
|
68
|
-
'db/migrate/20101208082840_create_inquiries.rb',
|
69
|
-
'db/migrate/20101208082841_remove_position_and_open_from_inquiries.rb',
|
70
|
-
'db/seeds',
|
71
|
-
'db/seeds/pages_for_inquiries.rb',
|
72
|
-
'features',
|
73
|
-
'features/create_inquiries.feature',
|
74
|
-
'features/manage_inquiries.feature',
|
75
|
-
'features/step_definitions',
|
76
|
-
'features/step_definitions/inquiry_steps.rb',
|
77
|
-
'features/support',
|
78
|
-
'features/support/factories.rb',
|
79
|
-
'features/support/paths.rb',
|
80
|
-
'lib',
|
81
|
-
'lib/gemspec.rb',
|
82
|
-
'lib/generators',
|
83
|
-
'lib/generators/refinerycms_inquiries_generator.rb',
|
84
|
-
'lib/inquiries.rb',
|
85
|
-
'lib/refinerycms-inquiries.rb',
|
86
|
-
'license.md',
|
87
|
-
'readme.md',
|
88
|
-
'refinerycms-inquiries.gemspec',
|
89
|
-
'spec',
|
90
|
-
'spec/models',
|
91
|
-
'spec/models/inquiry_spec.rb'
|
92
|
-
]
|
93
|
-
s.require_path = 'lib'
|
12
|
+
s.files = `git ls-files`.split("\n")
|
13
|
+
s.test_files = `git ls-files -- spec/*`.split("\n")
|
94
14
|
|
95
|
-
s.add_dependency
|
15
|
+
s.add_dependency 'refinerycms-core', '~> 2.0.1'
|
16
|
+
s.add_dependency 'refinerycms-settings', '~> 2.0.1'
|
17
|
+
s.add_dependency 'filters_spam', '~> 0.2'
|
18
|
+
|
19
|
+
# Development dependencies
|
20
|
+
s.add_development_dependency 'refinerycms-testing', '~> 2.0.0'
|
96
21
|
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Refinery
|
4
|
+
module Inquiries
|
5
|
+
describe Inquiry do
|
6
|
+
describe "validations" do
|
7
|
+
subject do
|
8
|
+
Factory.build(:inquiry,
|
9
|
+
:name => "Ugis Ozols",
|
10
|
+
:email => "ugis.ozols@refinerycms.com",
|
11
|
+
:message => "Hey, I'm testing!")
|
12
|
+
end
|
13
|
+
|
14
|
+
it { should be_valid }
|
15
|
+
its(:errors) { should be_empty }
|
16
|
+
its(:name) { should == "Ugis Ozols" }
|
17
|
+
its(:email) { should == "ugis.ozols@refinerycms.com" }
|
18
|
+
its(:message) { should == "Hey, I'm testing!" }
|
19
|
+
end
|
20
|
+
|
21
|
+
describe "default scope" do
|
22
|
+
it "orders by created_at in desc" do
|
23
|
+
inquiry1 = Factory(:inquiry, :created_at => 1.hour.ago)
|
24
|
+
inquiry2 = Factory(:inquiry, :created_at => 2.hours.ago)
|
25
|
+
inquiries = Refinery::Inquiries::Inquiry.all
|
26
|
+
inquiries.first.should == inquiry1
|
27
|
+
inquiries.second.should == inquiry2
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
describe ".latest" do
|
32
|
+
it "returns latest 7 non-spam inquiries by default" do
|
33
|
+
8.times { Factory(:inquiry) }
|
34
|
+
Refinery::Inquiries::Inquiry.last.toggle!(:spam)
|
35
|
+
Refinery::Inquiries::Inquiry.latest.length.should == 7
|
36
|
+
end
|
37
|
+
|
38
|
+
it "returns latest 7 inquiries including spam ones" do
|
39
|
+
4.times { Factory(:inquiry) }
|
40
|
+
3.times { Factory(:inquiry) }
|
41
|
+
Refinery::Inquiries::Inquiry.all[0..2].each { |inquiry| inquiry.toggle!(:spam) }
|
42
|
+
Refinery::Inquiries::Inquiry.latest(7, true).length.should == 7
|
43
|
+
end
|
44
|
+
|
45
|
+
it "returns latest n inquiries" do
|
46
|
+
4.times { Factory(:inquiry) }
|
47
|
+
Refinery::Inquiries::Inquiry.latest(3).length.should == 3
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|