scrivito_crm_form_widget 1.0.0.beta1 → 1.0.0.beta2

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
  SHA1:
3
- metadata.gz: 61d8010804a45532c3f11197e5d06246b4e11af0
4
- data.tar.gz: 92dd9c97509bf20c400931907b4734fa42d66239
3
+ metadata.gz: e48c991510dbb7f2bd41769819ae6395d8628956
4
+ data.tar.gz: 57d54427d0a32c779b4b3a503c1a849d6df91462
5
5
  SHA512:
6
- metadata.gz: 172167c6bd997f23fdd63dbca8a548bb1192c4be39ffc76f3d54d63db249a22aaf1ea3abfa960f488a6691029af51449f1b9b5330837e0a98fb9d81afe89a162
7
- data.tar.gz: 2588fa8bd49632eefc827f443e4147dd6c7fb9a57d638ed4c1696844de6fd56b80929a71dee28660092649170e99f6f7575411f9a5f442c460c159a8016a5fb3
6
+ metadata.gz: b9062a54e33e98e979734ac7534041e2b06aa950332c868da18f42194b04b97cec69951c77922693cedf505ddb823959f1bfc0c656affef65ecf31351c9d7b2e
7
+ data.tar.gz: f4b6b5a1acbf9ae3ea29066b6d877b44307e8b43e2261fe495108edb7040e6d3998bd7ed1814e3cec1443964c6719db23319f66fd8b4299d873bed49358fe6bf
@@ -11,11 +11,13 @@ class CrmFormPresenter
11
11
  @page = widget.obj
12
12
  @params = request.params["crm_form_presenter"]
13
13
  @dynamic_params = set_dynamic_params
14
+ @access_code = generate_random_string(12)
14
15
  errors = validate_params
15
16
 
16
17
  if errors.present?
17
18
  return {status: "error", message: errors}
18
19
  elsif request.post? && widget.id == @params[:widget_id]
20
+ request.session['access_via_form'] = @access_code
19
21
  redirect_after_submit(controller, widget, self.submit)
20
22
  end
21
23
  end
@@ -26,6 +28,8 @@ class CrmFormPresenter
26
28
  else
27
29
  @params.delete('email')
28
30
  end
31
+ @params.delete('access_via_form')
32
+
29
33
  prepare_contact(@params['custom_email'], @params['custom_last_name'])
30
34
  prepare_activity_params
31
35
  Crm::Activity.create(@params)
@@ -112,7 +116,7 @@ class CrmFormPresenter
112
116
 
113
117
  def redirect_path(page, widget)
114
118
  obj = redirect_obj(page, widget)
115
- obj.binary? ? obj.try(:binary_url) : "/#{obj.id}"
119
+ obj.binary? ? obj.try(:binary_url) : "/#{obj.id}?access_via_form=#{@access_code}"
116
120
  end
117
121
 
118
122
  def redirect_obj(page, widget)
@@ -137,4 +141,8 @@ class CrmFormPresenter
137
141
  def valid_email?(email)
138
142
  /.+@.+\..+/i.match(email).present?
139
143
  end
144
+
145
+ def generate_random_string(length = 8)
146
+ [*('a'..'z'),*('0'..'9')].shuffle[0,length].join
147
+ end
140
148
  end
@@ -1,4 +1,6 @@
1
1
  <% attributes.each do |name, options| %>
2
2
  <% CrmFormPresenter.send(:attr_accessor, name.to_sym) %>
3
- <%= render "crm_form_widget/crm_#{options["attribute_type"]}", form: form, name: name, options: options, label: nil, widget: widget %>
3
+ <% if options %>
4
+ <%= render "crm_form_widget/crm_#{options["attribute_type"]}", form: form, name: name, options: options, label: nil, widget: widget %>
5
+ <% end %>
4
6
  <% end %>
@@ -6,7 +6,7 @@
6
6
  <li data-panel-target="#edit-activity">Activity</li>
7
7
  <li data-panel-target="#edit-event">Event</li>
8
8
  <li data-panel-target="#edit-dynamic">Dynamic fields</li>
9
- <% if widget.multilevel? %>
9
+ <% if widget.multilevel? && widget.activity_id.present? %>
10
10
  <li data-panel-target="#edit-multilevel">Levels</li>
11
11
  <% end %>
12
12
  </ul>
@@ -73,7 +73,7 @@
73
73
 
74
74
  <div class="tab-panel" id="edit-activity">
75
75
  <%= scrivito_details_for t('scrivito_crm_form_widget.details.activity', default: 'Activity') do %>
76
- <%= scrivito_tag(:div, widget, :activity_id, data: {toggle_button_list: CrmFormWidget.activity_ids}) %>
76
+ <%= scrivito_tag(:div, widget, :activity_id, data: {toggle_button_list: CrmFormWidget.activity_ids, scrivito_editors_reload: true }) %>
77
77
  <% end %>
78
78
  </div>
79
79
 
@@ -89,7 +89,7 @@
89
89
  <%= scrivito_tag :div, widget, :dynamic_attributes %>
90
90
  </div>
91
91
 
92
- <% if widget.multilevel? %>
92
+ <% if widget.multilevel? && widget.activity_id.present? %>
93
93
  <div class="tab-panel" id="edit-multilevel">
94
94
  <%= scrivito_tag :div, widget, :levels %>
95
95
  </div>
@@ -1,3 +1,3 @@
1
1
  module ScrivitoCrmFormWidget
2
- VERSION = "1.0.0.beta1"
2
+ VERSION = "1.0.0.beta2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scrivito_crm_form_widget
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.beta1
4
+ version: 1.0.0.beta2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scrivito
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-07 00:00:00.000000000 Z
11
+ date: 2017-06-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: scrivito