cm-admin 0.7.3 → 0.7.6

Sign up to get free protection for your applications and to get access to all the features.
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