cm-admin 1.0.0 → 1.0.2

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