cm-admin 1.5.46 → 1.5.47

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: 378d66935a7066199a4eeadb51b8b7a585c8e4dd0babec1ecb19638657fa3f22
4
- data.tar.gz: 847b3efed1840bdca5a69778f009a80be5fa4a66c0c19d88ed5a214f79f71c25
3
+ metadata.gz: 57f4f569dd190c4beda6a88e60269f61170e1f4e57b84a4b8628bc5ffcee5590
4
+ data.tar.gz: 114732f4357071651829db26e0f6a9fed0fbc9bfc70f7ef269c01b17f344dd2b
5
5
  SHA512:
6
- metadata.gz: 2826196f546388631dd501f71efd8c2ab2ba82e28c156ae7689c9b8334f53e51a7e50379cfbb9ca168ff2beb7c23da4b2a8b6e18a63745021a2b68f823cc7734
7
- data.tar.gz: 657210656f5b832832fb26603768220fd4e09def454c969c41dff0025546ef1ac03d2efce531698205412327db965446e5a2b33eb1f8e683d20f4dd8a63deeaa
6
+ metadata.gz: 486c5bd7d7f3602d25df34ac7e62c0bd5a562ae34d4737f0f7787a3b64ec3f561fe60d550980c8e50962d176ff9bc4c8cfe69b2400ced3a8718f049cabe25bea
7
+ data.tar.gz: a8db47cc780c85b77ad7afe9f1e6a37da27362d56d134fd6f95d795032c7adbda6e863aa18f8fce711d065ae712f34891097889ccec79ace88c3847a04fb1a84
data/.gitignore CHANGED
@@ -11,4 +11,5 @@ public/cm-admin-packs/
11
11
  # rspec failure tracking
12
12
  .rspec_status
13
13
  .rubocop-*
14
- .DS_Store
14
+ **/.DS_Store
15
+ .idea
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cm-admin (1.5.46)
4
+ cm-admin (1.5.47)
5
5
  caxlsx_rails
6
6
  cocoon (~> 1.2.15)
7
7
  csv-importer (~> 0.8.2)
@@ -5,6 +5,7 @@ $(document).on("click", '[data-behaviour="form_submit"]', function (e) {
5
5
  $(
6
6
  "." + form_class + " input.required, ." + form_class + " textarea.required",
7
7
  ).each(function () {
8
+ if($(this).attr('type') === 'file') return;
8
9
  $(this).removeClass("is-invalid");
9
10
  if ($(this).val().trim().length === 0) {
10
11
  $(this).addClass("is-invalid");
@@ -1,3 +1,3 @@
1
1
  module CmAdmin
2
- VERSION = '1.5.46'
2
+ VERSION = '1.5.47'
3
3
  end
@@ -11,8 +11,7 @@ module CmAdmin
11
11
  else
12
12
  form_obj.object.send(cm_field.field_name)
13
13
  end
14
- # value = cm_field.helper_method ? send(cm_field.helper_method, form_obj.object, cm_field.field_name) : form_obj.object.send(cm_field.field_name)
15
- is_required = form_obj.object._validators[cm_field.field_name].map(&:kind).include?(:presence) if is_required.nil?
14
+ is_required = is_field_presence_validated?(form_obj, cm_field) if is_required.nil?
16
15
  required_class = is_required ? 'required' : ''
17
16
  target_action = @model.available_actions.select { |x| x.name == cm_field.target[:action_name].to_s }.first if cm_field.target.present?
18
17
  send("cm_#{cm_field.input_type}_field", form_obj, cm_field, value, required_class, target_action, cm_field.ajax_url)
@@ -106,7 +106,8 @@ module CmAdmin
106
106
 
107
107
  def set_form_field(resource, form_obj, field)
108
108
  return unless field.display_if.call(form_obj.object)
109
- is_required = form_obj.object._validators[field.field_name].map(&:kind).include?(:presence)
109
+
110
+ is_required = is_field_presence_validated?(form_obj, field)
110
111
 
111
112
  content_tag(:div, class: field.col_size ? "col-#{field.col_size}" : 'col') do
112
113
  if field.input_type.eql?(:hidden)
@@ -173,6 +174,13 @@ module CmAdmin
173
174
 
174
175
  url + '?' + query_params.to_query unless query_params.empty?
175
176
  end
177
+
178
+ def is_field_presence_validated?(form_obj, field)
179
+ associated_field = form_obj.object.class.reflect_on_all_associations(:belongs_to).reject do |association|
180
+ association.options[:optional] || "#{association.name}_id" != field.field_name.to_s
181
+ end
182
+ form_obj.object._validators[field.field_name].map(&:kind).include?(:presence) || associated_field.present?
183
+ end
176
184
  end
177
185
  end
178
186
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cm-admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.46
4
+ version: 1.5.47
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael
@@ -14,7 +14,7 @@ authors:
14
14
  autorequire:
15
15
  bindir: exe
16
16
  cert_chain: []
17
- date: 2024-08-26 00:00:00.000000000 Z
17
+ date: 2024-09-02 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: caxlsx_rails