motor-admin-cstham8 0.4.35

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.
Files changed (167) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +661 -0
  3. data/README.md +230 -0
  4. data/Rakefile +11 -0
  5. data/app/channels/motor/application_cable/channel.rb +14 -0
  6. data/app/channels/motor/application_cable/connection.rb +27 -0
  7. data/app/channels/motor/notes_channel.rb +9 -0
  8. data/app/channels/motor/notifications_channel.rb +9 -0
  9. data/app/controllers/concerns/motor/current_ability.rb +21 -0
  10. data/app/controllers/concerns/motor/current_user_method.rb +18 -0
  11. data/app/controllers/concerns/motor/load_and_authorize_dynamic_resource.rb +73 -0
  12. data/app/controllers/concerns/motor/wrap_io_params.rb +25 -0
  13. data/app/controllers/motor/active_storage_attachments_controller.rb +64 -0
  14. data/app/controllers/motor/alerts_controller.rb +82 -0
  15. data/app/controllers/motor/api_base_controller.rb +33 -0
  16. data/app/controllers/motor/api_configs_controller.rb +54 -0
  17. data/app/controllers/motor/application_controller.rb +8 -0
  18. data/app/controllers/motor/assets_controller.rb +43 -0
  19. data/app/controllers/motor/audits_controller.rb +16 -0
  20. data/app/controllers/motor/auth_tokens_controller.rb +36 -0
  21. data/app/controllers/motor/configs_controller.rb +33 -0
  22. data/app/controllers/motor/dashboards_controller.rb +64 -0
  23. data/app/controllers/motor/data_controller.rb +88 -0
  24. data/app/controllers/motor/forms_controller.rb +61 -0
  25. data/app/controllers/motor/icons_controller.rb +22 -0
  26. data/app/controllers/motor/note_tags_controller.rb +13 -0
  27. data/app/controllers/motor/notes_controller.rb +58 -0
  28. data/app/controllers/motor/notifications_controller.rb +33 -0
  29. data/app/controllers/motor/queries_controller.rb +64 -0
  30. data/app/controllers/motor/reminders_controller.rb +38 -0
  31. data/app/controllers/motor/resource_default_queries_controller.rb +23 -0
  32. data/app/controllers/motor/resource_methods_controller.rb +23 -0
  33. data/app/controllers/motor/resources_controller.rb +26 -0
  34. data/app/controllers/motor/run_api_requests_controller.rb +56 -0
  35. data/app/controllers/motor/run_graphql_requests_controller.rb +48 -0
  36. data/app/controllers/motor/run_queries_controller.rb +77 -0
  37. data/app/controllers/motor/schema_controller.rb +31 -0
  38. data/app/controllers/motor/send_alerts_controller.rb +26 -0
  39. data/app/controllers/motor/sessions_controller.rb +23 -0
  40. data/app/controllers/motor/slack_conversations_controller.rb +11 -0
  41. data/app/controllers/motor/tags_controller.rb +11 -0
  42. data/app/controllers/motor/ui_controller.rb +51 -0
  43. data/app/controllers/motor/users_for_autocomplete_controller.rb +23 -0
  44. data/app/jobs/motor/alert_sending_job.rb +13 -0
  45. data/app/jobs/motor/application_job.rb +6 -0
  46. data/app/jobs/motor/notify_note_mentions_job.rb +9 -0
  47. data/app/jobs/motor/notify_reminder_job.rb +9 -0
  48. data/app/mailers/motor/alerts_mailer.rb +39 -0
  49. data/app/mailers/motor/application_mailer.rb +33 -0
  50. data/app/mailers/motor/notifications_mailer.rb +33 -0
  51. data/app/models/motor/alert.rb +30 -0
  52. data/app/models/motor/alert_lock.rb +7 -0
  53. data/app/models/motor/api_config.rb +28 -0
  54. data/app/models/motor/application_record.rb +18 -0
  55. data/app/models/motor/audit.rb +13 -0
  56. data/app/models/motor/config.rb +13 -0
  57. data/app/models/motor/dashboard.rb +26 -0
  58. data/app/models/motor/form.rb +23 -0
  59. data/app/models/motor/note.rb +18 -0
  60. data/app/models/motor/note_tag.rb +7 -0
  61. data/app/models/motor/note_tag_tag.rb +8 -0
  62. data/app/models/motor/notification.rb +14 -0
  63. data/app/models/motor/query.rb +33 -0
  64. data/app/models/motor/reminder.rb +13 -0
  65. data/app/models/motor/resource.rb +15 -0
  66. data/app/models/motor/tag.rb +7 -0
  67. data/app/models/motor/taggable_tag.rb +8 -0
  68. data/app/views/layouts/motor/application.html.erb +17 -0
  69. data/app/views/layouts/motor/mailer.html.erb +72 -0
  70. data/app/views/motor/alerts_mailer/alert_email.html.erb +54 -0
  71. data/app/views/motor/notifications_mailer/notify_mention_email.html.erb +28 -0
  72. data/app/views/motor/notifications_mailer/notify_reminder_email.html.erb +28 -0
  73. data/app/views/motor/ui/show.html.erb +1 -0
  74. data/config/locales/el.yml +420 -0
  75. data/config/locales/en.yml +340 -0
  76. data/config/locales/es.yml +420 -0
  77. data/config/locales/ja.yml +340 -0
  78. data/config/locales/pt.yml +416 -0
  79. data/config/routes.rb +65 -0
  80. data/lib/generators/motor/install_generator.rb +24 -0
  81. data/lib/generators/motor/install_notes_generator.rb +22 -0
  82. data/lib/generators/motor/migration.rb +17 -0
  83. data/lib/generators/motor/templates/install.rb +271 -0
  84. data/lib/generators/motor/templates/install_api_configs.rb +86 -0
  85. data/lib/generators/motor/templates/install_notes.rb +83 -0
  86. data/lib/generators/motor/templates/upgrade_motor_api_actions.rb +71 -0
  87. data/lib/generators/motor/upgrade_generator.rb +43 -0
  88. data/lib/motor/active_record_utils/action_text_attribute_patch.rb +19 -0
  89. data/lib/motor/active_record_utils/active_record_connection_column_patch.rb +14 -0
  90. data/lib/motor/active_record_utils/active_record_filter.rb +405 -0
  91. data/lib/motor/active_record_utils/active_storage_blob_patch.rb +30 -0
  92. data/lib/motor/active_record_utils/active_storage_links_extension.rb +11 -0
  93. data/lib/motor/active_record_utils/defined_scopes_extension.rb +25 -0
  94. data/lib/motor/active_record_utils/fetch_methods.rb +24 -0
  95. data/lib/motor/active_record_utils/types.rb +64 -0
  96. data/lib/motor/active_record_utils.rb +45 -0
  97. data/lib/motor/admin.rb +141 -0
  98. data/lib/motor/alerts/persistance.rb +97 -0
  99. data/lib/motor/alerts/scheduled_alerts_cache.rb +29 -0
  100. data/lib/motor/alerts/scheduler.rb +30 -0
  101. data/lib/motor/alerts/slack_sender.rb +74 -0
  102. data/lib/motor/alerts.rb +52 -0
  103. data/lib/motor/api_configs.rb +41 -0
  104. data/lib/motor/api_query/apply_scope.rb +44 -0
  105. data/lib/motor/api_query/build_json.rb +171 -0
  106. data/lib/motor/api_query/build_meta.rb +20 -0
  107. data/lib/motor/api_query/filter.rb +125 -0
  108. data/lib/motor/api_query/paginate.rb +19 -0
  109. data/lib/motor/api_query/search.rb +60 -0
  110. data/lib/motor/api_query/sort.rb +64 -0
  111. data/lib/motor/api_query.rb +24 -0
  112. data/lib/motor/assets.rb +62 -0
  113. data/lib/motor/build_schema/active_storage_attachment_schema.rb +125 -0
  114. data/lib/motor/build_schema/adjust_devise_model_schema.rb +60 -0
  115. data/lib/motor/build_schema/apply_permissions.rb +64 -0
  116. data/lib/motor/build_schema/defaults.rb +66 -0
  117. data/lib/motor/build_schema/find_display_column.rb +65 -0
  118. data/lib/motor/build_schema/find_icon.rb +135 -0
  119. data/lib/motor/build_schema/find_searchable_columns.rb +33 -0
  120. data/lib/motor/build_schema/load_from_rails.rb +361 -0
  121. data/lib/motor/build_schema/merge_schema_configs.rb +157 -0
  122. data/lib/motor/build_schema/reorder_schema.rb +88 -0
  123. data/lib/motor/build_schema/utils.rb +31 -0
  124. data/lib/motor/build_schema.rb +125 -0
  125. data/lib/motor/cancan_utils/ability_patch.rb +31 -0
  126. data/lib/motor/cancan_utils/can_manage_all.rb +14 -0
  127. data/lib/motor/cancan_utils.rb +9 -0
  128. data/lib/motor/configs/build_configs_hash.rb +90 -0
  129. data/lib/motor/configs/build_ui_app_tag.rb +177 -0
  130. data/lib/motor/configs/load_from_cache.rb +110 -0
  131. data/lib/motor/configs/sync_from_file.rb +35 -0
  132. data/lib/motor/configs/sync_from_hash.rb +159 -0
  133. data/lib/motor/configs/sync_middleware.rb +72 -0
  134. data/lib/motor/configs/sync_with_remote.rb +47 -0
  135. data/lib/motor/configs/write_to_file.rb +36 -0
  136. data/lib/motor/configs.rb +39 -0
  137. data/lib/motor/dashboards/persistance.rb +73 -0
  138. data/lib/motor/dashboards.rb +8 -0
  139. data/lib/motor/forms/persistance.rb +93 -0
  140. data/lib/motor/forms.rb +8 -0
  141. data/lib/motor/hash_serializer.rb +21 -0
  142. data/lib/motor/net_http_utils.rb +50 -0
  143. data/lib/motor/notes/notify_mentions.rb +71 -0
  144. data/lib/motor/notes/notify_reminder.rb +48 -0
  145. data/lib/motor/notes/persist.rb +36 -0
  146. data/lib/motor/notes/reminders_scheduler.rb +39 -0
  147. data/lib/motor/notes/tags.rb +34 -0
  148. data/lib/motor/notes.rb +12 -0
  149. data/lib/motor/queries/persistance.rb +90 -0
  150. data/lib/motor/queries/postgresql_exec_query.rb +28 -0
  151. data/lib/motor/queries/render_sql_template.rb +61 -0
  152. data/lib/motor/queries/run_query.rb +289 -0
  153. data/lib/motor/queries.rb +11 -0
  154. data/lib/motor/railtie.rb +11 -0
  155. data/lib/motor/resources/custom_sql_columns_cache.rb +17 -0
  156. data/lib/motor/resources/fetch_configured_model.rb +269 -0
  157. data/lib/motor/resources/persist_configs.rb +232 -0
  158. data/lib/motor/resources.rb +19 -0
  159. data/lib/motor/slack/client.rb +62 -0
  160. data/lib/motor/slack.rb +16 -0
  161. data/lib/motor/tags.rb +32 -0
  162. data/lib/motor/tasks/motor.rake +54 -0
  163. data/lib/motor/version.rb +5 -0
  164. data/lib/motor-admin-cstham8.rb +3 -0
  165. data/lib/motor.rb +87 -0
  166. data/ui/dist/manifest.json +1990 -0
  167. metadata +303 -0
@@ -0,0 +1,416 @@
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: '%{field} deve ser menor que %{length} em comprimento'
100
+ field_must_be_more_in_length: '%{field} deve ter mais do que %{length} 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
+ audio: Áudio
262
+ video: Vídeo
263
+ display_column: Coluna de exibição
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: Sair
271
+ header: Cabeçalho
272
+ user_dropdown: Desistência do utilizador
273
+ upload: Carregar
274
+ there_is_nothing_here_yet: Ainda não há nada aqui 🤷‍♂️
275
+ is_null: É nulo
276
+ is_not_null: Não é nulo
277
+ split_tags_by: Dividir as etiquetas por
278
+ do_not_split: Não dividir
279
+ semicolon: Ponto-e-vírgula
280
+ hyphen: Hífen
281
+ comma: Vírgula
282
+ slash: Slash
283
+ searchable_columns: Colunas pesquisáveis
284
+ validate: Validar
285
+ error_message: Mensagem de erro
286
+ validation_regexp: Validação RegExp
287
+ regexp: RegExp
288
+ message: Mensagem
289
+ should_be_a_valid_regexp: Deve ser uma string RegExp válida
290
+ order_by: Encomendar por
291
+ ascending: Ascendente
292
+ descending: Decrescente
293
+ url: URL
294
+ expand: Expandir
295
+ add_api: De API
296
+ on_collection: Na coleção
297
+ association: Associação
298
+ action_has_been_removed: Esta ação foi removida
299
+ html: HTML
300
+ edit_html: Edit HTML
301
+ there_are_unsaved_changes_close_form: "There are unsaved changes. Close form?"
302
+ send_file_url: Send file URL
303
+ rating: Rating
304
+ total: Total
305
+ radar_chart: Radar chart
306
+ show_on_table: Show on table
307
+ map: Map
308
+ audits: Audits
309
+ nothing_to_show_here_yet: Nothing to show here yet 🤷
310
+ internal: Internal/Anonymous
311
+ updated: updated
312
+ created: created
313
+ deleted: deleted
314
+ add_condition: Add Condition
315
+ remove_condition: Remove Condition
316
+ unable_to_send_alert: Unable to send alert
317
+ send_via: Send via
318
+ sql: SQL
319
+ variable_name: Nome da variável
320
+ add_variable: Adicionar variável
321
+ notes: Notes
322
+ new_mention_for: "New Mention for %{resource}"
323
+ user_mentioned_you_with_note: "%{user} mentioned you with:\n%{note}"
324
+ edit_note: Edit Note
325
+ create_reminder: Create Reminder
326
+ new_reminder_for: "New Reminder for %{resource}"
327
+ reminder_has_been_removed: Reminder has been removed
328
+ note_has_been_removed: Note has been removed
329
+ schedule_at: Schedule at
330
+ kanban_columns: Kanban columns
331
+ kanban_card_columns: Kanban card columns
332
+ i:
333
+ locale: pt
334
+ select:
335
+ placeholder: Selecionar
336
+ noMatch: Sem correspondências
337
+ loading: Carregando
338
+ table:
339
+ noDataText: Sem dados
340
+ noFilteredDataText: Sem dados para o filtro
341
+ confirmFilter: Aceitar
342
+ resetFilter: Resetar filtro
343
+ clearFilter: Limpar
344
+ sumText: Soma
345
+ datepicker:
346
+ selectDate: Selecionar data
347
+ selectTime: Selecionar hora
348
+ startTime: Horário de início
349
+ endTime: Horário de final
350
+ clear: Limpar
351
+ ok: Aceitar
352
+ datePanelLabel: "[mmmm] [yyyy]"
353
+ month: Mês
354
+ month1: Janeiro
355
+ month2: Fevereiro
356
+ month3: Março
357
+ month4: Abril
358
+ month5: Maio
359
+ month6: Junho
360
+ month7: Julho
361
+ month8: Agosto
362
+ month9: Setembro
363
+ month10: Outubro
364
+ month11: Novembro
365
+ month12: Dezembro
366
+ year: Ano
367
+ weekStartDay: '1'
368
+ weeks:
369
+ sun: Dom
370
+ mon: Seg
371
+ tue: Ter
372
+ wed: Qua
373
+ thu: Qui
374
+ fri: Sex
375
+ sat: Sab
376
+ months:
377
+ m1: Jan
378
+ m2: Fev
379
+ m3: Mar
380
+ m4: Abr
381
+ m5: Mai
382
+ m6: Jun
383
+ m7: Jul
384
+ m8: Ago
385
+ m9: Set
386
+ m10: Out
387
+ m11: Nov
388
+ m12: Dez
389
+ transfer:
390
+ titles:
391
+ source: Origem
392
+ target: Destino
393
+ filterPlaceholder: Buscar aqui
394
+ notFoundText: Sem resultados
395
+ modal:
396
+ okText: Aceitar
397
+ cancelText: Cancelar
398
+ poptip:
399
+ okText: Aceitar
400
+ cancelText: Cancelar
401
+ page:
402
+ prev: Página Anterior
403
+ next: Página Seguinte
404
+ total: Total
405
+ item: Elemento
406
+ items: Elementos
407
+ prev5: 5 Páginas Anteriores
408
+ next5: 5 Páginas Seguintes
409
+ page: "/page"
410
+ goto: Ir a
411
+ p: ''
412
+ rate:
413
+ star: Estrela
414
+ stars: Estrelas
415
+ tree:
416
+ emptyText: Sem Dados
data/config/routes.rb ADDED
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ Motor::Admin.routes.draw do
4
+ namespace :motor, path: '' do
5
+ mount ActionCable.server => '/cable', as: :cable if defined?(ActionCable)
6
+
7
+ scope 'api', as: :api do
8
+ resources :run_queries, only: %i[show create]
9
+ resources :send_alerts, only: %i[create]
10
+ resources :auth_tokens, only: %i[create]
11
+ resources :queries, only: %i[index show create update destroy]
12
+ resources :tags, only: %i[index]
13
+ resources :configs, only: %i[index create]
14
+ resources :resources, only: %i[index create]
15
+ resources :resource_methods, only: %i[show], param: 'resource'
16
+ resources :resource_default_queries, only: %i[show], param: 'resource'
17
+ resources :schema, only: %i[index show], param: 'resource'
18
+ resources :dashboards, only: %i[index show create update destroy]
19
+ resource :run_api_request, only: %i[show create]
20
+ resource :run_graphql_request, only: %i[create]
21
+ resources :api_configs, only: %i[index create destroy]
22
+ resources :forms, only: %i[index show create update destroy]
23
+ resources :notes, only: %i[index show create update destroy]
24
+ resources :note_tags, only: %i[index]
25
+ resources :users_for_autocomplete, only: %i[index]
26
+ resources :notifications, only: %i[index update]
27
+ resources :reminders, only: %i[create destroy]
28
+ resources :alerts, only: %i[index show create update destroy]
29
+ resources :icons, only: %i[index]
30
+ resources :active_storage_attachments, only: %i[create], path: 'data/active_storage__attachments'
31
+ resources :audits, only: %i[index]
32
+ resource :session, only: %i[show destroy]
33
+ resources :slack_conversations, only: %i[index]
34
+ resources :resources, path: '/data/:resource',
35
+ only: %i[index show update create destroy],
36
+ controller: 'data',
37
+ constraints: { id: %r{[^/]+} } do
38
+ put '/:method', to: 'data#execute'
39
+ resources :association, path: '/:association',
40
+ only: %i[index create],
41
+ controller: 'data'
42
+ end
43
+ end
44
+
45
+ resources :assets, param: 'filename',
46
+ only: :show,
47
+ format: false,
48
+ constraints: { filename: /.+/ }
49
+
50
+ get '/', to: 'ui#show'
51
+
52
+ scope as: :ui do
53
+ get '/data(/*path)', to: 'ui#index', as: :data
54
+
55
+ with_options controller: 'ui' do
56
+ resources :notifications, only: %i[index]
57
+ resources :reports, only: %i[index show]
58
+ resources :queries, only: %i[index show new]
59
+ resources :dashboards, only: %i[index show new]
60
+ resources :alerts, only: %i[index show new]
61
+ resources :forms, only: %i[index show new]
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rails/generators'
4
+ require 'rails/generators/migration'
5
+ require 'active_record'
6
+ require 'rails/generators/active_record'
7
+ require 'generators/motor/migration'
8
+
9
+ module Motor
10
+ module Generators
11
+ class InstallGenerator < Rails::Generators::Base
12
+ include Rails::Generators::Migration
13
+ extend Motor::Generators::Migration
14
+
15
+ source_root File.expand_path('templates', __dir__)
16
+
17
+ def copy_migration
18
+ migration_template 'install.rb', 'db/migrate/install_motor_admin.rb'
19
+
20
+ route "mount Motor::Admin => '/motor_admin'"
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rails/generators'
4
+ require 'rails/generators/migration'
5
+ require 'active_record'
6
+ require 'rails/generators/active_record'
7
+ require 'generators/motor/migration'
8
+
9
+ module Motor
10
+ module Generators
11
+ class InstallProNotesGenerator < Rails::Generators::Base
12
+ include Rails::Generators::Migration
13
+ extend Motor::Generators::Migration
14
+
15
+ source_root File.expand_path('templates', __dir__)
16
+
17
+ def copy_migration
18
+ migration_template 'install_pro_notes.rb', 'db/migrate/install_motor_admin_pro_notes.rb'
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Motor
4
+ module Generators
5
+ module Migration
6
+ def next_migration_number(dirname)
7
+ next_migration_number = current_migration_number(dirname) + 1
8
+
9
+ if ::ActiveRecord::Base.try(:timestamped_migrations) || ::ActiveRecord.try(:timestamped_migrations)
10
+ [Time.now.utc.strftime('%Y%m%d%H%M%S'), format('%.14d', next_migration_number)].max
11
+ else
12
+ format('%.3d', next_migration_number)
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end