motor-admin 0.1.100 → 0.1.104

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: '08f522503ed7429cb7f1dff27a21b416b486e86408a0d488ea9ac786bb194a7a'
4
- data.tar.gz: 859d69a5aa47169d0b528749469fb40fd32367c4af88c295ad814335f5b61a99
3
+ metadata.gz: 266533361474d8854cfc08b9b1b43766bde0fa49dfc6a3d840ab6392dbe6af2d
4
+ data.tar.gz: 1c0e11689a619fb1afd2f47c47b133f6d1b0a10ccdff01c6fbbb4e78b6e8a6f5
5
5
  SHA512:
6
- metadata.gz: 3a857c98af162dc0ed7c4c704d930a3063771ae23e2037a9c3405eac017b4e1eb87b6567e5d8e2d6500f65ebd9f10b8a7ee61cb7a428dd0276b75cfed4798acd
7
- data.tar.gz: 85489fbda71c8cd752ea41243911f11f13e1b849d6f62f332e3e288032700759b816a0d2323f4c6ebc3a4d1d62a747cbca16c0a579fe0721ee825db0559ff457
6
+ metadata.gz: 27abaae03cde38935bd4b7801f79375f5297047ab5fc3d25b6c318662d4459b9f29cc4194d8ed3fa9599421241e35df0960ee2755fd773b38eea5d8876377670
7
+ data.tar.gz: 4b2c7a8b6d14da8e44bbd0bd984168ee4ef2dc8b50fd6904bbf3b45f1854ea0af3dde8ee697264298ea2f9696c0848269ddd454699ad9cb7ca4d2c6a8472128d
@@ -82,6 +82,8 @@ en:
82
82
  field_is_required: '%{field} is required'
83
83
  field_list_cant_be_empty: "%{field} list can't be empty"
84
84
  field_must_be_exactly_in_length: '%{field} must be exactly %{length} in length'
85
+ field_must_be_less_in_length: '%{field} must be less than %{length} in length'
86
+ field_must_be_more_in_length: '%{field} must be more than %{length} in length'
85
87
  field_name: Field name
86
88
  field_value_does_not_match_pattern: '%{field} value does not match %{pattern}'
87
89
  file: File
@@ -194,8 +196,8 @@ en:
194
196
  send_to: Send to
195
197
  set_tags: Set tags
196
198
  settings: Settings
197
- should_be_a_valid_json: Should be a valid JSON
198
- should_be_error_constraint: 'Should be %{error} %{constraint}'
199
+ should_be_a_valid_json: '%{field} should be a valid JSON'
200
+ should_be_error_constraint: '%{field} should be %{error} %{constraint}'
199
201
  stacked_bars: Stacked bars
200
202
  starts_with: Starts with
201
203
  submit: Submit
@@ -179,6 +179,8 @@ es:
179
179
  field_is_required: '%{field} es obligatorio'
180
180
  field_list_cant_be_empty: "La lista %{field} no puede estar vacía"
181
181
  field_must_be_exactly_in_length: '%{field} debe tener un largo de %{length} caracteres'
182
+ field_must_be_less_in_length: '%{field} debe tener una longitud inferior a %{length}'
183
+ field_must_be_more_in_length: '%{field} debe tener una longitud superior a %{length}'
182
184
  field_value_does_not_match_pattern: 'El valor de %{field} no coincide con %{pattern}'
183
185
  file: Archivo
184
186
  greater_or_equal: Mayor o igual
@@ -208,8 +210,8 @@ es:
208
210
  search_query: Buscar consulta
209
211
  select: Selección
210
212
  selected_item_will_be_removed: El elemento seleccionado será eliminado
211
- should_be_a_valid_json: Debe ser un JSON válido
212
- should_be_error_constraint: 'Debe ser %{error} %{constraint}'
213
+ should_be_a_valid_json: '%{field} debe ser un JSON válido'
214
+ should_be_error_constraint: '%{field} debe ser %{error} %{constraint}'
213
215
  starts_with: Empieza con
214
216
  text: Texto
215
217
  textarea: Área de texto
@@ -0,0 +1,345 @@
1
+ pt:
2
+ motor:
3
+ action_has_been_applied: "A ação foi aplicada!"
4
+ action_has_failed_with_code: "A ação falhou com o código"
5
+ action_type: "Tipo de ação"
6
+ actions: "Ações"
7
+ add: "Adicionar"
8
+ add_action: "Adicionar ação"
9
+ add_alert: "Adicionar alerta"
10
+ add_association: "Adicionar associação"
11
+ add_column: "Adicionar Coluna"
12
+ add_dashboard: "Adicionar painel"
13
+ add_field: "Adicionar campo"
14
+ add_filter: "Adicionar filtro"
15
+ add_form: "Adicionar formulário"
16
+ add_group: "Adicionar grupo"
17
+ add_item: "Adicionar item"
18
+ add_link: "Adicionar link"
19
+ add_query: "Adicionar consulta"
20
+ add_scope: "Adicionar escopo"
21
+ add_tab: "Adicionar guia"
22
+ add_text: "Adicionar texto"
23
+ adjust_fields: "Ajustar campos"
24
+ adjust_form: "Ajustar formulário"
25
+ alert_email_has_been_sent: "E-mail de alerta foi enviado!"
26
+ alert_has_been_activated: "O alerta foi ativado"
27
+ alert_has_been_disabled: "O alerta foi desativado"
28
+ alert_has_been_saved: "O alerta foi salvo!"
29
+ alert_name: "Nome do alerta"
30
+ alerts: "Alertas"
31
+ all: "Todos"
32
+ all_resources: "Todos os recursos"
33
+ and: "e"
34
+ api: "API"
35
+ api_path: "Caminho da API"
36
+ api_request: "Solicitação de API"
37
+ apply: "Aplicar"
38
+ are_you_sure: "Tem certeza?"
39
+ associations: "Associações"
40
+ bar_chart: "Gráfico de barras"
41
+ base: "Base"
42
+ boolean: "Booleano"
43
+ build_custom_form: "Crie um formulário personalizado"
44
+ cancel: "Cancelar"
45
+ cents: "Centavos"
46
+ change: "Alterar"
47
+ chart: "Gráfico"
48
+ checkbox: "Caixa de seleção"
49
+ clear: "Limpar"
50
+ clear_all: "Limpar tudo"
51
+ clear_selection: "Limpar seleção"
52
+ close: "Fechar"
53
+ close_editor: "Fechar editor"
54
+ close_settings: "Fechar ajustes"
55
+ close_variables: "Fechar variáveis"
56
+ color: "Cor"
57
+ columns: "Colunas"
58
+ condition: "Condição"
59
+ conditional: "Condicional"
60
+ contains: "Contém"
61
+ copied_to_the_clipboard: "Copiado para a área de transferência"
62
+ create: "Criar"
63
+ create_new: "Criar novo"
64
+ currency: "Moeda"
65
+ current_user_variables_are_always_passed_explicitly_and_can_he_used_html: "<code>{{current_user_id}}</code> e <code>{{current_user_email}}</code> variáveis são sempre passadas explicitamente e podem ser usadas para decidir quais dados devem ser exibidos para determinado usuário:"
66
+ dashboard: "Painel"
67
+ dashboard_has_been_saved: "O painel foi salvo!"
68
+ dashboard_title: "Título do painel"
69
+ dashboards: "Painéis"
70
+ date: "Data"
71
+ date_and_time: "Data e hora"
72
+ decimal: "Decimal"
73
+ default: "Padrão"
74
+ default_value: "Valor predefinido"
75
+ describe_this_alert_optional: "Descreva este alerta (opcional)"
76
+ describe_your_dashboard_optional: "Descreva seu painel (opcional)"
77
+ describe_your_form_optional: "Descreva seu formulário (opcional)"
78
+ describe_your_query_optional: "Descreva sua consulta (opcional)"
79
+ description: "Descrição"
80
+ deselect_all: "Desmarcar tudo"
81
+ details: "Detalhes"
82
+ disable: "Desabilitar"
83
+ display_as: "Exibir como"
84
+ edit: "Editar"
85
+ edit_markdown: "Editar markdown"
86
+ edit_sql: "Editar SQL"
87
+ edit_text: "Editar texto"
88
+ emails: "E-mails"
89
+ empty: "Vazio"
90
+ ends_with: "Termina com"
91
+ equal_to: "É igual a"
92
+ every_day_at_hh_mm: "todos os dias em HH:mm PM..."
93
+ excludes: "exclui"
94
+ field: "Campo"
95
+ field_is_not_a_number: "% {field} não é um número"
96
+ field_is_required: "%{field} é obrigatório"
97
+ field_list_cant_be_empty: "A lista %{field} não pode estar vazia"
98
+ field_must_be_exactly_in_length: "%{field} deve ter exatamente %{length} de comprimento"
99
+ field_must_be_less_in_length: '%{campo} deve ser menor que %{comprimento} em comprimento'
100
+ field_must_be_more_in_length: '%{campo} deve ter mais do que %{comprimento} de comprimento'
101
+ field_name: "Nome do campo"
102
+ field_value_does_not_match_pattern: "%{field} valor não corresponde %{pattern}"
103
+ file: "Arquivo"
104
+ filters: "Filtros"
105
+ foreign_key: "Foreign key"
106
+ form: "Formulário"
107
+ form_has_been_saved: "O formulário foi salvo!"
108
+ form_has_been_submitted_successfully: "O formulário foi enviado com sucesso!"
109
+ form_name: "Nome do formulário"
110
+ forms: "Formulários"
111
+ funnel: "Funil"
112
+ general: "Geral"
113
+ greater_or_equal: "Maior ou igual"
114
+ greater_than: "Maior do que"
115
+ greater_than_or_equal_to: "Maior que ou igual a"
116
+ group_name: "Nome do grupo"
117
+ has_been_created: "foi criado"
118
+ has_been_removed_succesfully: "foi removido com sucesso"
119
+ has_been_updated: "foi atualizado"
120
+ hello_admin: "Olá Admin \U0001f44b"
121
+ hidden: "Oculto"
122
+ image: "Imagem"
123
+ includes: "Inclui"
124
+ input_type: "Tipo de entrada"
125
+ integer: "Integer"
126
+ interval: "Intervalo"
127
+ is: "É"
128
+ is_not: "Não é"
129
+ items_has_been_removed: "itens foram removidos"
130
+ items_will_be_removed: "%{count} itens serão removidos"
131
+ json: "JSON"
132
+ label: "Moeda"
133
+ less_or_equal: "Menor ou igual"
134
+ less_than: "Menor do que"
135
+ less_than_or_equal_to: "Menor ou igual a"
136
+ line_chart: "Gráfico de linhas"
137
+ link: "Link"
138
+ link_name: "Nome do link"
139
+ link_text: "Texto do link"
140
+ links: "Links"
141
+ load_initial_data: "Carregar dados iniciais"
142
+ loading: "Carregando…"
143
+ long_text: "Texto longo"
144
+ looks_like_you_are_new_here: "Parece que você é novo aqui \U0001f643"
145
+ markdown: "Markdown"
146
+ method: "Método"
147
+ method_call: "Chamada de método"
148
+ more: "Mais"
149
+ multiple: "Múltiplo"
150
+ name: "Nome"
151
+ new_alert: "Novo alerta"
152
+ new_dashboard: "Novo painel"
153
+ new_form: "Novo formulário"
154
+ new_query: "Nova consulta"
155
+ no_data: "Sem dados"
156
+ not_empty: "Não vazio"
157
+ not_found: "Não encontrado"
158
+ number: "Número"
159
+ ok: "Ok"
160
+ open_in_markdown_editor: "Abrir no editor de markdown"
161
+ options_separated_with_new_line_or_comma: "Opções separadas com nova linha ou vírgula"
162
+ or: "Ou"
163
+ other_than: "Outros que não"
164
+ param_name: "Nome do param"
165
+ password: "Senha"
166
+ path: "Caminho"
167
+ percent: "Porcento"
168
+ percentage: "Porcentagem"
169
+ pie_chart: "Gráfico de pizza"
170
+ polymorphic: "Polimórfico"
171
+ primary_key: "Chave primária"
172
+ queries: "Consultas"
173
+ queries_can_contain_variable_via_syntax_html: "As consultas podem conter variáveis incorporadas usando a sintaxe <code>{{variable}}</code>:"
174
+ query: "Consulta"
175
+ query_editor: "Editor de consultas"
176
+ query_has_been_saved: "A consulta foi salva!"
177
+ query_name: "Nome da consulta"
178
+ query_not_selected: "Consulta não selecionada"
179
+ query_revisions: "Revisões de consulta"
180
+ read_only: "Somente leitura"
181
+ read_write: "Leitura-gravação"
182
+ reference: "Referência"
183
+ reference_resource: "Recurso de referência"
184
+ remove: "Remover"
185
+ reports: "Relatórios"
186
+ request_param: "Param de solicitação"
187
+ required: "Requerido"
188
+ resource: "Recurso"
189
+ resource_filters: "%{resource} Filtros"
190
+ resource_settings: "%{resource} Configurações"
191
+ resources: "Recursos"
192
+ restore: "Restaurar"
193
+ resubmit: "Reenviar"
194
+ revert: "Reverter"
195
+ revision_has_been_applied: "A revisão foi aplicada"
196
+ revisions: "Revisões"
197
+ richtext: "Richtext"
198
+ row_chart: "Gráfico de linhas"
199
+ run: "Executar"
200
+ save: "Salvar"
201
+ save_and_create_new: "Salvar e criar novo"
202
+ save_as_new: "Salvar como novo"
203
+ save_dashboard: "Salvar painel"
204
+ save_form: "Salvar formulário"
205
+ save_query: "Salvar consulta"
206
+ scopes: "Escopos"
207
+ search: "Pesquisar"
208
+ search_placeholder: "Pesquisar..."
209
+ search_query: "Consulta de pesquisa"
210
+ select: "Selecionar"
211
+ select_alert_tags: "Selecionar tags de alerta"
212
+ select_dashboard: "Selecione o painel"
213
+ select_dashboard_tags: "Selecionar tags de painel"
214
+ select_form: "Selecionar formulário"
215
+ select_form_tags: "Selecionar tags de dashform"
216
+ select_options: "Selecionar opções"
217
+ select_placeholder: "Selecione..."
218
+ select_query: "Selecionar consulta"
219
+ select_query_tags: "Selecionar tags de consulta"
220
+ select_resource_placeholder: "Selecionar recurso..."
221
+ selected_item_has_been_removed: "O item selecionado foi removido"
222
+ selected_item_will_be_removed: "O item selecionado será removido"
223
+ selected_item_will_be_removed_are_you_sure: "O item selecionado será removido. Tem certeza?"
224
+ send_empty: "Enviar vazio?"
225
+ send_now: "Enviar agora"
226
+ send_to: "Enviar para"
227
+ set_tags: "Definir tags"
228
+ settings: "Configurações"
229
+ should_be_a_valid_json: "Deve ser um JSON válido"
230
+ should_be_error_constraint: "Deve ser %{erro} %{constraint}"
231
+ source: "Fonte"
232
+ stacked_bars: "Barras empilhadas"
233
+ starts_with: "Começa com"
234
+ submit: "Enviar"
235
+ syntax_is_used_for_if_and_if_not_conditions_html: "<code>{{#variable}}... {{/variable}}</code> e <code>{{^variable}}... A sintaxe {{variable}}</code> é usada para condições <code>if</code> e <code>se não</code>, respectivamente:"
236
+ tab_type: "Tipo de guia"
237
+ table: "Tabela"
238
+ tabs: "Guias"
239
+ tag: "Tag"
240
+ tags: "Tags"
241
+ text: "Texto"
242
+ textarea: "Área de texto"
243
+ there_are_unsaved_changes_from: "Há alterações não salvas de %{timestamp}"
244
+ through: "Através"
245
+ timezone: "Fuso horário"
246
+ title: "Título"
247
+ type: "Tipo"
248
+ unable_to_load_form_data: "Não é possível carregar dados do formulário"
249
+ unable_to_remove_item: "Não foi possível remover o item"
250
+ unable_to_remove_items: "Não foi possível remover itens"
251
+ unable_to_send_email: "Não foi possível enviar e-mail"
252
+ unable_to_submit_form: "Não foi possível enviar o formulário"
253
+ unit: "Unidade"
254
+ use_default: "Usar padrão"
255
+ value: "Valor"
256
+ values_axis: "Eixo valores"
257
+ variables: "Variáveis"
258
+ visibility: "Visibilidade"
259
+ visualization: "Visualização"
260
+ write_only: "Somente gravação"
261
+ i:
262
+ locale: pt
263
+ select:
264
+ placeholder: Selecionar
265
+ noMatch: Sem correspondências
266
+ loading: Carregando
267
+ table:
268
+ noDataText: Sem dados
269
+ noFilteredDataText: Sem dados para o filtro
270
+ confirmFilter: Aceitar
271
+ resetFilter: Resetar filtro
272
+ clearFilter: Limpar
273
+ sumText: Soma
274
+ datepicker:
275
+ selectDate: Selecionar data
276
+ selectTime: Selecionar hora
277
+ startTime: Horário de início
278
+ endTime: Horário de final
279
+ clear: Limpar
280
+ ok: Aceitar
281
+ datePanelLabel: "[mmmm] [yyyy]"
282
+ month: Mês
283
+ month1: Janeiro
284
+ month2: Fevereiro
285
+ month3: Março
286
+ month4: Abril
287
+ month5: Maio
288
+ month6: Junho
289
+ month7: Julho
290
+ month8: Agosto
291
+ month9: Setembro
292
+ month10: Outubro
293
+ month11: Novembro
294
+ month12: Dezembro
295
+ year: Ano
296
+ weekStartDay: '1'
297
+ weeks:
298
+ sun: Dom
299
+ mon: Seg
300
+ tue: Ter
301
+ wed: Qua
302
+ thu: Qui
303
+ fri: Sex
304
+ sat: Sab
305
+ months:
306
+ m1: Jan
307
+ m2: Fev
308
+ m3: Mar
309
+ m4: Abr
310
+ m5: Mai
311
+ m6: Jun
312
+ m7: Jul
313
+ m8: Ago
314
+ m9: Set
315
+ m10: Out
316
+ m11: Nov
317
+ m12: Dez
318
+ transfer:
319
+ titles:
320
+ source: Origem
321
+ target: Destino
322
+ filterPlaceholder: Buscar aqui
323
+ notFoundText: Sem resultados
324
+ modal:
325
+ okText: Aceitar
326
+ cancelText: Cancelar
327
+ poptip:
328
+ okText: Aceitar
329
+ cancelText: Cancelar
330
+ page:
331
+ prev: Página Anterior
332
+ next: Página Seguinte
333
+ total: Total
334
+ item: Elemento
335
+ items: Elementos
336
+ prev5: 5 Páginas Anteriores
337
+ next5: 5 Páginas Seguintes
338
+ page: "/page"
339
+ goto: Ir a
340
+ p: ''
341
+ rate:
342
+ star: Estrela
343
+ stars: Estrelas
344
+ tree:
345
+ emptyText: Sem Dados
@@ -3,7 +3,8 @@
3
3
  module Motor
4
4
  module ActiveRecordUtils
5
5
  module ActiveStorageBlobPatch
6
- KEYWORD_ARGS = %i[io filename content_type metadata identify].freeze
6
+ KEYWORD_ARGS =
7
+ %i[io filename content_type metadata service_name identify record].freeze
7
8
 
8
9
  def build_after_upload(hash)
9
10
  super(**hash.with_indifferent_access.slice(*KEYWORD_ARGS).symbolize_keys)
@@ -290,12 +290,20 @@ module Motor
290
290
  when ActiveModel::Validations::FormatValidator
291
291
  { format: JsRegex.new(options[:with]).to_h.slice(:source, :options) }
292
292
  when ActiveRecord::Validations::LengthValidator
293
- { length: options }
293
+ { length: normalize_length_validation_options(options) }
294
294
  when ActiveModel::Validations::NumericalityValidator
295
295
  { numeric: options }
296
296
  end
297
297
  end
298
298
 
299
+ def normalize_length_validation_options(options)
300
+ return options if options[:in].blank?
301
+
302
+ in_range = options[:in]
303
+
304
+ options.merge(in: in_range.minmax)
305
+ end
306
+
299
307
  def valid_reflection?(reflection)
300
308
  reflection.klass
301
309
  reflection.foreign_key
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.1.100'
4
+ VERSION = '0.1.104'
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-244fc31dcc62f197e3d2.css.gz": "main-244fc31dcc62f197e3d2.css.gz",
2605
- "main-244fc31dcc62f197e3d2.js.LICENSE.txt": "main-244fc31dcc62f197e3d2.js.LICENSE.txt",
2606
- "main-244fc31dcc62f197e3d2.js.gz": "main-244fc31dcc62f197e3d2.js.gz",
2607
- "main.css": "main-244fc31dcc62f197e3d2.css",
2608
- "main.js": "main-244fc31dcc62f197e3d2.js"
2604
+ "main-37390abd2976b4fd28f0.css.gz": "main-37390abd2976b4fd28f0.css.gz",
2605
+ "main-37390abd2976b4fd28f0.js.LICENSE.txt": "main-37390abd2976b4fd28f0.js.LICENSE.txt",
2606
+ "main-37390abd2976b4fd28f0.js.gz": "main-37390abd2976b4fd28f0.js.gz",
2607
+ "main.css": "main-37390abd2976b4fd28f0.css",
2608
+ "main.js": "main-37390abd2976b4fd28f0.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.1.100
4
+ version: 0.1.104
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-08-04 00:00:00.000000000 Z
11
+ date: 2021-08-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord-filter
@@ -166,6 +166,7 @@ files:
166
166
  - app/views/motor/ui/show.html.erb
167
167
  - config/locales/en.yml
168
168
  - config/locales/es.yml
169
+ - config/locales/pt.yml
169
170
  - config/routes.rb
170
171
  - lib/generators/motor/install_generator.rb
171
172
  - lib/generators/motor/migration.rb
@@ -1536,8 +1537,8 @@ files:
1536
1537
  - ui/dist/icons/zoom-money.svg.gz
1537
1538
  - ui/dist/icons/zoom-out.svg.gz
1538
1539
  - ui/dist/icons/zoom-question.svg.gz
1539
- - ui/dist/main-244fc31dcc62f197e3d2.css.gz
1540
- - ui/dist/main-244fc31dcc62f197e3d2.js.gz
1540
+ - ui/dist/main-37390abd2976b4fd28f0.css.gz
1541
+ - ui/dist/main-37390abd2976b4fd28f0.js.gz
1541
1542
  - ui/dist/manifest.json
1542
1543
  homepage:
1543
1544
  licenses: