cm-admin 0.7.4 → 0.7.7

Sign up to get free protection for your applications and to get access to all the features.
metadata CHANGED
@@ -1,101 +1,115 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cm-admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.4
4
+ version: 0.7.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - sajinmp
8
8
  - anbublacky
9
9
  - AdityaTiwari2102
10
- autorequire:
10
+ autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2022-06-23 00:00:00.000000000 Z
13
+ date: 2022-07-20 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: pagy
16
+ name: axlsx_rails
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
19
  - - "~>"
20
20
  - !ruby/object:Gem::Version
21
- version: 4.11.0
21
+ version: 0.6.1
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - "~>"
27
27
  - !ruby/object:Gem::Version
28
- version: 4.11.0
28
+ version: 0.6.1
29
29
  - !ruby/object:Gem::Dependency
30
- name: slim
30
+ name: cocoon
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - "~>"
34
34
  - !ruby/object:Gem::Version
35
- version: 4.1.0
35
+ version: 1.2.15
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - "~>"
41
41
  - !ruby/object:Gem::Version
42
- version: 4.1.0
42
+ version: 1.2.15
43
43
  - !ruby/object:Gem::Dependency
44
- name: webpacker
44
+ name: local_time
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - "~>"
48
48
  - !ruby/object:Gem::Version
49
- version: 5.2.1
49
+ version: 2.1.0
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - "~>"
55
55
  - !ruby/object:Gem::Version
56
- version: 5.2.1
56
+ version: 2.1.0
57
57
  - !ruby/object:Gem::Dependency
58
- name: axlsx_rails
58
+ name: pagy
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - "~>"
62
62
  - !ruby/object:Gem::Version
63
- version: 0.6.1
63
+ version: 4.11.0
64
64
  type: :runtime
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
68
  - - "~>"
69
69
  - !ruby/object:Gem::Version
70
- version: 0.6.1
70
+ version: 4.11.0
71
71
  - !ruby/object:Gem::Dependency
72
- name: cocoon
72
+ name: pundit
73
73
  requirement: !ruby/object:Gem::Requirement
74
74
  requirements:
75
75
  - - "~>"
76
76
  - !ruby/object:Gem::Version
77
- version: 1.2.15
77
+ version: 2.2.0
78
78
  type: :runtime
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
82
  - - "~>"
83
83
  - !ruby/object:Gem::Version
84
- version: 1.2.15
84
+ version: 2.2.0
85
85
  - !ruby/object:Gem::Dependency
86
- name: pundit
86
+ name: slim
87
87
  requirement: !ruby/object:Gem::Requirement
88
88
  requirements:
89
89
  - - "~>"
90
90
  - !ruby/object:Gem::Version
91
- version: 2.2.0
91
+ version: 4.1.0
92
92
  type: :runtime
93
93
  prerelease: false
94
94
  version_requirements: !ruby/object:Gem::Requirement
95
95
  requirements:
96
96
  - - "~>"
97
97
  - !ruby/object:Gem::Version
98
- version: 2.2.0
98
+ version: 4.1.0
99
+ - !ruby/object:Gem::Dependency
100
+ name: webpacker
101
+ requirement: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - "~>"
104
+ - !ruby/object:Gem::Version
105
+ version: 5.4.3
106
+ type: :runtime
107
+ prerelease: false
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - "~>"
111
+ - !ruby/object:Gem::Version
112
+ version: 5.4.3
99
113
  description: This is an admin panel gem
100
114
  email:
101
115
  - sajinprasadkm@gmail.com
@@ -144,6 +158,7 @@ files:
144
158
  - app/assets/stylesheets/cm_admin/scaffold.scss
145
159
  - app/controllers/cm_admin/application_controller.rb
146
160
  - app/controllers/cm_admin/exports_controller.rb
161
+ - app/controllers/cm_admin/resource_controller.rb
147
162
  - app/controllers/cm_admin/static_controller.rb
148
163
  - app/helpers/cm_admin/application_helper.rb
149
164
  - app/helpers/cm_admin/custom_helper.rb
@@ -154,6 +169,7 @@ files:
154
169
  - app/javascript/packs/cm_admin/quick_search.js
155
170
  - app/javascript/packs/cm_admin/scaffolds.js
156
171
  - app/javascript/stylesheets/cm_admin/application.scss
172
+ - app/views/cm_admin/main/_actions_dropdown.html.slim
157
173
  - app/views/cm_admin/main/_associated_table.html.slim
158
174
  - app/views/cm_admin/main/_cm_pagy_nav.html.slim
159
175
  - app/views/cm_admin/main/_drawer.html.slim
@@ -203,7 +219,6 @@ files:
203
219
  - lib/cm_admin/models/blocks.rb
204
220
  - lib/cm_admin/models/cm_show_section.rb
205
221
  - lib/cm_admin/models/column.rb
206
- - lib/cm_admin/models/controller_method.rb
207
222
  - lib/cm_admin/models/custom_action.rb
208
223
  - lib/cm_admin/models/dsl_method.rb
209
224
  - lib/cm_admin/models/export.rb
@@ -214,6 +229,7 @@ files:
214
229
  - lib/cm_admin/utils.rb
215
230
  - lib/cm_admin/version.rb
216
231
  - lib/cm_admin/view_helpers.rb
232
+ - lib/cm_admin/view_helpers/action_dropdown_helper.rb
217
233
  - lib/cm_admin/view_helpers/field_display_helper.rb
218
234
  - lib/cm_admin/view_helpers/filter_helper.rb
219
235
  - lib/cm_admin/view_helpers/form_field_helper.rb
@@ -221,15 +237,20 @@ files:
221
237
  - lib/cm_admin/view_helpers/manage_column_popup_helper.rb
222
238
  - lib/cm_admin/view_helpers/navigation_helper.rb
223
239
  - lib/cm_admin/view_helpers/page_info_helper.rb
240
+ - lib/generators/cm_admin/add_authentication_generator.rb
224
241
  - lib/generators/cm_admin/install_generator.rb
225
242
  - lib/generators/cm_admin/policy_generator.rb
226
243
  - lib/generators/cm_admin/templates/actiontext.scss
244
+ - lib/generators/cm_admin/templates/application_controller.rb
227
245
  - lib/generators/cm_admin/templates/application_policy.rb
246
+ - lib/generators/cm_admin/templates/authentication.rb
228
247
  - lib/generators/cm_admin/templates/cm_admin_initializer.rb
248
+ - lib/generators/cm_admin/templates/current.rb
229
249
  - lib/generators/cm_admin/templates/custom.css
230
250
  - lib/generators/cm_admin/templates/custom.js
231
251
  - lib/generators/cm_admin/templates/policy.rb
232
252
  - lib/tasks/webpack_install.rake
253
+ - package-lock.json
233
254
  - package.json
234
255
  - postcss.config.js
235
256
  - tmp/cache/webpacker/last-compilation-digest-development
@@ -240,7 +261,7 @@ licenses:
240
261
  metadata:
241
262
  homepage_uri: https://github.com/commutatus/cm-admin
242
263
  source_code_uri: https://github.com/commutatus/cm-admin
243
- post_install_message:
264
+ post_install_message:
244
265
  rdoc_options: []
245
266
  require_paths:
246
267
  - lib
@@ -255,8 +276,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
255
276
  - !ruby/object:Gem::Version
256
277
  version: '0'
257
278
  requirements: []
258
- rubygems_version: 3.2.32
259
- signing_key:
279
+ rubygems_version: 3.2.3
280
+ signing_key:
260
281
  specification_version: 4
261
282
  summary: This is an admin panel gem
262
283
  test_files: []
@@ -1,99 +0,0 @@
1
- module CmAdmin
2
- module Models
3
- module ControllerMethod
4
- extend ActiveSupport::Concern
5
-
6
- def show(params)
7
- @current_action = CmAdmin::Models::Action.find_by(self, name: 'show')
8
- scoped_model = "CmAdmin::#{self.name}Policy::Scope".constantize.new(Current.user, self.name.constantize).resolve
9
- @ar_object = scoped_model.find(params[:id])
10
- end
11
-
12
- def index(params)
13
- @current_action = CmAdmin::Models::Action.find_by(self, name: 'index')
14
- # Based on the params the filter and pagination object to be set
15
- @ar_object = filter_by(params, nil, filter_params(params))
16
- end
17
-
18
- def new(params)
19
- @current_action = CmAdmin::Models::Action.find_by(self, name: 'new')
20
- @ar_object = @ar_model.new
21
- end
22
-
23
- def edit(params)
24
- @current_action = CmAdmin::Models::Action.find_by(self, name: 'edit')
25
- @ar_object = @ar_model.name.classify.constantize.find(params[:id])
26
- end
27
-
28
- def update(params)
29
- @ar_object = @ar_model.name.classify.constantize.find(params[:id])
30
- @ar_object.assign_attributes(resource_params(params))
31
- @ar_object
32
- end
33
-
34
-
35
- def create(params)
36
- @ar_object = @ar_model.name.classify.constantize.new(resource_params(params))
37
- end
38
-
39
- def destroy(params)
40
- @ar_object = @ar_model.name.classify.constantize.find(params[:id])
41
- @ar_object.destroy
42
- end
43
-
44
- def filter_by(params, records, filter_params={}, sort_params={})
45
- filtered_result = OpenStruct.new
46
- sort_column = "created_at"
47
- sort_direction = %w[asc desc].include?(sort_params[:sort_direction]) ? sort_params[:sort_direction] : "asc"
48
- sort_params = {sort_column: sort_column, sort_direction: sort_direction}
49
-
50
- records = "CmAdmin::#{self.name}Policy::Scope".constantize.new(Current.user, self.name.constantize).resolve if records.nil?
51
- records = records.order("#{current_action.sort_column} #{current_action.sort_direction}")
52
-
53
- final_data = CmAdmin::Models::Filter.filtered_data(filter_params, records, @filters)
54
- pagy, records = pagy(final_data)
55
- filtered_result.data = records
56
- filtered_result.pagy = pagy
57
- # filtered_result.facets = paginate(page, raw_data.size)
58
- # filtered_result.sort = sort_params
59
- # filtered_result.facets.sort = sort_params
60
- return filtered_result
61
- end
62
-
63
- def resource_params(params)
64
- permittable_fields = @permitted_fields || @ar_model.columns.map(&:name).reject { |i| CmAdmin::REJECTABLE_FIELDS.include?(i) }.map(&:to_sym)
65
- permittable_fields += @ar_model.name.constantize.reflect_on_all_associations.map {|x|
66
- next if x.options[:polymorphic]
67
- # The first if statement is added for compatibilty with cm-page-builder.
68
- # One of the associated models of cm-page-builder was throwing error.
69
- # The associated model is CmPageBuilder::Rails::PageComponent.
70
- # When using reflection, the value of klass of the above association is uninitialized.
71
- # As a result, it was throwing error in the 2nd elsif statement.
72
- if x.name == :page_components
73
- x.name
74
- elsif x.klass.name == "ActiveStorage::Attachment"
75
- if x.class.name.include?('HasOne')
76
- x.name.to_s.gsub('_attachment', '').to_sym
77
- elsif x.class.name.include?('HasMany')
78
- Hash[x.name.to_s.gsub('_attachment', ''), []]
79
- end
80
- elsif x.klass.name == "ActionText::RichText"
81
- x.name.to_s.gsub('rich_text_', '').to_sym
82
- end
83
- }.compact
84
- nested_tables = self.available_fields[:new].except(:fields).keys
85
- nested_tables += self.available_fields[:edit].except(:fields).keys
86
- nested_fields = nested_tables.uniq.map {|table|
87
- Hash[
88
- table.to_s + '_attributes',
89
- table.to_s.classify.constantize.columns.map(&:name).reject { |i| CmAdmin::REJECTABLE_FIELDS.include?(i) }.map(&:to_sym) + [:id, :_destroy]
90
- ]
91
- }
92
- permittable_fields += nested_fields
93
- @ar_model.columns.map { |col| permittable_fields << col.name.split('_cents') if col.name.include?('_cents') }
94
-
95
- params.require(self.name.underscore.to_sym).permit(*permittable_fields)
96
- end
97
- end
98
- end
99
- end