spree_contact_form 3.0.6 → 4.0.0
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.
- data/app/controllers/spree/admin/contact_topics_controller.rb +13 -0
- data/app/controllers/spree/contact_controller.rb +25 -0
- data/app/helpers/spree/admin/contact_topics_helper.rb +6 -0
- data/app/helpers/spree/contact_helper.rb +4 -0
- data/app/mailers/spree/contact_mailer.rb +12 -0
- data/app/models/spree/contact_topic.rb +6 -0
- data/app/models/spree/message.rb +10 -0
- data/app/overrides/admin.rb +8 -1
- data/app/views/{admin → spree/admin}/contact_topics/_form.html.erb +2 -2
- data/app/views/{admin → spree/admin}/contact_topics/edit.html.erb +0 -0
- data/app/views/{admin → spree/admin}/contact_topics/index.html.erb +1 -1
- data/app/views/{admin → spree/admin}/contact_topics/new.html.erb +6 -1
- data/app/views/{contact → spree/contact}/show.html.erb +3 -2
- data/app/views/{contact_mailer → spree/contact_mailer}/message_email.text.erb +0 -0
- data/config/locales/en.yml +2 -1
- data/config/routes.rb +3 -3
- data/lib/generators/spree_contact_form/install/install_generator.rb +4 -4
- metadata +19 -19
- data/app/controllers/admin/contact_topics_controller.rb +0 -11
- data/app/controllers/contact_controller.rb +0 -23
- data/app/helpers/admin/contact_topics_helper.rb +0 -2
- data/app/helpers/contact_helper.rb +0 -2
- data/app/mailers/contact_mailer.rb +0 -10
- data/app/models/contact_topic.rb +0 -4
- data/app/models/message.rb +0 -8
@@ -0,0 +1,13 @@
|
|
1
|
+
module Spree
|
2
|
+
module Admin
|
3
|
+
class ContactTopicsController < ResourceController
|
4
|
+
|
5
|
+
# create.wants.html { redirect_to collection_path }
|
6
|
+
# update.wants.html { redirect_to collection_path }
|
7
|
+
#
|
8
|
+
# new_action.response do |wants|
|
9
|
+
# wants.html {render :action => :new, :layout => !request.xhr?}
|
10
|
+
# end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Spree
|
2
|
+
class ContactController < BaseController
|
3
|
+
before_filter :load_topics
|
4
|
+
|
5
|
+
def show
|
6
|
+
@message = Message.new
|
7
|
+
end
|
8
|
+
|
9
|
+
def create
|
10
|
+
@message = Message.new(params[:message] || {})
|
11
|
+
if @message.save
|
12
|
+
ContactMailer.message_email(@message).deliver
|
13
|
+
flash[:notice] = t('contact_thank_you')
|
14
|
+
redirect_to root_path
|
15
|
+
else
|
16
|
+
render :action => 'show'
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
def load_topics
|
22
|
+
@topics = ContactTopic.all
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module Spree
|
2
|
+
class ContactMailer < ActionMailer::Base
|
3
|
+
helper "spree/base"
|
4
|
+
|
5
|
+
def message_email(message)
|
6
|
+
subject = "#{Spree::Config[:site_name]} - Message from #{message.email}"
|
7
|
+
|
8
|
+
@message = message
|
9
|
+
mail(:to => message.topic.emails, :subject => subject, :reply_to => message.email)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
module Spree
|
2
|
+
class Message < ActiveRecord::Base
|
3
|
+
validates :name, :message, :topic_id, :presence => true
|
4
|
+
|
5
|
+
validates :email, :format => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i
|
6
|
+
validates :order_number, :format => /(^$)|(^R\d{9}$)/i
|
7
|
+
|
8
|
+
belongs_to :topic, :class_name => 'ContactTopic'
|
9
|
+
end
|
10
|
+
end
|
data/app/overrides/admin.rb
CHANGED
@@ -1,5 +1,12 @@
|
|
1
|
-
Deface::Override.new(:virtual_path => "admin/configurations/index",
|
1
|
+
Deface::Override.new(:virtual_path => "spree/admin/configurations/index",
|
2
2
|
:name => "converted_admin_configurations_menu_394888068",
|
3
3
|
:insert_after => "[data-hook='admin_configurations_menu'], #admin_configurations_menu[data-hook]",
|
4
|
+
# :insert_bottom => "[data-hook='admin_tabs'], #admin_tabs[data-hook]",
|
4
5
|
:text => "<%= configurations_menu_item(I18n.t('contact_topics'), admin_contact_topics_path, I18n.t('contact_topics_description')) %>",
|
5
6
|
:disabled => false)
|
7
|
+
|
8
|
+
# Deface::Override.new(:virtual_path => "spree/layouts/admin",
|
9
|
+
# :name => "promo_admin_tabs",
|
10
|
+
# :insert_bottom => "[data-hook='admin_tabs'], #admin_tabs[data-hook]",
|
11
|
+
# :text => "<%= tab(:promotions, :url => spree.admin_promotions_path) %>",
|
12
|
+
# :disabled => false)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<%- locals = {:f => f} %>
|
2
2
|
|
3
|
-
<%= render "shared/error_messages", :target => f.object %>
|
3
|
+
<%= render "spree/shared/error_messages", :target => f.object %>
|
4
4
|
|
5
5
|
<div data-hook="admin_contact_topic_form">
|
6
6
|
|
@@ -12,7 +12,7 @@
|
|
12
12
|
|
13
13
|
<%= f.field_container :emails do %>
|
14
14
|
<%= f.label :emails, t("emails") %> (<%= t('comma_delimited') %>) <span class="required">*</span><br />
|
15
|
-
<%= f.text_field :emails, :class => 'fullwidth title' %>
|
15
|
+
<%= f.text_field :emails, :class => 'fullwidth title' %>
|
16
16
|
<%= f.error_message_on :emails %>
|
17
17
|
<% end %>
|
18
18
|
|
File without changes
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<div class='toolbar'>
|
2
2
|
<ul class='actions'>
|
3
3
|
<li id="new_contact_topic_link">
|
4
|
-
|
4
|
+
<p><%= button_link_to t(:new_contact_topic), new_object_url, :icon => 'add' %></p>
|
5
5
|
</li>
|
6
6
|
</ul>
|
7
7
|
<br class='clear' />
|
@@ -1,4 +1,9 @@
|
|
1
|
+
<h1><%= t(:topic) %></h1>
|
2
|
+
|
1
3
|
<%= form_for(@contact_topic, :url => collection_url) do |f| %>
|
2
4
|
<%= render :partial => 'form', :locals => {:f => f} %>
|
3
|
-
<%= render :partial => 'admin/shared/new_resource_links' %>
|
5
|
+
<%= render :partial => 'spree/admin/shared/new_resource_links' %>
|
4
6
|
<% end %>
|
7
|
+
|
8
|
+
|
9
|
+
|
@@ -5,7 +5,8 @@
|
|
5
5
|
<h1><%= t("contact_us") %></h1>
|
6
6
|
|
7
7
|
<div data-hook='contact'>
|
8
|
-
<%= render "shared/error_messages", :target => @message %>
|
8
|
+
<%= render "spree/shared/error_messages", :target => @message %>
|
9
|
+
<br/>
|
9
10
|
|
10
11
|
<%= form_for(:message, :url => contact_path) do |f| %>
|
11
12
|
|
@@ -26,7 +27,7 @@
|
|
26
27
|
</p>
|
27
28
|
|
28
29
|
<p>
|
29
|
-
<%= f.label :order_number, t(
|
30
|
+
<%= f.label :order_number, t(:order_number) %> (<%= t('optional') %>)<br />
|
30
31
|
<%= f.text_field :order_number %>
|
31
32
|
</p>
|
32
33
|
|
File without changes
|
data/config/locales/en.yml
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
en:
|
2
|
-
contact_us: Contact
|
2
|
+
contact_us: Contact us
|
3
3
|
send_message: Send Message
|
4
4
|
subject: Subject
|
5
5
|
optional: optional
|
6
6
|
message: Message
|
7
|
+
order_number: Order number (if you are contacting regarding an order)
|
7
8
|
topic: Topic
|
8
9
|
invalid_order_number: "should start with letter 'R' followed by 9 numbers (e.g. R123123213)"
|
9
10
|
contact_thank_you: "Thank you! Your message has been sent successfully, we will be contacting you shortly"
|
data/config/routes.rb
CHANGED
@@ -3,13 +3,13 @@ module SpreeContactForm
|
|
3
3
|
class InstallGenerator < Rails::Generators::Base
|
4
4
|
|
5
5
|
def add_javascripts
|
6
|
-
append_file "app/assets/javascripts/store/all.js", "//= require store/spree_contact_form\n"
|
7
|
-
append_file "app/assets/javascripts/admin/all.js", "//= require admin/spree_contact_form\n"
|
6
|
+
#append_file "app/assets/javascripts/store/all.js", "//= require store/spree_contact_form\n"
|
7
|
+
#append_file "app/assets/javascripts/admin/all.js", "//= require admin/spree_contact_form\n"
|
8
8
|
end
|
9
9
|
|
10
10
|
def add_stylesheets
|
11
|
-
inject_into_file "app/assets/stylesheets/store/all.css", " *= require store/spree_contact_form\n", :before => /\*\//, :verbose => true
|
12
|
-
inject_into_file "app/assets/stylesheets/admin/all.css", " *= require admin/spree_contact_form\n", :before => /\*\//, :verbose => true
|
11
|
+
#inject_into_file "app/assets/stylesheets/store/all.css", " *= require store/spree_contact_form\n", :before => /\*\//, :verbose => true
|
12
|
+
#inject_into_file "app/assets/stylesheets/admin/all.css", " *= require admin/spree_contact_form\n", :before => /\*\//, :verbose => true
|
13
13
|
end
|
14
14
|
|
15
15
|
def add_migrations
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spree_contact_form
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,19 +9,19 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2012-04-30 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: spree_core
|
16
|
-
requirement: &
|
16
|
+
requirement: &85535040 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0.
|
21
|
+
version: 1.0.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *85535040
|
25
25
|
description: Add a contact form for your spree website, you can setup topics and when
|
26
26
|
the user submits the form, it is emailed to the site admin
|
27
27
|
email: joshnuss@gmail.com
|
@@ -33,20 +33,20 @@ files:
|
|
33
33
|
- lib/generators/spree_contact_form/install/install_generator.rb
|
34
34
|
- lib/spree_contact_form.rb
|
35
35
|
- lib/spree_contact_form/engine.rb
|
36
|
-
- app/views/contact_mailer/message_email.text.erb
|
37
|
-
- app/views/admin/contact_topics/edit.html.erb
|
38
|
-
- app/views/admin/contact_topics/_form.html.erb
|
39
|
-
- app/views/admin/contact_topics/index.html.erb
|
40
|
-
- app/views/admin/contact_topics/new.html.erb
|
41
|
-
- app/views/contact/show.html.erb
|
42
|
-
- app/mailers/contact_mailer.rb
|
36
|
+
- app/views/spree/contact_mailer/message_email.text.erb
|
37
|
+
- app/views/spree/admin/contact_topics/edit.html.erb
|
38
|
+
- app/views/spree/admin/contact_topics/_form.html.erb
|
39
|
+
- app/views/spree/admin/contact_topics/index.html.erb
|
40
|
+
- app/views/spree/admin/contact_topics/new.html.erb
|
41
|
+
- app/views/spree/contact/show.html.erb
|
42
|
+
- app/mailers/spree/contact_mailer.rb
|
43
43
|
- app/overrides/admin.rb
|
44
|
-
- app/models/message.rb
|
45
|
-
- app/models/contact_topic.rb
|
46
|
-
- app/helpers/contact_helper.rb
|
47
|
-
- app/helpers/admin/contact_topics_helper.rb
|
48
|
-
- app/controllers/contact_controller.rb
|
49
|
-
- app/controllers/admin/contact_topics_controller.rb
|
44
|
+
- app/models/spree/message.rb
|
45
|
+
- app/models/spree/contact_topic.rb
|
46
|
+
- app/helpers/spree/contact_helper.rb
|
47
|
+
- app/helpers/spree/admin/contact_topics_helper.rb
|
48
|
+
- app/controllers/spree/contact_controller.rb
|
49
|
+
- app/controllers/spree/admin/contact_topics_controller.rb
|
50
50
|
- config/routes.rb
|
51
51
|
- config/locales/en.yml
|
52
52
|
homepage: http://spreecommerce.com
|
@@ -60,7 +60,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
60
60
|
requirements:
|
61
61
|
- - ! '>='
|
62
62
|
- !ruby/object:Gem::Version
|
63
|
-
version: 1.
|
63
|
+
version: 1.9.3
|
64
64
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
65
65
|
none: false
|
66
66
|
requirements:
|
@@ -1,11 +0,0 @@
|
|
1
|
-
class Admin::ContactTopicsController < Admin::BaseController
|
2
|
-
resource_controller
|
3
|
-
|
4
|
-
create.wants.html { redirect_to collection_path }
|
5
|
-
update.wants.html { redirect_to collection_path }
|
6
|
-
|
7
|
-
new_action.response do |wants|
|
8
|
-
wants.html {render :action => :new, :layout => !request.xhr?}
|
9
|
-
end
|
10
|
-
|
11
|
-
end
|
@@ -1,23 +0,0 @@
|
|
1
|
-
class ContactController < Spree::BaseController
|
2
|
-
before_filter :load_topics
|
3
|
-
|
4
|
-
def show
|
5
|
-
@message = Message.new
|
6
|
-
end
|
7
|
-
|
8
|
-
def create
|
9
|
-
@message = Message.new(params[:message] || {})
|
10
|
-
if @message.save
|
11
|
-
ContactMailer.message_email(@message).deliver
|
12
|
-
flash[:notice] = t('contact_thank_you')
|
13
|
-
redirect_to root_path
|
14
|
-
else
|
15
|
-
render :action => 'show'
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
private
|
20
|
-
def load_topics
|
21
|
-
@topics = ContactTopic.all
|
22
|
-
end
|
23
|
-
end
|
@@ -1,10 +0,0 @@
|
|
1
|
-
class ContactMailer < ActionMailer::Base
|
2
|
-
helper "spree/base"
|
3
|
-
|
4
|
-
def message_email(message)
|
5
|
-
subject = "#{Spree::Config[:site_name]} - Message from #{message.email}"
|
6
|
-
|
7
|
-
@message = message
|
8
|
-
mail(:to => message.topic.emails, :subject => subject, :reply_to => message.email)
|
9
|
-
end
|
10
|
-
end
|
data/app/models/contact_topic.rb
DELETED
data/app/models/message.rb
DELETED
@@ -1,8 +0,0 @@
|
|
1
|
-
class Message < ActiveRecord::Base
|
2
|
-
validates :name, :message, :topic_id, :presence => true
|
3
|
-
|
4
|
-
validates :email, :format => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i
|
5
|
-
validates :order_number, :format => /(^$)|(^R\d{9}$)/i
|
6
|
-
|
7
|
-
belongs_to :topic, :class_name => 'ContactTopic'
|
8
|
-
end
|