cmor_contact 0.0.22.pre → 0.0.24.pre

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 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