mirror of
https://github.com/eitchtee/WYGIWYH.git
synced 2026-04-25 01:58:54 +02:00
Merge pull request #23
feat(transactions:action-bar): add more math options in a dropdown
This commit is contained in:
@@ -8,8 +8,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2025-01-04 21:19+0000\n"
|
"POT-Creation-Date: 2025-01-05 17:33+0000\n"
|
||||||
"PO-Revision-Date: 2025-01-04 18:22-0300\n"
|
"PO-Revision-Date: 2025-01-05 14:35-0300\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
"Language: pt_BR\n"
|
"Language: pt_BR\n"
|
||||||
@@ -85,12 +85,13 @@ msgstr "Tags"
|
|||||||
#: apps/transactions/models.py:39 apps/transactions/models.py:58
|
#: apps/transactions/models.py:39 apps/transactions/models.py:58
|
||||||
#: templates/account_groups/fragments/list.html:25
|
#: templates/account_groups/fragments/list.html:25
|
||||||
#: templates/accounts/fragments/list.html:25
|
#: templates/accounts/fragments/list.html:25
|
||||||
#: templates/categories/fragments/list.html:25
|
#: templates/categories/fragments/table.html:16
|
||||||
#: templates/currencies/fragments/list.html:26
|
#: templates/currencies/fragments/list.html:26
|
||||||
#: templates/entities/fragments/list.html:25
|
#: templates/entities/fragments/table.html:16
|
||||||
#: templates/installment_plans/fragments/table.html:16
|
#: templates/installment_plans/fragments/table.html:16
|
||||||
#: templates/recurring_transactions/fragments/table.html:18
|
#: templates/recurring_transactions/fragments/table.html:18
|
||||||
#: templates/rules/fragments/list.html:26 templates/tags/fragments/list.html:25
|
#: templates/rules/fragments/list.html:26
|
||||||
|
#: templates/tags/fragments/table.html:16
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Nome"
|
msgstr "Nome"
|
||||||
|
|
||||||
@@ -130,6 +131,9 @@ msgstr ""
|
|||||||
"mês."
|
"mês."
|
||||||
|
|
||||||
#: apps/accounts/models.py:54 templates/accounts/fragments/list.html:30
|
#: apps/accounts/models.py:54 templates/accounts/fragments/list.html:30
|
||||||
|
#: templates/categories/fragments/list.html:24
|
||||||
|
#: templates/entities/fragments/list.html:24
|
||||||
|
#: templates/tags/fragments/list.html:24
|
||||||
msgid "Archived"
|
msgid "Archived"
|
||||||
msgstr "Arquivada"
|
msgstr "Arquivada"
|
||||||
|
|
||||||
@@ -213,7 +217,7 @@ msgstr "Entidade com esse ID não existe."
|
|||||||
msgid "Invalid entity data. Provide an ID or name."
|
msgid "Invalid entity data. Provide an ID or name."
|
||||||
msgstr "Dados da entidade inválidos. Forneça um ID ou nome."
|
msgstr "Dados da entidade inválidos. Forneça um ID ou nome."
|
||||||
|
|
||||||
#: apps/api/serializers/transactions.py:96
|
#: apps/api/serializers/transactions.py:163
|
||||||
msgid "Either 'date' or 'reference_date' must be provided."
|
msgid "Either 'date' or 'reference_date' must be provided."
|
||||||
msgstr "É necessário fornecer “date” ou “reference_date”."
|
msgstr "É necessário fornecer “date” ou “reference_date”."
|
||||||
|
|
||||||
@@ -682,8 +686,10 @@ msgid "Mute"
|
|||||||
msgstr "Silenciada"
|
msgstr "Silenciada"
|
||||||
|
|
||||||
#: apps/transactions/models.py:23 apps/transactions/models.py:42
|
#: apps/transactions/models.py:23 apps/transactions/models.py:42
|
||||||
#: apps/transactions/models.py:61
|
#: apps/transactions/models.py:61 templates/categories/fragments/list.html:21
|
||||||
|
#: templates/entities/fragments/list.html:21
|
||||||
#: templates/recurring_transactions/fragments/list.html:21
|
#: templates/recurring_transactions/fragments/list.html:21
|
||||||
|
#: templates/tags/fragments/list.html:21
|
||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr "Ativo"
|
msgstr "Ativo"
|
||||||
|
|
||||||
@@ -867,27 +873,27 @@ msgstr "%(value)s tem muitas casas decimais. O máximo é 30."
|
|||||||
msgid "%(value)s is not a non-negative number"
|
msgid "%(value)s is not a non-negative number"
|
||||||
msgstr "%(value)s não é um número positivo"
|
msgstr "%(value)s não é um número positivo"
|
||||||
|
|
||||||
#: apps/transactions/views/categories.py:44
|
#: apps/transactions/views/categories.py:66
|
||||||
msgid "Category added successfully"
|
msgid "Category added successfully"
|
||||||
msgstr "Categoria adicionada com sucesso"
|
msgstr "Categoria adicionada com sucesso"
|
||||||
|
|
||||||
#: apps/transactions/views/categories.py:72
|
#: apps/transactions/views/categories.py:94
|
||||||
msgid "Category updated successfully"
|
msgid "Category updated successfully"
|
||||||
msgstr "Categoria atualizada com sucesso"
|
msgstr "Categoria atualizada com sucesso"
|
||||||
|
|
||||||
#: apps/transactions/views/categories.py:99
|
#: apps/transactions/views/categories.py:121
|
||||||
msgid "Category deleted successfully"
|
msgid "Category deleted successfully"
|
||||||
msgstr "Categoria apagada com sucesso"
|
msgstr "Categoria apagada com sucesso"
|
||||||
|
|
||||||
#: apps/transactions/views/entities.py:43
|
#: apps/transactions/views/entities.py:65
|
||||||
msgid "Entity added successfully"
|
msgid "Entity added successfully"
|
||||||
msgstr "Entidade adicionada com sucesso"
|
msgstr "Entidade adicionada com sucesso"
|
||||||
|
|
||||||
#: apps/transactions/views/entities.py:71
|
#: apps/transactions/views/entities.py:93
|
||||||
msgid "Entity updated successfully"
|
msgid "Entity updated successfully"
|
||||||
msgstr "Entidade atualizada com sucesso"
|
msgstr "Entidade atualizada com sucesso"
|
||||||
|
|
||||||
#: apps/transactions/views/entities.py:98
|
#: apps/transactions/views/entities.py:120
|
||||||
msgid "Entity deleted successfully"
|
msgid "Entity deleted successfully"
|
||||||
msgstr "Entidade apagada com sucesso"
|
msgstr "Entidade apagada com sucesso"
|
||||||
|
|
||||||
@@ -931,15 +937,15 @@ msgstr "Transação Recorrente finalizada com sucesso"
|
|||||||
msgid "Recurring Transaction deleted successfully"
|
msgid "Recurring Transaction deleted successfully"
|
||||||
msgstr "Transação Recorrente apagada com sucesso"
|
msgstr "Transação Recorrente apagada com sucesso"
|
||||||
|
|
||||||
#: apps/transactions/views/tags.py:43
|
#: apps/transactions/views/tags.py:65
|
||||||
msgid "Tag added successfully"
|
msgid "Tag added successfully"
|
||||||
msgstr "Tag adicionada com sucesso"
|
msgstr "Tag adicionada com sucesso"
|
||||||
|
|
||||||
#: apps/transactions/views/tags.py:71
|
#: apps/transactions/views/tags.py:93
|
||||||
msgid "Tag updated successfully"
|
msgid "Tag updated successfully"
|
||||||
msgstr "Tag atualizada com sucesso"
|
msgstr "Tag atualizada com sucesso"
|
||||||
|
|
||||||
#: apps/transactions/views/tags.py:98
|
#: apps/transactions/views/tags.py:120
|
||||||
msgid "Tag deleted successfully"
|
msgid "Tag deleted successfully"
|
||||||
msgstr "Tag apagada com sucesso"
|
msgstr "Tag apagada com sucesso"
|
||||||
|
|
||||||
@@ -1065,62 +1071,63 @@ msgstr "Editar grupo de conta"
|
|||||||
|
|
||||||
#: templates/account_groups/fragments/list.html:32
|
#: templates/account_groups/fragments/list.html:32
|
||||||
#: templates/accounts/fragments/list.html:37
|
#: templates/accounts/fragments/list.html:37
|
||||||
#: templates/categories/fragments/list.html:33
|
#: templates/categories/fragments/table.html:24
|
||||||
#: templates/currencies/fragments/list.html:33
|
#: templates/currencies/fragments/list.html:33
|
||||||
#: templates/dca/fragments/strategy/details.html:63
|
#: templates/dca/fragments/strategy/details.html:63
|
||||||
#: templates/entities/fragments/list.html:32
|
#: templates/entities/fragments/table.html:23
|
||||||
#: templates/exchange_rates/fragments/table.html:19
|
#: templates/exchange_rates/fragments/table.html:19
|
||||||
#: templates/installment_plans/fragments/table.html:23
|
#: templates/installment_plans/fragments/table.html:23
|
||||||
#: templates/recurring_transactions/fragments/table.html:25
|
#: templates/recurring_transactions/fragments/table.html:25
|
||||||
#: templates/rules/fragments/list.html:33 templates/tags/fragments/list.html:32
|
#: templates/rules/fragments/list.html:33
|
||||||
|
#: templates/tags/fragments/table.html:23
|
||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr "Ações"
|
msgstr "Ações"
|
||||||
|
|
||||||
#: templates/account_groups/fragments/list.html:36
|
#: templates/account_groups/fragments/list.html:36
|
||||||
#: templates/accounts/fragments/list.html:41
|
#: templates/accounts/fragments/list.html:41
|
||||||
#: templates/categories/fragments/list.html:37
|
#: templates/categories/fragments/table.html:29
|
||||||
#: templates/cotton/transaction/item.html:109
|
#: templates/cotton/transaction/item.html:109
|
||||||
#: templates/currencies/fragments/list.html:37
|
#: templates/currencies/fragments/list.html:37
|
||||||
#: templates/dca/fragments/strategy/details.html:67
|
#: templates/dca/fragments/strategy/details.html:67
|
||||||
#: templates/dca/fragments/strategy/list.html:34
|
#: templates/dca/fragments/strategy/list.html:34
|
||||||
#: templates/entities/fragments/list.html:36
|
#: templates/entities/fragments/table.html:28
|
||||||
#: templates/exchange_rates/fragments/table.html:23
|
#: templates/exchange_rates/fragments/table.html:23
|
||||||
#: templates/installment_plans/fragments/table.html:27
|
#: templates/installment_plans/fragments/table.html:27
|
||||||
#: templates/recurring_transactions/fragments/table.html:29
|
#: templates/recurring_transactions/fragments/table.html:29
|
||||||
#: templates/rules/fragments/transaction_rule/view.html:22
|
#: templates/rules/fragments/transaction_rule/view.html:22
|
||||||
#: templates/rules/fragments/transaction_rule/view.html:48
|
#: templates/rules/fragments/transaction_rule/view.html:48
|
||||||
#: templates/tags/fragments/list.html:36
|
#: templates/tags/fragments/table.html:28
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Editar"
|
msgstr "Editar"
|
||||||
|
|
||||||
#: templates/account_groups/fragments/list.html:43
|
#: templates/account_groups/fragments/list.html:43
|
||||||
#: templates/accounts/fragments/list.html:48
|
#: templates/accounts/fragments/list.html:48
|
||||||
#: templates/categories/fragments/list.html:44
|
#: templates/categories/fragments/table.html:36
|
||||||
#: templates/cotton/transaction/item.html:116
|
#: templates/cotton/transaction/item.html:116
|
||||||
#: templates/cotton/ui/transactions_action_bar.html:50
|
#: templates/cotton/ui/transactions_action_bar.html:50
|
||||||
#: templates/currencies/fragments/list.html:44
|
#: templates/currencies/fragments/list.html:44
|
||||||
#: templates/dca/fragments/strategy/details.html:75
|
#: templates/dca/fragments/strategy/details.html:75
|
||||||
#: templates/dca/fragments/strategy/list.html:42
|
#: templates/dca/fragments/strategy/list.html:42
|
||||||
#: templates/entities/fragments/list.html:43
|
#: templates/entities/fragments/table.html:36
|
||||||
#: templates/exchange_rates/fragments/table.html:31
|
#: templates/exchange_rates/fragments/table.html:31
|
||||||
#: templates/installment_plans/fragments/table.html:56
|
#: templates/installment_plans/fragments/table.html:56
|
||||||
#: templates/mini_tools/unit_price_calculator.html:18
|
#: templates/mini_tools/unit_price_calculator.html:18
|
||||||
#: templates/recurring_transactions/fragments/table.html:91
|
#: templates/recurring_transactions/fragments/table.html:91
|
||||||
#: templates/rules/fragments/list.html:44
|
#: templates/rules/fragments/list.html:44
|
||||||
#: templates/rules/fragments/transaction_rule/view.html:56
|
#: templates/rules/fragments/transaction_rule/view.html:56
|
||||||
#: templates/tags/fragments/list.html:43
|
#: templates/tags/fragments/table.html:36
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Apagar"
|
msgstr "Apagar"
|
||||||
|
|
||||||
#: templates/account_groups/fragments/list.html:47
|
#: templates/account_groups/fragments/list.html:47
|
||||||
#: templates/accounts/fragments/list.html:52
|
#: templates/accounts/fragments/list.html:52
|
||||||
#: templates/categories/fragments/list.html:48
|
#: templates/categories/fragments/table.html:41
|
||||||
#: templates/cotton/transaction/item.html:120
|
#: templates/cotton/transaction/item.html:120
|
||||||
#: templates/cotton/ui/transactions_action_bar.html:52
|
#: templates/cotton/ui/transactions_action_bar.html:52
|
||||||
#: templates/currencies/fragments/list.html:48
|
#: templates/currencies/fragments/list.html:48
|
||||||
#: templates/dca/fragments/strategy/details.html:80
|
#: templates/dca/fragments/strategy/details.html:80
|
||||||
#: templates/dca/fragments/strategy/list.html:46
|
#: templates/dca/fragments/strategy/list.html:46
|
||||||
#: templates/entities/fragments/list.html:47
|
#: templates/entities/fragments/table.html:40
|
||||||
#: templates/exchange_rates/fragments/table.html:36
|
#: templates/exchange_rates/fragments/table.html:36
|
||||||
#: templates/installment_plans/fragments/table.html:48
|
#: templates/installment_plans/fragments/table.html:48
|
||||||
#: templates/installment_plans/fragments/table.html:60
|
#: templates/installment_plans/fragments/table.html:60
|
||||||
@@ -1130,40 +1137,40 @@ msgstr "Apagar"
|
|||||||
#: templates/recurring_transactions/fragments/table.html:96
|
#: templates/recurring_transactions/fragments/table.html:96
|
||||||
#: templates/rules/fragments/list.html:48
|
#: templates/rules/fragments/list.html:48
|
||||||
#: templates/rules/fragments/transaction_rule/view.html:60
|
#: templates/rules/fragments/transaction_rule/view.html:60
|
||||||
#: templates/tags/fragments/list.html:47
|
#: templates/tags/fragments/table.html:40
|
||||||
msgid "Are you sure?"
|
msgid "Are you sure?"
|
||||||
msgstr "Tem certeza?"
|
msgstr "Tem certeza?"
|
||||||
|
|
||||||
#: templates/account_groups/fragments/list.html:48
|
#: templates/account_groups/fragments/list.html:48
|
||||||
#: templates/accounts/fragments/list.html:53
|
#: templates/accounts/fragments/list.html:53
|
||||||
#: templates/categories/fragments/list.html:49
|
#: templates/categories/fragments/table.html:42
|
||||||
#: templates/cotton/transaction/item.html:121
|
#: templates/cotton/transaction/item.html:121
|
||||||
#: templates/cotton/ui/transactions_action_bar.html:53
|
#: templates/cotton/ui/transactions_action_bar.html:53
|
||||||
#: templates/currencies/fragments/list.html:49
|
#: templates/currencies/fragments/list.html:49
|
||||||
#: templates/dca/fragments/strategy/details.html:81
|
#: templates/dca/fragments/strategy/details.html:81
|
||||||
#: templates/dca/fragments/strategy/list.html:47
|
#: templates/dca/fragments/strategy/list.html:47
|
||||||
#: templates/entities/fragments/list.html:48
|
#: templates/entities/fragments/table.html:41
|
||||||
#: templates/exchange_rates/fragments/table.html:37
|
#: templates/exchange_rates/fragments/table.html:37
|
||||||
#: templates/rules/fragments/list.html:49
|
#: templates/rules/fragments/list.html:49
|
||||||
#: templates/rules/fragments/transaction_rule/view.html:61
|
#: templates/rules/fragments/transaction_rule/view.html:61
|
||||||
#: templates/tags/fragments/list.html:48
|
#: templates/tags/fragments/table.html:41
|
||||||
msgid "You won't be able to revert this!"
|
msgid "You won't be able to revert this!"
|
||||||
msgstr "Você não será capaz de reverter isso!"
|
msgstr "Você não será capaz de reverter isso!"
|
||||||
|
|
||||||
#: templates/account_groups/fragments/list.html:49
|
#: templates/account_groups/fragments/list.html:49
|
||||||
#: templates/accounts/fragments/list.html:54
|
#: templates/accounts/fragments/list.html:54
|
||||||
#: templates/categories/fragments/list.html:50
|
#: templates/categories/fragments/table.html:43
|
||||||
#: templates/cotton/transaction/item.html:122
|
#: templates/cotton/transaction/item.html:122
|
||||||
#: templates/currencies/fragments/list.html:50
|
#: templates/currencies/fragments/list.html:50
|
||||||
#: templates/dca/fragments/strategy/details.html:82
|
#: templates/dca/fragments/strategy/details.html:82
|
||||||
#: templates/dca/fragments/strategy/list.html:48
|
#: templates/dca/fragments/strategy/list.html:48
|
||||||
#: templates/entities/fragments/list.html:49
|
#: templates/entities/fragments/table.html:42
|
||||||
#: templates/exchange_rates/fragments/table.html:38
|
#: templates/exchange_rates/fragments/table.html:38
|
||||||
#: templates/installment_plans/fragments/table.html:62
|
#: templates/installment_plans/fragments/table.html:62
|
||||||
#: templates/recurring_transactions/fragments/table.html:98
|
#: templates/recurring_transactions/fragments/table.html:98
|
||||||
#: templates/rules/fragments/list.html:50
|
#: templates/rules/fragments/list.html:50
|
||||||
#: templates/rules/fragments/transaction_rule/view.html:62
|
#: templates/rules/fragments/transaction_rule/view.html:62
|
||||||
#: templates/tags/fragments/list.html:49
|
#: templates/tags/fragments/table.html:42
|
||||||
msgid "Yes, delete it!"
|
msgid "Yes, delete it!"
|
||||||
msgstr "Sim, apague!"
|
msgstr "Sim, apague!"
|
||||||
|
|
||||||
@@ -1273,11 +1280,11 @@ msgstr "Adicionar categoria"
|
|||||||
msgid "Edit category"
|
msgid "Edit category"
|
||||||
msgstr "Editar categoria"
|
msgstr "Editar categoria"
|
||||||
|
|
||||||
#: templates/categories/fragments/list.html:26
|
#: templates/categories/fragments/table.html:17
|
||||||
msgid "Muted"
|
msgid "Muted"
|
||||||
msgstr "Silenciada"
|
msgstr "Silenciada"
|
||||||
|
|
||||||
#: templates/categories/fragments/list.html:63
|
#: templates/categories/fragments/table.html:57
|
||||||
msgid "No categories"
|
msgid "No categories"
|
||||||
msgstr "Nenhum categoria"
|
msgstr "Nenhum categoria"
|
||||||
|
|
||||||
@@ -1337,10 +1344,44 @@ msgstr "Marcar como não pago"
|
|||||||
msgid "Yes, delete them!"
|
msgid "Yes, delete them!"
|
||||||
msgstr "Sim, apague!"
|
msgstr "Sim, apague!"
|
||||||
|
|
||||||
#: templates/cotton/ui/transactions_action_bar.html:81
|
#: templates/cotton/ui/transactions_action_bar.html:127
|
||||||
|
#: templates/cotton/ui/transactions_action_bar.html:149
|
||||||
|
#: templates/cotton/ui/transactions_action_bar.html:169
|
||||||
|
#: templates/cotton/ui/transactions_action_bar.html:189
|
||||||
|
#: templates/cotton/ui/transactions_action_bar.html:209
|
||||||
|
#: templates/cotton/ui/transactions_action_bar.html:229
|
||||||
|
#: templates/cotton/ui/transactions_action_bar.html:249
|
||||||
msgid "copied!"
|
msgid "copied!"
|
||||||
msgstr "copiado!"
|
msgstr "copiado!"
|
||||||
|
|
||||||
|
#: templates/cotton/ui/transactions_action_bar.html:134
|
||||||
|
msgid "Toggle Dropdown"
|
||||||
|
msgstr "Alternar menu suspenso"
|
||||||
|
|
||||||
|
#: templates/cotton/ui/transactions_action_bar.html:142
|
||||||
|
msgid "Flat Total"
|
||||||
|
msgstr "Total Fixo"
|
||||||
|
|
||||||
|
#: templates/cotton/ui/transactions_action_bar.html:162
|
||||||
|
msgid "Real Total"
|
||||||
|
msgstr "Total Real"
|
||||||
|
|
||||||
|
#: templates/cotton/ui/transactions_action_bar.html:182
|
||||||
|
msgid "Mean"
|
||||||
|
msgstr "Média"
|
||||||
|
|
||||||
|
#: templates/cotton/ui/transactions_action_bar.html:202
|
||||||
|
msgid "Max"
|
||||||
|
msgstr "Máximo"
|
||||||
|
|
||||||
|
#: templates/cotton/ui/transactions_action_bar.html:222
|
||||||
|
msgid "Min"
|
||||||
|
msgstr "Minímo"
|
||||||
|
|
||||||
|
#: templates/cotton/ui/transactions_action_bar.html:242
|
||||||
|
msgid "Count"
|
||||||
|
msgstr "Contagem"
|
||||||
|
|
||||||
#: templates/currencies/fragments/add.html:5
|
#: templates/currencies/fragments/add.html:5
|
||||||
msgid "Add currency"
|
msgid "Add currency"
|
||||||
msgstr "Adicionar moeda"
|
msgstr "Adicionar moeda"
|
||||||
@@ -1479,7 +1520,7 @@ msgstr "Adicionar entidade"
|
|||||||
msgid "Edit entity"
|
msgid "Edit entity"
|
||||||
msgstr "Editar entidade"
|
msgstr "Editar entidade"
|
||||||
|
|
||||||
#: templates/entities/fragments/list.html:59
|
#: templates/entities/fragments/table.html:53
|
||||||
msgid "No entities"
|
msgid "No entities"
|
||||||
msgstr "Sem entidades"
|
msgstr "Sem entidades"
|
||||||
|
|
||||||
@@ -1884,7 +1925,7 @@ msgstr "Adicionar tag"
|
|||||||
msgid "Edit tag"
|
msgid "Edit tag"
|
||||||
msgstr "Editar tag"
|
msgstr "Editar tag"
|
||||||
|
|
||||||
#: templates/tags/fragments/list.html:59
|
#: templates/tags/fragments/table.html:53
|
||||||
msgid "No tags"
|
msgid "No tags"
|
||||||
msgstr "Nenhuma tag"
|
msgstr "Nenhuma tag"
|
||||||
|
|
||||||
|
|||||||
@@ -11,78 +11,252 @@
|
|||||||
<div class="card slide-in-left">
|
<div class="card slide-in-left">
|
||||||
<div class="card-body p-2">
|
<div class="card-body p-2">
|
||||||
{% spaceless %}
|
{% spaceless %}
|
||||||
<div class="btn-group" role="group">
|
<div class="btn-group" role="group">
|
||||||
|
<button class="btn btn-secondary btn-sm"
|
||||||
|
data-bs-toggle="tooltip"
|
||||||
|
data-bs-title="{% translate 'Select All' %}"
|
||||||
|
_="on click set <#transactions-list input[type='checkbox']/>'s checked to true then call me.blur() then trigger change">
|
||||||
|
<i class="fa-regular fa-square-check tw-text-green-400"></i>
|
||||||
|
</button>
|
||||||
|
<button class="btn btn-secondary btn-sm"
|
||||||
|
data-bs-toggle="tooltip"
|
||||||
|
data-bs-title="{% translate 'Unselect All' %}"
|
||||||
|
_="on click set <#transactions-list input[type='checkbox']/>'s checked to false then call me.blur() then trigger change">
|
||||||
|
<i class="fa-regular fa-square tw-text-red-400"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="vr mx-3 tw-align-middle"></div>
|
||||||
|
<div class="btn-group me-3" role="group">
|
||||||
|
<button class="btn btn-secondary btn-sm"
|
||||||
|
hx-get="{% url 'transactions_bulk_pay' %}"
|
||||||
|
hx-include=".transaction"
|
||||||
|
data-bs-toggle="tooltip"
|
||||||
|
data-bs-title="{% translate 'Mark as paid' %}">
|
||||||
|
<i class="fa-regular fa-circle-check tw-text-green-400"></i>
|
||||||
|
</button>
|
||||||
|
<button class="btn btn-secondary btn-sm"
|
||||||
|
hx-get="{% url 'transactions_bulk_unpay' %}"
|
||||||
|
hx-include=".transaction"
|
||||||
|
data-bs-toggle="tooltip"
|
||||||
|
data-bs-title="{% translate 'Mark as unpaid' %}">
|
||||||
|
<i class="fa-regular fa-circle tw-text-red-400"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
<button class="btn btn-secondary btn-sm"
|
<button class="btn btn-secondary btn-sm"
|
||||||
data-bs-toggle="tooltip"
|
hx-get="{% url 'transactions_bulk_delete' %}"
|
||||||
data-bs-title="{% translate 'Select All' %}"
|
|
||||||
_="on click set <#transactions-list input[type='checkbox']/>'s checked to true then call me.blur() then trigger change">
|
|
||||||
<i class="fa-regular fa-square-check tw-text-green-400"></i>
|
|
||||||
</button>
|
|
||||||
<button class="btn btn-secondary btn-sm"
|
|
||||||
data-bs-toggle="tooltip"
|
|
||||||
data-bs-title="{% translate 'Unselect All' %}"
|
|
||||||
_="on click set <#transactions-list input[type='checkbox']/>'s checked to false then call me.blur() then trigger change">
|
|
||||||
<i class="fa-regular fa-square tw-text-red-400"></i>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div class="vr mx-3 tw-align-middle"></div>
|
|
||||||
<div class="btn-group me-3" role="group">
|
|
||||||
<button class="btn btn-secondary btn-sm"
|
|
||||||
hx-get="{% url 'transactions_bulk_pay' %}"
|
|
||||||
hx-include=".transaction"
|
|
||||||
data-bs-toggle="tooltip"
|
|
||||||
data-bs-title="{% translate 'Mark as paid' %}">
|
|
||||||
<i class="fa-regular fa-circle-check tw-text-green-400"></i>
|
|
||||||
</button>
|
|
||||||
<button class="btn btn-secondary btn-sm"
|
|
||||||
hx-get="{% url 'transactions_bulk_unpay' %}"
|
|
||||||
hx-include=".transaction"
|
hx-include=".transaction"
|
||||||
|
hx-trigger="confirmed"
|
||||||
data-bs-toggle="tooltip"
|
data-bs-toggle="tooltip"
|
||||||
data-bs-title="{% translate 'Mark as unpaid' %}">
|
data-bs-title="{% translate 'Delete' %}"
|
||||||
<i class="fa-regular fa-circle tw-text-red-400"></i>
|
data-bypass-on-ctrl="true"
|
||||||
|
data-title="{% translate "Are you sure?" %}"
|
||||||
|
data-text="{% translate "You won't be able to revert this!" %}"
|
||||||
|
data-confirm-text="{% translate "Yes, delete them!" %}"
|
||||||
|
_="install prompt_swal">
|
||||||
|
<i class="fa-solid fa-trash text-danger"></i>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
<div class="vr mx-3 tw-align-middle"></div>
|
||||||
<button class="btn btn-secondary btn-sm"
|
{# <span _="on selected_transactions_updated from #actions-bar#}
|
||||||
hx-get="{% url 'transactions_bulk_delete' %}"
|
{# set realTotal to 0.0#}
|
||||||
hx-include=".transaction"
|
{# set flatTotal to 0.0#}
|
||||||
hx-trigger="confirmed"
|
{# for transaction in <.transaction:has(input[name='transactions']:checked)/>#}
|
||||||
data-bs-toggle="tooltip"
|
{# set amt to first <.main-amount .amount/> in transaction#}
|
||||||
data-bs-title="{% translate 'Delete' %}"
|
{# set amountValue to parseFloat(amt.getAttribute('data-amount'))#}
|
||||||
data-bypass-on-ctrl="true"
|
{# if not isNaN(amountValue)#}
|
||||||
data-title="{% translate "Are you sure?" %}"
|
{# set flatTotal to flatTotal + (amountValue * 100)#}
|
||||||
data-text="{% translate "You won't be able to revert this!" %}"
|
{##}
|
||||||
data-confirm-text="{% translate "Yes, delete them!" %}"
|
{# if transaction match .income#}
|
||||||
_="install prompt_swal">
|
{# set realTotal to realTotal + (amountValue * 100)#}
|
||||||
<i class="fa-solid fa-trash text-danger"></i>
|
{# else#}
|
||||||
</button>
|
{# set realTotal to realTotal - (amountValue * 100)#}
|
||||||
<div class="vr mx-3 tw-align-middle"></div>
|
{# end#}
|
||||||
<span _="on selected_transactions_updated from #actions-bar
|
{# end#}
|
||||||
set realTotal to 0.0
|
{# end#}
|
||||||
set flatTotal to 0.0
|
{# set realTotal to realTotal / 100#}
|
||||||
for transaction in <.transaction:has(input[name='transactions']:checked)/>
|
{# put realTotal.toLocaleString(undefined, {minimumFractionDigits: 0, maximumFractionDigits: 40}) into me#}
|
||||||
set amt to first <.main-amount .amount/> in transaction
|
{# end#}
|
||||||
set amountValue to parseFloat(amt.getAttribute('data-amount'))
|
{# on click#}
|
||||||
if not isNaN(amountValue)
|
{# set original_value to my innerText#}
|
||||||
set flatTotal to flatTotal + (amountValue * 100)
|
{# writeText(my innerText) on navigator.clipboard#}
|
||||||
|
{# put '{% translate "copied!" %}' into me#}
|
||||||
|
{# wait 1s#}
|
||||||
|
{# put original_value into me#}
|
||||||
|
{# end"#}
|
||||||
|
{# class="" role="button"></span>#}
|
||||||
|
<div class="btn-group"
|
||||||
|
_="on selected_transactions_updated from #actions-bar
|
||||||
|
set realTotal to 0.0
|
||||||
|
set flatTotal to 0.0
|
||||||
|
set transactions to <.transaction:has(input[name='transactions']:checked)/>
|
||||||
|
set amountValues to []
|
||||||
|
|
||||||
if transaction match .income
|
for transaction in transactions
|
||||||
set realTotal to realTotal + (amountValue * 100)
|
set amt to first <.main-amount .amount/> in transaction
|
||||||
else
|
set amountValue to parseFloat(amt.getAttribute('data-amount'))
|
||||||
set realTotal to realTotal - (amountValue * 100)
|
append amountValue to amountValues
|
||||||
|
|
||||||
|
if not isNaN(amountValue)
|
||||||
|
set flatTotal to flatTotal + (amountValue * 100)
|
||||||
|
|
||||||
|
if transaction match .income
|
||||||
|
set realTotal to realTotal + (amountValue * 100)
|
||||||
|
else
|
||||||
|
set realTotal to realTotal - (amountValue * 100)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
set realTotal to realTotal / 100
|
set realTotal to realTotal / 100
|
||||||
put realTotal.toLocaleString(undefined, {minimumFractionDigits: 0, maximumFractionDigits: 40}) into me
|
put realTotal.toLocaleString(undefined, {minimumFractionDigits: 0, maximumFractionDigits: 40}) into #real-total-front's innerText
|
||||||
end
|
put realTotal.toLocaleString(undefined, {minimumFractionDigits: 0, maximumFractionDigits: 40}) into #calc-menu-real-total's innerText
|
||||||
on click
|
set flatTotal to flatTotal / 100
|
||||||
set original_value to my innerText
|
put flatTotal.toLocaleString(undefined, {minimumFractionDigits: 0, maximumFractionDigits: 40}) into #calc-menu-flat-total's innerText
|
||||||
writeText(my innerText) on navigator.clipboard
|
log amountValues
|
||||||
put '{% translate "copied!" %}' into me
|
put Math.max.apply(Math, amountValues) into #calc-menu-max's innerText
|
||||||
wait 1s
|
put Math.min.apply(Math, amountValues) into #calc-menu-min's innerText
|
||||||
put original_value into me
|
put flatTotal / amountValues.length into #calc-menu-mean's innerText
|
||||||
end"
|
put amountValues.length into #calc-menu-count's innerText
|
||||||
class="" role="button"></span>
|
end"
|
||||||
|
>
|
||||||
|
<button class="btn btn-secondary btn-sm">
|
||||||
|
<i class="fa-solid fa-plus fa-fw me-2 text-primary"></i>
|
||||||
|
<span id="real-total-front"
|
||||||
|
_="on click
|
||||||
|
set original_value to my innerText
|
||||||
|
writeText(my innerText) on navigator.clipboard
|
||||||
|
put '{% translate "copied!" %}' into me
|
||||||
|
wait 1s
|
||||||
|
put original_value into me
|
||||||
|
end">0</span>
|
||||||
|
</button>
|
||||||
|
<button type="button" class="btn btn-sm btn-secondary dropdown-toggle dropdown-toggle-split"
|
||||||
|
data-bs-toggle="dropdown" aria-expanded="false" data-bs-auto-close="outside">
|
||||||
|
<span class="visually-hidden">{% trans "Toggle Dropdown" %}</span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
<li>
|
||||||
|
<div class="dropdown-item-text p-0">
|
||||||
|
<div>
|
||||||
|
<div class="text-body-secondary tw-text-xs tw-font-medium px-3">
|
||||||
|
{% trans "Flat Total" %}
|
||||||
|
</div>
|
||||||
|
<div class="dropdown-item px-3 tw-cursor-pointer"
|
||||||
|
id="calc-menu-flat-total"
|
||||||
|
_="on click
|
||||||
|
set original_value to my innerText
|
||||||
|
writeText(my innerText) on navigator.clipboard
|
||||||
|
put '{% translate "copied!" %}' into me
|
||||||
|
wait 1s
|
||||||
|
put original_value into me
|
||||||
|
end">
|
||||||
|
0
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div class="dropdown-item-text p-0">
|
||||||
|
<div>
|
||||||
|
<div class="text-body-secondary tw-text-xs tw-font-medium px-3">
|
||||||
|
{% trans "Real Total" %}
|
||||||
|
</div>
|
||||||
|
<div class="dropdown-item px-3 tw-cursor-pointer"
|
||||||
|
id="calc-menu-real-total"
|
||||||
|
_="on click
|
||||||
|
set original_value to my innerText
|
||||||
|
writeText(my innerText) on navigator.clipboard
|
||||||
|
put '{% translate "copied!" %}' into me
|
||||||
|
wait 1s
|
||||||
|
put original_value into me
|
||||||
|
end">
|
||||||
|
0
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div class="dropdown-item-text p-0">
|
||||||
|
<div>
|
||||||
|
<div class="text-body-secondary tw-text-xs tw-font-medium px-3">
|
||||||
|
{% trans "Mean" %}
|
||||||
|
</div>
|
||||||
|
<div class="dropdown-item px-3 tw-cursor-pointer"
|
||||||
|
id="calc-menu-mean"
|
||||||
|
_="on click
|
||||||
|
set original_value to my innerText
|
||||||
|
writeText(my innerText) on navigator.clipboard
|
||||||
|
put '{% translate "copied!" %}' into me
|
||||||
|
wait 1s
|
||||||
|
put original_value into me
|
||||||
|
end">
|
||||||
|
0
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div class="dropdown-item-text p-0">
|
||||||
|
<div>
|
||||||
|
<div class="text-body-secondary tw-text-xs tw-font-medium px-3">
|
||||||
|
{% trans "Max" %}
|
||||||
|
</div>
|
||||||
|
<div class="dropdown-item px-3 tw-cursor-pointer"
|
||||||
|
id="calc-menu-max"
|
||||||
|
_="on click
|
||||||
|
set original_value to my innerText
|
||||||
|
writeText(my innerText) on navigator.clipboard
|
||||||
|
put '{% translate "copied!" %}' into me
|
||||||
|
wait 1s
|
||||||
|
put original_value into me
|
||||||
|
end">
|
||||||
|
0
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div class="dropdown-item-text p-0">
|
||||||
|
<div>
|
||||||
|
<div class="text-body-secondary tw-text-xs tw-font-medium px-3">
|
||||||
|
{% trans "Min" %}
|
||||||
|
</div>
|
||||||
|
<div class="dropdown-item px-3 tw-cursor-pointer"
|
||||||
|
id="calc-menu-min"
|
||||||
|
_="on click
|
||||||
|
set original_value to my innerText
|
||||||
|
writeText(my innerText) on navigator.clipboard
|
||||||
|
put '{% translate "copied!" %}' into me
|
||||||
|
wait 1s
|
||||||
|
put original_value into me
|
||||||
|
end">
|
||||||
|
0
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div class="dropdown-item-text p-0">
|
||||||
|
<div>
|
||||||
|
<div class="text-body-secondary tw-text-xs tw-font-medium px-3">
|
||||||
|
{% trans "Count" %}
|
||||||
|
</div>
|
||||||
|
<div class="dropdown-item px-3 tw-cursor-pointer"
|
||||||
|
id="calc-menu-count"
|
||||||
|
_="on click
|
||||||
|
set original_value to my innerText
|
||||||
|
writeText(my innerText) on navigator.clipboard
|
||||||
|
put '{% translate "copied!" %}' into me
|
||||||
|
wait 1s
|
||||||
|
put original_value into me
|
||||||
|
end">
|
||||||
|
0
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
{% endspaceless %}
|
{% endspaceless %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user