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.
- checksums.yaml +7 -0
- data/LICENSE +661 -0
- data/README.md +230 -0
- data/Rakefile +11 -0
- data/app/channels/motor/application_cable/channel.rb +14 -0
- data/app/channels/motor/application_cable/connection.rb +27 -0
- data/app/channels/motor/notes_channel.rb +9 -0
- data/app/channels/motor/notifications_channel.rb +9 -0
- data/app/controllers/concerns/motor/current_ability.rb +21 -0
- data/app/controllers/concerns/motor/current_user_method.rb +18 -0
- data/app/controllers/concerns/motor/load_and_authorize_dynamic_resource.rb +73 -0
- data/app/controllers/concerns/motor/wrap_io_params.rb +25 -0
- data/app/controllers/motor/active_storage_attachments_controller.rb +64 -0
- data/app/controllers/motor/alerts_controller.rb +82 -0
- data/app/controllers/motor/api_base_controller.rb +33 -0
- data/app/controllers/motor/api_configs_controller.rb +54 -0
- data/app/controllers/motor/application_controller.rb +8 -0
- data/app/controllers/motor/assets_controller.rb +43 -0
- data/app/controllers/motor/audits_controller.rb +16 -0
- data/app/controllers/motor/auth_tokens_controller.rb +36 -0
- data/app/controllers/motor/configs_controller.rb +33 -0
- data/app/controllers/motor/dashboards_controller.rb +64 -0
- data/app/controllers/motor/data_controller.rb +88 -0
- data/app/controllers/motor/forms_controller.rb +61 -0
- data/app/controllers/motor/icons_controller.rb +22 -0
- data/app/controllers/motor/note_tags_controller.rb +13 -0
- data/app/controllers/motor/notes_controller.rb +58 -0
- data/app/controllers/motor/notifications_controller.rb +33 -0
- data/app/controllers/motor/queries_controller.rb +64 -0
- data/app/controllers/motor/reminders_controller.rb +38 -0
- data/app/controllers/motor/resource_default_queries_controller.rb +23 -0
- data/app/controllers/motor/resource_methods_controller.rb +23 -0
- data/app/controllers/motor/resources_controller.rb +26 -0
- data/app/controllers/motor/run_api_requests_controller.rb +56 -0
- data/app/controllers/motor/run_graphql_requests_controller.rb +48 -0
- data/app/controllers/motor/run_queries_controller.rb +77 -0
- data/app/controllers/motor/schema_controller.rb +31 -0
- data/app/controllers/motor/send_alerts_controller.rb +26 -0
- data/app/controllers/motor/sessions_controller.rb +23 -0
- data/app/controllers/motor/slack_conversations_controller.rb +11 -0
- data/app/controllers/motor/tags_controller.rb +11 -0
- data/app/controllers/motor/ui_controller.rb +51 -0
- data/app/controllers/motor/users_for_autocomplete_controller.rb +23 -0
- data/app/jobs/motor/alert_sending_job.rb +13 -0
- data/app/jobs/motor/application_job.rb +6 -0
- data/app/jobs/motor/notify_note_mentions_job.rb +9 -0
- data/app/jobs/motor/notify_reminder_job.rb +9 -0
- data/app/mailers/motor/alerts_mailer.rb +39 -0
- data/app/mailers/motor/application_mailer.rb +33 -0
- data/app/mailers/motor/notifications_mailer.rb +33 -0
- data/app/models/motor/alert.rb +30 -0
- data/app/models/motor/alert_lock.rb +7 -0
- data/app/models/motor/api_config.rb +28 -0
- data/app/models/motor/application_record.rb +18 -0
- data/app/models/motor/audit.rb +13 -0
- data/app/models/motor/config.rb +13 -0
- data/app/models/motor/dashboard.rb +26 -0
- data/app/models/motor/form.rb +23 -0
- data/app/models/motor/note.rb +18 -0
- data/app/models/motor/note_tag.rb +7 -0
- data/app/models/motor/note_tag_tag.rb +8 -0
- data/app/models/motor/notification.rb +14 -0
- data/app/models/motor/query.rb +33 -0
- data/app/models/motor/reminder.rb +13 -0
- data/app/models/motor/resource.rb +15 -0
- data/app/models/motor/tag.rb +7 -0
- data/app/models/motor/taggable_tag.rb +8 -0
- data/app/views/layouts/motor/application.html.erb +17 -0
- data/app/views/layouts/motor/mailer.html.erb +72 -0
- data/app/views/motor/alerts_mailer/alert_email.html.erb +54 -0
- data/app/views/motor/notifications_mailer/notify_mention_email.html.erb +28 -0
- data/app/views/motor/notifications_mailer/notify_reminder_email.html.erb +28 -0
- data/app/views/motor/ui/show.html.erb +1 -0
- data/config/locales/el.yml +420 -0
- data/config/locales/en.yml +340 -0
- data/config/locales/es.yml +420 -0
- data/config/locales/ja.yml +340 -0
- data/config/locales/pt.yml +416 -0
- data/config/routes.rb +65 -0
- data/lib/generators/motor/install_generator.rb +24 -0
- data/lib/generators/motor/install_notes_generator.rb +22 -0
- data/lib/generators/motor/migration.rb +17 -0
- data/lib/generators/motor/templates/install.rb +271 -0
- data/lib/generators/motor/templates/install_api_configs.rb +86 -0
- data/lib/generators/motor/templates/install_notes.rb +83 -0
- data/lib/generators/motor/templates/upgrade_motor_api_actions.rb +71 -0
- data/lib/generators/motor/upgrade_generator.rb +43 -0
- data/lib/motor/active_record_utils/action_text_attribute_patch.rb +19 -0
- data/lib/motor/active_record_utils/active_record_connection_column_patch.rb +14 -0
- data/lib/motor/active_record_utils/active_record_filter.rb +405 -0
- data/lib/motor/active_record_utils/active_storage_blob_patch.rb +30 -0
- data/lib/motor/active_record_utils/active_storage_links_extension.rb +11 -0
- data/lib/motor/active_record_utils/defined_scopes_extension.rb +25 -0
- data/lib/motor/active_record_utils/fetch_methods.rb +24 -0
- data/lib/motor/active_record_utils/types.rb +64 -0
- data/lib/motor/active_record_utils.rb +45 -0
- data/lib/motor/admin.rb +141 -0
- data/lib/motor/alerts/persistance.rb +97 -0
- data/lib/motor/alerts/scheduled_alerts_cache.rb +29 -0
- data/lib/motor/alerts/scheduler.rb +30 -0
- data/lib/motor/alerts/slack_sender.rb +74 -0
- data/lib/motor/alerts.rb +52 -0
- data/lib/motor/api_configs.rb +41 -0
- data/lib/motor/api_query/apply_scope.rb +44 -0
- data/lib/motor/api_query/build_json.rb +171 -0
- data/lib/motor/api_query/build_meta.rb +20 -0
- data/lib/motor/api_query/filter.rb +125 -0
- data/lib/motor/api_query/paginate.rb +19 -0
- data/lib/motor/api_query/search.rb +60 -0
- data/lib/motor/api_query/sort.rb +64 -0
- data/lib/motor/api_query.rb +24 -0
- data/lib/motor/assets.rb +62 -0
- data/lib/motor/build_schema/active_storage_attachment_schema.rb +125 -0
- data/lib/motor/build_schema/adjust_devise_model_schema.rb +60 -0
- data/lib/motor/build_schema/apply_permissions.rb +64 -0
- data/lib/motor/build_schema/defaults.rb +66 -0
- data/lib/motor/build_schema/find_display_column.rb +65 -0
- data/lib/motor/build_schema/find_icon.rb +135 -0
- data/lib/motor/build_schema/find_searchable_columns.rb +33 -0
- data/lib/motor/build_schema/load_from_rails.rb +361 -0
- data/lib/motor/build_schema/merge_schema_configs.rb +157 -0
- data/lib/motor/build_schema/reorder_schema.rb +88 -0
- data/lib/motor/build_schema/utils.rb +31 -0
- data/lib/motor/build_schema.rb +125 -0
- data/lib/motor/cancan_utils/ability_patch.rb +31 -0
- data/lib/motor/cancan_utils/can_manage_all.rb +14 -0
- data/lib/motor/cancan_utils.rb +9 -0
- data/lib/motor/configs/build_configs_hash.rb +90 -0
- data/lib/motor/configs/build_ui_app_tag.rb +177 -0
- data/lib/motor/configs/load_from_cache.rb +110 -0
- data/lib/motor/configs/sync_from_file.rb +35 -0
- data/lib/motor/configs/sync_from_hash.rb +159 -0
- data/lib/motor/configs/sync_middleware.rb +72 -0
- data/lib/motor/configs/sync_with_remote.rb +47 -0
- data/lib/motor/configs/write_to_file.rb +36 -0
- data/lib/motor/configs.rb +39 -0
- data/lib/motor/dashboards/persistance.rb +73 -0
- data/lib/motor/dashboards.rb +8 -0
- data/lib/motor/forms/persistance.rb +93 -0
- data/lib/motor/forms.rb +8 -0
- data/lib/motor/hash_serializer.rb +21 -0
- data/lib/motor/net_http_utils.rb +50 -0
- data/lib/motor/notes/notify_mentions.rb +71 -0
- data/lib/motor/notes/notify_reminder.rb +48 -0
- data/lib/motor/notes/persist.rb +36 -0
- data/lib/motor/notes/reminders_scheduler.rb +39 -0
- data/lib/motor/notes/tags.rb +34 -0
- data/lib/motor/notes.rb +12 -0
- data/lib/motor/queries/persistance.rb +90 -0
- data/lib/motor/queries/postgresql_exec_query.rb +28 -0
- data/lib/motor/queries/render_sql_template.rb +61 -0
- data/lib/motor/queries/run_query.rb +289 -0
- data/lib/motor/queries.rb +11 -0
- data/lib/motor/railtie.rb +11 -0
- data/lib/motor/resources/custom_sql_columns_cache.rb +17 -0
- data/lib/motor/resources/fetch_configured_model.rb +269 -0
- data/lib/motor/resources/persist_configs.rb +232 -0
- data/lib/motor/resources.rb +19 -0
- data/lib/motor/slack/client.rb +62 -0
- data/lib/motor/slack.rb +16 -0
- data/lib/motor/tags.rb +32 -0
- data/lib/motor/tasks/motor.rake +54 -0
- data/lib/motor/version.rb +5 -0
- data/lib/motor-admin-cstham8.rb +3 -0
- data/lib/motor.rb +87 -0
- data/ui/dist/manifest.json +1990 -0
- 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
|