cm-admin 1.0.0 → 1.0.2

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: 28ba47b6a7c02c8edad75f7407f3c6c65cb2f59b44aea6952c7abbc174595ecc
4
- data.tar.gz: 7216647324f0791c1090ae0f0fd9f252b2c1d53939553dfb4c9c390d99dc68b3
3
+ metadata.gz: fef403882161b778959795eb4ee4b340a471913582710ed998d3d0c3c6d809eb
4
+ data.tar.gz: 4f083b865564092997f8a959c22b05675c07bd2973f959a357cf0ee132295fcc
5
5
  SHA512:
6
- metadata.gz: f2f58b8468437f6785010ba74c00210332eabc56de6167503c91ca9df6c07a3ef6709f8b943f2de156aeea897564e17564aa19e70638ca08d28fb1fe212803c3
7
- data.tar.gz: 1847f6e693831247dee15f416e537c39f1a6f3725e934774dbed4f76bf879ebfba16fd69324280594232638ce559092fb09b45bf4d22442a2e1ffb608b87bf02
6
+ metadata.gz: 444abf2ad421b1db1bdba4b506a7645e1d5e1653b78c6610c434f45999acc0b7b7ae11017df43f82f37058ec1cdff0aeb5b2a0a3ea0dc08e25c22b713d1cf6c0
7
+ data.tar.gz: b3475419d75358580b07914f988183071b95ad7a2f891811a8dce9a89aa2b1d90237a0b7b8340619142f90ab62de50e3b50f0ffa626a948a09f306c12601acc5
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cm-admin (7.0.2)
4
+ cm-admin (1.0.2)
5
5
  caxlsx_rails
6
6
  cocoon (~> 1.2.15)
7
7
  csv-importer (~> 0.8.2)
@@ -178,13 +178,16 @@ module CmAdmin
178
178
 
179
179
  def filter_by(params, records, filter_params={}, sort_params={})
180
180
  filtered_result = OpenStruct.new
181
- sort_column = "created_at"
182
- sort_direction = %w[asc desc].include?(sort_params[:sort_direction]) ? sort_params[:sort_direction] : "asc"
183
- sort_params = {sort_column: sort_column, sort_direction: sort_direction}
184
-
181
+ cm_model = @associated_model || @model
182
+ db_columns = cm_model.ar_model&.columns&.map{|x| x.name.to_sym}
183
+ if db_columns.include?(@current_action.sort_column)
184
+ sort_column = @current_action.sort_column
185
+ else
186
+ sort_column = 'created_at'
187
+ end
185
188
  records = "CmAdmin::#{@model.name}Policy::Scope".constantize.new(Current.user, @model.name.constantize).resolve if records.nil?
186
- records = records.order("#{@current_action.sort_column} #{@current_action.sort_direction}")
187
- final_data = CmAdmin::Models::Filter.filtered_data(filter_params, records, @associated_model ? @associated_model.filters : @model.filters)
189
+ records = records.order("#{sort_column} #{@current_action.sort_direction}")
190
+ final_data = CmAdmin::Models::Filter.filtered_data(filter_params, records, cm_model.filters)
188
191
  pagy, records = pagy(final_data)
189
192
  filtered_result.data = records
190
193
  filtered_result.pagy = pagy
@@ -1,12 +1,11 @@
1
1
  module CmAdmin
2
2
  class Configuration
3
- attr_accessor :layout, :included_models, :cm_admin_models, :authorized_roles
4
-
3
+ attr_accessor :layout, :included_models, :cm_admin_models
4
+
5
5
  def initialize
6
6
  @layout = 'admin'
7
7
  @included_models = []
8
8
  @cm_admin_models = []
9
- @authorized_roles = []
10
9
  end
11
10
 
12
11
  end
@@ -140,14 +140,6 @@ module CmAdmin
140
140
  end
141
141
 
142
142
  def sort_column(column = :created_at)
143
- model = if @current_action.child_records
144
- CmAdmin::Model.find_by(name: @current_action.child_records.to_s.classify)
145
- else
146
- self
147
- end
148
- db_columns = model.instance_variable_get(:@ar_model)&.columns&.map{|x| x.name.to_sym}
149
- raise "Sorting for custom column #{column} does not exist." unless db_columns.include?(column.to_sym)
150
-
151
143
  @current_action.sort_column = column.to_sym if @current_action
152
144
  end
153
145
  end
@@ -1,3 +1,3 @@
1
1
  module CmAdmin
2
- VERSION = '1.0.0'
2
+ VERSION = '1.0.2'
3
3
  end
@@ -128,11 +128,10 @@ module CmAdmin
128
128
  else
129
129
  form_obj.check_box cm_field.field_name,
130
130
  {
131
- class: "normal-input cm-checkbox #{required_class}",
131
+ class: "normal-input cm-checkbox #{required_class} #{target_action.present? ? 'linked-field-request' : ''}",
132
132
  disabled: cm_field.disabled,
133
133
  data: {
134
- field_name: cm_field.field_name,
135
- field_type: 'linked-field',
134
+ field_name: cm_field.field_name,
136
135
  target_action: target_action&.name,
137
136
  target_url: target_action&.name ? cm_admin.send("#{@model.name.underscore}_#{target_action&.name}_path") : ''
138
137
  }
@@ -163,8 +162,6 @@ module CmAdmin
163
162
  disabled: cm_field.disabled,
164
163
  name: "#{@model.name.underscore}[#{cm_field.field_name}][]",
165
164
  data: {
166
- field_name: cm_field.field_name,
167
- field_type: 'linked-field',
168
165
  target_action: target_action&.name,
169
166
  target_url: target_action&.name ? cm_admin.send("#{@model.name.underscore}_#{target_action&.name}_path", ':param_1') : ''
170
167
  }
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.0.0
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - sajinmp
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2023-02-07 00:00:00.000000000 Z
13
+ date: 2023-03-15 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails