cms-inquiries 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/app/controllers/admin/inquiries_controller.rb +41 -0
- data/app/controllers/admin/inquiry_settings_controller.rb +48 -0
- data/app/controllers/inquiries_controller.rb +43 -0
- data/app/helpers/inquiries_helper.rb +2 -0
- data/app/mailers/inquiry_mailer.rb +21 -0
- data/app/models/inquiry.rb +23 -0
- data/app/models/inquiry_setting.rb +47 -0
- data/app/views/admin/inquiries/_inquiry.html.erb +24 -0
- data/app/views/admin/inquiries/_submenu.html.erb +27 -0
- data/app/views/admin/inquiries/index.html.erb +30 -0
- data/app/views/admin/inquiries/show.html.erb +72 -0
- data/app/views/admin/inquiry_settings/_confirmation_email_form.html.erb +59 -0
- data/app/views/admin/inquiry_settings/_notification_recipients_form.html.erb +25 -0
- data/app/views/admin/inquiry_settings/edit.html.erb +5 -0
- data/app/views/inquiries/new.html.erb +34 -0
- data/app/views/inquiries/thank_you.html.erb +1 -0
- data/app/views/inquiry_mailer/confirmation.html.erb +1 -0
- data/app/views/inquiry_mailer/notification.html.erb +18 -0
- data/cms-inquiries.gemspec +98 -0
- data/config/locales/bg.yml +75 -0
- data/config/locales/cs.yml +75 -0
- data/config/locales/da.yml +68 -0
- data/config/locales/de.yml +76 -0
- data/config/locales/en-GB.yml +75 -0
- data/config/locales/en.yml +75 -0
- data/config/locales/es.yml +79 -0
- data/config/locales/fr.yml +76 -0
- data/config/locales/it.yml +77 -0
- data/config/locales/lolcat.yml +76 -0
- data/config/locales/lt.yml +76 -0
- data/config/locales/lv.yml +76 -0
- data/config/locales/nb.yml +75 -0
- data/config/locales/nl.yml +75 -0
- data/config/locales/pl.yml +76 -0
- data/config/locales/pt-BR.yml +76 -0
- data/config/locales/ru.yml +75 -0
- data/config/locales/sk.yml +75 -0
- data/config/locales/sl.yml +75 -0
- data/config/locales/sv.yml +75 -0
- data/config/locales/zh-CN.yml +75 -0
- data/config/routes.rb +23 -0
- data/db/migrate/20101208082840_create_inquiries.rb +31 -0
- data/db/migrate/20101208082841_remove_position_and_open_from_inquiries.rb +11 -0
- data/db/migrate/20110719082646_drop_inquiry_settings_table.rb +11 -0
- data/db/seeds/pages_for_inquiries.rb +55 -0
- data/features/create_inquiries.feature +38 -0
- data/features/manage_inquiries.feature +57 -0
- data/features/step_definitions/inquiry_steps.rb +25 -0
- data/features/support/factories.rb +7 -0
- data/features/support/paths.rb +26 -0
- data/lib/gemspec.rb +29 -0
- data/lib/generators/refinerycms_inquiries_generator.rb +6 -0
- data/lib/inquiries.rb +2 -0
- data/lib/refinerycms-inquiries.rb +24 -0
- data/license.md +21 -0
- data/readme.md +49 -0
- data/spec/models/inquiry_spec.rb +59 -0
- metadata +135 -0
@@ -0,0 +1,55 @@
|
|
1
|
+
::User.all.each do |user|
|
2
|
+
if user.plugins.where(:name => 'refinery_inquiries').blank?
|
3
|
+
user.plugins.create(:name => "refinery_inquiries",
|
4
|
+
:position => (user.plugins.maximum(:position) || -1) +1)
|
5
|
+
end
|
6
|
+
end if defined?(::User)
|
7
|
+
|
8
|
+
if defined?(::Page)
|
9
|
+
page_position = (::Page.maximum(:position, :conditions => {:parent_id => nil}) || -1)
|
10
|
+
|
11
|
+
contact_us_page = ::Page.create({
|
12
|
+
:title => "Contact",
|
13
|
+
:link_url => "/contact",
|
14
|
+
:menu_match => "^/(inquiries|contact).*$",
|
15
|
+
:deletable => false,
|
16
|
+
:position => (page_position += 1)
|
17
|
+
})
|
18
|
+
contact_us_page.parts.create({
|
19
|
+
:title => "Body",
|
20
|
+
: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>",
|
21
|
+
:position => 0
|
22
|
+
})
|
23
|
+
contact_us_page.parts.create({
|
24
|
+
:title => "Side Body",
|
25
|
+
:body => "<p>163 Evergreen Terrace<br/>Happyville<br/>USA.<br/>Phone: 1-800 CALLUSNOW</p>",
|
26
|
+
:position => 1
|
27
|
+
})
|
28
|
+
contact_us_page_position = -1
|
29
|
+
|
30
|
+
thank_you_page = contact_us_page.children.create({
|
31
|
+
:title => "Thank You",
|
32
|
+
:link_url => "/contact/thank_you",
|
33
|
+
:menu_match => "^/(inquiries|contact)/thank_you$",
|
34
|
+
:show_in_menu => false,
|
35
|
+
:deletable => false,
|
36
|
+
:position => (contact_us_page_position += 1)
|
37
|
+
})
|
38
|
+
thank_you_page.parts.create({
|
39
|
+
:title => "Body",
|
40
|
+
: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>",
|
41
|
+
:position => 0
|
42
|
+
})
|
43
|
+
|
44
|
+
privacy_policy_page = contact_us_page.children.create({
|
45
|
+
:title => "Privacy Policy",
|
46
|
+
:deletable => true,
|
47
|
+
:show_in_menu => false,
|
48
|
+
:position => (contact_us_page_position += 1)
|
49
|
+
})
|
50
|
+
privacy_policy_page.parts.create({
|
51
|
+
:title => "Body",
|
52
|
+
: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>",
|
53
|
+
:position => 0
|
54
|
+
})
|
55
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
@refinerycms @inquiries @inquiries-create
|
2
|
+
Feature: Create Inquiries
|
3
|
+
In order to contact the website owner
|
4
|
+
I want to create an inquiry
|
5
|
+
|
6
|
+
Background:
|
7
|
+
Given A Refinery user exists
|
8
|
+
And I have no inquiries
|
9
|
+
And I have a page titled "Contact Us" with a custom url "/contact"
|
10
|
+
And I have a page titled "Thank You" with a custom url "/contact/thank_you"
|
11
|
+
|
12
|
+
Scenario: Contact page
|
13
|
+
When I go to the contact page
|
14
|
+
Then I should see "Name *"
|
15
|
+
And I should see "Email *"
|
16
|
+
And I should see "Phone"
|
17
|
+
And I should see "Message *"
|
18
|
+
|
19
|
+
Scenario: Create a valid inquiry
|
20
|
+
When I go to the contact page
|
21
|
+
And I fill in "Name *" with "Philip"
|
22
|
+
And I fill in "Email *" with "phil@refinerycms.com"
|
23
|
+
And I fill in "Message *" with "It sure is good to have a functional test coverage."
|
24
|
+
And I press "Send"
|
25
|
+
Then I should be on the contact thank you page
|
26
|
+
And I should see "Thank You"
|
27
|
+
And I should have 1 inquiries
|
28
|
+
|
29
|
+
Scenario: Create an invalid inquiry
|
30
|
+
When I go to the contact page
|
31
|
+
And I press "Send"
|
32
|
+
Then I should be on the contact create page
|
33
|
+
And I should see "Name can't be blank"
|
34
|
+
And I should not see "Email can't be blank"
|
35
|
+
And I should see "Email is invalid"
|
36
|
+
And I should not see "Phone can't be blank"
|
37
|
+
And I should see "Message can't be blank"
|
38
|
+
And I should have 0 inquiries
|
@@ -0,0 +1,57 @@
|
|
1
|
+
@refinerycms @inquiries @inquiries-manage
|
2
|
+
Feature: Manage Inquiries
|
3
|
+
In order to see inquiries left for me on my website
|
4
|
+
As an Administrator
|
5
|
+
I want to manage inquiries
|
6
|
+
|
7
|
+
Background:
|
8
|
+
Given I am a logged in refinery user
|
9
|
+
And I have no inquiries
|
10
|
+
And I have an inquiry from "David Jones" with email "dave@refinerycms.com" and message "Hello, I really like your website. Was it hard to build and maintain or could anyone do it?"
|
11
|
+
|
12
|
+
Scenario: Inquiries List
|
13
|
+
When I go to the list of inquiries
|
14
|
+
Then I should see "David Jones said Hello, I really like your website. Was it hard to build ..."
|
15
|
+
And I should have 1 inquiries
|
16
|
+
And I should not see "Add"
|
17
|
+
|
18
|
+
Scenario: Spam List
|
19
|
+
When I go to the list of inquiries
|
20
|
+
And I follow "Spam"
|
21
|
+
Then I should see "Hooray! You don't have any spam."
|
22
|
+
|
23
|
+
@inquiry-settings
|
24
|
+
Scenario: Updating who gets notified
|
25
|
+
When I go to the list of inquiries
|
26
|
+
And I follow "Update who gets notified"
|
27
|
+
And I fill in "Send notifications to" with "phil@refinerycms.com"
|
28
|
+
And I press "Save"
|
29
|
+
Then I should be redirected back to "the list of inquiries"
|
30
|
+
And I should see "'Notification Recipients' was successfully updated."
|
31
|
+
And I should be on the list of inquiries
|
32
|
+
|
33
|
+
@inquiry-settings
|
34
|
+
Scenario: Updating confirmation email copy
|
35
|
+
When I go to the list of inquiries
|
36
|
+
And I follow "Edit confirmation email"
|
37
|
+
And I fill in "Message" with "Thanks %name%! We'll never get back to you!"
|
38
|
+
And I press "Save"
|
39
|
+
Then I should be redirected back to "the list of inquiries"
|
40
|
+
And I should see "'Confirmation Body' was successfully updated."
|
41
|
+
And I should be on the list of inquiries
|
42
|
+
|
43
|
+
Scenario: Inquiries Show
|
44
|
+
When I go to the list of inquiries
|
45
|
+
And I follow "Read the inquiry"
|
46
|
+
Then I should see "From David Jones [dave@refinerycms.com]"
|
47
|
+
And I should see "Hello, I really like your website. Was it hard to build and maintain or could anyone do it?"
|
48
|
+
And I should see "Age"
|
49
|
+
And I should see "Back to all Inquiries"
|
50
|
+
And I should see "Remove this inquiry forever"
|
51
|
+
|
52
|
+
Scenario: Inquiries Delete
|
53
|
+
When I go to the list of inquiries
|
54
|
+
And I follow "Read the inquiry"
|
55
|
+
And I follow "Remove this inquiry forever"
|
56
|
+
Then I should see "'David Jones' was successfully removed."
|
57
|
+
And I should have 0 inquiries
|
@@ -0,0 +1,25 @@
|
|
1
|
+
Given /^I have no inquiries$/ do
|
2
|
+
Inquiry.delete_all
|
3
|
+
end
|
4
|
+
|
5
|
+
Then /^I should have ([0-9]+) inquiries?$/ do |count|
|
6
|
+
Inquiry.count.should == count.to_i
|
7
|
+
end
|
8
|
+
|
9
|
+
Given /^I have an? inquiry from "([^"]*)" with email "([^\"]*)" and message "([^\"]*)"$/ do |name, email, message|
|
10
|
+
Inquiry.create(:name => name,
|
11
|
+
:email => email,
|
12
|
+
:message => message)
|
13
|
+
end
|
14
|
+
|
15
|
+
Given /^I have an? inquiry titled "([^"]*)"$/ do |title|
|
16
|
+
Inquiry.create(:name => title,
|
17
|
+
:email => 'test@cukes.com',
|
18
|
+
:message => 'cuking ...',
|
19
|
+
:spam => false)
|
20
|
+
|
21
|
+
Inquiry.create(:name => title,
|
22
|
+
:email => 'test@cukes.com',
|
23
|
+
:message => 'cuking ...',
|
24
|
+
:spam => true)
|
25
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module NavigationHelpers
|
2
|
+
module Refinery
|
3
|
+
module Inquiries
|
4
|
+
def path_to(page_name)
|
5
|
+
case page_name
|
6
|
+
when /the contact page/
|
7
|
+
new_inquiry_path
|
8
|
+
|
9
|
+
when /the contact thank you page/
|
10
|
+
thank_you_inquiries_path
|
11
|
+
|
12
|
+
when /the contact create page/
|
13
|
+
inquiries_path
|
14
|
+
|
15
|
+
when /the list of inquiries/
|
16
|
+
admin_inquiries_path
|
17
|
+
|
18
|
+
when /the list of spam inquiries/
|
19
|
+
spam_admin_inquiries_path
|
20
|
+
else
|
21
|
+
nil
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/lib/gemspec.rb
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
version = '1.0.1'
|
3
|
+
raise "Could not get version so gemspec can not be built" if version.nil?
|
4
|
+
files = Dir.glob("**/*").flatten.reject do |file|
|
5
|
+
file =~ /\.gem$/
|
6
|
+
end
|
7
|
+
|
8
|
+
gemspec = <<EOF
|
9
|
+
Gem::Specification.new do |s|
|
10
|
+
s.name = %q{refinerycms-inquiries}
|
11
|
+
s.version = %q{#{version}}
|
12
|
+
s.date = %q{#{Time.now.strftime('%Y-%m-%d')}}
|
13
|
+
s.summary = %q{Inquiry handling functionality for the Refinery CMS project.}
|
14
|
+
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.}
|
15
|
+
s.homepage = %q{http://refinerycms.com}
|
16
|
+
s.email = %q{info@refinerycms.com}
|
17
|
+
s.authors = ["Resolve Digital"]
|
18
|
+
s.require_paths = %w(lib)
|
19
|
+
|
20
|
+
s.files = [
|
21
|
+
'#{files.join("',\n '")}'
|
22
|
+
]
|
23
|
+
s.require_path = 'lib'
|
24
|
+
|
25
|
+
s.add_dependency('filters_spam', '~> 0.2')
|
26
|
+
end
|
27
|
+
EOF
|
28
|
+
|
29
|
+
File.open(File.expand_path("../../refinerycms-inquiries.gemspec", __FILE__), 'w').puts(gemspec)
|
data/lib/inquiries.rb
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
require File.expand_path('../inquiries', __FILE__)
|
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.pathname = root
|
13
|
+
plugin.name = "refinery_inquiries"
|
14
|
+
plugin.directory = "inquiries"
|
15
|
+
plugin.menu_match = /(refinery|admin)\/inquir(ies|y_settings)$/
|
16
|
+
plugin.activity = {
|
17
|
+
:class => InquirySetting,
|
18
|
+
:title => 'name'
|
19
|
+
}
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
data/license.md
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2005-2010 [Resolve Digital Ltd.](http://www.resolvedigital.co.nz)
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|
data/readme.md
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
# Inquiries
|
2
|
+
|
3
|
+
![Refinery Inquiries](http://refinerycms.com/system/images/BAhbBlsHOgZmSSIqMjAxMS8wNS8wMS8wNF81MF8wMV81MDlfaW5xdWlyaWVzLnBuZwY6BkVU/inquiries.png)
|
4
|
+
|
5
|
+
### Gem Installation using Bundler (The very best way)
|
6
|
+
|
7
|
+
Include the latest [gem](http://rubygems.org/gems/refinerycms-inquiries) into your Refinery CMS application's Gemfile:
|
8
|
+
|
9
|
+
gem 'refinerycms-inquiries', '~> 1.0.0'
|
10
|
+
|
11
|
+
Then type the following at command line inside your Refinery CMS application's root directory:
|
12
|
+
|
13
|
+
bundle install
|
14
|
+
|
15
|
+
#### Installation on Refinery 0.9.9 or above.
|
16
|
+
|
17
|
+
To install the migrations, run:
|
18
|
+
|
19
|
+
rails generate refinerycms_inquiries
|
20
|
+
|
21
|
+
Next migrate your database and you're done:
|
22
|
+
|
23
|
+
rake db:migrate
|
24
|
+
|
25
|
+
## About
|
26
|
+
|
27
|
+
__Add a simple contact form to Refinery that notifies you and the customer when an inquiry is made.__
|
28
|
+
|
29
|
+
In summary you can:
|
30
|
+
|
31
|
+
* Collect and manage inquiries
|
32
|
+
* Specify who is notified when a new inquiry comes in
|
33
|
+
* Customise an auto responder email that is sent to the person making the inquiry
|
34
|
+
|
35
|
+
When inquiries come in, you and the customer are generally notified. As we implemented spam filtering through the [filters_spam plugin](https://github.com/resolve/filters_spam#readme) you will not get notified if an inquiry is marked as 'spam'.
|
36
|
+
|
37
|
+
## How do I get Notified?
|
38
|
+
|
39
|
+
Go into your 'Inquiries' tab in the Refinery admin area and click on "Update who gets notified"
|
40
|
+
|
41
|
+
## How do I Edit the Automatic Confirmation Email
|
42
|
+
|
43
|
+
Go into your 'Inquiries' tab in the Refinery admin area and click on "Edit confirmation email"
|
44
|
+
|
45
|
+
## How do I change the from address from no-reply@com.au to no-reply@[mydomain].com.au
|
46
|
+
|
47
|
+
Simply change the Refinery setting 'Tld Length' in the admin section from 1 to 2 and your domain name will be added.
|
48
|
+
|
49
|
+
Note: This only affects top level domains that are two deep (ie: not .com or .org, but does affect .com.au etc).
|
@@ -0,0 +1,59 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
Dir[File.expand_path('../../../features/support/factories.rb', __FILE__)].each {|f| require f}
|
4
|
+
|
5
|
+
describe Inquiry do
|
6
|
+
describe "validations" do
|
7
|
+
before(:each) do
|
8
|
+
@attr = {
|
9
|
+
:name => "rspec",
|
10
|
+
:email => "rspec@refinery.com",
|
11
|
+
:message => "test"
|
12
|
+
}
|
13
|
+
end
|
14
|
+
|
15
|
+
it "rejects empty name" do
|
16
|
+
Inquiry.new(@attr.merge(:name => "")).should_not be_valid
|
17
|
+
end
|
18
|
+
|
19
|
+
it "rejects empty message" do
|
20
|
+
Inquiry.new(@attr.merge(:message => "")).should_not be_valid
|
21
|
+
end
|
22
|
+
|
23
|
+
it "rejects invalid email format" do
|
24
|
+
["", "@refinerycms.com", "refinery@cms", "refinery@cms.123"].each do |email|
|
25
|
+
Inquiry.new(@attr.merge(:email => email)).should_not be_valid
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
describe "default scope" do
|
31
|
+
it "orders by created_at in desc" do
|
32
|
+
inquiry1 = Factory(:inquiry, :created_at => 1.hour.ago)
|
33
|
+
inquiry2 = Factory(:inquiry, :created_at => 2.hours.ago)
|
34
|
+
inquiries = Inquiry.all
|
35
|
+
inquiries.first.should == inquiry1
|
36
|
+
inquiries.second.should == inquiry2
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
describe ".latest" do
|
41
|
+
it "returns latest 7 non-spam inquiries by default" do
|
42
|
+
8.times { Factory(:inquiry) }
|
43
|
+
Inquiry.last.toggle!(:spam)
|
44
|
+
Inquiry.latest.length.should == 7
|
45
|
+
end
|
46
|
+
|
47
|
+
it "returns latest 7 inquiries including spam ones" do
|
48
|
+
4.times { Factory(:inquiry) }
|
49
|
+
3.times { Factory(:inquiry) }
|
50
|
+
Inquiry.all[0..2].each { |inquiry| inquiry.toggle!(:spam) }
|
51
|
+
Inquiry.latest(7, true).length.should == 7
|
52
|
+
end
|
53
|
+
|
54
|
+
it "returns latest n inquiries" do
|
55
|
+
4.times { Factory(:inquiry) }
|
56
|
+
Inquiry.latest(3).length.should == 3
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
metadata
ADDED
@@ -0,0 +1,135 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: cms-inquiries
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 21
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 1
|
8
|
+
- 0
|
9
|
+
- 1
|
10
|
+
version: 1.0.1
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Mutalis LLC
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2012-02-06 00:00:00 Z
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
name: filters_spam
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
25
|
+
requirements:
|
26
|
+
- - ~>
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
hash: 15
|
29
|
+
segments:
|
30
|
+
- 0
|
31
|
+
- 2
|
32
|
+
version: "0.2"
|
33
|
+
type: :runtime
|
34
|
+
version_requirements: *id001
|
35
|
+
description: Inquiry handling functionality that allow you to have a contact form and manage inquiries in the CMS backend.
|
36
|
+
email: services_info@mutalis.com
|
37
|
+
executables: []
|
38
|
+
|
39
|
+
extensions: []
|
40
|
+
|
41
|
+
extra_rdoc_files: []
|
42
|
+
|
43
|
+
files:
|
44
|
+
- cms-inquiries.gemspec
|
45
|
+
- app/controllers/inquiries_controller.rb
|
46
|
+
- app/controllers/admin/inquiries_controller.rb
|
47
|
+
- app/controllers/admin/inquiry_settings_controller.rb
|
48
|
+
- app/views/inquiries/thank_you.html.erb
|
49
|
+
- app/views/inquiries/new.html.erb
|
50
|
+
- app/views/inquiry_mailer/confirmation.html.erb
|
51
|
+
- app/views/inquiry_mailer/notification.html.erb
|
52
|
+
- app/views/admin/inquiries/show.html.erb
|
53
|
+
- app/views/admin/inquiries/_submenu.html.erb
|
54
|
+
- app/views/admin/inquiries/index.html.erb
|
55
|
+
- app/views/admin/inquiries/_inquiry.html.erb
|
56
|
+
- app/views/admin/inquiry_settings/_notification_recipients_form.html.erb
|
57
|
+
- app/views/admin/inquiry_settings/_confirmation_email_form.html.erb
|
58
|
+
- app/views/admin/inquiry_settings/edit.html.erb
|
59
|
+
- app/helpers/inquiries_helper.rb
|
60
|
+
- app/models/inquiry_setting.rb
|
61
|
+
- app/models/inquiry.rb
|
62
|
+
- app/mailers/inquiry_mailer.rb
|
63
|
+
- spec/models/inquiry_spec.rb
|
64
|
+
- features/support/paths.rb
|
65
|
+
- features/support/factories.rb
|
66
|
+
- features/manage_inquiries.feature
|
67
|
+
- features/create_inquiries.feature
|
68
|
+
- features/step_definitions/inquiry_steps.rb
|
69
|
+
- lib/gemspec.rb
|
70
|
+
- lib/inquiries.rb
|
71
|
+
- lib/generators/refinerycms_inquiries_generator.rb
|
72
|
+
- lib/refinerycms-inquiries.rb
|
73
|
+
- db/migrate/20101208082840_create_inquiries.rb
|
74
|
+
- db/migrate/20110719082646_drop_inquiry_settings_table.rb
|
75
|
+
- db/migrate/20101208082841_remove_position_and_open_from_inquiries.rb
|
76
|
+
- db/seeds/pages_for_inquiries.rb
|
77
|
+
- readme.md
|
78
|
+
- license.md
|
79
|
+
- config/locales/sk.yml
|
80
|
+
- config/locales/cs.yml
|
81
|
+
- config/locales/bg.yml
|
82
|
+
- config/locales/nl.yml
|
83
|
+
- config/locales/sl.yml
|
84
|
+
- config/locales/sv.yml
|
85
|
+
- config/locales/ru.yml
|
86
|
+
- config/locales/pt-BR.yml
|
87
|
+
- config/locales/zh-CN.yml
|
88
|
+
- config/locales/lt.yml
|
89
|
+
- config/locales/da.yml
|
90
|
+
- config/locales/en-GB.yml
|
91
|
+
- config/locales/it.yml
|
92
|
+
- config/locales/lolcat.yml
|
93
|
+
- config/locales/nb.yml
|
94
|
+
- config/locales/en.yml
|
95
|
+
- config/locales/lv.yml
|
96
|
+
- config/locales/fr.yml
|
97
|
+
- config/locales/de.yml
|
98
|
+
- config/locales/es.yml
|
99
|
+
- config/locales/pl.yml
|
100
|
+
- config/routes.rb
|
101
|
+
homepage: http://www.mutalis.com
|
102
|
+
licenses: []
|
103
|
+
|
104
|
+
post_install_message:
|
105
|
+
rdoc_options: []
|
106
|
+
|
107
|
+
require_paths:
|
108
|
+
- lib
|
109
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
110
|
+
none: false
|
111
|
+
requirements:
|
112
|
+
- - ">="
|
113
|
+
- !ruby/object:Gem::Version
|
114
|
+
hash: 3
|
115
|
+
segments:
|
116
|
+
- 0
|
117
|
+
version: "0"
|
118
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
119
|
+
none: false
|
120
|
+
requirements:
|
121
|
+
- - ">="
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
hash: 3
|
124
|
+
segments:
|
125
|
+
- 0
|
126
|
+
version: "0"
|
127
|
+
requirements: []
|
128
|
+
|
129
|
+
rubyforge_project:
|
130
|
+
rubygems_version: 1.8.11
|
131
|
+
signing_key:
|
132
|
+
specification_version: 3
|
133
|
+
summary: Inquiry handling functionality for the CMS project.
|
134
|
+
test_files: []
|
135
|
+
|