cmor_contact 0.0.22.pre → 0.0.24.pre

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 803ba5a0f92427e28777816d997dbaeb105f846b467ce3a2d30e860bdc65d746
4
- data.tar.gz: c03ac052dbc9a261870a0a2535684a810de04a7e388a30e01cecdb0ad5292f10
3
+ metadata.gz: ea727270a88c7923f18f3f6a1354d2c9fc32c882eabc52ff93df201ac62435c7
4
+ data.tar.gz: 1078c68eab0268de613f5eb892a841ca6496b9b2aa7524e97f500597eebc543d
5
5
  SHA512:
6
- metadata.gz: 9e0b764ad4b75264c589777cacbb9d7932353cd42a66701d41dd408970a1c5284f89d10eff9168b31c2b0fc8dc9a37eec8a4a01e66d6be83c88687d2901267f4
7
- data.tar.gz: e1d55abe19034afa5b9a30ed19d3ac183bd0e974b7d7955a6d8aeaa6f98552d78affeccb7d4bbc94720793e1ce74dca572f6232da7bdab2ae71eab338dbda9f3
6
+ metadata.gz: d5336588ccc13ecfa76f5cde8f81adf8ff4aa715169b9335a6fa5d00a86aa3501c72d033b02bc859593ad003228aa9c954d30f6ac4bf7e80280de6d9b051410f
7
+ data.tar.gz: ca483a14745c5754753560f201d83ecc439e20a655027b43ac9b2114d001947e80128e124a5c816197e7ef1725b7649733aad2ba96fc0697dc0a85b733757dca
@@ -46,7 +46,11 @@ module Cmor
46
46
  end
47
47
 
48
48
  def permitted_params
49
- params.require(:contact_request).permit(:nickname, :name, :email, :phone, :message, :accept_terms_of_service)
49
+ # Allow only available attributes and add nickname for spam protection.
50
+ attrs = (
51
+ resource_class.attribute_names.map(&:to_sym) & [:nickname, :name, :email, :phone, :subject, :message, :accept_terms_of_service]
52
+ ) + [:nickname]
53
+ params.require(:contact_request).permit(attrs)
50
54
  end
51
55
 
52
56
  def after_create_url
@@ -1,8 +1,28 @@
1
1
  module Cmor::Contact
2
2
  class ContactRequest < ApplicationRecord
3
+ module SubjectConcern
4
+ extend ActiveSupport::Concern
5
+
6
+ included do
7
+ validates :subject, presence: true
8
+ end
9
+ end
10
+
11
+ module PhoneConcern
12
+ extend ActiveSupport::Concern
13
+
14
+ included do
15
+ validates :phone, presence: true
16
+ end
17
+ end
18
+
19
+ Configuration.contact_request_include_modules.call.each do |mod|
20
+ include mod
21
+ end
22
+
3
23
  validates :name, presence: true
4
24
  validates :email, presence: true
5
- validates :phone, presence: true
25
+
6
26
  validates :ip_address, presence: true
7
27
  validates :message, presence: true
8
28
  validates :accept_terms_of_service, acceptance: true
@@ -1,6 +1,7 @@
1
1
  = form.input :name
2
2
  = form.input :email
3
3
  = form.input :nickname, input_html: { style: 'display: none;' }, label_html: { style: 'display: none;' }
4
- = form.input :phone
4
+ = form.input :phone if form.object.respond_to?(:phone)
5
+ = form.input :subject if form.object.respond_to?(:subject)
5
6
  = form.input :message, as: :text
6
7
  = form.input :accept_terms_of_service
@@ -47,4 +47,5 @@ de:
47
47
  name: "Max Mustermann"
48
48
  email: "max.mustermann@example.com"
49
49
  message: "Meine Nachricht"
50
- phone: "+49 69 12345678"
50
+ phone: "+49 69 12345678"
51
+ subject: "Meine Anfrage"
@@ -51,6 +51,10 @@ module Cmor
51
51
  mattr_accessor :after_create_url do
52
52
  ->(controller) { controller.root_path }
53
53
  end
54
+
55
+ mattr_accessor :contact_request_include_modules do
56
+ ->() { [Cmor::Contact::ContactRequest::PhoneConcern] }
57
+ end
54
58
  end
55
59
  end
56
60
  end
@@ -84,4 +84,15 @@ Cmor::Contact.configure do |config|
84
84
  # default: config.sender = ->(mail_form) { %("#{mail_form.name}" <#{mail_form.email}>) }
85
85
  #
86
86
  config.sender = ->(mail_form) { %("#{mail_form.name}" <#{mail_form.email}>) }
87
+
88
+ # Modules listed here will be included in Cmor::Contact::ContactRequest.
89
+ #
90
+ # Available modules are:
91
+ #
92
+ # - Cmor::Contact::ContactRequest::PhoneConcern
93
+ # - Cmor::Contact::ContactRequest::SubjectConcern
94
+ #
95
+ # Default: config.contact_request_include_modules = ->() { [Cmor::Contact::ContactRequest::PhoneConcern] }
96
+ #
97
+ config.contact_request_include_modules = ->() { [Cmor::Contact::ContactRequest::PhoneConcern] }
87
98
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cmor_contact
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.22.pre
4
+ version: 0.0.24.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roberto Vasquez Angel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-07-15 00:00:00.000000000 Z
11
+ date: 2019-07-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -30,28 +30,28 @@ dependencies:
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 0.0.22.pre
33
+ version: 0.0.24.pre
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 0.0.22.pre
40
+ version: 0.0.24.pre
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: cmor_core_frontend
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: 0.0.22.pre
47
+ version: 0.0.24.pre
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - '='
53
53
  - !ruby/object:Gem::Version
54
- version: 0.0.22.pre
54
+ version: 0.0.24.pre
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: sqlite3
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -316,9 +316,9 @@ files:
316
316
  - app/models/cmor/contact/contact_request.rb
317
317
  - app/views/cmor/contact/contact_request_mailer/notify.html.haml
318
318
  - app/views/cmor/contact/contact_request_mailer/notify.text.erb
319
- - app/views/cmor/contact/contact_requests/_form.haml
319
+ - app/views/cmor/contact/contact_requests/_form.html.haml
320
320
  - app/views/cmor/contact/contact_requests/_form_errors.haml
321
- - app/views/cmor/contact/contact_requests/new.haml
321
+ - app/views/cmor/contact/contact_requests/new.html.haml
322
322
  - app/views/layouts/cmor/contact/application.html.erb
323
323
  - app/views/layouts/cmor/contact/mailer.html.erb
324
324
  - app/views/layouts/cmor/contact/mailer.text.erb