mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2026-03-05 07:21:33 +00:00
Compare commits
13 Commits
develop-20
...
develop-20
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5b0be91f93 | ||
|
|
01e7b604da | ||
|
|
58d175444b | ||
|
|
134770644a | ||
|
|
a9f21c9371 | ||
|
|
781947beeb | ||
|
|
9760cd2f97 | ||
|
|
d317e9ec32 | ||
|
|
534f7fcadb | ||
|
|
fb3f7a1d4b | ||
|
|
bf2c3e3561 | ||
|
|
0990b1f0b4 | ||
|
|
c1922670c8 |
4
.github/workflows/cleanup.yml
vendored
4
.github/workflows/cleanup.yml
vendored
@@ -15,7 +15,7 @@ jobs:
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- name: Prune cancelled/skipped runs
|
||||
uses: actions/github-script@v7
|
||||
uses: actions/github-script@v8
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
script: |
|
||||
@@ -45,7 +45,7 @@ jobs:
|
||||
}
|
||||
|
||||
- name: Prune runs older than 3 days
|
||||
uses: actions/github-script@v7
|
||||
uses: actions/github-script@v8
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
script: |
|
||||
|
||||
4
.github/workflows/release.yml
vendored
4
.github/workflows/release.yml
vendored
@@ -250,7 +250,7 @@ jobs:
|
||||
fi
|
||||
|
||||
echo "Merge all changes from $BRANCH_NAME back into '$MERGE_INTO' using a PR"
|
||||
PR_URL=$(gh pr create -B $MERGE_INTO -H $BRANCH_NAME --title "🤖 Automatic PR to merge all changes into the '$MERGE_INTO' branch." --body '🤖 Created by GitHub action')
|
||||
PR_URL=$(gh pr create -B $MERGE_INTO -H $BRANCH_NAME --title "🤖 Automatic PR to merge all changes into the '$MERGE_INTO' branch." --body '🤖 This PR was created automatically by a GitHub action to merge the changed files into this branch. It will be merged automatically. `Share and enjoy`')
|
||||
echo "PR URL is '$PR_URL'"
|
||||
IFS='/' read -ra parts <<< "$PR_URL"
|
||||
PR_NR=$(printf %s\\n "${parts[@]:(-1)}")
|
||||
@@ -272,7 +272,7 @@ jobs:
|
||||
|
||||
echo "Also merge everything into main since this is a release."
|
||||
echo 'create PR'
|
||||
PR_URL=$(gh pr create -B main -H develop --title "🤖 Automatic PR to merge all changes into the main branch." --body "🤖 Created by GitHub action")
|
||||
PR_URL=$(gh pr create -B main -H develop --title "🤖 Automatic PR to merge all changes into the main branch." --body "🤖 This PR was created automatically by a GitHub action to merge the changed files into this branch. It will be merged automatically. `Share and enjoy`")
|
||||
echo "PR URL is '$PR_URL'"
|
||||
|
||||
IFS='/' read -ra parts <<< "$PR_URL"
|
||||
|
||||
2
.github/workflows/stale.yml
vendored
2
.github/workflows/stale.yml
vendored
@@ -15,7 +15,7 @@ jobs:
|
||||
actions: write
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@v9
|
||||
- uses: actions/stale@v10
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
stale-issue-message: |
|
||||
|
||||
@@ -24,6 +24,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace FireflyIII\Helpers\Collector\Extensions;
|
||||
|
||||
use FireflyIII\Enums\TransactionTypeEnum;
|
||||
use FireflyIII\Helpers\Collector\GroupCollectorInterface;
|
||||
use FireflyIII\Models\Bill;
|
||||
use FireflyIII\Models\Budget;
|
||||
@@ -919,6 +920,8 @@ trait MetaCollection
|
||||
{
|
||||
$this->withCategoryInformation();
|
||||
$this->query->whereNull('category_transaction_journal.category_id');
|
||||
// better fix for #10507
|
||||
$this->query->whereNotIn('transaction_types.type', [TransactionTypeEnum::OPENING_BALANCE->value]);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
@@ -1095,9 +1095,6 @@ class GroupCollector implements GroupCollectorInterface
|
||||
->whereNull('transaction_groups.deleted_at')
|
||||
->whereNull('transaction_journals.deleted_at')
|
||||
->whereNull('source.deleted_at')
|
||||
|
||||
// #10507 ignore opening balance.
|
||||
->where('transaction_types.type', '!=', TransactionTypeEnum::OPENING_BALANCE->value)
|
||||
->whereNotNull('transaction_groups.id')
|
||||
->whereNull('destination.deleted_at')
|
||||
->orderBy('transaction_journals.date', 'DESC')
|
||||
|
||||
14
changelog.md
14
changelog.md
@@ -3,17 +3,13 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
This project adheres to [Semantic Versioning](http://semver.org/).
|
||||
|
||||
## 6.4.0 - 2025-09-01
|
||||
## 6.4.0 - 2025-09-19
|
||||
|
||||
### Added
|
||||
|
||||
- [Issue 5532](https://github.com/firefly-iii/firefly-iii/issues/5532) (Asset prices and exchange rates) reported by @svozniuk
|
||||
- [Discussion 10725](https://github.com/orgs/firefly-iii/discussions/10725) (New webhook triggers) started by @Billos. See the [documentation](https://docs.firefly-iii.org/how-to/firefly-iii/features/webhooks/).
|
||||
|
||||
### Changed
|
||||
|
||||
- Initial release.
|
||||
|
||||
### Fixed
|
||||
|
||||
- [Issue 10790](https://github.com/firefly-iii/firefly-iii/issues/10790) (Undefined variable $occurrences) reported by @senna1992
|
||||
@@ -22,12 +18,18 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
||||
- [Issue 10799](https://github.com/firefly-iii/firefly-iii/issues/10799) (Budget - "Left (per day)" not showing the correct value) reported by @GensHaze
|
||||
- [Issue 10802](https://github.com/firefly-iii/firefly-iii/issues/10802) (Crash when trying to update a budget limit) reported by @Billos
|
||||
- [Issue 10803](https://github.com/firefly-iii/firefly-iii/issues/10803) (Issue in /v1/budget-limits spent attribute) reported by @Billos
|
||||
- [Issue 10804](https://github.com/firefly-iii/firefly-iii/issues/10804) (No notes information included in the "List all accounts" API call) reported by @gpampuro
|
||||
- [Issue 10808](https://github.com/firefly-iii/firefly-iii/issues/10808) (cron job Error: Undefined variable $preference) reported by @MexerSam
|
||||
- [Issue 10813](https://github.com/firefly-iii/firefly-iii/issues/10813) (Error "Argument #2 ($symbol) must be of type string" while try open subscriptions section) reported by @mrResident
|
||||
- [Issue 10814](https://github.com/firefly-iii/firefly-iii/issues/10814) (Deposit show negative amounts & red numbers in detail view) reported by @dreautall
|
||||
- [Issue 10819](https://github.com/firefly-iii/firefly-iii/issues/10819) (Internal Server Error when trying to open piggy banks) reported by @noantiq
|
||||
- [Issue 10820](https://github.com/firefly-iii/firefly-iii/issues/10820) (Unable to search date 1970-01-01 to apply rule.) reported by @Kage1
|
||||
- [Issue 10824](https://github.com/firefly-iii/firefly-iii/issues/10824) (Converting withdrawal to transfer to account in different currency doesn't allow setting correct currencies) reported by @avee87
|
||||
- [Issue 10833](https://github.com/firefly-iii/firefly-iii/issues/10833) (Can't open transaction after assigning a tag to it) reported by @zynexiz
|
||||
- [Issue 10837](https://github.com/firefly-iii/firefly-iii/issues/10837) (Internal Server Erorr when viewing or editing Recurring transaction) reported by @Tommy78649
|
||||
- [Discussion 10846](https://github.com/orgs/firefly-iii/discussions/10846) (Add support for WebP format in attachments) started by @Idestius
|
||||
- [Issue 10853](https://github.com/firefly-iii/firefly-iii/issues/10853) (Failed to Send Discord Notification) reported by @pimonteiro
|
||||
- [Issue 10854](https://github.com/firefly-iii/firefly-iii/issues/10854) (string / null in budget causes budget page to not render) reported by @4e868df3
|
||||
- [Discussion 10883](https://github.com/orgs/firefly-iii/discussions/10883) (Initial balance for account is missing from exported CSV) started by @ajaskiewiczpl
|
||||
|
||||
### API
|
||||
|
||||
|
||||
24
composer.lock
generated
24
composer.lock
generated
@@ -1811,16 +1811,16 @@
|
||||
},
|
||||
{
|
||||
"name": "laravel-notification-channels/pushover",
|
||||
"version": "4.1.1",
|
||||
"version": "4.1.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel-notification-channels/pushover.git",
|
||||
"reference": "68697f85a01c5f10168ad0ab05b14ef3e244cec4"
|
||||
"reference": "53be939273e79e832a417d5863c1d443f0b3c665"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel-notification-channels/pushover/zipball/68697f85a01c5f10168ad0ab05b14ef3e244cec4",
|
||||
"reference": "68697f85a01c5f10168ad0ab05b14ef3e244cec4",
|
||||
"url": "https://api.github.com/repos/laravel-notification-channels/pushover/zipball/53be939273e79e832a417d5863c1d443f0b3c665",
|
||||
"reference": "53be939273e79e832a417d5863c1d443f0b3c665",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1872,9 +1872,9 @@
|
||||
"homepage": "https://github.com/laravel-notification-channels/pushover",
|
||||
"support": {
|
||||
"issues": "https://github.com/laravel-notification-channels/pushover/issues",
|
||||
"source": "https://github.com/laravel-notification-channels/pushover/tree/4.1.1"
|
||||
"source": "https://github.com/laravel-notification-channels/pushover/tree/4.1.2"
|
||||
},
|
||||
"time": "2025-03-01T09:05:11+00:00"
|
||||
"time": "2025-09-09T09:14:17+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/framework",
|
||||
@@ -10738,16 +10738,16 @@
|
||||
},
|
||||
{
|
||||
"name": "larastan/larastan",
|
||||
"version": "v3.6.1",
|
||||
"version": "v3.7.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/larastan/larastan.git",
|
||||
"reference": "3c223047e374befd1b64959784685d6ecccf66aa"
|
||||
"reference": "6b7d28a2762a4b69f0f064e1e5b7358af11f04e4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/larastan/larastan/zipball/3c223047e374befd1b64959784685d6ecccf66aa",
|
||||
"reference": "3c223047e374befd1b64959784685d6ecccf66aa",
|
||||
"url": "https://api.github.com/repos/larastan/larastan/zipball/6b7d28a2762a4b69f0f064e1e5b7358af11f04e4",
|
||||
"reference": "6b7d28a2762a4b69f0f064e1e5b7358af11f04e4",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -10815,7 +10815,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/larastan/larastan/issues",
|
||||
"source": "https://github.com/larastan/larastan/tree/v3.6.1"
|
||||
"source": "https://github.com/larastan/larastan/tree/v3.7.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -10823,7 +10823,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2025-08-25T07:24:56+00:00"
|
||||
"time": "2025-09-09T15:17:27+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel-json-api/testing",
|
||||
|
||||
@@ -78,8 +78,8 @@ return [
|
||||
'running_balance_column' => env('USE_RUNNING_BALANCE', false),
|
||||
// see cer.php for exchange rates feature flag.
|
||||
],
|
||||
'version' => 'develop/2025-09-08',
|
||||
'build_time' => 1757313229,
|
||||
'version' => 'develop/2025-09-10',
|
||||
'build_time' => 1757479665,
|
||||
'api_version' => '2.1.0', // field is no longer used.
|
||||
'db_version' => 26,
|
||||
|
||||
|
||||
42
package-lock.json
generated
42
package-lock.json
generated
@@ -5711,9 +5711,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/electron-to-chromium": {
|
||||
"version": "1.5.214",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.214.tgz",
|
||||
"integrity": "sha512-TpvUNdha+X3ybfU78NoQatKvQEm1oq3lf2QbnmCEdw+Bd9RuIAY+hJTvq1avzHM0f7EJfnH3vbCnbzKzisc/9Q==",
|
||||
"version": "1.5.215",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.215.tgz",
|
||||
"integrity": "sha512-TIvGp57UpeNetj/wV/xpFNpWGb0b/ROw372lHPx5Aafx02gjTBtWnEEcaSX3W2dLM3OSdGGyHX/cHl01JQsLaQ==",
|
||||
"dev": true,
|
||||
"license": "ISC"
|
||||
},
|
||||
@@ -7969,9 +7969,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/magic-string": {
|
||||
"version": "0.30.18",
|
||||
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.18.tgz",
|
||||
"integrity": "sha512-yi8swmWbO17qHhwIBNeeZxTceJMeBvWJaId6dyvTSOwTipqeHhMhOrz6513r1sOKnpvQ7zkhlG8tPrpilwTxHQ==",
|
||||
"version": "0.30.19",
|
||||
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz",
|
||||
"integrity": "sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -9923,9 +9923,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/regenerate-unicode-properties": {
|
||||
"version": "10.2.0",
|
||||
"resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz",
|
||||
"integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==",
|
||||
"version": "10.2.2",
|
||||
"resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz",
|
||||
"integrity": "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -9936,18 +9936,18 @@
|
||||
}
|
||||
},
|
||||
"node_modules/regexpu-core": {
|
||||
"version": "6.2.0",
|
||||
"resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz",
|
||||
"integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==",
|
||||
"version": "6.3.0",
|
||||
"resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.3.0.tgz",
|
||||
"integrity": "sha512-ulzJYRb0qgR4t8eTgHeL7nnKL/4ul2yjnuTBEDIpYG7cSs8CcADE1q18RFFChXLP8WwRgPrHThGbYplvASdujw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"regenerate": "^1.4.2",
|
||||
"regenerate-unicode-properties": "^10.2.0",
|
||||
"regenerate-unicode-properties": "^10.2.2",
|
||||
"regjsgen": "^0.8.0",
|
||||
"regjsparser": "^0.12.0",
|
||||
"unicode-match-property-ecmascript": "^2.0.0",
|
||||
"unicode-match-property-value-ecmascript": "^2.1.0"
|
||||
"unicode-match-property-value-ecmascript": "^2.2.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
@@ -11377,9 +11377,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/unicode-match-property-value-ecmascript": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz",
|
||||
"integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==",
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz",
|
||||
"integrity": "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@@ -11543,9 +11543,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/vite": {
|
||||
"version": "7.1.4",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-7.1.4.tgz",
|
||||
"integrity": "sha512-X5QFK4SGynAeeIt+A7ZWnApdUyHYm+pzv/8/A57LqSGcI88U6R6ipOs3uCesdc6yl7nl+zNO0t8LmqAdXcQihw==",
|
||||
"version": "7.1.5",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-7.1.5.tgz",
|
||||
"integrity": "sha512-4cKBO9wR75r0BeIWWWId9XK9Lj6La5X846Zw9dFfzMRw38IlTk2iCcUt6hsyiDRcPidc55ZParFYDXi0nXOeLQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -11554,7 +11554,7 @@
|
||||
"picomatch": "^4.0.3",
|
||||
"postcss": "^8.5.6",
|
||||
"rollup": "^4.43.0",
|
||||
"tinyglobby": "^0.2.14"
|
||||
"tinyglobby": "^0.2.15"
|
||||
},
|
||||
"bin": {
|
||||
"vite": "bin/vite.js"
|
||||
|
||||
@@ -87,11 +87,16 @@ let show = function () {
|
||||
if (this.entries.hasOwnProperty(i)) {
|
||||
const currencyCode = this.entries[i].currency_code;
|
||||
const foreignCurrencyCode = this.entries[i].foreign_currency_code;
|
||||
const primaryCurrencyCode = this.entries[i].primary_currency_code;
|
||||
|
||||
if (undefined === this.amounts[currencyCode]) {
|
||||
this.amounts[currencyCode] = 0;
|
||||
this.amounts[currencyCode] += parseFloat(this.entries[i].amount);
|
||||
}
|
||||
if (undefined === this.amounts[primaryCurrencyCode]) {
|
||||
this.amounts[primaryCurrencyCode] = 0;
|
||||
this.amounts[primaryCurrencyCode] += parseFloat(this.entries[i].pc_amount);
|
||||
}
|
||||
if (null !== foreignCurrencyCode && '' !== foreignCurrencyCode && undefined === this.amounts[foreignCurrencyCode]) {
|
||||
this.amounts[foreignCurrencyCode] = 0;
|
||||
this.amounts[foreignCurrencyCode] += parseFloat(this.entries[i].foreign_amount);
|
||||
|
||||
@@ -17,23 +17,23 @@
|
||||
<tbody>
|
||||
<tr>
|
||||
<th style="width:10%;">
|
||||
<template x-if="'Withdrawal' === groupProperties.transactionType">
|
||||
<template x-if="'withdrawal' === groupProperties.transactionType">
|
||||
<em class="fa fa-solid fa-arrow-left"
|
||||
:title="groupProperties.transactionTypeTranslated"></em>
|
||||
</template>
|
||||
|
||||
<template x-if="'Deposit' === groupProperties.transactionType">
|
||||
<template x-if="'deposit' === groupProperties.transactionType">
|
||||
<em class="fa-solid fa-arrow-right"
|
||||
:title="groupProperties.transactionTypeTranslated"></em>
|
||||
</template>
|
||||
|
||||
<template x-if="'Transfer' === groupProperties.transactionType">
|
||||
<template x-if="'transfer' === groupProperties.transactionType">
|
||||
<em class="fa-solid fa-rotate"
|
||||
:title="groupProperties.transactionTypeTranslated"></em>
|
||||
</template>
|
||||
<template
|
||||
x-if="'Transfer' !== groupProperties.transactionType && 'Deposit' !== groupProperties.transactionType && 'Withdrawal' !== groupProperties.transactionType">
|
||||
<span>TODO missing ICON</span>
|
||||
x-if="'transfer' !== groupProperties.transactionType && 'deposit' !== groupProperties.transactionType && 'withdrawal' !== groupProperties.transactionType">
|
||||
<span x-text="groupProperties.transactionType"></span>
|
||||
</template>
|
||||
</th>
|
||||
<td><span class="group_title" :data-group="groupProperties.id" x-text="groupProperties.title"></span></td>
|
||||
@@ -53,6 +53,18 @@
|
||||
<a class="btn btn-danger" :href="'./transactions/delete/' + groupProperties.id">
|
||||
<em class="fa-solid fa-trash"></em> {{ __('firefly.delete') }}
|
||||
</a>
|
||||
<div class="btn-group btn-group-sm" role="group">
|
||||
<button type="button" class="btn btn-primary dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
{{ __('firefly.actions') }}
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
<li x-show="'withdrawal' !== groupProperties.transactionType"><a class="dropdown-item" href="{{ route('transactions.convert.index', ['withdrawal', $transactionGroup['id']]) }}">{{ __('firefly.convert_to_withdrawal') }}</a></li>
|
||||
<li x-show="'deposit' !== groupProperties.transactionType"><a class="dropdown-item" href="{{ route('transactions.convert.index', ['deposit', $transactionGroup['id']]) }}">{{ __('firefly.convert_to_deposit') }}</a></li>
|
||||
<li x-show="'transfer' !== groupProperties.transactionType"><a class="dropdown-item" href="{{ route('transactions.convert.index', ['transfer', $transactionGroup['id']]) }}">{{ __('firefly.convert_to_transfer') }}</a></li>
|
||||
<li><a class="dropdown-item" href="#">{{ __('firefly.clone') }}</a></li>
|
||||
<li><a class="dropdown-item" href="#">{{ __('firefly.clone_and_edit') }}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -70,25 +82,25 @@
|
||||
<em class="fa-solid fa-money-bill-wave" title="{{ __('firefly.amount') }}"></em>
|
||||
</th>
|
||||
<td>
|
||||
<template x-if="'Withdrawal' === groupProperties.transactionType">
|
||||
<template x-if="'withdrawal' === groupProperties.transactionType">
|
||||
<template x-for="(amount, code) in amounts">
|
||||
<span class="text-danger" x-text="formatMoney(amount*-1, code)"></span>
|
||||
</template>
|
||||
</template>
|
||||
|
||||
<template x-if="'Deposit' === groupProperties.transactionType">
|
||||
<template x-if="'deposit' === groupProperties.transactionType">
|
||||
<template x-for="(amount, code) in amounts">
|
||||
<span class="text-success" x-text="formatMoney(amount, code)"></span>
|
||||
</template>
|
||||
</template>
|
||||
|
||||
<template x-if="'Transfer' === groupProperties.transactionType">
|
||||
<template x-if="'transfer' === groupProperties.transactionType">
|
||||
<template x-for="(amount, code) in amounts">
|
||||
<span class="text-info" x-text="formatMoney(amount, code)"></span>
|
||||
</template>
|
||||
</template>
|
||||
<template
|
||||
x-if="'Transfer' !== groupProperties.transactionType && 'Deposit' !== groupProperties.transactionType && 'Withdrawal' !== groupProperties.transactionType">
|
||||
x-if="'transfer' !== groupProperties.transactionType && 'deposit' !== groupProperties.transactionType && 'withdrawal' !== groupProperties.transactionType">
|
||||
<span>TODO PARSE MISSING AMOUNT</span>
|
||||
</template>
|
||||
</td>
|
||||
@@ -164,33 +176,33 @@
|
||||
:title="entry.source_account.name"
|
||||
x-text="entry.source_account.name"></a>
|
||||
→
|
||||
<template x-if="'Withdrawal' === groupProperties.transactionType">
|
||||
<template x-if="'withdrawal' === groupProperties.transactionType">
|
||||
<span class="text-danger"
|
||||
x-text="formatMoney(entry.amount*-1, entry.currency_code)"></span>
|
||||
</template>
|
||||
|
||||
<template x-if="'Deposit' === groupProperties.transactionType">
|
||||
<template x-if="'deposit' === groupProperties.transactionType">
|
||||
<span class="text-success"
|
||||
x-text="formatMoney(entry.amount, entry.currency_code)"></span>
|
||||
</template>
|
||||
|
||||
<template x-if="'Transfer' === groupProperties.transactionType">
|
||||
<template x-if="'transfer' === groupProperties.transactionType">
|
||||
<span class="text-info"
|
||||
x-text="formatMoney(entry.amount, entry.currency_code)"></span>
|
||||
</template>
|
||||
<template
|
||||
x-if="null !== entry.foreign_currency_code && 'Withdrawal' === groupProperties.transactionType">
|
||||
x-if="null !== entry.foreign_currency_code && '' !== entry.foreign_currency_code && 'withdrawal' === groupProperties.transactionType">
|
||||
<span class="text-muted"
|
||||
x-text="formatMoney(entry.foreign_amount*-1, entry.foreign_currency_code)"></span>
|
||||
x-text="formatMoney(entry.foreign_amount*-1, entry.foreign_currency_code) + 'y'"></span>
|
||||
</template>
|
||||
<template
|
||||
x-if="null !== entry.foreign_currency_code && 'Withdrawal' !== groupProperties.transactionType">
|
||||
x-if="null !== entry.foreign_currency_code && '' !== entry.foreign_currency_code && 'withdrawal' !== groupProperties.transactionType">
|
||||
<span class="text-muted"
|
||||
x-text="formatMoney(entry.foreign_amount, entry.foreign_currency_code)"></span>
|
||||
x-text="formatMoney(entry.foreign_amount, entry.foreign_currency_code) + 'x'"></span>
|
||||
</template>
|
||||
|
||||
<template
|
||||
x-if="'Transfer' !== groupProperties.transactionType && 'Deposit' !== groupProperties.transactionType && 'Withdrawal' !== groupProperties.transactionType">
|
||||
x-if="'transfer' !== groupProperties.transactionType && 'deposit' !== groupProperties.transactionType && 'withdrawal' !== groupProperties.transactionType">
|
||||
<span>TODO PARSE MISSING AMOUNT</span>
|
||||
</template>
|
||||
→
|
||||
|
||||
Reference in New Issue
Block a user