cm-admin 1.1.4 → 1.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/app/assets/javascripts/cm_admin/scaffolds.js +2 -0
- data/app/assets/stylesheets/cm_admin/base/auth.scss +5 -0
- data/app/assets/stylesheets/cm_admin/base/show.scss +8 -14
- data/app/assets/stylesheets/cm_admin/base/sidebar.scss +5 -0
- data/app/assets/stylesheets/cm_admin/cm_admin.css.scss +1 -0
- data/app/assets/stylesheets/cm_admin/components/_input.scss +6 -6
- data/app/javascript/stylesheets/cm_admin/application.scss +1 -1
- data/app/views/cm_admin/main/_associated_table.html.slim +10 -8
- data/app/views/cm_admin/main/_table.html.slim +2 -2
- data/app/views/cm_admin/main/_top_navbar.html.slim +2 -2
- data/app/views/cm_admin/main/edit.html.slim +1 -4
- data/app/views/layouts/_left_sidebar_nav.html.slim +1 -1
- data/lib/cm_admin/models/column.rb +4 -3
- data/lib/cm_admin/models/export.rb +22 -21
- data/lib/cm_admin/version.rb +1 -1
- data/lib/cm_admin/view_helpers/form_field_helper.rb +2 -2
- data/lib/cm_admin/view_helpers.rb +5 -5
- data/package-lock.json +21 -21
- data/yarn.lock +12 -19
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 824c3834294625da2c626f75005931ccf56711905e6ad223ac2613102db7d750
|
4
|
+
data.tar.gz: 2beccd2743a656d7ffcd28b83b682513b372b7c64c8fb16df5e3272e431ad038
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d3f782ef53f1dbca5c8328649050cf55622f909635424d55662e09f6e98076a55cf7fba474aeec347258d2995eb1ec998c6e6b5f8d0d22d6e8237ea7d0b5fc8e
|
7
|
+
data.tar.gz: 9310b42149f297a3df3fb564c1f6d800e7d0cf745e14fc1f7388f2e837e9e1812ef3884554994dc7978f05194a7a3acf9e9d332d73ba8164756f0d92b250ffad
|
data/Gemfile.lock
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
.show-page {
|
4
4
|
overflow: auto;
|
5
|
-
|
5
|
+
|
6
6
|
&__tabs {
|
7
7
|
.cm-tabs-bar {
|
8
8
|
background-color: $white;
|
@@ -48,26 +48,20 @@
|
|
48
48
|
border-radius: $radius-4;
|
49
49
|
}
|
50
50
|
.info-split {
|
51
|
-
display:
|
51
|
+
display: grid;
|
52
|
+
grid-template-columns: 140px 1fr;
|
53
|
+
grid-column-gap: 24px;
|
52
54
|
margin-bottom: 24px;
|
53
55
|
&:nth-last-child(1) {
|
54
56
|
margin-bottom: 0;
|
55
57
|
}
|
56
58
|
&__lhs {
|
57
|
-
|
58
|
-
|
59
|
-
@include font($size: $t4-text, $color: $ink-lighter-clr);
|
60
|
-
line-height: 22px;
|
61
|
-
margin: 0;
|
62
|
-
}
|
59
|
+
@include font($size: $t4-text, $color: $ink-lighter-clr);
|
60
|
+
line-height: 22px;
|
63
61
|
}
|
64
62
|
&__rhs {
|
65
|
-
|
66
|
-
|
67
|
-
@include font($size: $t4-text, $color: $primary-text-clr);
|
68
|
-
line-height: 19px;
|
69
|
-
margin: 0;
|
70
|
-
}
|
63
|
+
@include font($size: $t4-text, $color: $primary-text-clr);
|
64
|
+
line-height: 19px;
|
71
65
|
}
|
72
66
|
}
|
73
67
|
}
|
@@ -198,6 +198,11 @@
|
|
198
198
|
.auth-option {
|
199
199
|
padding: 8px 0;
|
200
200
|
.auth-link {
|
201
|
+
background: none;
|
202
|
+
border: none;
|
203
|
+
width: 100%;
|
204
|
+
text-align: left;
|
205
|
+
padding: 0;
|
201
206
|
display: block;
|
202
207
|
@include font($size: $t4-text, $color: $primary-text-clr);
|
203
208
|
line-height: 22px;
|
@@ -117,8 +117,8 @@
|
|
117
117
|
cursor: pointer;
|
118
118
|
}
|
119
119
|
}
|
120
|
-
|
121
|
-
.upload-placeholder-1 {
|
120
|
+
|
121
|
+
.upload-placeholder-1 {
|
122
122
|
@include font($size: $t4-text, $color: $ink-lighter-clr, $weight: 600);
|
123
123
|
}
|
124
124
|
.upload-placeholder-2 {
|
@@ -161,7 +161,7 @@ input.cm-checkbox[type="checkbox"] {
|
|
161
161
|
}
|
162
162
|
&:checked:after {
|
163
163
|
background: $brand-color;
|
164
|
-
content: "\
|
164
|
+
content: "\f00c";
|
165
165
|
font-family: FontAwesome !important;
|
166
166
|
color: $white;
|
167
167
|
border: none;
|
@@ -173,7 +173,7 @@ input.cm-checkbox[type="checkbox"] {
|
|
173
173
|
}
|
174
174
|
&:checked:after {
|
175
175
|
background: $grey-light-clr;
|
176
|
-
content: "\
|
176
|
+
content: "\f00c";
|
177
177
|
font-family: FontAwesome !important;
|
178
178
|
color: $white;
|
179
179
|
border: none;
|
@@ -262,7 +262,7 @@ input.cm-radio[type="radio"] {
|
|
262
262
|
right: 0;
|
263
263
|
bottom: 0;
|
264
264
|
background: $grey-light-clr;
|
265
|
-
transition: all .2s linear;
|
265
|
+
transition: all 0.2s linear;
|
266
266
|
}
|
267
267
|
|
268
268
|
.slider:before {
|
@@ -273,7 +273,7 @@ input.cm-radio[type="radio"] {
|
|
273
273
|
left: 2px;
|
274
274
|
bottom: 2px;
|
275
275
|
background-color: $white;
|
276
|
-
transition: all .2s linear;
|
276
|
+
transition: all 0.2s linear;
|
277
277
|
}
|
278
278
|
|
279
279
|
input:checked + .slider {
|
@@ -24,6 +24,7 @@
|
|
24
24
|
/ span
|
25
25
|
/ input.cm-checkbox type="checkbox"
|
26
26
|
- @model.available_fields[@action.name.to_sym].each do |column|
|
27
|
+
- if column.display_if.call(Current.user) && column.viewable
|
27
28
|
th = column.header
|
28
29
|
tbody.cm-table__body
|
29
30
|
- @associated_ar_object.data.each do |ar_object|
|
@@ -33,14 +34,15 @@
|
|
33
34
|
/ span
|
34
35
|
/ input.cm-checkbox type="checkbox"
|
35
36
|
- @model.available_fields[@action.name.to_sym].each_with_index do |column, index|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
37
|
+
- if column.display_if.call(Current.user) && column.viewable
|
38
|
+
td class="text-ellipsis"
|
39
|
+
span class="#{column.field_type.to_s} #{column.cm_css_class} "
|
40
|
+
- if index == 0 && is_show_action_available(@associated_model)
|
41
|
+
a href="#{CmAdmin::Engine.mount_path}/#{@associated_model.name.tableize}/#{ar_object.id}" = show_field_value(ar_object, column)
|
42
|
+
- else
|
43
|
+
= show_field_value(ar_object, column)
|
44
|
+
- if column.field_type == :drawer
|
45
|
+
= render partial: column.drawer_partial, locals: { ar_object: ar_object }
|
44
46
|
|
45
47
|
- if @associated_model
|
46
48
|
== render partial: 'cm_admin/main/actions_dropdown', locals: { cm_model: @associated_model, ar_object: ar_object }
|
@@ -15,7 +15,7 @@
|
|
15
15
|
/ span
|
16
16
|
/ input.cm-checkbox type="checkbox"
|
17
17
|
- @model.available_fields[:index].each do |column|
|
18
|
-
- if column.display_if.call(Current.user)
|
18
|
+
- if column.display_if.call(Current.user) && column.viewable
|
19
19
|
th = column.header
|
20
20
|
tbody.cm-table__body
|
21
21
|
- @ar_object.data.each do |ar_object|
|
@@ -24,7 +24,7 @@
|
|
24
24
|
/ span
|
25
25
|
/ input.cm-checkbox type="checkbox"
|
26
26
|
- @model.available_fields[:index].each_with_index do |column, index|
|
27
|
-
- if column.display_if.call(Current.user)
|
27
|
+
- if column.display_if.call(Current.user) && column.viewable
|
28
28
|
td.text-ellipsis
|
29
29
|
span class="#{column.field_type.to_s} #{column.cm_css_class} "
|
30
30
|
- if index == 0 && is_show_action_available(@model) && !([:link, :custom, :attachment, :drawer, :image].include?(column.field_type))
|
@@ -3,7 +3,7 @@
|
|
3
3
|
- if cm_admin.method_defined?(:"#{@model.name.underscore}_index_path") && (@model.current_action.name == 'show' || @model.current_action.layout_type.present?)
|
4
4
|
.bread-crumb-area
|
5
5
|
.breadcrumb-text
|
6
|
-
= link_to @model.name
|
6
|
+
= link_to "#{@model.name.titleize.pluralize} /", cm_admin.send(:"#{@model.name.underscore}_index_path")
|
7
7
|
.nav-title-area
|
8
8
|
p.title-text = action_title
|
9
9
|
p.title-sub-text = action_description
|
@@ -36,4 +36,4 @@
|
|
36
36
|
|
37
37
|
- edit_action = @model.available_actions.select{|act| act if act.action_type.eql?(:default) && act.name.eql?('edit')}
|
38
38
|
- if edit_action.any? && policy([:cm_admin, @model.name.classify.constantize]).edit?
|
39
|
-
= link_to "Edit #{@model.name}", cm_admin.send(:"#{@model.name.underscore}_edit_path", @ar_object), class: 'primary-btn ml-2'
|
39
|
+
= link_to "Edit #{@model.name.titleize.pluralize}", cm_admin.send(:"#{@model.name.underscore}_edit_path", @ar_object), class: 'primary-btn ml-2'
|
@@ -25,6 +25,6 @@
|
|
25
25
|
p.email-text = current_user.email
|
26
26
|
.profile-info__right
|
27
27
|
.auth-option
|
28
|
-
=
|
28
|
+
= button_to destroy_user_session_path, method: :delete, class: 'auth-link', data: { turbo: :false }
|
29
29
|
| Logout
|
30
30
|
= render 'layouts/quick_links'
|
@@ -7,7 +7,7 @@ module CmAdmin
|
|
7
7
|
|
8
8
|
attr_accessor :field_name, :field_type, :header, :format, :prefix, :suffix, :exportable, :round, :height, :width,
|
9
9
|
:cm_css_class, :link, :url, :custom_method, :helper_method, :managable, :lockable, :drawer_partial, :tag_class,
|
10
|
-
:display_if, :association_name, :association_type
|
10
|
+
:display_if, :association_name, :association_type, :viewable, :custom_link
|
11
11
|
|
12
12
|
def initialize(field_name, attributes = {})
|
13
13
|
@field_name = field_name
|
@@ -41,12 +41,13 @@ module CmAdmin
|
|
41
41
|
self.exportable = true
|
42
42
|
self.managable = true
|
43
43
|
self.lockable = false
|
44
|
+
self.viewable = true
|
44
45
|
self.tag_class = {}
|
45
46
|
end
|
46
47
|
|
47
48
|
class << self
|
48
|
-
def find_by(model, search_hash)
|
49
|
-
model.available_fields.find { |
|
49
|
+
def find_by(model, action_name, search_hash)
|
50
|
+
model.available_fields[action_name].find { |column| column.field_name == search_hash[:name] }
|
50
51
|
end
|
51
52
|
end
|
52
53
|
end
|
@@ -4,57 +4,58 @@ module CmAdmin
|
|
4
4
|
class << self
|
5
5
|
def generate_excel(klass_name, params, helpers)
|
6
6
|
klass = klass_name.constantize
|
7
|
-
|
7
|
+
selected_column_names = params[:columns] || []
|
8
8
|
# filter_params = params[:filters]
|
9
9
|
model = CmAdmin::Model.find_by({name: klass_name})
|
10
10
|
# records = get_records(klass, model, columns, helpers)
|
11
11
|
records = "CmAdmin::#{klass_name}Policy::Scope".constantize.new(Current.user, klass).resolve
|
12
12
|
filtered_data = CmAdmin::Models::Filter.filtered_data(model.filter_params(params), records, model.filters)
|
13
|
-
formatted_data = format_records(filtered_data, model,
|
13
|
+
formatted_data = format_records(filtered_data, model, selected_column_names, helpers)
|
14
14
|
file_path = "#{Rails.root}/tmp/#{klass}_data_#{DateTime.now.strftime("%Y-%m-%d_%H-%M-%S")}.xlsx"
|
15
|
-
create_workbook(formatted_data,
|
15
|
+
create_workbook(model, formatted_data, selected_column_names, file_path)
|
16
16
|
return file_path
|
17
17
|
end
|
18
18
|
|
19
|
-
|
20
|
-
|
21
|
-
custom_fields = model.available_fields[:index].map{|field| field if field.field_type == :custom}.compact
|
22
|
-
normal_fields = model.available_fields[:index].map{|field| field unless field.field_type == :custom}.compact
|
23
|
-
deserialized_columns = CmAdmin::Utils.deserialize_csv_columns(columns, :as_json_params)
|
19
|
+
def format_records(records, model, selected_column_names, helpers)
|
20
|
+
deserialized_columns = CmAdmin::Utils.deserialize_csv_columns(selected_column_names, :as_json_params)
|
24
21
|
# This includes isn't recursve, a full solution should be recursive
|
25
22
|
records_arr = []
|
26
23
|
records.includes(deserialized_columns[:include].keys).find_each do |record|
|
27
|
-
record_hash = record.as_json({only:
|
28
|
-
|
29
|
-
break unless model.available_fields[:index].map(&:field_name).include?(
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
24
|
+
record_hash = record.as_json({ only: selected_column_names.map(&:to_sym) })
|
25
|
+
selected_column_names.each do |column_name|
|
26
|
+
break unless model.available_fields[:index].map(&:field_name).include?(column_name.to_sym)
|
27
|
+
|
28
|
+
column = CmAdmin::Models::Column.find_by(model, :index, { name: column_name.to_sym })
|
29
|
+
if column.field_type == :custom
|
30
|
+
record_hash[column.field_name] = helpers.send(column.helper_method, record, column.field_name).to_s
|
31
|
+
else
|
32
|
+
record_hash[column.field_name] = record.send(column.field_name).to_s
|
33
|
+
end
|
34
34
|
end
|
35
35
|
records_arr << record_hash
|
36
36
|
end
|
37
37
|
records_arr
|
38
38
|
end
|
39
39
|
|
40
|
-
def create_workbook(records,
|
40
|
+
def create_workbook(cm_model, records, _class_name, file_path)
|
41
41
|
flattened_records = records.map { |record| CmAdmin::Utils.flatten_hash(record) }
|
42
|
-
columns = flattened_records.map{|x| x.keys}.flatten.uniq.sort
|
42
|
+
# columns = flattened_records.map{|x| x.keys}.flatten.uniq.sort
|
43
|
+
columns = exportable_columns(cm_model).select { |column| flattened_records.first.keys.include?(column.field_name.to_s) }
|
43
44
|
size_arr = []
|
44
45
|
columns.size.times { size_arr << 22 }
|
45
46
|
xl = Axlsx::Package.new
|
46
47
|
xl.workbook.add_worksheet do |sheet|
|
47
|
-
sheet.add_row columns&.map(&:
|
48
|
+
sheet.add_row columns&.map(&:header), b: true
|
48
49
|
flattened_records.each do |record|
|
49
|
-
sheet.add_row(columns.map { |column| record[column] })
|
50
|
+
sheet.add_row(columns.map { |column| record[column.field_name.to_s] })
|
50
51
|
end
|
51
|
-
|
52
|
+
sheet.column_widths(*size_arr)
|
52
53
|
end
|
53
54
|
xl.serialize(file_path)
|
54
55
|
end
|
55
56
|
|
56
57
|
def exportable_columns(klass)
|
57
|
-
klass.available_fields[:index].
|
58
|
+
klass.available_fields[:index].select(&:exportable)
|
58
59
|
end
|
59
60
|
|
60
61
|
end
|
data/lib/cm_admin/version.rb
CHANGED
@@ -39,7 +39,7 @@ module CmAdmin
|
|
39
39
|
|
40
40
|
def cm_single_select_field(form_obj, cm_field, value, required_class, target_action)
|
41
41
|
form_obj.select cm_field.field_name, options_for_select(select_collection_value(form_obj.object, cm_field), form_obj.object.send(cm_field.field_name)),
|
42
|
-
{ include_blank: cm_field.placeholder.to_s },
|
42
|
+
{ include_blank: cm_field.placeholder.to_s.presence || "Select #{cm_field.field_name.to_s.humanize(capitalize: false)}}" },
|
43
43
|
class: "normal-input #{required_class} select-2",
|
44
44
|
disabled: cm_field.disabled,
|
45
45
|
data: {
|
@@ -53,7 +53,7 @@ module CmAdmin
|
|
53
53
|
def cm_multi_select_field(form_obj, cm_field, value, required_class, target_action)
|
54
54
|
form_obj.select cm_field.field_name,
|
55
55
|
options_for_select(select_collection_value(form_obj.object, cm_field), form_obj.object.send(cm_field.field_name)),
|
56
|
-
{ include_blank: "Select #{cm_field.field_name.to_s.
|
56
|
+
{ include_blank: cm_field.placeholder.to_s.presence || "Select #{cm_field.field_name.to_s.humanize(capitalize: false)}" },
|
57
57
|
class: "normal-input #{required_class} select-2",
|
58
58
|
disabled: cm_field.disabled, multiple: true
|
59
59
|
end
|
@@ -60,16 +60,16 @@ module CmAdmin
|
|
60
60
|
|
61
61
|
def checkbox_row(klass)
|
62
62
|
tag.div class: 'row' do
|
63
|
-
CmAdmin::Models::Export.exportable_columns(klass).each do |
|
64
|
-
concat create_checkbox(
|
63
|
+
CmAdmin::Models::Export.exportable_columns(klass).each do |column|
|
64
|
+
concat create_checkbox(column)
|
65
65
|
end
|
66
66
|
end
|
67
67
|
end
|
68
68
|
|
69
|
-
def create_checkbox(
|
69
|
+
def create_checkbox(column)
|
70
70
|
tag.div class: 'col-md-4' do
|
71
|
-
concat check_box_tag 'columns[]',
|
72
|
-
concat " #{
|
71
|
+
concat check_box_tag 'columns[]', column.field_name, id: column.field_name.to_s.gsub('/', '-')
|
72
|
+
concat " #{column.header.to_s.gsub('/', '_').humanize}"
|
73
73
|
end
|
74
74
|
end
|
75
75
|
|
data/package-lock.json
CHANGED
@@ -1814,9 +1814,9 @@
|
|
1814
1814
|
}
|
1815
1815
|
},
|
1816
1816
|
"node_modules/@npmcli/fs/node_modules/semver": {
|
1817
|
-
"version": "7.5.
|
1818
|
-
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.
|
1819
|
-
"integrity": "sha512-
|
1817
|
+
"version": "7.5.4",
|
1818
|
+
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
|
1819
|
+
"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
|
1820
1820
|
"dependencies": {
|
1821
1821
|
"lru-cache": "^6.0.0"
|
1822
1822
|
},
|
@@ -3834,9 +3834,9 @@
|
|
3834
3834
|
}
|
3835
3835
|
},
|
3836
3836
|
"node_modules/cross-spawn/node_modules/semver": {
|
3837
|
-
"version": "5.7.
|
3838
|
-
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.
|
3839
|
-
"integrity": "sha512-
|
3837
|
+
"version": "5.7.2",
|
3838
|
+
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
|
3839
|
+
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
|
3840
3840
|
"bin": {
|
3841
3841
|
"semver": "bin/semver"
|
3842
3842
|
}
|
@@ -7792,9 +7792,9 @@
|
|
7792
7792
|
}
|
7793
7793
|
},
|
7794
7794
|
"node_modules/normalize-package-data/node_modules/semver": {
|
7795
|
-
"version": "7.5.
|
7796
|
-
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.
|
7797
|
-
"integrity": "sha512-
|
7795
|
+
"version": "7.5.4",
|
7796
|
+
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
|
7797
|
+
"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
|
7798
7798
|
"dev": true,
|
7799
7799
|
"dependencies": {
|
7800
7800
|
"lru-cache": "^6.0.0"
|
@@ -9872,9 +9872,9 @@
|
|
9872
9872
|
}
|
9873
9873
|
},
|
9874
9874
|
"node_modules/read-pkg/node_modules/semver": {
|
9875
|
-
"version": "5.7.
|
9876
|
-
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.
|
9877
|
-
"integrity": "sha512-
|
9875
|
+
"version": "5.7.2",
|
9876
|
+
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
|
9877
|
+
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
|
9878
9878
|
"dev": true,
|
9879
9879
|
"bin": {
|
9880
9880
|
"semver": "bin/semver"
|
@@ -10410,9 +10410,9 @@
|
|
10410
10410
|
}
|
10411
10411
|
},
|
10412
10412
|
"node_modules/sass-loader/node_modules/semver": {
|
10413
|
-
"version": "7.5.
|
10414
|
-
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.
|
10415
|
-
"integrity": "sha512-
|
10413
|
+
"version": "7.5.4",
|
10414
|
+
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
|
10415
|
+
"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
|
10416
10416
|
"dependencies": {
|
10417
10417
|
"lru-cache": "^6.0.0"
|
10418
10418
|
},
|
@@ -10469,9 +10469,9 @@
|
|
10469
10469
|
}
|
10470
10470
|
},
|
10471
10471
|
"node_modules/semver": {
|
10472
|
-
"version": "6.3.
|
10473
|
-
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.
|
10474
|
-
"integrity": "sha512-
|
10472
|
+
"version": "6.3.1",
|
10473
|
+
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
|
10474
|
+
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
|
10475
10475
|
"bin": {
|
10476
10476
|
"semver": "bin/semver.js"
|
10477
10477
|
}
|
@@ -13423,9 +13423,9 @@
|
|
13423
13423
|
}
|
13424
13424
|
},
|
13425
13425
|
"node_modules/webpack/node_modules/semver": {
|
13426
|
-
"version": "5.7.
|
13427
|
-
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.
|
13428
|
-
"integrity": "sha512-
|
13426
|
+
"version": "5.7.2",
|
13427
|
+
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
|
13428
|
+
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
|
13429
13429
|
"bin": {
|
13430
13430
|
"semver": "bin/semver"
|
13431
13431
|
}
|
data/yarn.lock
CHANGED
@@ -6344,31 +6344,24 @@ selfsigned@^2.0.1:
|
|
6344
6344
|
node-forge "^1"
|
6345
6345
|
|
6346
6346
|
"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0:
|
6347
|
-
version "5.7.
|
6348
|
-
resolved "https://registry.
|
6349
|
-
integrity sha512-
|
6347
|
+
version "5.7.2"
|
6348
|
+
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
|
6349
|
+
integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
|
6350
6350
|
|
6351
6351
|
semver@7.0.0:
|
6352
6352
|
version "7.0.0"
|
6353
|
-
resolved "https://registry.
|
6353
|
+
resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
|
6354
6354
|
integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
|
6355
6355
|
|
6356
6356
|
semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0:
|
6357
|
-
version "6.3.
|
6358
|
-
resolved "https://registry.
|
6359
|
-
integrity sha512-
|
6360
|
-
|
6361
|
-
semver@^7.3.2:
|
6362
|
-
version "7.
|
6363
|
-
resolved "https://registry.
|
6364
|
-
integrity sha512-
|
6365
|
-
dependencies:
|
6366
|
-
lru-cache "^6.0.0"
|
6367
|
-
|
6368
|
-
semver@^7.3.4:
|
6369
|
-
version "7.3.8"
|
6370
|
-
resolved "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz"
|
6371
|
-
integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==
|
6357
|
+
version "6.3.1"
|
6358
|
+
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
|
6359
|
+
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
|
6360
|
+
|
6361
|
+
semver@^7.3.2, semver@^7.3.4:
|
6362
|
+
version "7.5.4"
|
6363
|
+
resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
|
6364
|
+
integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
|
6372
6365
|
dependencies:
|
6373
6366
|
lru-cache "^6.0.0"
|
6374
6367
|
|
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.1.
|
4
|
+
version: 1.1.5
|
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-07-
|
13
|
+
date: 2023-07-26 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rails
|