scrivito_crm_form_widget 0.8.0.beta3 → 0.9.0.beta1

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