mirror of
https://github.com/crater-invoice/crater.git
synced 2025-10-28 12:11:08 -04:00
Compare commits
1 Commits
tax-calcul
...
dependabot
| Author | SHA1 | Date | |
|---|---|---|---|
| cc89285caa |
3
.gitignore
vendored
3
.gitignore
vendored
@ -16,5 +16,4 @@ Homestead.yaml
|
|||||||
.gitkeep
|
.gitkeep
|
||||||
/public/docs
|
/public/docs
|
||||||
/.scribe
|
/.scribe
|
||||||
!storage/fonts/.gitkeep
|
!storage/fonts/.gitkeep
|
||||||
.DS_Store
|
|
||||||
@ -45,21 +45,15 @@ class EstimatesRequest extends FormRequest
|
|||||||
'nullable'
|
'nullable'
|
||||||
],
|
],
|
||||||
'discount' => [
|
'discount' => [
|
||||||
'numeric',
|
|
||||||
'required',
|
'required',
|
||||||
],
|
],
|
||||||
'discount_val' => [
|
'discount_val' => [
|
||||||
'integer',
|
|
||||||
'required',
|
'required',
|
||||||
],
|
],
|
||||||
'sub_total' => [
|
'sub_total' => [
|
||||||
'integer',
|
|
||||||
'required',
|
'required',
|
||||||
],
|
],
|
||||||
'total' => [
|
'total' => [
|
||||||
'integer',
|
|
||||||
'numeric',
|
|
||||||
'max:99999999',
|
|
||||||
'required',
|
'required',
|
||||||
],
|
],
|
||||||
'tax' => [
|
'tax' => [
|
||||||
@ -83,11 +77,9 @@ class EstimatesRequest extends FormRequest
|
|||||||
'required',
|
'required',
|
||||||
],
|
],
|
||||||
'items.*.quantity' => [
|
'items.*.quantity' => [
|
||||||
'integer',
|
|
||||||
'required',
|
'required',
|
||||||
],
|
],
|
||||||
'items.*.price' => [
|
'items.*.price' => [
|
||||||
'integer',
|
|
||||||
'required',
|
'required',
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|||||||
@ -45,21 +45,15 @@ class InvoicesRequest extends FormRequest
|
|||||||
'nullable'
|
'nullable'
|
||||||
],
|
],
|
||||||
'discount' => [
|
'discount' => [
|
||||||
'numeric',
|
|
||||||
'required',
|
'required',
|
||||||
],
|
],
|
||||||
'discount_val' => [
|
'discount_val' => [
|
||||||
'integer',
|
|
||||||
'required',
|
'required',
|
||||||
],
|
],
|
||||||
'sub_total' => [
|
'sub_total' => [
|
||||||
'integer',
|
|
||||||
'required',
|
'required',
|
||||||
],
|
],
|
||||||
'total' => [
|
'total' => [
|
||||||
'integer',
|
|
||||||
'numeric',
|
|
||||||
'max:99999999',
|
|
||||||
'required',
|
'required',
|
||||||
],
|
],
|
||||||
'tax' => [
|
'tax' => [
|
||||||
@ -83,11 +77,9 @@ class InvoicesRequest extends FormRequest
|
|||||||
'required',
|
'required',
|
||||||
],
|
],
|
||||||
'items.*.quantity' => [
|
'items.*.quantity' => [
|
||||||
'integer',
|
|
||||||
'required',
|
'required',
|
||||||
],
|
],
|
||||||
'items.*.price' => [
|
'items.*.price' => [
|
||||||
'integer',
|
|
||||||
'required',
|
'required',
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|||||||
@ -43,21 +43,15 @@ class RecurringInvoiceRequest extends FormRequest
|
|||||||
'nullable'
|
'nullable'
|
||||||
],
|
],
|
||||||
'discount' => [
|
'discount' => [
|
||||||
'numeric',
|
|
||||||
'required',
|
'required',
|
||||||
],
|
],
|
||||||
'discount_val' => [
|
'discount_val' => [
|
||||||
'integer',
|
|
||||||
'required',
|
'required',
|
||||||
],
|
],
|
||||||
'sub_total' => [
|
'sub_total' => [
|
||||||
'integer',
|
|
||||||
'required',
|
'required',
|
||||||
],
|
],
|
||||||
'total' => [
|
'total' => [
|
||||||
'integer',
|
|
||||||
'numeric',
|
|
||||||
'max:99999999',
|
|
||||||
'required',
|
'required',
|
||||||
],
|
],
|
||||||
'tax' => [
|
'tax' => [
|
||||||
|
|||||||
263
composer.lock
generated
263
composer.lock
generated
@ -4390,25 +4390,30 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpdocumentor/type-resolver",
|
"name": "phpdocumentor/type-resolver",
|
||||||
"version": "1.6.1",
|
"version": "1.6.2",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/phpDocumentor/TypeResolver.git",
|
"url": "https://github.com/phpDocumentor/TypeResolver.git",
|
||||||
"reference": "77a32518733312af16a44300404e945338981de3"
|
"reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/77a32518733312af16a44300404e945338981de3",
|
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/48f445a408c131e38cab1c235aa6d2bb7a0bb20d",
|
||||||
"reference": "77a32518733312af16a44300404e945338981de3",
|
"reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^7.2 || ^8.0",
|
"php": "^7.4 || ^8.0",
|
||||||
"phpdocumentor/reflection-common": "^2.0"
|
"phpdocumentor/reflection-common": "^2.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"ext-tokenizer": "*",
|
"ext-tokenizer": "*",
|
||||||
"psalm/phar": "^4.8"
|
"phpstan/extension-installer": "^1.1",
|
||||||
|
"phpstan/phpstan": "^1.8",
|
||||||
|
"phpstan/phpstan-phpunit": "^1.1",
|
||||||
|
"phpunit/phpunit": "^9.5",
|
||||||
|
"rector/rector": "^0.13.9",
|
||||||
|
"vimeo/psalm": "^4.25"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
@ -4434,9 +4439,9 @@
|
|||||||
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
|
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/phpDocumentor/TypeResolver/issues",
|
"issues": "https://github.com/phpDocumentor/TypeResolver/issues",
|
||||||
"source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.1"
|
"source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.2"
|
||||||
},
|
},
|
||||||
"time": "2022-03-15T21:29:03+00:00"
|
"time": "2022-10-14T12:47:21+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpoption/phpoption",
|
"name": "phpoption/phpoption",
|
||||||
@ -7666,7 +7671,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/deprecation-contracts",
|
"name": "symfony/deprecation-contracts",
|
||||||
"version": "v3.0.1",
|
"version": "v3.0.2",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/deprecation-contracts.git",
|
"url": "https://github.com/symfony/deprecation-contracts.git",
|
||||||
@ -7713,7 +7718,7 @@
|
|||||||
"description": "A generic function and convention to trigger deprecation notices",
|
"description": "A generic function and convention to trigger deprecation notices",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.0.1"
|
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.0.2"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -7733,16 +7738,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/error-handler",
|
"name": "symfony/error-handler",
|
||||||
"version": "v5.4.9",
|
"version": "v5.4.19",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/error-handler.git",
|
"url": "https://github.com/symfony/error-handler.git",
|
||||||
"reference": "c116cda1f51c678782768dce89a45f13c949455d"
|
"reference": "438ef3e5e6481244785da3ce8cf8f4e74e7f2822"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/error-handler/zipball/c116cda1f51c678782768dce89a45f13c949455d",
|
"url": "https://api.github.com/repos/symfony/error-handler/zipball/438ef3e5e6481244785da3ce8cf8f4e74e7f2822",
|
||||||
"reference": "c116cda1f51c678782768dce89a45f13c949455d",
|
"reference": "438ef3e5e6481244785da3ce8cf8f4e74e7f2822",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -7784,7 +7789,7 @@
|
|||||||
"description": "Provides tools to manage errors and ease debugging PHP code",
|
"description": "Provides tools to manage errors and ease debugging PHP code",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/error-handler/tree/v5.4.9"
|
"source": "https://github.com/symfony/error-handler/tree/v5.4.19"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -7800,20 +7805,20 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-05-21T13:57:48+00:00"
|
"time": "2023-01-01T08:32:19+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/event-dispatcher",
|
"name": "symfony/event-dispatcher",
|
||||||
"version": "v6.0.9",
|
"version": "v6.0.19",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/event-dispatcher.git",
|
"url": "https://github.com/symfony/event-dispatcher.git",
|
||||||
"reference": "5c85b58422865d42c6eb46f7693339056db098a8"
|
"reference": "2eaf8e63bc5b8cefabd4a800157f0d0c094f677a"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/5c85b58422865d42c6eb46f7693339056db098a8",
|
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/2eaf8e63bc5b8cefabd4a800157f0d0c094f677a",
|
||||||
"reference": "5c85b58422865d42c6eb46f7693339056db098a8",
|
"reference": "2eaf8e63bc5b8cefabd4a800157f0d0c094f677a",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -7867,7 +7872,7 @@
|
|||||||
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
|
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/event-dispatcher/tree/v6.0.9"
|
"source": "https://github.com/symfony/event-dispatcher/tree/v6.0.19"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -7883,11 +7888,11 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-05-05T16:45:52+00:00"
|
"time": "2023-01-01T08:36:10+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/event-dispatcher-contracts",
|
"name": "symfony/event-dispatcher-contracts",
|
||||||
"version": "v3.0.1",
|
"version": "v3.0.2",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
|
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
|
||||||
@ -7946,7 +7951,7 @@
|
|||||||
"standards"
|
"standards"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.0.1"
|
"source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.0.2"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -8029,16 +8034,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/http-foundation",
|
"name": "symfony/http-foundation",
|
||||||
"version": "v5.4.9",
|
"version": "v5.4.20",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/http-foundation.git",
|
"url": "https://github.com/symfony/http-foundation.git",
|
||||||
"reference": "6b0d0e4aca38d57605dcd11e2416994b38774522"
|
"reference": "d0435363362a47c14e9cf50663cb8ffbf491875a"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/6b0d0e4aca38d57605dcd11e2416994b38774522",
|
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/d0435363362a47c14e9cf50663cb8ffbf491875a",
|
||||||
"reference": "6b0d0e4aca38d57605dcd11e2416994b38774522",
|
"reference": "d0435363362a47c14e9cf50663cb8ffbf491875a",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -8050,8 +8055,11 @@
|
|||||||
"require-dev": {
|
"require-dev": {
|
||||||
"predis/predis": "~1.0",
|
"predis/predis": "~1.0",
|
||||||
"symfony/cache": "^4.4|^5.0|^6.0",
|
"symfony/cache": "^4.4|^5.0|^6.0",
|
||||||
|
"symfony/dependency-injection": "^5.4|^6.0",
|
||||||
"symfony/expression-language": "^4.4|^5.0|^6.0",
|
"symfony/expression-language": "^4.4|^5.0|^6.0",
|
||||||
"symfony/mime": "^4.4|^5.0|^6.0"
|
"symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4",
|
||||||
|
"symfony/mime": "^4.4|^5.0|^6.0",
|
||||||
|
"symfony/rate-limiter": "^5.2|^6.0"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"symfony/mime": "To use the file extension guesser"
|
"symfony/mime": "To use the file extension guesser"
|
||||||
@ -8082,7 +8090,7 @@
|
|||||||
"description": "Defines an object-oriented layer for the HTTP specification",
|
"description": "Defines an object-oriented layer for the HTTP specification",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/http-foundation/tree/v5.4.9"
|
"source": "https://github.com/symfony/http-foundation/tree/v5.4.20"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -8098,20 +8106,20 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-05-17T15:07:29+00:00"
|
"time": "2023-01-29T11:11:52+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/http-kernel",
|
"name": "symfony/http-kernel",
|
||||||
"version": "v5.4.9",
|
"version": "v5.4.20",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/http-kernel.git",
|
"url": "https://github.com/symfony/http-kernel.git",
|
||||||
"reference": "34b121ad3dc761f35fe1346d2f15618f8cbf77f8"
|
"reference": "aaeec341582d3c160cc9ecfa8b2419ba6c69954e"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/34b121ad3dc761f35fe1346d2f15618f8cbf77f8",
|
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/aaeec341582d3c160cc9ecfa8b2419ba6c69954e",
|
||||||
"reference": "34b121ad3dc761f35fe1346d2f15618f8cbf77f8",
|
"reference": "aaeec341582d3c160cc9ecfa8b2419ba6c69954e",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -8194,7 +8202,7 @@
|
|||||||
"description": "Provides a structured process for converting a Request into a Response",
|
"description": "Provides a structured process for converting a Request into a Response",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/http-kernel/tree/v5.4.9"
|
"source": "https://github.com/symfony/http-kernel/tree/v5.4.20"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -8210,20 +8218,20 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-05-27T07:09:08+00:00"
|
"time": "2023-02-01T08:18:48+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/mime",
|
"name": "symfony/mime",
|
||||||
"version": "v5.4.9",
|
"version": "v5.4.19",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/mime.git",
|
"url": "https://github.com/symfony/mime.git",
|
||||||
"reference": "2b3802a24e48d0cfccf885173d2aac91e73df92e"
|
"reference": "a858429a9c704edc53fe057228cf9ca282ba48eb"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/mime/zipball/2b3802a24e48d0cfccf885173d2aac91e73df92e",
|
"url": "https://api.github.com/repos/symfony/mime/zipball/a858429a9c704edc53fe057228cf9ca282ba48eb",
|
||||||
"reference": "2b3802a24e48d0cfccf885173d2aac91e73df92e",
|
"reference": "a858429a9c704edc53fe057228cf9ca282ba48eb",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -8237,15 +8245,16 @@
|
|||||||
"egulias/email-validator": "~3.0.0",
|
"egulias/email-validator": "~3.0.0",
|
||||||
"phpdocumentor/reflection-docblock": "<3.2.2",
|
"phpdocumentor/reflection-docblock": "<3.2.2",
|
||||||
"phpdocumentor/type-resolver": "<1.4.0",
|
"phpdocumentor/type-resolver": "<1.4.0",
|
||||||
"symfony/mailer": "<4.4"
|
"symfony/mailer": "<4.4",
|
||||||
|
"symfony/serializer": "<5.4.14|>=6.0,<6.0.14|>=6.1,<6.1.6"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"egulias/email-validator": "^2.1.10|^3.1",
|
"egulias/email-validator": "^2.1.10|^3.1|^4",
|
||||||
"phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
|
"phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
|
||||||
"symfony/dependency-injection": "^4.4|^5.0|^6.0",
|
"symfony/dependency-injection": "^4.4|^5.0|^6.0",
|
||||||
"symfony/property-access": "^4.4|^5.1|^6.0",
|
"symfony/property-access": "^4.4|^5.1|^6.0",
|
||||||
"symfony/property-info": "^4.4|^5.1|^6.0",
|
"symfony/property-info": "^4.4|^5.1|^6.0",
|
||||||
"symfony/serializer": "^5.2|^6.0"
|
"symfony/serializer": "^5.4.14|~6.0.14|^6.1.6"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@ -8277,7 +8286,7 @@
|
|||||||
"mime-type"
|
"mime-type"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/mime/tree/v5.4.9"
|
"source": "https://github.com/symfony/mime/tree/v5.4.19"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -8293,20 +8302,20 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-05-21T10:24:18+00:00"
|
"time": "2023-01-09T05:43:46+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-ctype",
|
"name": "symfony/polyfill-ctype",
|
||||||
"version": "v1.26.0",
|
"version": "v1.27.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/polyfill-ctype.git",
|
"url": "https://github.com/symfony/polyfill-ctype.git",
|
||||||
"reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4"
|
"reference": "5bbc823adecdae860bb64756d639ecfec17b050a"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4",
|
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a",
|
||||||
"reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4",
|
"reference": "5bbc823adecdae860bb64756d639ecfec17b050a",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -8321,7 +8330,7 @@
|
|||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-main": "1.26-dev"
|
"dev-main": "1.27-dev"
|
||||||
},
|
},
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/polyfill",
|
"name": "symfony/polyfill",
|
||||||
@ -8359,7 +8368,7 @@
|
|||||||
"portable"
|
"portable"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.26.0"
|
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -8375,7 +8384,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-05-24T11:49:31+00:00"
|
"time": "2022-11-03T14:55:06+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-iconv",
|
"name": "symfony/polyfill-iconv",
|
||||||
@ -8462,16 +8471,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-intl-grapheme",
|
"name": "symfony/polyfill-intl-grapheme",
|
||||||
"version": "v1.26.0",
|
"version": "v1.27.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
|
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
|
||||||
"reference": "433d05519ce6990bf3530fba6957499d327395c2"
|
"reference": "511a08c03c1960e08a883f4cffcacd219b758354"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/433d05519ce6990bf3530fba6957499d327395c2",
|
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354",
|
||||||
"reference": "433d05519ce6990bf3530fba6957499d327395c2",
|
"reference": "511a08c03c1960e08a883f4cffcacd219b758354",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -8483,7 +8492,7 @@
|
|||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-main": "1.26-dev"
|
"dev-main": "1.27-dev"
|
||||||
},
|
},
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/polyfill",
|
"name": "symfony/polyfill",
|
||||||
@ -8523,7 +8532,7 @@
|
|||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.26.0"
|
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -8539,20 +8548,20 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-05-24T11:49:31+00:00"
|
"time": "2022-11-03T14:55:06+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-intl-idn",
|
"name": "symfony/polyfill-intl-idn",
|
||||||
"version": "v1.26.0",
|
"version": "v1.27.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/polyfill-intl-idn.git",
|
"url": "https://github.com/symfony/polyfill-intl-idn.git",
|
||||||
"reference": "59a8d271f00dd0e4c2e518104cc7963f655a1aa8"
|
"reference": "639084e360537a19f9ee352433b84ce831f3d2da"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/59a8d271f00dd0e4c2e518104cc7963f655a1aa8",
|
"url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/639084e360537a19f9ee352433b84ce831f3d2da",
|
||||||
"reference": "59a8d271f00dd0e4c2e518104cc7963f655a1aa8",
|
"reference": "639084e360537a19f9ee352433b84ce831f3d2da",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -8566,7 +8575,7 @@
|
|||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-main": "1.26-dev"
|
"dev-main": "1.27-dev"
|
||||||
},
|
},
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/polyfill",
|
"name": "symfony/polyfill",
|
||||||
@ -8610,7 +8619,7 @@
|
|||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.26.0"
|
"source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.27.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -8626,20 +8635,20 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-05-24T11:49:31+00:00"
|
"time": "2022-11-03T14:55:06+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-intl-normalizer",
|
"name": "symfony/polyfill-intl-normalizer",
|
||||||
"version": "v1.26.0",
|
"version": "v1.27.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
|
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
|
||||||
"reference": "219aa369ceff116e673852dce47c3a41794c14bd"
|
"reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/219aa369ceff116e673852dce47c3a41794c14bd",
|
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6",
|
||||||
"reference": "219aa369ceff116e673852dce47c3a41794c14bd",
|
"reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -8651,7 +8660,7 @@
|
|||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-main": "1.26-dev"
|
"dev-main": "1.27-dev"
|
||||||
},
|
},
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/polyfill",
|
"name": "symfony/polyfill",
|
||||||
@ -8694,7 +8703,7 @@
|
|||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.26.0"
|
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -8710,20 +8719,20 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-05-24T11:49:31+00:00"
|
"time": "2022-11-03T14:55:06+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-mbstring",
|
"name": "symfony/polyfill-mbstring",
|
||||||
"version": "v1.26.0",
|
"version": "v1.27.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
||||||
"reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e"
|
"reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e",
|
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
|
||||||
"reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e",
|
"reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -8738,7 +8747,7 @@
|
|||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-main": "1.26-dev"
|
"dev-main": "1.27-dev"
|
||||||
},
|
},
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/polyfill",
|
"name": "symfony/polyfill",
|
||||||
@ -8777,7 +8786,7 @@
|
|||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.26.0"
|
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -8793,20 +8802,20 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-05-24T11:49:31+00:00"
|
"time": "2022-11-03T14:55:06+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-php72",
|
"name": "symfony/polyfill-php72",
|
||||||
"version": "v1.26.0",
|
"version": "v1.27.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/polyfill-php72.git",
|
"url": "https://github.com/symfony/polyfill-php72.git",
|
||||||
"reference": "bf44a9fd41feaac72b074de600314a93e2ae78e2"
|
"reference": "869329b1e9894268a8a61dabb69153029b7a8c97"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/bf44a9fd41feaac72b074de600314a93e2ae78e2",
|
"url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/869329b1e9894268a8a61dabb69153029b7a8c97",
|
||||||
"reference": "bf44a9fd41feaac72b074de600314a93e2ae78e2",
|
"reference": "869329b1e9894268a8a61dabb69153029b7a8c97",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -8815,7 +8824,7 @@
|
|||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-main": "1.26-dev"
|
"dev-main": "1.27-dev"
|
||||||
},
|
},
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/polyfill",
|
"name": "symfony/polyfill",
|
||||||
@ -8853,7 +8862,7 @@
|
|||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/polyfill-php72/tree/v1.26.0"
|
"source": "https://github.com/symfony/polyfill-php72/tree/v1.27.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -8869,20 +8878,20 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-05-24T11:49:31+00:00"
|
"time": "2022-11-03T14:55:06+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-php73",
|
"name": "symfony/polyfill-php73",
|
||||||
"version": "v1.26.0",
|
"version": "v1.27.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/polyfill-php73.git",
|
"url": "https://github.com/symfony/polyfill-php73.git",
|
||||||
"reference": "e440d35fa0286f77fb45b79a03fedbeda9307e85"
|
"reference": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/e440d35fa0286f77fb45b79a03fedbeda9307e85",
|
"url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/9e8ecb5f92152187c4799efd3c96b78ccab18ff9",
|
||||||
"reference": "e440d35fa0286f77fb45b79a03fedbeda9307e85",
|
"reference": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -8891,7 +8900,7 @@
|
|||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-main": "1.26-dev"
|
"dev-main": "1.27-dev"
|
||||||
},
|
},
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/polyfill",
|
"name": "symfony/polyfill",
|
||||||
@ -8932,7 +8941,7 @@
|
|||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/polyfill-php73/tree/v1.26.0"
|
"source": "https://github.com/symfony/polyfill-php73/tree/v1.27.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -8948,20 +8957,20 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-05-24T11:49:31+00:00"
|
"time": "2022-11-03T14:55:06+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-php80",
|
"name": "symfony/polyfill-php80",
|
||||||
"version": "v1.26.0",
|
"version": "v1.27.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/polyfill-php80.git",
|
"url": "https://github.com/symfony/polyfill-php80.git",
|
||||||
"reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace"
|
"reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/cfa0ae98841b9e461207c13ab093d76b0fa7bace",
|
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",
|
||||||
"reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace",
|
"reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -8970,7 +8979,7 @@
|
|||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-main": "1.26-dev"
|
"dev-main": "1.27-dev"
|
||||||
},
|
},
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/polyfill",
|
"name": "symfony/polyfill",
|
||||||
@ -9015,7 +9024,7 @@
|
|||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/polyfill-php80/tree/v1.26.0"
|
"source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -9031,7 +9040,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-05-10T07:21:04+00:00"
|
"time": "2022-11-03T14:55:06+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-php81",
|
"name": "symfony/polyfill-php81",
|
||||||
@ -9266,16 +9275,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/service-contracts",
|
"name": "symfony/service-contracts",
|
||||||
"version": "v2.5.1",
|
"version": "v2.5.2",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/service-contracts.git",
|
"url": "https://github.com/symfony/service-contracts.git",
|
||||||
"reference": "24d9dc654b83e91aa59f9d167b131bc3b5bea24c"
|
"reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/24d9dc654b83e91aa59f9d167b131bc3b5bea24c",
|
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/4b426aac47d6427cc1a1d0f7e2ac724627f5966c",
|
||||||
"reference": "24d9dc654b83e91aa59f9d167b131bc3b5bea24c",
|
"reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -9329,7 +9338,7 @@
|
|||||||
"standards"
|
"standards"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/service-contracts/tree/v2.5.1"
|
"source": "https://github.com/symfony/service-contracts/tree/v2.5.2"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -9345,20 +9354,20 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-03-13T20:07:29+00:00"
|
"time": "2022-05-30T19:17:29+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/string",
|
"name": "symfony/string",
|
||||||
"version": "v6.0.9",
|
"version": "v6.0.19",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/string.git",
|
"url": "https://github.com/symfony/string.git",
|
||||||
"reference": "df9f03d595aa2d446498ba92fe803a519b2c43cc"
|
"reference": "d9e72497367c23e08bf94176d2be45b00a9d232a"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/string/zipball/df9f03d595aa2d446498ba92fe803a519b2c43cc",
|
"url": "https://api.github.com/repos/symfony/string/zipball/d9e72497367c23e08bf94176d2be45b00a9d232a",
|
||||||
"reference": "df9f03d595aa2d446498ba92fe803a519b2c43cc",
|
"reference": "d9e72497367c23e08bf94176d2be45b00a9d232a",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -9414,7 +9423,7 @@
|
|||||||
"utf8"
|
"utf8"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/string/tree/v6.0.9"
|
"source": "https://github.com/symfony/string/tree/v6.0.19"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -9430,7 +9439,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-04-22T08:18:02+00:00"
|
"time": "2023-01-01T08:36:10+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/translation",
|
"name": "symfony/translation",
|
||||||
@ -9529,16 +9538,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/translation-contracts",
|
"name": "symfony/translation-contracts",
|
||||||
"version": "v3.0.1",
|
"version": "v3.0.2",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/translation-contracts.git",
|
"url": "https://github.com/symfony/translation-contracts.git",
|
||||||
"reference": "c4183fc3ef0f0510893cbeedc7718fb5cafc9ac9"
|
"reference": "acbfbb274e730e5a0236f619b6168d9dedb3e282"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/translation-contracts/zipball/c4183fc3ef0f0510893cbeedc7718fb5cafc9ac9",
|
"url": "https://api.github.com/repos/symfony/translation-contracts/zipball/acbfbb274e730e5a0236f619b6168d9dedb3e282",
|
||||||
"reference": "c4183fc3ef0f0510893cbeedc7718fb5cafc9ac9",
|
"reference": "acbfbb274e730e5a0236f619b6168d9dedb3e282",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -9587,7 +9596,7 @@
|
|||||||
"standards"
|
"standards"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/translation-contracts/tree/v3.0.1"
|
"source": "https://github.com/symfony/translation-contracts/tree/v3.0.2"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -9603,20 +9612,20 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-01-02T09:55:41+00:00"
|
"time": "2022-06-27T17:10:44+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/var-dumper",
|
"name": "symfony/var-dumper",
|
||||||
"version": "v5.4.9",
|
"version": "v5.4.19",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/var-dumper.git",
|
"url": "https://github.com/symfony/var-dumper.git",
|
||||||
"reference": "af52239a330fafd192c773795520dc2dd62b5657"
|
"reference": "2944bbc23f5f8da2b962fbcbf7c4a6109b2f4b7b"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/af52239a330fafd192c773795520dc2dd62b5657",
|
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/2944bbc23f5f8da2b962fbcbf7c4a6109b2f4b7b",
|
||||||
"reference": "af52239a330fafd192c773795520dc2dd62b5657",
|
"reference": "2944bbc23f5f8da2b962fbcbf7c4a6109b2f4b7b",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -9676,7 +9685,7 @@
|
|||||||
"dump"
|
"dump"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/var-dumper/tree/v5.4.9"
|
"source": "https://github.com/symfony/var-dumper/tree/v5.4.19"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -9692,7 +9701,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-05-21T10:24:18+00:00"
|
"time": "2023-01-16T10:52:33+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "theseer/tokenizer",
|
"name": "theseer/tokenizer",
|
||||||
@ -11856,5 +11865,5 @@
|
|||||||
"php": "^7.4 || ^8.0"
|
"php": "^7.4 || ^8.0"
|
||||||
},
|
},
|
||||||
"platform-dev": [],
|
"platform-dev": [],
|
||||||
"plugin-api-version": "2.1.0"
|
"plugin-api-version": "2.3.0"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -27,7 +27,6 @@ return [
|
|||||||
'tokenizer',
|
'tokenizer',
|
||||||
'JSON',
|
'JSON',
|
||||||
'cURL',
|
'cURL',
|
||||||
'zip',
|
|
||||||
],
|
],
|
||||||
'apache' => [
|
'apache' => [
|
||||||
'mod_rewrite',
|
'mod_rewrite',
|
||||||
|
|||||||
@ -271,19 +271,23 @@ const price = computed({
|
|||||||
} else {
|
} else {
|
||||||
updateItemAttribute('price', newValue)
|
updateItemAttribute('price', newValue)
|
||||||
}
|
}
|
||||||
setDiscount()
|
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
const subtotal = computed(() => Math.round(props.itemData.price * props.itemData.quantity))
|
const subtotal = computed(() => props.itemData.price * props.itemData.quantity)
|
||||||
|
|
||||||
const discount = computed({
|
const discount = computed({
|
||||||
get: () => {
|
get: () => {
|
||||||
return props.itemData.discount
|
return props.itemData.discount
|
||||||
},
|
},
|
||||||
set: (newValue) => {
|
set: (newValue) => {
|
||||||
|
if (props.itemData.discount_type === 'percentage') {
|
||||||
|
updateItemAttribute('discount_val', (subtotal.value * newValue) / 100)
|
||||||
|
} else {
|
||||||
|
updateItemAttribute('discount_val', Math.round(newValue * 100))
|
||||||
|
}
|
||||||
|
|
||||||
updateItemAttribute('discount', newValue)
|
updateItemAttribute('discount', newValue)
|
||||||
setDiscount()
|
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -309,7 +313,7 @@ const showRemoveButton = computed(() => {
|
|||||||
const totalSimpleTax = computed(() => {
|
const totalSimpleTax = computed(() => {
|
||||||
return Math.round(
|
return Math.round(
|
||||||
sumBy(props.itemData.taxes, function (tax) {
|
sumBy(props.itemData.taxes, function (tax) {
|
||||||
if (tax.amount) {
|
if (!tax.compound_tax) {
|
||||||
return tax.amount
|
return tax.amount
|
||||||
}
|
}
|
||||||
return 0
|
return 0
|
||||||
@ -317,7 +321,18 @@ const totalSimpleTax = computed(() => {
|
|||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
const totalTax = computed(() => totalSimpleTax.value)
|
const totalCompoundTax = computed(() => {
|
||||||
|
return Math.round(
|
||||||
|
sumBy(props.itemData.taxes, function (tax) {
|
||||||
|
if (tax.compound_tax) {
|
||||||
|
return tax.amount
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
})
|
||||||
|
)
|
||||||
|
})
|
||||||
|
|
||||||
|
const totalTax = computed(() => totalSimpleTax.value + totalCompoundTax.value)
|
||||||
|
|
||||||
const rules = {
|
const rules = {
|
||||||
name: {
|
name: {
|
||||||
@ -384,7 +399,7 @@ const v$ = useVuelidate(
|
|||||||
|
|
||||||
function updateTax(data) {
|
function updateTax(data) {
|
||||||
props.store.$patch((state) => {
|
props.store.$patch((state) => {
|
||||||
state[props.storeProp].items[props.index]['taxes'][data.index] = data.item
|
state[props.storeProp].items[props.index]['taxes'][data.index] = data.item
|
||||||
})
|
})
|
||||||
|
|
||||||
let lastTax = props.itemData.taxes[props.itemData.taxes.length - 1]
|
let lastTax = props.itemData.taxes[props.itemData.taxes.length - 1]
|
||||||
@ -401,16 +416,6 @@ function updateTax(data) {
|
|||||||
syncItemToStore()
|
syncItemToStore()
|
||||||
}
|
}
|
||||||
|
|
||||||
function setDiscount() {
|
|
||||||
const newValue = props.store[props.storeProp].items[props.index].discount
|
|
||||||
|
|
||||||
if (props.itemData.discount_type === 'percentage'){
|
|
||||||
updateItemAttribute('discount_val', Math.round((subtotal.value * newValue) / 100))
|
|
||||||
}else{
|
|
||||||
updateItemAttribute('discount_val', Math.round(newValue * 100))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function searchVal(val) {
|
function searchVal(val) {
|
||||||
updateItemAttribute('name', val)
|
updateItemAttribute('name', val)
|
||||||
}
|
}
|
||||||
@ -480,12 +485,10 @@ function syncItemToStore() {
|
|||||||
total: total.value,
|
total: total.value,
|
||||||
sub_total: subtotal.value,
|
sub_total: subtotal.value,
|
||||||
totalSimpleTax: totalSimpleTax.value,
|
totalSimpleTax: totalSimpleTax.value,
|
||||||
|
totalCompoundTax: totalCompoundTax.value,
|
||||||
totalTax: totalTax.value,
|
totalTax: totalTax.value,
|
||||||
tax: totalTax.value,
|
tax: totalTax.value,
|
||||||
taxes: [...itemTaxes],
|
taxes: [...itemTaxes],
|
||||||
tax_type_ids: itemTaxes.flatMap(_t =>
|
|
||||||
_t.tax_type_id ? _t.tax_type_id : [],
|
|
||||||
),
|
|
||||||
}
|
}
|
||||||
|
|
||||||
props.store.updateItem(data)
|
props.store.updateItem(data)
|
||||||
|
|||||||
@ -146,14 +146,14 @@ const filteredTypes = computed(() => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
const taxAmount = computed(() => {
|
const taxAmount = computed(() => {
|
||||||
|
if (localTax.compound_tax && props.discountedTotal) {
|
||||||
|
return ((props.discountedTotal + props.totalTax) * localTax.percent) / 100
|
||||||
|
}
|
||||||
|
|
||||||
if (props.discountedTotal && localTax.percent) {
|
if (props.discountedTotal && localTax.percent) {
|
||||||
const taxPerItemEnabled = props.store[props.storeProp].tax_per_item === 'YES'
|
|
||||||
const discountPerItemEnabled = props.store[props.storeProp].discount_per_item === 'YES'
|
|
||||||
if (taxPerItemEnabled && !discountPerItemEnabled){
|
|
||||||
return getTaxAmount()
|
|
||||||
}
|
|
||||||
return (props.discountedTotal * localTax.percent) / 100
|
return (props.discountedTotal * localTax.percent) / 100
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -171,13 +171,6 @@ watch(
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
watch(
|
|
||||||
() => taxAmount.value,
|
|
||||||
() => {
|
|
||||||
updateRowTax()
|
|
||||||
},
|
|
||||||
)
|
|
||||||
|
|
||||||
// Set SelectedTax
|
// Set SelectedTax
|
||||||
if (props.taxData.tax_type_id > 0) {
|
if (props.taxData.tax_type_id > 0) {
|
||||||
selectedTax.value = taxTypeStore.taxTypes.find(
|
selectedTax.value = taxTypeStore.taxTypes.find(
|
||||||
@ -190,6 +183,7 @@ updateRowTax()
|
|||||||
function onSelectTax(val) {
|
function onSelectTax(val) {
|
||||||
localTax.percent = val.percent
|
localTax.percent = val.percent
|
||||||
localTax.tax_type_id = val.id
|
localTax.tax_type_id = val.id
|
||||||
|
localTax.compound_tax = val.compound_tax
|
||||||
localTax.name = val.name
|
localTax.name = val.name
|
||||||
|
|
||||||
updateRowTax()
|
updateRowTax()
|
||||||
@ -226,27 +220,6 @@ function openTaxModal() {
|
|||||||
function removeTax(index) {
|
function removeTax(index) {
|
||||||
props.store.$patch((state) => {
|
props.store.$patch((state) => {
|
||||||
state[props.storeProp].items[props.itemIndex].taxes.splice(index, 1)
|
state[props.storeProp].items[props.itemIndex].taxes.splice(index, 1)
|
||||||
state[props.storeProp].items[props.itemIndex].tax = 0
|
|
||||||
state[props.storeProp].items[props.itemIndex].totalTax = 0
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function getTaxAmount() {
|
|
||||||
let total = 0
|
|
||||||
let discount = 0
|
|
||||||
const itemTotal = props.discountedTotal
|
|
||||||
const modelDiscount = props.store[props.storeProp].discount ? props.store[props.storeProp].discount : 0
|
|
||||||
const type = props.store[props.storeProp].discount_type
|
|
||||||
if (modelDiscount > 0) {
|
|
||||||
props.store[props.storeProp].items.forEach((_i) => {
|
|
||||||
total += _i.total
|
|
||||||
})
|
|
||||||
const proportion = (itemTotal / total).toFixed(2)
|
|
||||||
discount = type === 'fixed' ? modelDiscount * 100 : (total * modelDiscount) / 100
|
|
||||||
const itemDiscount = Math.round(discount * proportion)
|
|
||||||
const discounted = itemTotal - itemDiscount
|
|
||||||
return Math.round((discounted * localTax.percent) / 100)
|
|
||||||
}
|
|
||||||
return Math.round((props.discountedTotal * localTax.percent) / 100)
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -191,7 +191,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { computed, inject, ref, watch } from 'vue'
|
import { computed, inject, ref } from 'vue'
|
||||||
import Guid from 'guid'
|
import Guid from 'guid'
|
||||||
import Tax from './CreateTotalTaxes.vue'
|
import Tax from './CreateTotalTaxes.vue'
|
||||||
import TaxStub from '@/scripts/admin/stub/abilities'
|
import TaxStub from '@/scripts/admin/stub/abilities'
|
||||||
@ -227,20 +227,19 @@ const utils = inject('$utils')
|
|||||||
|
|
||||||
const companyStore = useCompanyStore()
|
const companyStore = useCompanyStore()
|
||||||
|
|
||||||
watch(
|
|
||||||
() => props.store[props.storeProp].items,
|
|
||||||
(val) => {
|
|
||||||
setDiscount()
|
|
||||||
}, { deep: true },
|
|
||||||
)
|
|
||||||
|
|
||||||
const totalDiscount = computed({
|
const totalDiscount = computed({
|
||||||
get: () => {
|
get: () => {
|
||||||
return props.store[props.storeProp].discount
|
return props.store[props.storeProp].discount
|
||||||
},
|
},
|
||||||
set: (newValue) => {
|
set: (newValue) => {
|
||||||
|
if (props.store[props.storeProp].discount_type === 'percentage') {
|
||||||
|
props.store[props.storeProp].discount_val = Math.round(
|
||||||
|
(props.store.getSubTotal * newValue) / 100
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
props.store[props.storeProp].discount_val = Math.round(newValue * 100)
|
||||||
|
}
|
||||||
props.store[props.storeProp].discount = newValue
|
props.store[props.storeProp].discount = newValue
|
||||||
setDiscount()
|
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -266,7 +265,7 @@ const itemWiseTaxes = computed(() => {
|
|||||||
} else if (tax.tax_type_id) {
|
} else if (tax.tax_type_id) {
|
||||||
taxes.push({
|
taxes.push({
|
||||||
tax_type_id: tax.tax_type_id,
|
tax_type_id: tax.tax_type_id,
|
||||||
amount: Math.round(tax.amount),
|
amount: tax.amount,
|
||||||
percent: tax.percent,
|
percent: tax.percent,
|
||||||
name: tax.name,
|
name: tax.name,
|
||||||
})
|
})
|
||||||
@ -285,19 +284,6 @@ const defaultCurrency = computed(() => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
function setDiscount() {
|
|
||||||
const newValue = props.store[props.storeProp].discount
|
|
||||||
|
|
||||||
if (props.store[props.storeProp].discount_type === 'percentage') {
|
|
||||||
props.store[props.storeProp].discount_val
|
|
||||||
= Math.round((props.store.getSubTotal * newValue) / 100)
|
|
||||||
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
props.store[props.storeProp].discount_val = Math.round(newValue * 100)
|
|
||||||
}
|
|
||||||
|
|
||||||
function selectFixed() {
|
function selectFixed() {
|
||||||
if (props.store[props.storeProp].discount_type === 'fixed') {
|
if (props.store[props.storeProp].discount_type === 'fixed') {
|
||||||
return
|
return
|
||||||
@ -309,21 +295,24 @@ function selectFixed() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function selectPercentage() {
|
function selectPercentage() {
|
||||||
if (props.store[props.storeProp].discount_type === 'percentage'){
|
if (props.store[props.storeProp].discount_type === 'percentage') {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
props.store[props.storeProp].discount_val =
|
||||||
const val = Math.round(props.store[props.storeProp].discount * 100) / 100
|
(props.store.getSubTotal * props.store[props.storeProp].discount) / 100
|
||||||
|
|
||||||
props.store[props.storeProp].discount_val
|
|
||||||
= Math.round((props.store.getSubTotal * val) / 100)
|
|
||||||
|
|
||||||
props.store[props.storeProp].discount_type = 'percentage'
|
props.store[props.storeProp].discount_type = 'percentage'
|
||||||
}
|
}
|
||||||
|
|
||||||
function onSelectTax(selectedTax) {
|
function onSelectTax(selectedTax) {
|
||||||
let amount = 0
|
let amount = 0
|
||||||
if (props.store.getSubtotalWithDiscount && selectedTax.percent) {
|
|
||||||
|
if (selectedTax.compound_tax && props.store.getSubtotalWithDiscount) {
|
||||||
|
amount = Math.round(
|
||||||
|
((props.store.getSubtotalWithDiscount + props.store.getTotalSimpleTax) *
|
||||||
|
selectedTax.percent) /
|
||||||
|
100
|
||||||
|
)
|
||||||
|
} else if (props.store.getSubtotalWithDiscount && selectedTax.percent) {
|
||||||
amount = Math.round(
|
amount = Math.round(
|
||||||
(props.store.getSubtotalWithDiscount * selectedTax.percent) / 100
|
(props.store.getSubtotalWithDiscount * selectedTax.percent) / 100
|
||||||
)
|
)
|
||||||
@ -334,6 +323,7 @@ function onSelectTax(selectedTax) {
|
|||||||
id: Guid.raw(),
|
id: Guid.raw(),
|
||||||
name: selectedTax.name,
|
name: selectedTax.name,
|
||||||
percent: selectedTax.percent,
|
percent: selectedTax.percent,
|
||||||
|
compound_tax: selectedTax.compound_tax,
|
||||||
tax_type_id: selectedTax.id,
|
tax_type_id: selectedTax.id,
|
||||||
amount,
|
amount,
|
||||||
}
|
}
|
||||||
|
|||||||
@ -77,6 +77,17 @@
|
|||||||
@input="v$.currentTaxType.description.$touch()"
|
@input="v$.currentTaxType.description.$touch()"
|
||||||
/>
|
/>
|
||||||
</BaseInputGroup>
|
</BaseInputGroup>
|
||||||
|
|
||||||
|
<BaseInputGroup
|
||||||
|
:label="$t('tax_types.compound_tax')"
|
||||||
|
variant="horizontal"
|
||||||
|
class="flex flex-row-reverse"
|
||||||
|
>
|
||||||
|
<BaseSwitch
|
||||||
|
v-model="taxTypeStore.currentTaxType.compound_tax"
|
||||||
|
class="flex items-center"
|
||||||
|
/>
|
||||||
|
</BaseInputGroup>
|
||||||
</BaseInputGrid>
|
</BaseInputGrid>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
@ -198,7 +209,14 @@ async function submitTaxTypeData() {
|
|||||||
|
|
||||||
function SelectTax(taxData) {
|
function SelectTax(taxData) {
|
||||||
let amount = 0
|
let amount = 0
|
||||||
if (estimateStore.getSubtotalWithDiscount && taxData.percent) {
|
if (taxData.compound_tax && estimateStore.getSubtotalWithDiscount) {
|
||||||
|
amount = Math.round(
|
||||||
|
((estimateStore.getSubtotalWithDiscount +
|
||||||
|
estimateStore.getTotalSimpleTax) *
|
||||||
|
taxData.percent) /
|
||||||
|
100
|
||||||
|
)
|
||||||
|
} else if (estimateStore.getSubtotalWithDiscount && taxData.percent) {
|
||||||
amount = Math.round(
|
amount = Math.round(
|
||||||
(estimateStore.getSubtotalWithDiscount * taxData.percent) / 100
|
(estimateStore.getSubtotalWithDiscount * taxData.percent) / 100
|
||||||
)
|
)
|
||||||
@ -208,6 +226,7 @@ function SelectTax(taxData) {
|
|||||||
id: Guid.raw(),
|
id: Guid.raw(),
|
||||||
name: taxData.name,
|
name: taxData.name,
|
||||||
percent: taxData.percent,
|
percent: taxData.percent,
|
||||||
|
compound_tax: taxData.compound_tax,
|
||||||
tax_type_id: taxData.id,
|
tax_type_id: taxData.id,
|
||||||
amount,
|
amount,
|
||||||
}
|
}
|
||||||
@ -223,6 +242,7 @@ function selectItemTax(taxData) {
|
|||||||
id: Guid.raw(),
|
id: Guid.raw(),
|
||||||
name: taxData.name,
|
name: taxData.name,
|
||||||
percent: taxData.percent,
|
percent: taxData.percent,
|
||||||
|
compound_tax: taxData.compound_tax,
|
||||||
tax_type_id: taxData.id,
|
tax_type_id: taxData.id,
|
||||||
}
|
}
|
||||||
modalStore.refreshData(data)
|
modalStore.refreshData(data)
|
||||||
|
|||||||
@ -143,8 +143,7 @@ export const useEstimateStore = (useWindow = false) => {
|
|||||||
axios
|
axios
|
||||||
.get(`/api/v1/estimates/${id}`)
|
.get(`/api/v1/estimates/${id}`)
|
||||||
.then((response) => {
|
.then((response) => {
|
||||||
this.setEstimateData(response.data.data)
|
Object.assign(this.newEstimate, response.data.data)
|
||||||
this.setCustomerAddresses(this.newEstimate.customer)
|
|
||||||
resolve(response)
|
resolve(response)
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
@ -155,41 +154,6 @@ export const useEstimateStore = (useWindow = false) => {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
setEstimateData(estimate) {
|
|
||||||
Object.assign(this.newEstimate, estimate)
|
|
||||||
if (this.newEstimate.tax_per_item === 'YES') {
|
|
||||||
this.newEstimate.items.forEach((_i) => {
|
|
||||||
if (_i.taxes && !_i.taxes.length){
|
|
||||||
_i.taxes.push({ ...taxStub, id: Guid.raw() })
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
if (this.newEstimate.discount_per_item === 'YES') {
|
|
||||||
this.newEstimate.items.forEach((_i, index) => {
|
|
||||||
if (_i.discount_type === 'fixed'){
|
|
||||||
this.newEstimate.items[index].discount = _i.discount / 100
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if (this.newEstimate.discount_type === 'fixed'){
|
|
||||||
this.newEstimate.discount = this.newEstimate.discount / 100
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
setCustomerAddresses(customer) {
|
|
||||||
const customer_business = customer.customer_business
|
|
||||||
|
|
||||||
if (customer_business?.billing_address){
|
|
||||||
this.newEstimate.customer.billing_address = customer_business.billing_address
|
|
||||||
}
|
|
||||||
|
|
||||||
if (customer_business?.shipping_address){
|
|
||||||
this.newEstimate.customer.shipping_address = customer_business.shipping_address
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
addSalesTaxUs() {
|
addSalesTaxUs() {
|
||||||
const taxTypeStore = useTaxTypeStore()
|
const taxTypeStore = useTaxTypeStore()
|
||||||
let salesTax = { ...taxStub }
|
let salesTax = { ...taxStub }
|
||||||
|
|||||||
@ -133,8 +133,8 @@ export const useInvoiceStore = (useWindow = false) => {
|
|||||||
axios
|
axios
|
||||||
.get(`/api/v1/invoices/${id}`)
|
.get(`/api/v1/invoices/${id}`)
|
||||||
.then((response) => {
|
.then((response) => {
|
||||||
this.setInvoiceData(response.data.data)
|
Object.assign(this.newInvoice, response.data.data)
|
||||||
this.setCustomerAddresses(this.newInvoice.customer)
|
this.newInvoice.customer = response.data.data.customer
|
||||||
resolve(response)
|
resolve(response)
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
@ -144,38 +144,6 @@ export const useInvoiceStore = (useWindow = false) => {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
setInvoiceData(invoice) {
|
|
||||||
Object.assign(this.newInvoice, invoice)
|
|
||||||
|
|
||||||
if (this.newInvoice.tax_per_item === 'YES') {
|
|
||||||
this.newInvoice.items.forEach((_i) => {
|
|
||||||
if (_i.taxes && !_i.taxes.length)
|
|
||||||
_i.taxes.push({ ...taxStub, id: Guid.raw() })
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.newInvoice.discount_per_item === 'YES') {
|
|
||||||
this.newInvoice.items.forEach((_i, index) => {
|
|
||||||
if (_i.discount_type === 'fixed')
|
|
||||||
this.newInvoice.items[index].discount = _i.discount / 100
|
|
||||||
})
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if (this.newInvoice.discount_type === 'fixed')
|
|
||||||
this.newInvoice.discount = this.newInvoice.discount / 100
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
setCustomerAddresses(customer) {
|
|
||||||
const customer_business = customer.customer_business
|
|
||||||
|
|
||||||
if (customer_business?.billing_address)
|
|
||||||
this.newInvoice.customer.billing_address = customer_business.billing_address
|
|
||||||
|
|
||||||
if (customer_business?.shipping_address)
|
|
||||||
this.newInvoice.customer.shipping_address = customer_business.shipping_address
|
|
||||||
},
|
|
||||||
|
|
||||||
addSalesTaxUs() {
|
addSalesTaxUs() {
|
||||||
const taxTypeStore = useTaxTypeStore()
|
const taxTypeStore = useTaxTypeStore()
|
||||||
let salesTax = { ...taxStub }
|
let salesTax = { ...taxStub }
|
||||||
|
|||||||
@ -138,7 +138,6 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { computed, ref, watch, onMounted } from 'vue'
|
import { computed, ref, watch, onMounted } from 'vue'
|
||||||
import { cloneDeep } from 'lodash'
|
|
||||||
import { useRoute, useRouter } from 'vue-router'
|
import { useRoute, useRouter } from 'vue-router'
|
||||||
import { useI18n } from 'vue-i18n'
|
import { useI18n } from 'vue-i18n'
|
||||||
import {
|
import {
|
||||||
@ -258,30 +257,11 @@ async function submitForm() {
|
|||||||
|
|
||||||
isSaving.value = true
|
isSaving.value = true
|
||||||
|
|
||||||
let data = cloneDeep({
|
let data = {
|
||||||
...estimateStore.newEstimate,
|
...estimateStore.newEstimate,
|
||||||
sub_total: estimateStore.getSubTotal,
|
sub_total: estimateStore.getSubTotal,
|
||||||
total: estimateStore.getTotal,
|
total: estimateStore.getTotal,
|
||||||
tax: estimateStore.getTotalTax,
|
tax: estimateStore.getTotalTax,
|
||||||
})
|
|
||||||
if (data.discount_per_item === 'YES') {
|
|
||||||
data.items.forEach((item, index) => {
|
|
||||||
if (item.discount_type === 'fixed'){
|
|
||||||
data.items[index].discount = Math.round(item.discount * 100)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if (data.discount_type === 'fixed'){
|
|
||||||
data.discount = Math.round(data.discount * 100)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (
|
|
||||||
!estimateStore.newEstimate.tax_per_item === 'YES'
|
|
||||||
&& data.taxes.length
|
|
||||||
){
|
|
||||||
data.tax_type_ids = data.taxes.map(_t => _t.tax_type_id)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const action = isEdit.value
|
const action = isEdit.value
|
||||||
|
|||||||
@ -147,7 +147,6 @@ import {
|
|||||||
decimal,
|
decimal,
|
||||||
} from '@vuelidate/validators'
|
} from '@vuelidate/validators'
|
||||||
import useVuelidate from '@vuelidate/core'
|
import useVuelidate from '@vuelidate/core'
|
||||||
import { cloneDeep } from 'lodash'
|
|
||||||
|
|
||||||
import { useInvoiceStore } from '@/scripts/admin/stores/invoice'
|
import { useInvoiceStore } from '@/scripts/admin/stores/invoice'
|
||||||
import { useModuleStore } from '@/scripts/admin/stores/module'
|
import { useModuleStore } from '@/scripts/admin/stores/module'
|
||||||
@ -259,29 +258,11 @@ async function submitForm() {
|
|||||||
|
|
||||||
isSaving.value = true
|
isSaving.value = true
|
||||||
|
|
||||||
let data = cloneDeep({
|
let data = {
|
||||||
...invoiceStore.newInvoice,
|
...invoiceStore.newInvoice,
|
||||||
sub_total: invoiceStore.getSubTotal,
|
sub_total: invoiceStore.getSubTotal,
|
||||||
total: invoiceStore.getTotal,
|
total: invoiceStore.getTotal,
|
||||||
tax: invoiceStore.getTotalTax,
|
tax: invoiceStore.getTotalTax,
|
||||||
})
|
|
||||||
if (data.discount_per_item === 'YES') {
|
|
||||||
data.items.forEach((item, index) => {
|
|
||||||
if (item.discount_type === 'fixed'){
|
|
||||||
data.items[index].discount = item.discount * 100
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if (data.discount_type === 'fixed'){
|
|
||||||
data.discount = data.discount * 100
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (
|
|
||||||
!invoiceStore.newInvoice.tax_per_item === 'YES'
|
|
||||||
&& data.taxes.length
|
|
||||||
){
|
|
||||||
data.tax_type_ids = data.taxes.map(_t => _t.tax_type_id)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|||||||
@ -20,6 +20,21 @@
|
|||||||
:data="fetchData"
|
:data="fetchData"
|
||||||
:columns="taxTypeColumns"
|
:columns="taxTypeColumns"
|
||||||
>
|
>
|
||||||
|
<template #cell-compound_tax="{ row }">
|
||||||
|
<BaseBadge
|
||||||
|
:bg-color="
|
||||||
|
utils.getBadgeStatusColor(row.data.compound_tax ? 'YES' : 'NO')
|
||||||
|
.bgColor
|
||||||
|
"
|
||||||
|
:color="
|
||||||
|
utils.getBadgeStatusColor(row.data.compound_tax ? 'YES' : 'NO')
|
||||||
|
.color
|
||||||
|
"
|
||||||
|
>
|
||||||
|
{{ row.data.compound_tax ? 'Yes' : 'No'.replace('_', ' ') }}
|
||||||
|
</BaseBadge>
|
||||||
|
</template>
|
||||||
|
|
||||||
<template #cell-percent="{ row }"> {{ row.data.percent }} % </template>
|
<template #cell-percent="{ row }"> {{ row.data.percent }} % </template>
|
||||||
|
|
||||||
<template v-if="hasAtleastOneAbility()" #cell-actions="{ row }">
|
<template v-if="hasAtleastOneAbility()" #cell-actions="{ row }">
|
||||||
@ -76,6 +91,11 @@ const taxTypeColumns = computed(() => {
|
|||||||
thClass: 'extra',
|
thClass: 'extra',
|
||||||
tdClass: 'font-medium text-gray-900',
|
tdClass: 'font-medium text-gray-900',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
key: 'compound_tax',
|
||||||
|
label: t('settings.tax_types.compound_tax'),
|
||||||
|
tdClass: 'font-medium text-gray-900',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
key: 'percent',
|
key: 'percent',
|
||||||
label: t('settings.tax_types.percent'),
|
label: t('settings.tax_types.percent'),
|
||||||
|
|||||||
@ -309,8 +309,6 @@ function changeSorting(column) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!usesLocalData.value) {
|
if (!usesLocalData.value) {
|
||||||
if (pagination.value)
|
|
||||||
pagination.value.currentPage = 1
|
|
||||||
mapDataToRows()
|
mapDataToRows()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -328,10 +326,7 @@ async function pageChange(page) {
|
|||||||
await mapDataToRows()
|
await mapDataToRows()
|
||||||
}
|
}
|
||||||
|
|
||||||
async function refresh(isPreservePage = false) {
|
async function refresh() {
|
||||||
if (pagination.value && !isPreservePage)
|
|
||||||
pagination.value.currentPage = 1
|
|
||||||
|
|
||||||
await mapDataToRows()
|
await mapDataToRows()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user