scrivito_crm_form_widget 0.8.0.beta3 → 0.9.0.beta1

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: d07be5acb98945f87dc419993629c52c7d897a56
4
- data.tar.gz: 215c64aa2a1fce50a99d60d66be90b8913428e74
3
+ metadata.gz: 4569ddbae114e16cb7d17dc8e8d2857b0ebc62da
4
+ data.tar.gz: 262ecd566b718f014b97b5ffc4ee6cc2f71aac55
5
5
  SHA512:
6
- metadata.gz: a23a04e363b4d1f8842bbf103389feade3b673030bf2ef1b6184cfba3e337b0d346f65b6d8253227d6314137b183b8aba9f3d60df32d63a783d046e213b85932
7
- data.tar.gz: b305c996c6920f4efad293d595bfc98539c027d5f14abb9b202352e0ce6c4c64049fd929710222d1ec38e30360c7b39cb671ef6bd7f9b3adf171c965cb11a784
6
+ metadata.gz: a6081661f981e78cd231405670b376559913d60bc2521fa71ff8dd285c594139aa019df5bcea30b78097264a12fbc4d6b50064a699e198182dbc64d1989f1292
7
+ data.tar.gz: b71cb0354e2f52ea1bd027d5e39aa7b5ead25219c96d866271820bff830ed0311e12612cc8c3ccce535fe7a89ad6678589dfd6a56b5bcc839ff7b67b4ea040f1
@@ -11,6 +11,8 @@ class CrmFormWidget < Widget
11
11
  attribute :label_position, :enum, values: ['left','top'], default: 'left'
12
12
  attribute :columns, :enum, values: ['one','two'], default: 'one'
13
13
 
14
+ attribute :file_upload, :enum, values: ['Yes','No'], default: 'No'
15
+
14
16
  def valid_widget_classes_for(field_name)
15
17
  [DynamicAttributeWidget]
16
18
  end
@@ -58,4 +60,8 @@ class CrmFormWidget < Widget
58
60
  def field_as_select?(options)
59
61
  columns == 'two' || options['valid_values'].count > 5
60
62
  end
61
- end
63
+
64
+ def file_upload?
65
+ file_upload == 'Yes'
66
+ end
67
+ end
@@ -37,6 +37,11 @@ class CrmFormPresenter
37
37
  private
38
38
  def prepare_activity_params
39
39
  @params[:comment_notes] = @dynamic_params if @dynamic_params.present?
40
+ @params[:comment_attachments] = [@params[:custom_file]] if @params[:custom_file].present?
41
+
42
+ if @params[:custom_file].present?
43
+ @params.delete(:custom_file)
44
+ end
40
45
 
41
46
  @params.delete("widget_id")
42
47
  @params["title"] = @params[:title].empty? ? @activity.id : @params[:title]
@@ -124,12 +129,12 @@ class CrmFormPresenter
124
129
 
125
130
  def validate_params
126
131
  return false if @params.nil?
127
- email = validate_email(@params['custom_email'])
132
+ email = valid_email?(@params['custom_email'])
128
133
  hook = Obj.respond_to?('crm_form_validation') ? Obj.crm_form_validation(@params) : false
129
- email || hook
134
+ !email || hook
130
135
  end
131
136
 
132
- def validate_email(email)
133
- email.present? ? /.+@.+\..+/i.match(email).present? : false
137
+ def valid_email?(email)
138
+ /.+@.+\..+/i.match(email).present?
134
139
  end
135
140
  end
@@ -15,12 +15,22 @@
15
15
  <%= render "crm_form_widget/crm_#{attribute.type}", form: form, name: attribute.field_name, options: attribute.options || {}, label: attribute.label, widget: widget %>
16
16
  <% end %>
17
17
 
18
+ <% if widget.file_upload? %>
19
+ <div class="form-group form-field-custom-file">
20
+ <% CrmFormPresenter.send(:attr_accessor, :custom_file) %>
21
+ <%= form.label :custom_file, t('scrivito_crm_form_widget.view.file', default: 'File'), class: "control-label col-sm-3" %>
22
+ <div class="col-sm-9">
23
+ <%= form.file_field :custom_file, class: "form-control" %>
24
+ </div>
25
+ </div>
26
+ <% end %>
27
+
18
28
  <div class="form-group last">
19
29
  <label class="control-label col-sm-3" for="crm_form_presenter_email">Email</label>
20
30
  <div class="col-sm-9">
21
31
  <input class="form-control" type="text" name="crm_form_presenter[email]" id="crm_form_presenter_email">
22
32
  </div>
23
33
  </div>
24
- <%= form.submit widget.submit_button, class: "btn btn-primary pull-right" %>
25
34
 
26
- <% end %>
35
+ <%= form.submit widget.submit_button, class: "btn btn-primary pull-right" %>
36
+ <% end %>
@@ -27,6 +27,10 @@
27
27
  <%= scrivito_details_for t('scrivito_crm_form_widget.details.columns', default: 'Columns') do %>
28
28
  <%= scrivito_tag :div, widget, :columns %>
29
29
  <% end %>
30
+
31
+ <%= scrivito_details_for t('scrivito_crm_form_widget.details.file_upload', default: 'File upload') do %>
32
+ <%= scrivito_tag :div, widget, :file_upload %>
33
+ <% end %>
30
34
  </div>
31
35
 
32
36
  <div class="tab-panel" id="edit-tags">
@@ -1,3 +1,3 @@
1
1
  module ScrivitoCrmFormWidget
2
- VERSION = "0.8.0.beta3"
2
+ VERSION = "0.9.0.beta1"
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: 0.8.0.beta3
4
+ version: 0.9.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scrivito
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-10 00:00:00.000000000 Z
11
+ date: 2017-05-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: scrivito