mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2026-07-02 12:34:31 -07:00
Fix some more views.
This commit is contained in:
Generated
+203
-155
@@ -97,9 +97,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@oxc-project/types": {
|
||||
"version": "0.137.0",
|
||||
"resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.137.0.tgz",
|
||||
"integrity": "sha512-WT+Gb24i8hmvo85AIv2oEYouEXkRlKAlT9WaCa3TfLgNCN+GhrJOGZuIlMouAh38Qe4QOx26eUOVsq70qXrywA==",
|
||||
"version": "0.138.0",
|
||||
"resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.138.0.tgz",
|
||||
"integrity": "sha512-1a7ZKmrRTCoN1XMZ4L0PyyqrMnrNlLyPuOkdSX2MZg7IiIGRUyurNhAm73ptDOraoBcIordsIGKNPKUzy3ZmfA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
@@ -235,6 +235,9 @@
|
||||
"arm"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -256,6 +259,9 @@
|
||||
"arm"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -277,6 +283,9 @@
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -298,6 +307,9 @@
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -319,6 +331,9 @@
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -340,6 +355,9 @@
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -441,9 +459,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-android-arm64": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.1.3.tgz",
|
||||
"integrity": "sha512-DT6Z3PhvioeHMvxo+xHc3KtqggrI7CCTXCmC2h/5zUlp5jVitv7XEy+9q5/7v8IolhlioawpMo8Kg0EEBy7J0g==",
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.1.4.tgz",
|
||||
"integrity": "sha512-EZLpf/8y7GXkkra90ML47kzik/GMP3EMcE9bPyHmRfxLC6z9+aW5A8poCsoxjrT5GfEcNAAvWwUHjvP1pUQkfw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -458,9 +476,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-darwin-arm64": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.1.3.tgz",
|
||||
"integrity": "sha512-0NwgwsjM7LrsuVnXMK3koTpagBNOhloc/BNjKqZjv4V5zI5r13qx69uVhRx+o5Z0yy4Hzq+lpy7TAgUG/ocvrw==",
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.1.4.tgz",
|
||||
"integrity": "sha512-aUi+HBvmYb7j8krl1+qJgkG8C17fO79gk3c+jPw4S8glRFc1DTija9S3EyaTSQUm5GJXYKDAsugBEhFHH2vYiQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -475,9 +493,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-darwin-x64": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.1.3.tgz",
|
||||
"integrity": "sha512-YtiBp4disu6V560loT6PjMdiRaWmVvDNrUunAalbiFx2ggeJwxdAsgZMcoGP17uyAsTwAj5V1niksxlHnVQ1Sw==",
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.1.4.tgz",
|
||||
"integrity": "sha512-F7hHC3gwY11+vByKPRWqwGbeXWVgKmL+pTGCinaEhdihzBV2aQ0fvZOch9cXYUOKuKKq429HeYXOqQLc7wFCEg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -492,9 +510,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-freebsd-x64": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.1.3.tgz",
|
||||
"integrity": "sha512-yD3EkEdXk2LypPxnf/kSZHirarsI8gcPzc62SukhR9VJTyvV+F9Q/GxWNuCojc7sXyuVC4DxRGhdDK4X8VSsbw==",
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.1.4.tgz",
|
||||
"integrity": "sha512-sI5yw+7s92SK6odiEhD5lKCBlWcpjHS5qyqpVQbZAJ0fIzEUXrmbl3DH2ybR3PZogulNJF+COLtmA8hUfvkCCQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -509,9 +527,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-arm-gnueabihf": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.1.3.tgz",
|
||||
"integrity": "sha512-c+8vieQbsD7HNAHKIA34w0GJ9FedFFuJGD+7E6vz7Q3uqAIugL5p45fhlsj4UaAsHpcmlqugBWMhA0/j7o0sIg==",
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.1.4.tgz",
|
||||
"integrity": "sha512-mCi0OKgEieFircrtVYmQAFGszRtMnZ6fpZAXrxanXAu7lqZcsK1E1RAaZNG0uKAnxox3B1f4EyQNnoyMfN1vAA==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
@@ -526,13 +544,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-arm64-gnu": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.1.3.tgz",
|
||||
"integrity": "sha512-50jD0uUwLvur7Zz9LHz17kaAdTPjn5wN93hEgjvmYFRZwiR7ZJYovTd5ipyWJDAnXKvZ+wgc+/Ika6dwSF5OcA==",
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.1.4.tgz",
|
||||
"integrity": "sha512-B9Ial3Kv5sh0SHnB1g/QWcUQCEvCF6QKGAl4zXypYj65mVI+B4AhFBwPtSN7pDrJeIx8Z7zdy4ntx+wQABom7w==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -543,13 +564,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-arm64-musl": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.1.3.tgz",
|
||||
"integrity": "sha512-BO9+oPL8K9poZJBfYPsXNtYjPE5uM3qeehT3aFcW4LITOl+iSqhp0abzjR2nWBUNjIZeKXjAEWBZ64WjNoHd6w==",
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.1.4.tgz",
|
||||
"integrity": "sha512-lZVym0PuHE1KZ22gmFTC15lAkrg9iTszR617oYRB/iPY1A56ywoJzVKOJBKaot5RiikCObmur6pogpse3gRcng==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -560,13 +584,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-ppc64-gnu": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.1.3.tgz",
|
||||
"integrity": "sha512-f3VpLB1vQ0Eo6ecr/6cekLnvYMFF4YBFoVGkfkvPLq1bAkbAwHYQPZKoAmG6OJyTcxxoC+AvezGx/S1obNC0Mw==",
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.1.4.tgz",
|
||||
"integrity": "sha512-t2DNiLJWNTbnEHyUzTumldML6ET4/g16467LZoDDJ3tSxGvguL5/NyC2lCsNKuyRycg9XeDQF5SSv+TNOhQEXg==",
|
||||
"cpu": [
|
||||
"ppc64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -577,13 +604,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-s390x-gnu": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.1.3.tgz",
|
||||
"integrity": "sha512-AmurZ26Pqx/RI9N1gzEOCklkKXl927yjfXWUUS0O7Puh8ARM/Ob8qfrD3qnWksScdw6cSrW5PSHE9DyLu7+PtA==",
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.1.4.tgz",
|
||||
"integrity": "sha512-0WIRnL1Uw4BvTZRLQt+PVgo6ZKTJadlC2btP+/EOXv2f/DWbY0rEgl+y834mIVwP1FkTlWVTrGGJXf12lru7EQ==",
|
||||
"cpu": [
|
||||
"s390x"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -594,13 +624,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-x64-gnu": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.1.3.tgz",
|
||||
"integrity": "sha512-JJpqs8bRGITDOdbkNKnlojzBabbOHrqjSvDr0IVsZObE1lBcPjxItUEY9eWIDbxaJ3cGrXPWGfGkIxFijg/URg==",
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.1.4.tgz",
|
||||
"integrity": "sha512-JWtGshGfX+oENAKonoNkqEJX+7hC8yfhi9GUyPX1VX4mdh1y5r+ZiJLR5XzAB0aoP6s/PcILsGjKq8O0mm24bw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -611,13 +644,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-x64-musl": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.1.3.tgz",
|
||||
"integrity": "sha512-rSJcdjPxzA/by/6/rYs+v+bXU7UjvnbUWz8MJb6kh6+knqB1dCrtHg0uu7C/4haqJvqdkYHQ5IGn+tCH9GLW/g==",
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.1.4.tgz",
|
||||
"integrity": "sha512-rT6yQcxUuXs4CnbofqwHRRV0iem349rLMYpTjkgQGLjrY4ado/eDzwPZPTCgTOlF6Nkp8NEv70yLMTn6qkWxsQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -628,9 +664,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-openharmony-arm64": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.1.3.tgz",
|
||||
"integrity": "sha512-hQ3/PYkDJICgevvyNcVrihVeqq7k1Pp3VZ9lY+dauAYUJKO+auqApvANhvR1An9BhmqYKvW2Mu1F9u4DXSMLxQ==",
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.1.4.tgz",
|
||||
"integrity": "sha512-KXMGoboq5cyaCQjDA4GLuRiOwBQ0EyFnJoVViLeZ45/3rFItRODEr+NdsBcVpll40hhNArlm/speWGRvj08LzA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -645,9 +681,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-wasm32-wasi": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.1.3.tgz",
|
||||
"integrity": "sha512-Elcv/BtML9lXrV6JuKITc/grN2kYV9gjsQpW8Jfw4ioK0TOkjBjye0nnyqQNy9STNaI20lXNaQBRrD5gSgR0Yg==",
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.1.4.tgz",
|
||||
"integrity": "sha512-5K83rb36oJiY7BCyE9zLZtGcPV4g5wvq+xwdO0XPIwDVZI8cyB/AUjkNXGb92/rnmezEkjMOpgY61rtwjQtFwg==",
|
||||
"cpu": [
|
||||
"wasm32"
|
||||
],
|
||||
@@ -664,9 +700,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-win32-arm64-msvc": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.1.3.tgz",
|
||||
"integrity": "sha512-2DrEfhluH9yhiaFApmsjsjwrSYbNcY1oFTzYSP1a535jDbV98zCFanA/96TBUd0iDFcxGmw9QRExwGCXz3U+/g==",
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.1.4.tgz",
|
||||
"integrity": "sha512-PnWBtw3TV5KOg69HQQDR0mnQuyCmSGR2pAB4DC1rPF808fgKeTUMj2EOEyKATpgiuxuR5APQmiDO7PDgEjTFSA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -681,9 +717,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-win32-x64-msvc": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.1.3.tgz",
|
||||
"integrity": "sha512-OL4OMk7UPXOeVGGd3qo5zJyPIljf4AFgk5QAkPPS+OoLuOOozhuaQGC18MxVTnw/06q93gShAJzlwnSCY9YtqA==",
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.1.4.tgz",
|
||||
"integrity": "sha512-M1lpniBePobTfsa7Ks9a199e1akxsXn+GYBUKsEzv3YFzOm1HJAMNwKI3qr0Zq+mxwx9gOZoTdP1yXRYsZUocQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -724,7 +760,7 @@
|
||||
"@vue/shared": "3.1.5"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/reactivity/node_modules/@vue/shared": {
|
||||
"node_modules/@vue/shared": {
|
||||
"version": "3.1.5",
|
||||
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.1.5.tgz",
|
||||
"integrity": "sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==",
|
||||
@@ -943,6 +979,34 @@
|
||||
"url": "https://github.com/chalk/chalk?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/chalk/node_modules/supports-color": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"has-flag": "^4.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/chokidar": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz",
|
||||
"integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"readdirp": "^5.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 20.19.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://paulmillr.com/funding/"
|
||||
}
|
||||
},
|
||||
"node_modules/ci-info": {
|
||||
"version": "3.9.0",
|
||||
"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
|
||||
@@ -1028,54 +1092,6 @@
|
||||
"url": "https://github.com/open-cli-tools/concurrently?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/concurrently/node_modules/shell-quote": {
|
||||
"version": "1.8.4",
|
||||
"resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.4.tgz",
|
||||
"integrity": "sha512-VsC6n6vz1ihYYyZZwX7YZSF5l5x36ca17OC+a69h94YqB7X6XLwf+5MOgynYir2SLFUbl8gIYvBo8K8RoNQ6bQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/concurrently/node_modules/supports-color": {
|
||||
"version": "8.1.1",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
|
||||
"integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"has-flag": "^4.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/supports-color?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/concurrently/node_modules/yargs": {
|
||||
"version": "17.7.2",
|
||||
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
|
||||
"integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"cliui": "^8.0.1",
|
||||
"escalade": "^3.1.1",
|
||||
"get-caller-file": "^2.0.5",
|
||||
"require-directory": "^2.1.1",
|
||||
"string-width": "^4.2.3",
|
||||
"y18n": "^5.0.5",
|
||||
"yargs-parser": "^21.1.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/cross-spawn": {
|
||||
"version": "7.0.6",
|
||||
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
|
||||
@@ -1835,6 +1851,9 @@
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MPL-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -1856,6 +1875,9 @@
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MPL-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -1877,6 +1899,9 @@
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MPL-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -1898,6 +1923,9 @@
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MPL-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -2158,6 +2186,20 @@
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/readdirp": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz",
|
||||
"integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 20.19.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "individual",
|
||||
"url": "https://paulmillr.com/funding/"
|
||||
}
|
||||
},
|
||||
"node_modules/require-directory": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
|
||||
@@ -2169,13 +2211,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/rolldown": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.1.3.tgz",
|
||||
"integrity": "sha512-1F1eEtUBtFvcGm1HQ9TiUIUHPQG7mSAODrhIzjxoUEFuo8OcbrGLiVLkevNgj84TE4lnHvnumwFjhJO5Eu135g==",
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.1.4.tgz",
|
||||
"integrity": "sha512-IjZYiLxZwpnhwhdBH2ugdTGVSdhCQUmLxLoqyjiL0JxYjyRst+5a0P3xfrTxJ5F638j4Mvvw5FAX5XE6eHpXbA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@oxc-project/types": "=0.137.0",
|
||||
"@oxc-project/types": "=0.138.0",
|
||||
"@rolldown/pluginutils": "^1.0.0"
|
||||
},
|
||||
"bin": {
|
||||
@@ -2185,21 +2227,21 @@
|
||||
"node": "^20.19.0 || >=22.12.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@rolldown/binding-android-arm64": "1.1.3",
|
||||
"@rolldown/binding-darwin-arm64": "1.1.3",
|
||||
"@rolldown/binding-darwin-x64": "1.1.3",
|
||||
"@rolldown/binding-freebsd-x64": "1.1.3",
|
||||
"@rolldown/binding-linux-arm-gnueabihf": "1.1.3",
|
||||
"@rolldown/binding-linux-arm64-gnu": "1.1.3",
|
||||
"@rolldown/binding-linux-arm64-musl": "1.1.3",
|
||||
"@rolldown/binding-linux-ppc64-gnu": "1.1.3",
|
||||
"@rolldown/binding-linux-s390x-gnu": "1.1.3",
|
||||
"@rolldown/binding-linux-x64-gnu": "1.1.3",
|
||||
"@rolldown/binding-linux-x64-musl": "1.1.3",
|
||||
"@rolldown/binding-openharmony-arm64": "1.1.3",
|
||||
"@rolldown/binding-wasm32-wasi": "1.1.3",
|
||||
"@rolldown/binding-win32-arm64-msvc": "1.1.3",
|
||||
"@rolldown/binding-win32-x64-msvc": "1.1.3"
|
||||
"@rolldown/binding-android-arm64": "1.1.4",
|
||||
"@rolldown/binding-darwin-arm64": "1.1.4",
|
||||
"@rolldown/binding-darwin-x64": "1.1.4",
|
||||
"@rolldown/binding-freebsd-x64": "1.1.4",
|
||||
"@rolldown/binding-linux-arm-gnueabihf": "1.1.4",
|
||||
"@rolldown/binding-linux-arm64-gnu": "1.1.4",
|
||||
"@rolldown/binding-linux-arm64-musl": "1.1.4",
|
||||
"@rolldown/binding-linux-ppc64-gnu": "1.1.4",
|
||||
"@rolldown/binding-linux-s390x-gnu": "1.1.4",
|
||||
"@rolldown/binding-linux-x64-gnu": "1.1.4",
|
||||
"@rolldown/binding-linux-x64-musl": "1.1.4",
|
||||
"@rolldown/binding-openharmony-arm64": "1.1.4",
|
||||
"@rolldown/binding-wasm32-wasi": "1.1.4",
|
||||
"@rolldown/binding-win32-arm64-msvc": "1.1.4",
|
||||
"@rolldown/binding-win32-x64-msvc": "1.1.4"
|
||||
}
|
||||
},
|
||||
"node_modules/rxjs": {
|
||||
@@ -2233,36 +2275,6 @@
|
||||
"@parcel/watcher": "^2.4.1"
|
||||
}
|
||||
},
|
||||
"node_modules/sass/node_modules/chokidar": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz",
|
||||
"integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"readdirp": "^5.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 20.19.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://paulmillr.com/funding/"
|
||||
}
|
||||
},
|
||||
"node_modules/sass/node_modules/readdirp": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz",
|
||||
"integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 20.19.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "individual",
|
||||
"url": "https://paulmillr.com/funding/"
|
||||
}
|
||||
},
|
||||
"node_modules/semver": {
|
||||
"version": "7.8.5",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz",
|
||||
@@ -2313,6 +2325,19 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/shell-quote": {
|
||||
"version": "1.8.4",
|
||||
"resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.4.tgz",
|
||||
"integrity": "sha512-VsC6n6vz1ihYYyZZwX7YZSF5l5x36ca17OC+a69h94YqB7X6XLwf+5MOgynYir2SLFUbl8gIYvBo8K8RoNQ6bQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/shepherd.js": {
|
||||
"version": "15.2.2",
|
||||
"resolved": "https://registry.npmjs.org/shepherd.js/-/shepherd.js-15.2.2.tgz",
|
||||
@@ -2383,15 +2408,19 @@
|
||||
}
|
||||
},
|
||||
"node_modules/supports-color": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
||||
"version": "8.1.1",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
|
||||
"integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"has-flag": "^4.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/supports-color?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/tailwindcss": {
|
||||
@@ -2501,16 +2530,16 @@
|
||||
"link": true
|
||||
},
|
||||
"node_modules/vite": {
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-8.1.0.tgz",
|
||||
"integrity": "sha512-BuJcQK/56NQTWDGn4ABea3q4SSBdNPWwNZKTkkUpcMPnLoquSYH8llRtSUIgoL1KSCpHt5eghLShn50mH36y7Q==",
|
||||
"version": "8.1.2",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-8.1.2.tgz",
|
||||
"integrity": "sha512-6YYPbRXTxx6bRXmOn7XdnQAy5DQNHhDgtjhDHI13oe4pY93kkcdGJWxpGwOm++/Wh0QpQhDrpIoVMrmrsI5AGQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"lightningcss": "^1.32.0",
|
||||
"picomatch": "^4.0.4",
|
||||
"postcss": "^8.5.15",
|
||||
"rolldown": "~1.1.2",
|
||||
"postcss": "^8.5.16",
|
||||
"rolldown": "~1.1.3",
|
||||
"tinyglobby": "^0.2.17"
|
||||
},
|
||||
"bin": {
|
||||
@@ -2667,6 +2696,25 @@
|
||||
"url": "https://github.com/sponsors/eemeli"
|
||||
}
|
||||
},
|
||||
"node_modules/yargs": {
|
||||
"version": "17.7.2",
|
||||
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
|
||||
"integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"cliui": "^8.0.1",
|
||||
"escalade": "^3.1.1",
|
||||
"get-caller-file": "^2.0.5",
|
||||
"require-directory": "^2.1.1",
|
||||
"string-width": "^4.2.3",
|
||||
"y18n": "^5.0.5",
|
||||
"yargs-parser": "^21.1.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/yargs-parser": {
|
||||
"version": "21.1.1",
|
||||
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
|
||||
|
||||
@@ -19,241 +19,7 @@
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div v-if="success_message !== ''" class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="alert alert-success alert-dismissible" role="alert">
|
||||
<button class="close" data-dismiss="alert" type="button" v-bind:aria-label="$t('firefly.close')"><span
|
||||
aria-hidden="true">×</span></button>
|
||||
<strong>{{ $t("firefly.flash_success") }}</strong> <span v-html="success_message"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<div class="box">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">{{ title }}</h3>
|
||||
</div>
|
||||
<div class="card-body p-0">
|
||||
<table class="table table-hover" aria-label="A table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="width:40%;"><strong>{{ $t('list.title') }}</strong></td>
|
||||
<td>{{ title }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width:40%;"><strong>{{ $t('list.active') }}</strong></td>
|
||||
<td>
|
||||
<em class="fa fa-check text-success" v-if="active"></em>
|
||||
<em class="fa fa-times text-danger" v-if="!active"></em>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width:40%;"><strong>{{ $t('list.trigger') }}</strong></td>
|
||||
<td>
|
||||
<span v-for="trigger in triggers" :key="trigger">
|
||||
{{ $t('firefly.webhook_trigger_' + trigger) }}<br>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width:40%;"><strong>{{ $t('list.response') }}</strong></td>
|
||||
<td>
|
||||
<span v-for="response in responses" :key="response">
|
||||
{{ $t('firefly.webhook_response_' + response) }}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width:40%;"><strong>{{ $t('list.delivery') }}</strong></td>
|
||||
<td>
|
||||
<span v-for="delivery in deliveries" :key="delivery">
|
||||
{{ $t('firefly.webhook_delivery_' + delivery) }}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="box-footer">
|
||||
<div class="btn-group pull-right">
|
||||
<a :href=edit_url class="btn btn-default"><em class="fa fa-pencil"></em> {{ $t('firefly.edit') }}</a>
|
||||
<a id="triggerButton" v-if="active" href="#" @click="submitTest" :class="disabledTrigger ? 'btn btn-default disabled ' : 'btn btn-default'"><em
|
||||
class="fa fa-bolt"></em>
|
||||
{{ $t('list.trigger') }}
|
||||
</a>
|
||||
<a :href=delete_url class="btn btn-danger"><em class="fa fa-trash"></em> {{ $t('firefly.delete') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<div class="box">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">{{ $t('firefly.meta_data') }}</h3>
|
||||
</div>
|
||||
<div class="card-body p-0">
|
||||
<table class="table table-hover" aria-label="A table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="width:40%;"><strong>{{ $t('list.url') }}</strong></td>
|
||||
<td><input type="text" readonly class="form-control" :value=url></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width:40%;"><strong>
|
||||
{{ $t('list.secret') }}
|
||||
</strong>
|
||||
</td>
|
||||
<td>
|
||||
<em style="cursor:pointer"
|
||||
v-if="show_secret" class="fa fa-eye" @click="toggleSecret"></em>
|
||||
<em style="cursor:pointer"
|
||||
v-if="!show_secret" class="fa fa-eye-slash" @click="toggleSecret"></em>
|
||||
<code v-if="show_secret">{{ secret }}</code>
|
||||
<code v-if="!show_secret">********</code>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="box-footer">
|
||||
<a :href=url class="btn btn-default">
|
||||
<em class="fa fa-globe-europe"></em> {{ $t('firefly.visit_webhook_url') }}
|
||||
</a>
|
||||
<a @click="resetSecret" class="btn btn-default">
|
||||
<em class="fa fa-lock"></em> {{ $t('firefly.reset_webhook_secret') }}
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="box">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">{{ $t('firefly.webhook_messages') }}</h3>
|
||||
</div>
|
||||
<div class="box-body" v-if="messages.length === 0 && !loading">
|
||||
<p>
|
||||
{{ $t('firefly.no_webhook_messages') }}
|
||||
</p>
|
||||
</div>
|
||||
<div class="box-body" v-if="loading">
|
||||
<p class="text-center">
|
||||
<em class="fa fa-spin fa-spinner"></em>
|
||||
</p>
|
||||
</div>
|
||||
<div class="card-body p-0" v-if="messages.length > 0 && !loading">
|
||||
<table class="table table-hover" aria-label="A table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
Date and time
|
||||
</th>
|
||||
<th>
|
||||
UID
|
||||
</th>
|
||||
<th>
|
||||
Success?
|
||||
</th>
|
||||
<th>
|
||||
More details
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="message in messages">
|
||||
<td>
|
||||
{{ message.created_at }}
|
||||
</td>
|
||||
<td>
|
||||
{{ message.uuid }}
|
||||
</td>
|
||||
<td>
|
||||
<em class="fa fa-check text-success" v-if="message.success"></em>
|
||||
<em class="fa fa-times text-danger" v-if="!message.success"></em>
|
||||
</td>
|
||||
<td>
|
||||
<a @click="showWebhookMessage(message.id)" class="btn btn-default">
|
||||
<em class="fa fa-envelope"></em>
|
||||
{{ $t('firefly.view_message') }}
|
||||
</a>
|
||||
<a @click="showWebhookAttempts(message.id)" class="btn btn-default">
|
||||
<em class="fa fa-cloud-upload"></em>
|
||||
{{ $t('firefly.view_attempts') }}
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- modal for message content -->
|
||||
<div class="modal fade" id="messageModal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog modal-lg">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title">{{ $t('firefly.message_content_title') }}</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>
|
||||
{{ $t('firefly.message_content_help') }}
|
||||
</p>
|
||||
<textarea class="form-control" rows="10" readonly>{{ message_content }}</textarea>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{ $t('firefly.close') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- modal for message attempts -->
|
||||
<div class="modal fade" id="attemptModal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog modal-lg">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title">{{ $t('firefly.attempt_content_title') }}</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>
|
||||
{{ $t('firefly.attempt_content_help') }}
|
||||
</p>
|
||||
<p v-if="0===message_attempts.length">
|
||||
<em>
|
||||
{{ $t('firefly.no_attempts') }}
|
||||
</em>
|
||||
</p>
|
||||
<div v-for="message in message_attempts" style="border:1px #eee solid;margin-bottom:0.5em;">
|
||||
<strong>
|
||||
{{ $t('firefly.webhook_attempt_at', {moment: message.created_at}) }}
|
||||
<span class="text-danger">({{ message.status_code }})</span>
|
||||
</strong>
|
||||
<p>
|
||||
{{ $t('firefly.logs') }}: <br/>
|
||||
<textarea class="form-control" rows="5" readonly>{{ message.logs }}</textarea>
|
||||
</p>
|
||||
<p v-if="null !== message.response">
|
||||
{{ $t('firefly.response') }}: <br/>
|
||||
<textarea class="form-control" rows="5" readonly>{{ message.response }}</textarea>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{ $t('firefly.close') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
@if('Revenue account' === $source['type'])
|
||||
<span title="Deposit from revenue">{!! format_amount_by_symbol($destination['balance_after'], $currency['symbol'], $currency['decimal_places']) !!}</span>
|
||||
@else
|
||||
<span title="Deposit from liab">{!! format_amount_by_symbol($destination['balance_after'], $foreign['currency_symbol'], $foreign['decimal_places']) !!}</span>
|
||||
<span title="Deposit from liab">{!! format_amount_by_symbol($destination['balance_after'], $foreign['symbol'], $foreign['decimal_places']) !!}</span>
|
||||
@endif
|
||||
{{-- if this is a deposit from revenue account, use the destination account currency? For #12043 and #12169. Otherwise, keep at source account -}}
|
||||
{{-- changed from normal currency_symbol to foreign_currency_symbol for #12043 --}}
|
||||
@@ -58,7 +58,7 @@
|
||||
<span title="Transfer, dest, normal currency">{!! format_amount_by_symbol($destination['balance_after'], $currency['symbol'], $currency['decimal_places']) !!}</span>
|
||||
@endif
|
||||
@if(null !== $foreign['id'])
|
||||
<span title="Transfer, dest, foreign currency">{!! format_amount_by_symbol($destination['balance_after'], $foreign['currency_symbol'], $foreign['decimal_places']) !!}</span>
|
||||
<span title="Transfer, dest, foreign currency">{!! format_amount_by_symbol($destination['balance_after'], $foreign['symbol'], $foreign['decimal_places']) !!}</span>
|
||||
@endif
|
||||
@endif
|
||||
@else
|
||||
|
||||
@@ -136,7 +136,7 @@
|
||||
<x-elements.transaction-running-balance
|
||||
:balance-dirty="($transaction['source_balance_dirty'] ?? false) || ($transaction['destination_balance_dirty'] ?? false)"
|
||||
:currency="['symbol' => $transaction['currency_symbol'],'decimal_places' => $transaction['currency_decimal_places']]"
|
||||
:foreign="[]"
|
||||
:foreign="['symbol' => $transaction['foreign_currency_symbol'], 'decimal_places' => $transaction['foreign_currency_decimal_places']]"
|
||||
:type="$transaction['transaction_type_type']"
|
||||
:account="$account ?? null"
|
||||
:source="['id' => $transaction['source_account_id'], 'balance_after' => $transaction['source_balance_after'], 'type' => $transaction['source_account_type']]"
|
||||
|
||||
@@ -1,18 +1,13 @@
|
||||
@extends('layout.v3.session')
|
||||
|
||||
|
||||
{{ Breadcrumbs.render(Route.getCurrentRoute.getName, group) }}
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<form method="POST" action="{{ route('transactions.destroy',group.id) }}" accept-charset="UTF-8" class="form-horizontal" id="destroy">
|
||||
<form method="POST" action="{{ route('transactions.destroy',[$group->id]) }}" accept-charset="UTF-8" class="form-horizontal" id="destroy">
|
||||
<input name="_token" type="hidden" value="{{ csrf_token() }}">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-6 offset-lg-3 col-md-6 col-sm-12">
|
||||
<div class="card card-danger card-outline">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title">{{ trans('form.delete_journal', {'description': group.title|default(journal.description)}) }}</h3>
|
||||
<h3 class="card-title">{{ trans('form.delete_journal', ['description' => $group->title ?? $journal->description]) }}</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<p class="text-danger">
|
||||
@@ -20,12 +15,12 @@
|
||||
</p>
|
||||
|
||||
<p>
|
||||
{{ trans('form.journal_areYouSure', {'description': group.title|default(journal.description)}) }}
|
||||
{{ trans('form.journal_areYouSure', ['description' => $group->title ?? $journal->description]) }}
|
||||
</p>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<input type="submit" name="submit" value="{{ trans('form.deletePermanently') }}" class="btn btn-danger text-end"/>
|
||||
<a href="{{ previous }}" class="btn-outline-secondary btn">{{ trans('form.cancel') }}</a>
|
||||
<a href="{{ $previous }}" class="btn-outline-secondary btn">{{ trans('form.cancel') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -33,3 +28,4 @@
|
||||
|
||||
</form>
|
||||
@endsection
|
||||
|
||||
|
||||
@@ -27,3 +27,6 @@
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
@section('scripts')
|
||||
@vite(['js/pages/generic.js'])
|
||||
@endsection
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
@extends('layout.v3.session')
|
||||
|
||||
|
||||
{{ Breadcrumbs.render(Route.getCurrentRoute.getName, journals) }}
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<form method="POST" action="{{ route('transactions.mass.destroy') }}" accept-charset="UTF-8" class="form-horizontal" id="destroy">
|
||||
<input name="_token" type="hidden" value="{{ csrf_token() }}">
|
||||
@@ -12,12 +7,12 @@
|
||||
<div class="col-lg-8 offset-lg-2 col-md-8 coll-offset-md-2 col-sm-12">
|
||||
<div class="card card-danger card-outline">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title">{{ 'mass_delete_journals'|_ }}</h3>
|
||||
<h3 class="card-title">{{ __('firefly.mass_delete_journals') }}</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<p class="text-danger">
|
||||
{{ trans('form.permDeleteWarning') }}
|
||||
{{ 'perm-delete-many'|_ }}
|
||||
{{ __('firefly.perm-delete-many') }}
|
||||
</p>
|
||||
<p>
|
||||
{{ trans('form.mass_journal_are_you_sure') }}
|
||||
@@ -34,72 +29,72 @@
|
||||
<th class="hidden-xs">{{ trans('list.from') }}</th>
|
||||
<th class="hidden-xs">{{ trans('list.to') }}</th>
|
||||
</tr>
|
||||
{% for journal in journals %}
|
||||
@foreach($journals as $journal)
|
||||
<tr>
|
||||
<td>
|
||||
<input type="checkbox" name="confirm_mass_delete[]" value="{{ journal.transaction_journal_id }}" checked/>
|
||||
<input type="checkbox" name="confirm_mass_delete[]" value="{{ $journal['transaction_journal_id'] }}" checked/>
|
||||
</td>
|
||||
<td>
|
||||
{% if journal.transaction_type_type == 'Withdrawal' %}
|
||||
@if('Withdrawal' === $journal['transaction_type_type'])
|
||||
<span class="bi bi-arrow-left" title="{{ trans('firefly.Withdrawal') }}"></span>
|
||||
@endif
|
||||
|
||||
{% if journal.transaction_type_type == 'Deposit' %}
|
||||
@if('Deposit' === $journal['transaction_type_type'])
|
||||
<span class="bi bi-arrow-right" title="{{ trans('firefly.Deposit') }}"></span>
|
||||
@endif
|
||||
|
||||
{% if journal.transaction_type_type == 'Transfer' %}
|
||||
@if('Transfer' === $journal['transaction_type_type'])
|
||||
<span class="bi bi-arrow-left-right" title="{{ trans('firefly.Deposit') }}"></span>
|
||||
@endif
|
||||
|
||||
{% if journal.transaction_type_type == 'Reconciliation' %}
|
||||
@if('Reconciliation' === $journal['transaction_type_type'])
|
||||
<span class="bi bi-calculator" title="{{ trans('firefly.reconciliation_transaction') }}"></span>
|
||||
@endif
|
||||
{% if journal.transaction_type_type == 'Opening balance' %}
|
||||
@if('Opening balance' === $journal['transaction_type_type'])
|
||||
<span class="bi bi-star" title="{{ trans('firefly.Opening balance') }}"></span>
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
<a href="{{ route('transactions.show',journal.transaction_group_id) }}"
|
||||
title="{{ journal.description }}">{{ journal.description }}</a>
|
||||
<a href="{{ route('transactions.show',$journal['transaction_group_id']) }}"
|
||||
title="{{ $journal['description'] }}">{{ $journal['description'] }}</a>
|
||||
</td>
|
||||
<td>
|
||||
{% if journal.transaction_type_type == 'Deposit' %}
|
||||
{!! format_amount_by_symbol(journal.amount*-1, journal.currency_symbol, journal.currency_decimal_places) }}
|
||||
{% if null != journal.foreign_amount %}
|
||||
({!! format_amount_by_symbol(journal.foreign_amount*-1, journal.foreign_currency_symbol, journal.foreign_currency_decimal_places) }})
|
||||
@if('Deposit' === $journal['transaction_type_type'])
|
||||
{!! format_amount_by_symbol($journal['amount']*-1, $journal['currency_symbol'], $journal['currency_decimal_places']) !!}
|
||||
@if(null !== $journal['foreign_amount'])
|
||||
({!! format_amount_by_symbol($journal['foreign_amount']*-1, $journal['foreign_currency_symbol'], $journal['foreign_currency_decimal_places']) !!})
|
||||
@endif
|
||||
{% elseif journal.transaction_type_type == 'Transfer' %}
|
||||
<span class="text-info money-transfer">{!! format_amount_by_symbol(journal.amount*-1, journal.currency_symbol, journal.currency_decimal_places, false) }}
|
||||
{% if null != journal.foreign_amount %}
|
||||
({!! format_amount_by_symbol(journal.foreign_amount*-1, journal.foreign_currency_symbol, journal.foreign_currency_decimal_places, false) }})
|
||||
@elseif($journal['transaction_type_type'] === 'Transfer')
|
||||
<span class="text-info money-transfer">{!! format_amount_by_symbol($journal['amount']*-1, $journal['currency_symbol'], $journal['currency_decimal_places'], false) !!}
|
||||
@if(null !== $journal['foreign_amount'])
|
||||
({!! format_amount_by_symbol($journal['foreign_amount']*-1, $journal['foreign_currency_symbol'], $journal['foreign_currency_decimal_places'], false) !!})
|
||||
@endif
|
||||
</span>
|
||||
@else
|
||||
{!! format_amount_by_symbol(journal.amount, journal.currency_symbol, journal.currency_decimal_places) }}
|
||||
{% if null != journal.foreign_amount %}
|
||||
({!! format_amount_by_symbol(journal.foreign_amount, journal.foreign_currency_symbol, journal.foreign_currency_decimal_places) }})
|
||||
{!! format_amount_by_symbol($journal['amount'], $journal['currency_symbol'], $journal['currency_decimal_places']) !!}
|
||||
@if(null !== $journal['foreign_amount'])
|
||||
({!! format_amount_by_symbol($journal['foreign_amount'], $journal['foreign_currency_symbol'], $journal['foreign_currency_decimal_places']) !!})
|
||||
@endif
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
{{ journal.date.isoFormat($monthAndDayFormat) }}
|
||||
{{ $journal['date']->isoFormat($monthAndDayFormat) }}
|
||||
</td>
|
||||
<td>
|
||||
<a href="{{ route('accounts.show', [journal.source_account_id]) }}"
|
||||
title="{{ journal.source_account_iban|default(journal.source_account_name) }}">{{ journal.source_account_name }}</a>
|
||||
<a href="{{ route('accounts.show', [$journal['source_account_id']]) }}"
|
||||
title="{{ $journal['source_account_iban'] ?? $journal['source_account_name'] }}">{{ $journal['source_account_name'] }}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="{{ route('accounts.show', [journal.destination_account_id]) }}"
|
||||
title="{{ journal.destination_account_iban|default(journal.destination_account_name) }}">{{ journal.destination_account_name }}</a>
|
||||
<a href="{{ route('accounts.show', [$journal['destination_account_id']]) }}"
|
||||
title="{{ $journal['destination_account_iban'] ?? $journal['destination_account_name'] }}">{{ $journal['destination_account_name'] }}</a>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</table>
|
||||
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<input type="submit" name="submit" value="{{ trans('form.delete_all_permanently') }}" class="btn btn-danger text-end"/>
|
||||
<div class="card-footer text-end">
|
||||
<input type="submit" name="submit" value="{{ trans('form.delete_all_permanently') }}" class="btn btn-danger"/>
|
||||
<a href="{{ route('index') }}" class="btn-outline-secondary btn">{{ trans('form.cancel') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -107,3 +102,6 @@
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
@section('scripts')
|
||||
@vite(['js/pages/generic.js'])
|
||||
@endsection
|
||||
|
||||
@@ -7,12 +7,12 @@
|
||||
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="card mb-2">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title">{{ 'mass_edit_journals'|_ }}</h3>
|
||||
<h3 class="card-title">{{ __('firefly.mass_edit_journals') }}</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<p>
|
||||
{{ 'cannot_edit_other_fields'|_ }}
|
||||
<span class="text-danger">{{ 'cannot_change_amount_reconciled'|_ }}</span>
|
||||
{{ __('firefly.cannot_edit_other_fields') }}
|
||||
<span class="text-danger">{{ __('firefly.cannot_change_amount_reconciled') }}</span>
|
||||
</p>
|
||||
|
||||
<table class="table table-striped table-sm">
|
||||
@@ -26,138 +26,135 @@
|
||||
<th class="col-lg-2 col-md-2 col-sm-2">{{ trans('list.category') }}</th>
|
||||
<th class="col-lg-2 col-md-2 col-sm-2">{{ trans('list.budget') }}</th>
|
||||
</tr>
|
||||
{% for journal in journals %}
|
||||
@foreach($journals as $journal)
|
||||
<tr>
|
||||
<td>
|
||||
{{-- LINK TO EDIT FORM --}}
|
||||
<a href="{{ route('transactions.edit', journal.transaction_group_id) }}" class="btn btn-xs btn-outline-secondary"><span
|
||||
<a href="{{ route('transactions.edit', $journal['transaction_group_id']) }}" class="btn btn-xs btn-outline-secondary"><span
|
||||
class="bi bi-pencil"></span></a>
|
||||
<input type="hidden" name="journals[]" value="{{ journal.transaction_journal_id }}"/>
|
||||
<input type="hidden" name="journals[]" value="{{ $journal['transaction_journal_id'] }}"/>
|
||||
</td>
|
||||
<td>
|
||||
{{-- DESCRIPTION --}}
|
||||
<input class="form-control input-sm" autocomplete="off"
|
||||
placeholder="{{ journal.description }}" name="description[{{ journal.transaction_journal_id }}]"
|
||||
type="text" value="{{ journal.description }}">
|
||||
placeholder="{{ $journal['description'] }}" name="description[{{ $journal['transaction_journal_id'] }}]"
|
||||
type="text" value="{{ $journal['description'] }}">
|
||||
</td>
|
||||
{{-- AMOUNT --}}
|
||||
<td>
|
||||
{% if journal.reconciled == false %}
|
||||
@if(false === $journal['reconciled'])
|
||||
<div class="input-group input-group-sm">
|
||||
<span class="input-group-addon">{{ journal.currency_symbol }}</span>
|
||||
<input name="amount[{{ journal.transaction_journal_id }}]" class="form-control" autocomplete="off"
|
||||
step="any" type="number" value="{{ journal.amount }}">
|
||||
<input type="hidden" name="transaction_currency_id[{{ journal.transaction_journal_id }}]"
|
||||
value="{{ journal.currency_id }}">
|
||||
<span class="input-group-addon">{{ $journal['currency_symbol'] }}</span>
|
||||
<input name="amount[{{ $journal['transaction_journal_id'] }}]" class="form-control" autocomplete="off"
|
||||
step="any" type="number" value="{{ $journal['amount'] }}">
|
||||
<input type="hidden" name="transaction_currency_id[{{ $journal['transaction_journal_id'] }}]"
|
||||
value="{{ $journal['currency_id'] }}">
|
||||
</div>
|
||||
{% if journal.foreign_amount %}
|
||||
@if(null !== $journal['foreign_amount'])
|
||||
{{-- insert foreign data --}}
|
||||
<div class="input-group input-group-sm">
|
||||
<span class="input-group-addon">{{ journal.foreign_currency_symbol }}</span>
|
||||
<input name="foreign_amount[{{ journal.transaction_journal_id }}]" class="form-control" autocomplete="off"
|
||||
step="any" type="number" value="{{ journal.foreign_amount }}">
|
||||
<input type="hidden" name="foreign_currency_id[{{ journal.transaction_journal_id }}]"
|
||||
value="{{ journal.foreign_currency_id }}">
|
||||
<span class="input-group-addon">{{ $journal['foreign_currency_symbol'] }}</span>
|
||||
<input name="foreign_amount[{{ $journal['transaction_journal_id'] }}]" class="form-control" autocomplete="off"
|
||||
step="any" type="number" value="{{ $journal['foreign_amount'] }}">
|
||||
<input type="hidden" name="foreign_currency_id[{{ $journal['transaction_journal_id'] }}]"
|
||||
value="{{ $journal['foreign_currency_id'] }}">
|
||||
</div>
|
||||
@endif
|
||||
@endif
|
||||
<span class="text-sm">
|
||||
{% if journal.reconciled != false %}
|
||||
{% if journal.transaction_type_type == 'Deposit' %}
|
||||
{!! format_amount_by_symbol(journal.amount*-1, journal.currency_symbol, journal.currency_decimal_places) }}
|
||||
{% if null != journal.foreign_amount %}
|
||||
({!! format_amount_by_symbol(journal.foreign_amount*-1, journal.foreign_currency_symbol, journal.foreign_currency_decimal_places) }})
|
||||
@endif
|
||||
{% elseif journal.transaction_type_type == 'Transfer' %}
|
||||
<span class="text-info money-transfer">
|
||||
{!! format_amount_by_symbol(journal.amount*-1, journal.currency_symbol, journal.currency_decimal_places, false) }}
|
||||
{% if null != journal.foreign_amount %}
|
||||
({!! format_amount_by_symbol(journal.foreign_amount*-1, journal.foreign_currency_symbol, journal.foreign_currency_decimal_places, false) }})
|
||||
@if(false !== $journal['reconciled'])
|
||||
@if('Deposit' === $journal['transaction_type_type'])
|
||||
{!! format_amount_by_symbol($journal['amount']*-1, $journal['currency_symbol'], $journal['currency_decimal_places']) !!}
|
||||
@if(null !== $journal['foreign_amount'])
|
||||
({!! format_amount_by_symbol($journal['foreign_amount']*-1, $journal['foreign_currency_symbol'], $journal['foreign_currency_decimal_places']) !!})
|
||||
@endif
|
||||
@elseif('Transfer' === $journal['transaction_type_type'])
|
||||
<span class="text-info money-transfer">
|
||||
{!! format_amount_by_symbol($journal['amount']*-1, $journal['currency_symbol'], $journal['currency_decimal_places'], false) !!}
|
||||
@if(null !== $journal['foreign_amount'])
|
||||
({!! format_amount_by_symbol($journal['foreign_amount']*-1, $journal['foreign_currency_symbol'], $journal['foreign_currency_decimal_places'], false) !!})
|
||||
@endif
|
||||
</span>
|
||||
@else
|
||||
{!! format_amount_by_symbol(journal.amount, journal.currency_symbol, journal.currency_decimal_places) }}
|
||||
{% if null != journal.foreign_amount %}
|
||||
({!! format_amount_by_symbol(journal.foreign_amount, journal.foreign_currency_symbol, journal.foreign_currency_decimal_places) }})
|
||||
{!! format_amount_by_symbol($journal['amount'], $journal['currency_symbol'], $journal['currency_decimal_places'])!!}
|
||||
@if(null !== $journal['foreign_amount'])
|
||||
({!! format_amount_by_symbol($journal['foreign_amount'], $journal['foreign_currency_symbol'], $journal['foreign_currency_decimal_places']) !!})
|
||||
@endif
|
||||
@endif
|
||||
@endif
|
||||
</span>
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
{{-- DATE --}}
|
||||
<input class="form-control input-sm" autocomplete="off"
|
||||
name="date[{{ journal.transaction_journal_id }}]" type="datetime-local" value="{{ journal.date }}">
|
||||
name="date[{{ $journal['transaction_journal_id'] }}]" type="datetime-local" value="{{ $journal['date'] }}">
|
||||
</td>
|
||||
<!-- {{ journal.transaction_type_type }} -->
|
||||
<!-- Source: {{ journal.source_account_name }} ({{ journal.source_account_id }}) -->
|
||||
<!-- Destination: {{ journal.destination_account_name }} ({{ journal.destination_account_id }}) -->
|
||||
<!-- {{ $journal['transaction_type_type'] }} -->
|
||||
<!-- Source: {{ $journal['source_account_name'] }} ({{ $journal['source_account_id'] }}) -->
|
||||
<!-- Destination: {{ $journal['destination_account_name'] }} ({{ $journal['destination_account_id'] }}) -->
|
||||
<td class="position-relative">
|
||||
{% if journal.reconciled == true %}
|
||||
<a href="{{ route('accounts.show', [journal.source_account_id]) }}">{{ journal.source_account_name }}</a>
|
||||
@if(true === $journal['reconciled'])
|
||||
<a href="{{ route('accounts.show', [$journal['source_account_id']]) }}">{{ $journal['source_account_name'] }}</a>
|
||||
@endif
|
||||
{% if journal.reconciled == false %}
|
||||
@if(false === $journal['reconciled'])
|
||||
{{-- SOURCE ACCOUNT ID FOR TRANSFER OR WITHDRAWAL --}}
|
||||
{% if journal.transaction_type_type == 'Transfer' or journal.transaction_type_type == 'Withdrawal' %}
|
||||
<select class="form-control input-sm" name="source_id[{{ journal.transaction_journal_id }}]">
|
||||
{% for account in withdrawalSources %}
|
||||
<option value="{{ account.id }}"{% if account.id == journal.source_account_id %} selected@endif
|
||||
label="{{ account.name }}">{{ account.name }}</option>
|
||||
@if($journal['transaction_type_type'] == 'Transfer' or $journal['transaction_type_type'] == 'Withdrawal')
|
||||
<select class="form-control input-sm" name="source_id[{{ $journal['transaction_journal_id'] }}]">
|
||||
@foreach($withdrawalSources as $account)
|
||||
<option value="{{ $account->id }}" @if($account->id === $journal['source_account_id']) selected @endif
|
||||
label="{{ $account->name }}">{{ $account->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@endif
|
||||
|
||||
{{-- SOURCE ACCOUNT NAME FOR DEPOSIT --}}
|
||||
{% if journal.transaction_type_type == 'Deposit' %}
|
||||
@if($journal['transaction_type_type'] == 'Deposit')
|
||||
<input class="form-control input-sm" spellcheck="false"
|
||||
placeholder="{% if journal.source_type != 'Cash account' %}{{ journal.source_account_name }}@endif"
|
||||
placeholder="@if($journal['source_account_type'] !== 'Cash account'){{ $journal['source_account_name'] }}@endif"
|
||||
autocomplete="off"
|
||||
name="source_name[{{ journal.transaction_journal_id }}]" type="text"
|
||||
value="{% if journal.source_type != 'Cash account' %}{{ journal.source_account_name }}@endif">
|
||||
name="source_name[{{ $journal['transaction_journal_id'] }}]" type="text"
|
||||
value="@if($journal['source_account_type'] !== 'Cash account'){{ $journal['source_account_name'] }}@endif">
|
||||
@endif
|
||||
@endif
|
||||
</td>
|
||||
<td class="position-relative">
|
||||
{% if journal.reconciled == true %}
|
||||
<a href="{{ route('accounts.show', [journal.destination_account_id]) }}">{{ journal.destination_account_name }}</a>
|
||||
@if(true === $journal['reconciled'])
|
||||
<a href="{{ route('accounts.show', [$journal['destination_account_id']]) }}">{{ $journal['destination_account_name'] }}</a>
|
||||
@endif
|
||||
{% if journal.reconciled == false %}
|
||||
@if(false === $journal['reconciled'])
|
||||
{{-- DESTINATION ACCOUNT NAME FOR TRANSFER AND DEPOSIT --}}
|
||||
{% if journal.transaction_type_type == 'Transfer' or journal.transaction_type_type == 'Deposit' %}
|
||||
|
||||
<select class="form-control input-sm" name="destination_id[{{ journal.transaction_journal_id }}]">
|
||||
{% for account in depositDestinations %}
|
||||
<option value="{{ account.id }}"{% if account.id == journal.destination_account_id %} selected="selected"@endif
|
||||
label="{{ account.name }}">{{ account.name }}</option>
|
||||
@if($journal['transaction_type_type'] == 'Transfer' || $journal['transaction_type_type'] == 'Deposit')
|
||||
<select class="form-control input-sm" name="destination_id[{{ $journal['transaction_journal_id'] }}]">
|
||||
@foreach($depositDestinations as $account)
|
||||
<option value="{{ $account->id }}" @if($account->id === $journal['destination_account_id']) selected="selected" @endif
|
||||
label="{{ $account->name }}">{{ $account->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@endif
|
||||
|
||||
{{-- DESTINATION ACCOUNT NAME FOR WITHDRAWAL --}}
|
||||
{% if journal.transaction_type_type == 'Withdrawal' %}
|
||||
@if($journal['transaction_type_type'] === 'Withdrawal')
|
||||
<input class="form-control input-sm" spellcheck="false"
|
||||
placeholder="{% if journal.destination_type != 'Cash account' %}{{ journal.destination_account_name }}@endif"
|
||||
name="destination_name[{{ journal.transaction_journal_id }}]" type="text" autocomplete="off"
|
||||
value="{% if journal.destination_type != 'Cash account' %}{{ journal.destination_account_name }}@endif">
|
||||
placeholder="@if($journal['destination_type'] !== 'Cash account'){{ $journal['destination_account_name'] }}@endif"
|
||||
name="destination_name[{{ $journal['transaction_journal_id'] }}]" type="text" autocomplete="off"
|
||||
value="@if($journal['destination_type'] !== 'Cash account'){{ $journal['destination_account_name'] }}@endif">
|
||||
@endif
|
||||
@endif
|
||||
</td>
|
||||
{{-- category --}}
|
||||
<td class="position-relative">
|
||||
<input class="form-control input-sm" placeholder="{{ journal['category_name'] }}" autocomplete="off" spellcheck="false"
|
||||
name="category[{{ journal.transaction_journal_id }}]" type="text" value="{{ journal['category_name'] }}">
|
||||
<input class="form-control input-sm" placeholder="{{ $journal['category_name'] }}" autocomplete="off" spellcheck="false"
|
||||
name="category[{{ $journal['transaction_journal_id'] }}]" type="text" value="{{ $journal['category_name'] }}">
|
||||
</td>
|
||||
{{-- budget --}}
|
||||
<td>
|
||||
{% if journal.transaction_type_type == 'Withdrawal' %}
|
||||
<select class="form-control input-sm" name="budget_id[{{ journal.transaction_journal_id }}]">
|
||||
@if($journal['transaction_type_type'] === 'Withdrawal')
|
||||
<select class="form-control input-sm" name="budget_id[{{ $journal['transaction_journal_id'] }}]">
|
||||
<option value="0" label="({{ __('firefly.no_budget') }})"
|
||||
{% if journal.budget_id == 0 %}selected="selected"@endif
|
||||
>{{ __('firefly.no_budget') }}
|
||||
</option>
|
||||
{% for budget in budgets %}
|
||||
<option value="{{ budget.id }}"{% if budget.id == journal.budget_id %} selected="selected"@endif
|
||||
label="{{ budget.name }}">{{ budget.name }}</option>
|
||||
@if($journal['budget_id'] === 0) selected="selected" @endif>{{ __('firefly.no_budget') }}</option>
|
||||
@foreach($budgets as $budget)
|
||||
<option value="{{ $budget->id }}"@if($budget->id === $journal['budget_id']) selected="selected"@endif
|
||||
label="{{ $budget->name }}">{{ $budget->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@endif
|
||||
@@ -176,6 +173,7 @@
|
||||
</form>
|
||||
@endsection
|
||||
@section('scripts')
|
||||
@vite(['js/pages/generic.js'])
|
||||
<script type="text/javascript" nonce="{{ $JS_NONCE }}">
|
||||
var what = "";
|
||||
</script>
|
||||
@@ -183,3 +181,6 @@
|
||||
<script type="text/javascript" src="v1/js/ff/common/autocomplete.js?v={{ $FF_BUILD_TIME }}" nonce="{{ $JS_NONCE }}"></script>
|
||||
<script type="text/javascript" src="v1/js/ff/transactions/mass/edit.js?v={{ $FF_BUILD_TIME }}" nonce="{{ $JS_NONCE }}"></script>
|
||||
@endsection
|
||||
@section('scripts')
|
||||
@vite(['js/pages/generic.js'])
|
||||
@endsection
|
||||
|
||||
@@ -1,18 +1,13 @@
|
||||
@extends('layout.v3.session')
|
||||
|
||||
|
||||
{{ Breadcrumbs.render(Route.getCurrentRoute.getName, journal) }}
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<form method="POST" action="{{ route('transactions.destroy',journal.id) }}" accept-charset="UTF-8" class="form-horizontal" id="destroy">
|
||||
<form method="POST" action="{{ route('transactions.destroy', [$journal->id]) }}" accept-charset="UTF-8" class="form-horizontal" id="destroy">
|
||||
<input name="_token" type="hidden" value="{{ csrf_token() }}">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-6 offset-lg-3 col-md-6 col-sm-12">
|
||||
<div class="card card-danger card-outline">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title">{{ trans('form.delete_journal', {'description': journal.description}) }}</h3>
|
||||
<h3 class="card-title">{{ trans('form.delete_journal', ['description' => $journal->description]) }}</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<p class="text-danger">
|
||||
@@ -20,18 +15,18 @@
|
||||
</p>
|
||||
|
||||
<p>
|
||||
{{ trans('form.journal_areYouSure', {'description': journal.description}) }}
|
||||
{{ trans('form.journal_areYouSure', ['description' => $journal->description]) }}
|
||||
</p>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<input type="submit" name="submit" value="{{ trans('form.deletePermanently') }}" class="btn btn-danger text-end"/>
|
||||
{% if journal.transactiontype.type == 'Withdrawal' %}
|
||||
<div class="card-footer text-end">
|
||||
<input type="submit" name="submit" value="{{ trans('form.deletePermanently') }}" class="btn btn-danger"/>
|
||||
@if('Withdrawal' === $journal->transaction_type_type)
|
||||
<a href="{{ route('transactions.index','withdrawal') }}" class="btn-outline-secondary btn">{{ trans('form.cancel') }}</a>
|
||||
@endif
|
||||
{% if journal.transactiontype.type == 'Deposit' %}
|
||||
@if('Deposit' === $journal->transaction_type_type)
|
||||
<a href="{{ route('transactions.index','deposit') }}" class="btn-outline-secondary btn">{{ trans('form.cancel') }}</a>
|
||||
@endif
|
||||
{% if journal.transactiontype.type == 'Transfer' %}
|
||||
@if('Transfer' === $journal->transaction_type_type)
|
||||
<a href="{{ route('transactions.index','transfers') }}" class="btn-outline-secondary btn">{{ trans('form.cancel') }}</a>
|
||||
@endif
|
||||
</div>
|
||||
@@ -41,3 +36,6 @@
|
||||
|
||||
</form>
|
||||
@endsection
|
||||
@section('scripts')
|
||||
@vite(['js/pages/generic.js'])
|
||||
@endsection
|
||||
|
||||
-118
@@ -1,118 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<base href="{{ route('index') }}/">
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<title>Firefly III v{{ config('firefly.version') }} - {{ 'authorization'|_ }}</title>
|
||||
|
||||
{{-- CSS things --}}
|
||||
{{-- libraries --}}
|
||||
<link href="v1/lib/bs/css/bootstrap.min.css?v={{ $FF_BUILD_TIME }}" rel="stylesheet" type="text/css"
|
||||
nonce="{{ $JS_NONCE }}">
|
||||
<link href="v1/lib/fa/css/font-awesome.min.css?v={{ $FF_BUILD_TIME }}" rel="stylesheet" type="text/css"
|
||||
nonce="{{ $JS_NONCE }}">
|
||||
|
||||
{{-- the theme --}}
|
||||
<link href="v1/lib/adminlte/css/AdminLTE.min.css?v={{ $FF_BUILD_TIME }}" rel="stylesheet" type="text/css"
|
||||
nonce="{{ $JS_NONCE }}">
|
||||
|
||||
{{-- Firefly III customisations --}}
|
||||
<link href="v1/css/firefly.css?v={{ $FF_BUILD_TIME }}" rel="stylesheet" type="text/css" nonce="{{ $JS_NONCE }}">
|
||||
|
||||
<style>
|
||||
.passport-authorize .container {
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
.passport-authorize .scopes {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.passport-authorize .buttons {
|
||||
margin-top: 25px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.passport-authorize .btn {
|
||||
width: 125px;
|
||||
}
|
||||
|
||||
.passport-authorize .btn-approve {
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
.passport-authorize form {
|
||||
display: inline;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="passport-authorize">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
{{ trans('firefly.authorization_request', {version: config('firefly.version')}) }}
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
{% if client.user.id == user.id %}
|
||||
<p>
|
||||
{{ trans('firefly.authorization_request_intro', {client: client.name|escape})|raw }}
|
||||
</p>
|
||||
<p>
|
||||
{{ trans('firefly.authorization_request_site', {url: client.redirect|phphost})|raw }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
{% if client.user.id != user.id %}
|
||||
<p class="text-danger">
|
||||
{{ 'authorization_request_invalid'|_ }}
|
||||
|
||||
</p>
|
||||
@endif
|
||||
<!-- Scope List -->
|
||||
{% if scopes|length > 0 %}
|
||||
<div class="scopes">
|
||||
<p><strong>{{ 'scopes_will_be_able'|_ }}</strong></p>
|
||||
|
||||
<ul>
|
||||
{% for scope in scopes %}
|
||||
<li>{{ scope.description }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="buttons">
|
||||
<!-- Authorize Button -->
|
||||
{% if client.user.id == user.id %}
|
||||
<form method="post" action="{{ route('index') }}/oauth/authorize">
|
||||
{{ csrf_field() }}
|
||||
|
||||
<input type="hidden" name="state" value="{{ request.state }}">
|
||||
<input type="hidden" name="client_id" value="{{ client.id }}">
|
||||
<button type="submit"
|
||||
class="btn btn-success btn-approve">{{ 'button_authorize'|_ }}</button>
|
||||
</form>
|
||||
@endif
|
||||
|
||||
<!-- Cancel Button -->
|
||||
<form method="post" action="{{ route('index') }}/oauth/authorize">
|
||||
{{ csrf_field() }}
|
||||
{{ method_field('DELETE') }}
|
||||
|
||||
<input type="hidden" name="state" value="{{ request.state }}">
|
||||
<input type="hidden" name="client_id" value="{{ client.id }}">
|
||||
<button class="btn btn-danger">{{ 'cancel'|_ }}</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,14 +1,244 @@
|
||||
{% set VUE_SCRIPT_NAME = 'webhooks/show' %}
|
||||
@extends('layout.v3.session')
|
||||
|
||||
{{ Breadcrumbs.render(Route.getCurrentRoute.getName, webhook) }}
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<div id="webhooks_show"></div>
|
||||
<div>
|
||||
<template x-if="success_message !== ''">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="alert alert-success alert-dismissible" role="alert">
|
||||
<button class="close" data-dismiss="alert" type="button" aria-label="{{ __('firefly.close') }}"><span aria-hidden="true">×</span></button>
|
||||
<strong>{{ __("firefly.flash_success") }}</strong> <span x-html="success_message"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h3 class="box-title"><span x-text="title"></span></h3>
|
||||
</div>
|
||||
<div class="card-body p-0">
|
||||
<table class="table table-hover" aria-label="A table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="width:40%;"><strong>{{ __('list.title') }}</strong></td>
|
||||
<td><span x-text="title"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width:40%;"><strong>{{ __('list.active') }}</strong></td>
|
||||
<td>
|
||||
<em class="fa fa-check text-success" v-if="active"></em>
|
||||
<em class="fa fa-times text-danger" v-if="!active"></em>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width:40%;"><strong>{{ __('list.trigger') }}</strong></td>
|
||||
<td>
|
||||
<span v-for="trigger in triggers" :key="trigger">
|
||||
{{ __('firefly.webhook_trigger_' + trigger) }}<br>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width:40%;"><strong>{{ __('list.response') }}</strong></td>
|
||||
<td>
|
||||
<span v-for="response in responses" :key="response">
|
||||
{{ __('firefly.webhook_response_' + response) }}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width:40%;"><strong>{{ __('list.delivery') }}</strong></td>
|
||||
<td>
|
||||
<span v-for="delivery in deliveries" :key="delivery">
|
||||
{{ __('firefly.webhook_delivery_' + delivery) }}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="box-footer">
|
||||
<div class="btn-group pull-right">
|
||||
<a :href=edit_url class="btn btn-default"><em class="fa fa-pencil"></em> {{ __('firefly.edit') }}</a>
|
||||
<a id="triggerButton" v-if="active" href="#" @click="submitTest" :class="disabledTrigger ? 'btn btn-default disabled ' : 'btn btn-default'"><em
|
||||
class="fa fa-bolt"></em>
|
||||
{{ __('list.trigger') }}
|
||||
</a>
|
||||
<a :href=delete_url class="btn btn-danger"><em class="fa fa-trash"></em> {{ __('firefly.delete') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<div class="box">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">{{ __('firefly.meta_data') }}</h3>
|
||||
</div>
|
||||
<div class="card-body p-0">
|
||||
<table class="table table-hover" aria-label="A table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="width:40%;"><strong>{{ __('list.url') }}</strong></td>
|
||||
<td><input type="text" readonly class="form-control" :value=url></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width:40%;"><strong>
|
||||
{{ __('list.secret') }}
|
||||
</strong>
|
||||
</td>
|
||||
<td>
|
||||
<em style="cursor:pointer"
|
||||
v-if="show_secret" class="fa fa-eye" @click="toggleSecret"></em>
|
||||
<em style="cursor:pointer"
|
||||
v-if="!show_secret" class="fa fa-eye-slash" @click="toggleSecret"></em>
|
||||
<code v-if="show_secret">{{ secret }}</code>
|
||||
<code v-if="!show_secret">********</code>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="box-footer">
|
||||
<a :href=url class="btn btn-default">
|
||||
<em class="fa fa-globe-europe"></em> {{ __('firefly.visit_webhook_url') }}
|
||||
</a>
|
||||
<a @click="resetSecret" class="btn btn-default">
|
||||
<em class="fa fa-lock"></em> {{ __('firefly.reset_webhook_secret') }}
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="box">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">{{ __('firefly.webhook_messages') }}</h3>
|
||||
</div>
|
||||
<div class="box-body" v-if="messages.length === 0 && !loading">
|
||||
<p>
|
||||
{{ __('firefly.no_webhook_messages') }}
|
||||
</p>
|
||||
</div>
|
||||
<div class="box-body" v-if="loading">
|
||||
<p class="text-center">
|
||||
<em class="fa fa-spin fa-spinner"></em>
|
||||
</p>
|
||||
</div>
|
||||
<div class="card-body p-0" v-if="messages.length > 0 && !loading">
|
||||
<table class="table table-hover" aria-label="A table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
Date and time
|
||||
</th>
|
||||
<th>
|
||||
UID
|
||||
</th>
|
||||
<th>
|
||||
Success?
|
||||
</th>
|
||||
<th>
|
||||
More details
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="message in messages">
|
||||
<td>
|
||||
{{ message.created_at }}
|
||||
</td>
|
||||
<td>
|
||||
{{ message.uuid }}
|
||||
</td>
|
||||
<td>
|
||||
<em class="fa fa-check text-success" v-if="message.success"></em>
|
||||
<em class="fa fa-times text-danger" v-if="!message.success"></em>
|
||||
</td>
|
||||
<td>
|
||||
<a @click="showWebhookMessage(message.id)" class="btn btn-default">
|
||||
<em class="fa fa-envelope"></em>
|
||||
{{ __('firefly.view_message') }}
|
||||
</a>
|
||||
<a @click="showWebhookAttempts(message.id)" class="btn btn-default">
|
||||
<em class="fa fa-cloud-upload"></em>
|
||||
{{ __('firefly.view_attempts') }}
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- modal for message content -->
|
||||
<div class="modal fade" id="messageModal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog modal-lg">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title">{{ __('firefly.message_content_title') }}</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>
|
||||
{{ __('firefly.message_content_help') }}
|
||||
</p>
|
||||
<textarea class="form-control" rows="10" readonly>{{ message_content }}</textarea>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{ __('firefly.close') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- modal for message attempts -->
|
||||
<div class="modal fade" id="attemptModal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog modal-lg">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title">{{ __('firefly.attempt_content_title') }}</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>
|
||||
{{ __('firefly.attempt_content_help') }}
|
||||
</p>
|
||||
<p v-if="0===message_attempts.length">
|
||||
<em>
|
||||
{{ __('firefly.no_attempts') }}
|
||||
</em>
|
||||
</p>
|
||||
<div v-for="message in message_attempts" style="border:1px #eee solid;margin-bottom:0.5em;">
|
||||
<strong>
|
||||
{{ __('firefly.webhook_attempt_at', {moment: message.created_at}) }}
|
||||
<span class="text-danger">({{ message.status_code }})</span>
|
||||
</strong>
|
||||
<p>
|
||||
{{ __('firefly.logs') }}: <br/>
|
||||
<textarea class="form-control" rows="5" readonly>{{ message.logs }}</textarea>
|
||||
</p>
|
||||
<p v-if="null !== message.response">
|
||||
{{ __('firefly.response') }}: <br/>
|
||||
<textarea class="form-control" rows="5" readonly>{{ message.response }}</textarea>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{ __('firefly.close') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@section('scripts')
|
||||
<script type="text/javascript" nonce="{{ $JS_NONCE }}">
|
||||
var previousUrl = '{{ previousUrl }}';
|
||||
var previousUrl = '{{ $previousUrl ?? '' }}';
|
||||
</script>
|
||||
@endsection
|
||||
|
||||
Reference in New Issue
Block a user