cm-admin 0.7.3 → 0.7.6

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.
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: 0.7.3
4
+ version: 0.7.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - sajinmp
@@ -10,92 +10,106 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2022-06-21 00:00:00.000000000 Z
13
+ date: 2022-07-12 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.2.1
106
+ type: :runtime
107
+ prerelease: false
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - "~>"
111
+ - !ruby/object:Gem::Version
112
+ version: 5.2.1
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
@@ -1,94 +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 filter_by(params, records, filter_params={}, sort_params={})
40
- filtered_result = OpenStruct.new
41
- sort_column = "created_at"
42
- sort_direction = %w[asc desc].include?(sort_params[:sort_direction]) ? sort_params[:sort_direction] : "asc"
43
- sort_params = {sort_column: sort_column, sort_direction: sort_direction}
44
-
45
- records = "CmAdmin::#{self.name}Policy::Scope".constantize.new(Current.user, self.name.constantize).resolve if records.nil?
46
- records = records.order("#{current_action.sort_column} #{current_action.sort_direction}")
47
-
48
- final_data = CmAdmin::Models::Filter.filtered_data(filter_params, records, @filters)
49
- pagy, records = pagy(final_data)
50
- filtered_result.data = records
51
- filtered_result.pagy = pagy
52
- # filtered_result.facets = paginate(page, raw_data.size)
53
- # filtered_result.sort = sort_params
54
- # filtered_result.facets.sort = sort_params
55
- return filtered_result
56
- end
57
-
58
- def resource_params(params)
59
- permittable_fields = @permitted_fields || @ar_model.columns.map(&:name).reject { |i| CmAdmin::REJECTABLE_FIELDS.include?(i) }.map(&:to_sym)
60
- permittable_fields += @ar_model.name.constantize.reflect_on_all_associations.map {|x|
61
- next if x.options[:polymorphic]
62
- # The first if statement is added for compatibilty with cm-page-builder.
63
- # One of the associated models of cm-page-builder was throwing error.
64
- # The associated model is CmPageBuilder::Rails::PageComponent.
65
- # When using reflection, the value of klass of the above association is uninitialized.
66
- # As a result, it was throwing error in the 2nd elsif statement.
67
- if x.name == :page_components
68
- x.name
69
- elsif x.klass.name == "ActiveStorage::Attachment"
70
- if x.class.name.include?('HasOne')
71
- x.name
72
- elsif x.class.name.include?('HasMany')
73
- Hash[x.name.to_s, []]
74
- end
75
- elsif x.klass.name == "ActionText::RichText"
76
- x.name.to_s.gsub('rich_text_', '').to_sym
77
- end
78
- }.compact
79
- nested_tables = self.available_fields[:new].except(:fields).keys
80
- nested_tables += self.available_fields[:edit].except(:fields).keys
81
- nested_fields = nested_tables.uniq.map {|table|
82
- Hash[
83
- table.to_s + '_attributes',
84
- table.to_s.classify.constantize.columns.map(&:name).reject { |i| CmAdmin::REJECTABLE_FIELDS.include?(i) }.map(&:to_sym) + [:id, :_destroy]
85
- ]
86
- }
87
- permittable_fields += nested_fields
88
- @ar_model.columns.map { |col| permittable_fields << col.name.split('_cents') if col.name.include?('_cents') }
89
-
90
- params.require(self.name.underscore.to_sym).permit(*permittable_fields)
91
- end
92
- end
93
- end
94
- end