motor-admin 0.2.13 → 0.2.14

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 697f544810f933295dcac90682261144d4200b664ef0046dd88c4173a4753cbf
4
- data.tar.gz: 18279efc9ab7d7ec5aa389eada2b5ad3ac646c613c08c1d08d380215affbbb29
3
+ metadata.gz: 83d142a47680bf5eed1aea0f1fccb5b90de231d8105036a5d284cf79d43d586e
4
+ data.tar.gz: 2a9dfd66258c1c446aabc2e1367fad73f1df56867b61d79d47142eefea71622a
5
5
  SHA512:
6
- metadata.gz: 5fe13200b02aa8d1b1492de03fe1371b2b60366c9ad8fe87b9c4307dc040a87acb5434a559515162544fb6fba1106153f5a1b0e012f795ef8d7e9085e65f030f
7
- data.tar.gz: 75e21f9f22ad5ec5663aa8fd5e7080f56d123cb28865c8a564819cde9d77ef9f4231780f4dbfa01ba3a19ebac0dd2d2ace0929ac09df72d2a41256e130371d15
6
+ metadata.gz: fdbfad1a4edd14c987c1f956e525044176ef445125a3e43ae4284618cc0721343a2a28a3c03dcb1d470fd9f746e699cff209911597c71b320540cc11655774b8
7
+ data.tar.gz: d2c662baf663b0cb76edc3ced65c1b331bbf452aaa1a6fa75d4a73cfcd72d7ad0018a4529536a33fe91d6825aa553ad867289895d79398cc73b86ebd1bc0116f
data/README.md CHANGED
@@ -39,6 +39,19 @@ $ rails motor:install && rake db:migrate
39
39
  * [Optimized for mobile](#optimized-for-mobile)
40
40
  * [Configurations sync between environments](#configurations-sync)
41
41
 
42
+ ## [Pro](https://www.getmotoradmin.com/pro)
43
+
44
+ * Multiple databases support
45
+ * Audit log
46
+ * Live collaboration
47
+ * Multi-factor authentication
48
+ * Custom styling
49
+ * Personalized report alerts via Slack
50
+ * Full-text search
51
+ * Stripe integration
52
+ * Shareable forms and reports
53
+ * [learn more](https://www.getmotoradmin.com/pro)
54
+
42
55
  ### Customizable CRUD
43
56
 
44
57
  ![Resource settings](https://user-images.githubusercontent.com/5418788/119318569-2a840e80-bc82-11eb-9ba3-f3964eb6f997.png)
@@ -10,10 +10,14 @@ module Motor
10
10
  def index
11
11
  @resources = Motor::ApiQuery.call(@resources, params)
12
12
 
13
- render json: {
14
- data: Motor::ApiQuery::BuildJson.call(@resources, params, current_ability),
15
- meta: Motor::ApiQuery::BuildMeta.call(@resources, params)
16
- }
13
+ if params[:format] == 'csv'
14
+ render plain: Motor::ActiveRecordUtils.generate_csv_for_relation(@resources, reset_limit: true)
15
+ else
16
+ render json: {
17
+ data: Motor::ApiQuery::BuildJson.call(@resources, params, current_ability),
18
+ meta: Motor::ApiQuery::BuildMeta.call(@resources, params)
19
+ }
20
+ end
17
21
  end
18
22
 
19
23
  def show
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Motor
4
+ class SessionsController < ApiBaseController
5
+ skip_authorization_check
6
+
7
+ def destroy
8
+ session.clear
9
+
10
+ head :ok
11
+ end
12
+ end
13
+ end
@@ -266,3 +266,11 @@ en:
266
266
  video: Video
267
267
  display_column: Display column
268
268
  not_authorized_to_perform_action: You are not authorized to perform this action.
269
+ download: Download
270
+ alert: Alert
271
+ downloading: Downloading
272
+ display_id: Display ID
273
+ display_settings: Display settings
274
+ sign_out: Sign out
275
+ header: Header
276
+ user_dropdown: User dropdown
@@ -266,6 +266,14 @@ es:
266
266
  video: Video
267
267
  display_column: Columna de visualización
268
268
  not_authorized_to_perform_action: No está autorizado a realizar esta acción.
269
+ download: Descargar
270
+ alert: Alerta
271
+ downloading: Descargando
272
+ display_id: Visualizar ID
273
+ display_settings: Configuración de la pantalla
274
+ sign_out: Sign out
275
+ header: Header
276
+ user_dropdown: User dropdown
269
277
  i:
270
278
  locale: es
271
279
  select:
@@ -262,6 +262,14 @@ pt:
262
262
  video: Vídeo
263
263
  display_column: Coluna de exibição
264
264
  not_authorized_to_perform_action: Não está autorizado a realizar esta acção.
265
+ download: Descarregar
266
+ alert: Alerta
267
+ downloading: Descarregamento
268
+ display_id: Mostrar ID
269
+ display_settings: Definições de visualização
270
+ sign_out: Sign out
271
+ header: Header
272
+ user_dropdown: User dropdown
265
273
  i:
266
274
  locale: pt
267
275
  select:
data/config/routes.rb CHANGED
@@ -19,6 +19,7 @@ Motor::Admin.routes.draw do
19
19
  resources :icons, only: %i[index]
20
20
  resources :active_storage_attachments, only: %i[create], path: 'data/active_storage__attachments'
21
21
  resources :audits, only: %i[index]
22
+ resource :session, only: %i[destroy]
22
23
  resources :resources, path: '/data/:resource',
23
24
  only: %i[index show update create destroy],
24
25
  controller: 'data',
@@ -21,6 +21,7 @@ module Motor
21
21
  'text' => 'string',
22
22
  'citext' => 'string',
23
23
  'jsonb' => 'json',
24
+ 'bool' => 'boolean',
24
25
  'timestamp' => 'datetime'
25
26
  }.freeze
26
27
 
@@ -12,6 +12,18 @@ module Motor
12
12
  ActiveRecord::Base.connection.reset_sequence!(model.table_name, 'id')
13
13
  end
14
14
  end
15
+
16
+ def generate_csv_for_relation(relation, reset_limit: false)
17
+ relation = relation.limit(nil).offset(nil) if reset_limit
18
+
19
+ result = relation.klass.connection.exec_query(relation.to_sql)
20
+
21
+ CSV.generate do |csv|
22
+ csv << result.columns
23
+
24
+ result.rows.each { |row| csv << row }
25
+ end
26
+ end
15
27
  end
16
28
  end
17
29
 
@@ -76,7 +76,8 @@ module Motor
76
76
  actions: BuildSchema::Defaults.actions,
77
77
  tabs: BuildSchema::Defaults.tabs,
78
78
  custom_sql: nil,
79
- visible: true
79
+ visible: true,
80
+ display_primary_key: true
80
81
  }.with_indifferent_access
81
82
  end
82
83
 
@@ -135,7 +135,7 @@ module Motor
135
135
  access_type: ColumnAccessTypes::READ_ONLY,
136
136
  column_source: ColumnSources::QUERY,
137
137
  virtual: false
138
- )
138
+ ).with_indifferent_access
139
139
  end
140
140
 
141
141
  reflection_columns = columns_index.values.select { |c| c[:column_source] == ColumnSources::REFLECTION }
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Motor
4
4
  module Resources
5
- RESOURCE_ATTRS = %w[display_name display_column icon custom_sql visible].freeze
5
+ RESOURCE_ATTRS = %w[display_name display_column icon custom_sql visible display_primary_key].freeze
6
6
  COLUMN_ATTRS = %w[name display_name column_type access_type default_value reference virtual format].freeze
7
7
  ASSOCIATION_ATTRS = %w[name display_name model_name icon visible foreign_key primary_key options virtual
8
8
  polymorphic slug].freeze
data/lib/motor/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Motor
4
- VERSION = '0.2.13'
4
+ VERSION = '0.2.14'
5
5
  end
@@ -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-674256170310c4d08732.css.gz": "main-674256170310c4d08732.css.gz",
2605
- "main-674256170310c4d08732.js.LICENSE.txt": "main-674256170310c4d08732.js.LICENSE.txt",
2606
- "main-674256170310c4d08732.js.gz": "main-674256170310c4d08732.js.gz",
2607
- "main.css": "main-674256170310c4d08732.css",
2608
- "main.js": "main-674256170310c4d08732.js"
2604
+ "main-6568183ef6647799a421.css.gz": "main-6568183ef6647799a421.css.gz",
2605
+ "main-6568183ef6647799a421.js.LICENSE.txt": "main-6568183ef6647799a421.js.LICENSE.txt",
2606
+ "main-6568183ef6647799a421.js.gz": "main-6568183ef6647799a421.js.gz",
2607
+ "main.css": "main-6568183ef6647799a421.css",
2608
+ "main.js": "main-6568183ef6647799a421.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.13
4
+ version: 0.2.14
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-10-20 00:00:00.000000000 Z
11
+ date: 2021-10-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord-filter
@@ -130,6 +130,7 @@ files:
130
130
  - app/controllers/motor/run_queries_controller.rb
131
131
  - app/controllers/motor/schema_controller.rb
132
132
  - app/controllers/motor/send_alerts_controller.rb
133
+ - app/controllers/motor/sessions_controller.rb
133
134
  - app/controllers/motor/tags_controller.rb
134
135
  - app/controllers/motor/ui_controller.rb
135
136
  - app/jobs/motor/alert_sending_job.rb
@@ -1524,8 +1525,8 @@ files:
1524
1525
  - ui/dist/icons/zoom-money.svg.gz
1525
1526
  - ui/dist/icons/zoom-out.svg.gz
1526
1527
  - ui/dist/icons/zoom-question.svg.gz
1527
- - ui/dist/main-674256170310c4d08732.css.gz
1528
- - ui/dist/main-674256170310c4d08732.js.gz
1528
+ - ui/dist/main-6568183ef6647799a421.css.gz
1529
+ - ui/dist/main-6568183ef6647799a421.js.gz
1529
1530
  - ui/dist/manifest.json
1530
1531
  homepage:
1531
1532
  licenses: