motor-admin 0.2.36 → 0.2.41
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.
- checksums.yaml +4 -4
- data/config/locales/en.yml +9 -0
- data/config/locales/es.yml +9 -0
- data/config/locales/pt.yml +9 -0
- data/lib/motor/alerts/persistance.rb +2 -2
- data/lib/motor/api_query/apply_scope.rb +11 -1
- data/lib/motor/build_schema/find_searchable_columns.rb +1 -1
- data/lib/motor/dashboards/persistance.rb +2 -2
- data/lib/motor/forms/persistance.rb +2 -2
- data/lib/motor/queries/persistance.rb +2 -2
- data/lib/motor/queries/run_query.rb +3 -1
- data/lib/motor/resources/fetch_configured_model.rb +1 -1
- data/lib/motor/resources.rb +2 -1
- data/lib/motor/version.rb +1 -1
- data/ui/dist/main-f7a83db6d8381e2638a1.css.gz +0 -0
- data/ui/dist/main-f7a83db6d8381e2638a1.js.gz +0 -0
- data/ui/dist/manifest.json +5 -5
- metadata +4 -4
- data/ui/dist/main-348da28bba8cc2014150.css.gz +0 -0
- data/ui/dist/main-348da28bba8cc2014150.js.gz +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a51c13e10df9707cb2130c580660133d07a543c55e97157ebe8660099ff602e6
|
|
4
|
+
data.tar.gz: 81a887350a6fec48cae6fa7c0d74d1efaae29456685e7d2bb63d8347d6aab7e4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f9d5172d6d3014145c39f3640def2f7dbedf4b79dd0c2021562933d6da5caff0430f95334a30cb8c3fed6afa884753d1bd268cf28f8171fe9e03fc3d755d1049
|
|
7
|
+
data.tar.gz: 8a56bce2407c3314d41ecb5d977e275da6b36fd40ac41468912ded8d02b386f3af27b4410e1be0e6c4b4c6b99736239326c663f4aadac4b9f5e30c5bcf30c2f3
|
data/config/locales/en.yml
CHANGED
|
@@ -287,3 +287,12 @@ en:
|
|
|
287
287
|
sql: SQL
|
|
288
288
|
api: API
|
|
289
289
|
searchable_columns: Searchable columns
|
|
290
|
+
validate: Validate
|
|
291
|
+
error_message: Error message
|
|
292
|
+
validation_regexp: Validation RegExp
|
|
293
|
+
regexp: RegExp
|
|
294
|
+
message: Message
|
|
295
|
+
should_be_a_valid_regexp: Should be a valid RegExp string
|
|
296
|
+
order_by: Order by
|
|
297
|
+
ascending: Ascending
|
|
298
|
+
descending: Descending
|
data/config/locales/es.yml
CHANGED
|
@@ -287,6 +287,15 @@ es:
|
|
|
287
287
|
sql: SQL
|
|
288
288
|
api: API
|
|
289
289
|
searchable_columns: Columnas de búsqueda
|
|
290
|
+
validate: Validar
|
|
291
|
+
error_message: Mensaje de error
|
|
292
|
+
validation_regexp: Validación RegExp
|
|
293
|
+
regexp: RegExp
|
|
294
|
+
message: Mensaje
|
|
295
|
+
should_be_a_valid_regexp: Debe ser una cadena RegExp válida
|
|
296
|
+
order_by: Ordenar por
|
|
297
|
+
ascending: Ascendente
|
|
298
|
+
descending: Descendente
|
|
290
299
|
i:
|
|
291
300
|
locale: es
|
|
292
301
|
select:
|
data/config/locales/pt.yml
CHANGED
|
@@ -283,6 +283,15 @@ pt:
|
|
|
283
283
|
sql: SQL
|
|
284
284
|
api: API
|
|
285
285
|
searchable_columns: Colunas pesquisáveis
|
|
286
|
+
validate: Validar
|
|
287
|
+
error_message: Mensagem de erro
|
|
288
|
+
validation_regexp: Validação RegExp
|
|
289
|
+
regexp: RegExp
|
|
290
|
+
message: Mensagem
|
|
291
|
+
should_be_a_valid_regexp: Deve ser uma string RegExp válida
|
|
292
|
+
order_by: Encomendar por
|
|
293
|
+
ascending: Ascendente
|
|
294
|
+
descending: Decrescente
|
|
286
295
|
i:
|
|
287
296
|
locale: pt
|
|
288
297
|
select:
|
|
@@ -87,9 +87,9 @@ module Motor
|
|
|
87
87
|
|
|
88
88
|
def name_already_exists?(alert)
|
|
89
89
|
if alert.new_record?
|
|
90
|
-
Alert.exists?(name: alert.name)
|
|
90
|
+
Alert.exists?(name: alert.name, deleted_at: nil)
|
|
91
91
|
else
|
|
92
|
-
Alert.exists?(['name = ? AND id != ?', alert.name, alert.id])
|
|
92
|
+
Alert.exists?(['name = ? AND id != ? AND deleted_at IS NULL', alert.name, alert.id])
|
|
93
93
|
end
|
|
94
94
|
end
|
|
95
95
|
end
|
|
@@ -26,7 +26,17 @@ module Motor
|
|
|
26
26
|
|
|
27
27
|
return rel unless scope_configs
|
|
28
28
|
|
|
29
|
-
ApiQuery::Filter.call(rel, scope_configs[:preferences][:filter])
|
|
29
|
+
rel = ApiQuery::Filter.call(rel, scope_configs[:preferences][:filter])
|
|
30
|
+
|
|
31
|
+
apply_order(rel, scope_configs[:preferences][:sort])
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def apply_order(rel, params)
|
|
35
|
+
return rel if params.blank?
|
|
36
|
+
|
|
37
|
+
sort_key, sort_order = params.values_at(:key, :order)
|
|
38
|
+
|
|
39
|
+
rel.order(sort_key => sort_order)
|
|
30
40
|
end
|
|
31
41
|
end
|
|
32
42
|
end
|
|
@@ -63,9 +63,9 @@ module Motor
|
|
|
63
63
|
|
|
64
64
|
def title_already_exists?(dashboard)
|
|
65
65
|
if dashboard.new_record?
|
|
66
|
-
Motor::Dashboard.exists?(title: dashboard.title)
|
|
66
|
+
Motor::Dashboard.exists?(title: dashboard.title, deleted_at: nil)
|
|
67
67
|
else
|
|
68
|
-
Motor::Dashboard.exists?(['title = ? AND id != ?', dashboard.title, dashboard.id])
|
|
68
|
+
Motor::Dashboard.exists?(['title = ? AND id != ? AND deleted_at IS NULL', dashboard.title, dashboard.id])
|
|
69
69
|
end
|
|
70
70
|
end
|
|
71
71
|
end
|
|
@@ -63,9 +63,9 @@ module Motor
|
|
|
63
63
|
|
|
64
64
|
def name_already_exists?(form)
|
|
65
65
|
if form.new_record?
|
|
66
|
-
Motor::Form.exists?(['name = ?', form.name])
|
|
66
|
+
Motor::Form.exists?(['name = ? AND deleted_at IS NULL', form.name])
|
|
67
67
|
else
|
|
68
|
-
Motor::Form.exists?(['name = ? AND id != ?', form.name, form.id])
|
|
68
|
+
Motor::Form.exists?(['name = ? AND id != ? AND deleted_at IS NULL', form.name, form.id])
|
|
69
69
|
end
|
|
70
70
|
end
|
|
71
71
|
end
|
|
@@ -63,9 +63,9 @@ module Motor
|
|
|
63
63
|
|
|
64
64
|
def name_already_exists?(query)
|
|
65
65
|
if query.new_record?
|
|
66
|
-
Query.exists?(name: query.name)
|
|
66
|
+
Query.exists?(name: query.name, deleted_at: nil)
|
|
67
67
|
else
|
|
68
|
-
Query.exists?(['name = ? AND id != ?', query.name, query.id])
|
|
68
|
+
Query.exists?(['name = ? AND id != ? AND deleted_at IS NULL', query.name, query.id])
|
|
69
69
|
end
|
|
70
70
|
end
|
|
71
71
|
end
|
|
@@ -194,7 +194,9 @@ module Motor
|
|
|
194
194
|
def normalize_statement_for_sql(statement)
|
|
195
195
|
sql, _, attributes = statement
|
|
196
196
|
|
|
197
|
-
sql = ActiveRecord::Base.
|
|
197
|
+
sql = ActiveRecord::Base.send(:replace_bind_variables,
|
|
198
|
+
sql.gsub(STATEMENT_VARIABLE_REGEXP, '?'),
|
|
199
|
+
attributes.map(&:value))
|
|
198
200
|
|
|
199
201
|
[sql, 'SQL', attributes]
|
|
200
202
|
end
|
|
@@ -41,7 +41,7 @@ module Motor
|
|
|
41
41
|
def define_default_scope(klass, config)
|
|
42
42
|
return klass if config[:custom_sql].blank?
|
|
43
43
|
|
|
44
|
-
klass.instance_variable_set(:@__motor_custom_sql, config[:custom_sql].squish)
|
|
44
|
+
klass.instance_variable_set(:@__motor_custom_sql, config[:custom_sql].squish.delete_suffix(';'))
|
|
45
45
|
|
|
46
46
|
klass.instance_eval do
|
|
47
47
|
default_scope do
|
data/lib/motor/resources.rb
CHANGED
|
@@ -4,7 +4,8 @@ module Motor
|
|
|
4
4
|
module Resources
|
|
5
5
|
RESOURCE_ATTRS = %w[display_name display_column icon custom_sql visible display_primary_key
|
|
6
6
|
searchable_columns].freeze
|
|
7
|
-
COLUMN_ATTRS = %w[name display_name column_type access_type default_value reference virtual format
|
|
7
|
+
COLUMN_ATTRS = %w[name display_name column_type access_type default_value reference virtual format
|
|
8
|
+
validators].freeze
|
|
8
9
|
ASSOCIATION_ATTRS = %w[name display_name model_name icon visible foreign_key primary_key options virtual
|
|
9
10
|
polymorphic slug].freeze
|
|
10
11
|
SCOPE_ATTRS = %w[name display_name scope_type preferences visible].freeze
|
data/lib/motor/version.rb
CHANGED
|
Binary file
|
|
Binary file
|
data/ui/dist/manifest.json
CHANGED
|
@@ -2601,9 +2601,9 @@
|
|
|
2601
2601
|
"icons/zoom-out.svg.gz": "icons/zoom-out.svg.gz",
|
|
2602
2602
|
"icons/zoom-question.svg": "icons/zoom-question.svg",
|
|
2603
2603
|
"icons/zoom-question.svg.gz": "icons/zoom-question.svg.gz",
|
|
2604
|
-
"main-
|
|
2605
|
-
"main-
|
|
2606
|
-
"main-
|
|
2607
|
-
"main.css": "main-
|
|
2608
|
-
"main.js": "main-
|
|
2604
|
+
"main-f7a83db6d8381e2638a1.css.gz": "main-f7a83db6d8381e2638a1.css.gz",
|
|
2605
|
+
"main-f7a83db6d8381e2638a1.js.LICENSE.txt": "main-f7a83db6d8381e2638a1.js.LICENSE.txt",
|
|
2606
|
+
"main-f7a83db6d8381e2638a1.js.gz": "main-f7a83db6d8381e2638a1.js.gz",
|
|
2607
|
+
"main.css": "main-f7a83db6d8381e2638a1.css",
|
|
2608
|
+
"main.js": "main-f7a83db6d8381e2638a1.js"
|
|
2609
2609
|
}
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: motor-admin
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.41
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Pete Matsyburka
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-12-
|
|
11
|
+
date: 2021-12-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activerecord-filter
|
|
@@ -1526,8 +1526,8 @@ files:
|
|
|
1526
1526
|
- ui/dist/icons/zoom-money.svg.gz
|
|
1527
1527
|
- ui/dist/icons/zoom-out.svg.gz
|
|
1528
1528
|
- ui/dist/icons/zoom-question.svg.gz
|
|
1529
|
-
- ui/dist/main-
|
|
1530
|
-
- ui/dist/main-
|
|
1529
|
+
- ui/dist/main-f7a83db6d8381e2638a1.css.gz
|
|
1530
|
+
- ui/dist/main-f7a83db6d8381e2638a1.js.gz
|
|
1531
1531
|
- ui/dist/manifest.json
|
|
1532
1532
|
homepage:
|
|
1533
1533
|
licenses:
|
|
Binary file
|
|
Binary file
|