From 91d1cdd15a3925161b485c991f03c99156b0c574 Mon Sep 17 00:00:00 2001 From: Nadim Salloum Date: Sun, 6 Jun 2021 22:21:09 +0300 Subject: [PATCH] add dompdf --- app/Http/Controllers/ContractController.php | 12 +- app/Models/Contract.php | 5 + composer.json | 1 + composer.lock | 730 ++++++++++++------ config/app.php | 2 + public/images/logo_contract.jpg | Bin 0 -> 12220 bytes public/images/logo_contract.png | Bin 0 -> 30612 bytes public/js/app.js | 52 +- .../js/Components/Buttons/PrintButton.vue | 19 +- resources/js/Pages/Contracts/Create.vue | 2 +- resources/views/contract.blade.php | 190 +++-- 11 files changed, 656 insertions(+), 357 deletions(-) create mode 100644 public/images/logo_contract.jpg create mode 100644 public/images/logo_contract.png diff --git a/app/Http/Controllers/ContractController.php b/app/Http/Controllers/ContractController.php index e7c7980..e56327c 100644 --- a/app/Http/Controllers/ContractController.php +++ b/app/Http/Controllers/ContractController.php @@ -8,6 +8,7 @@ use App\Models\Brand; use App\Models\Contact; use App\Models\Contract; use App\Enums\ContractType; +use Barryvdh\DomPDF\Facade as PDF; use App\Enums\InsuranceType; use Illuminate\Http\Request; use Illuminate\Support\Facades\Redirect; @@ -226,7 +227,16 @@ class ContractController extends Controller public function print(Contract $contract) { - return view('contract', ['contract' => $contract]); + $contxt = stream_context_create([ + 'ssl' => [ + 'verify_peer' => FALSE, + 'verify_peer_name' => FALSE, + 'allow_self_signed'=> TRUE + ] + ]); + $pdf = PDF::setOptions(['isHtml5ParserEnabled' => true, 'isRemoteEnabled' => true])->loadView('contract', compact('contract'));//->setPaper('a4', 'portrait'); + $pdf->getDomPDF()->setHttpContext($contxt); + return $pdf->stream($contract->date . '_' . $contract->type_formatted . '.pdf'); } public function destroy(Contract $contract) diff --git a/app/Models/Contract.php b/app/Models/Contract.php index ece195c..92b4a23 100644 --- a/app/Models/Contract.php +++ b/app/Models/Contract.php @@ -70,6 +70,11 @@ class Contract extends Model return $this->type === (string)ContractType::SellContract; } + public function getTypeFormattedAttribute() + { + return $this->isSellContract() ? 'Kaufsvertrag' : 'Ankaufsvertrag'; + } + public function documents() { return $this->morphMany(Document::class, 'documentable'); diff --git a/composer.json b/composer.json index 0f0e3da..68a2705 100644 --- a/composer.json +++ b/composer.json @@ -6,6 +6,7 @@ "license": "MIT", "require": { "php": "^7.3|^8.0", + "barryvdh/laravel-dompdf": "^0.9.0", "bensampo/laravel-enum": "^3.3", "cknow/laravel-money": "^6.1", "fideloper/proxy": "^4.4", diff --git a/composer.lock b/composer.lock index a4eba96..aee23d8 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "d0901202d0c56031775bb6cf095f0546", + "content-hash": "4b694bcd9a3adeb9f6db9daf3a690b6c", "packages": [ { "name": "asm89/stack-cors", @@ -115,6 +115,72 @@ }, "time": "2020-10-30T02:02:47+00:00" }, + { + "name": "barryvdh/laravel-dompdf", + "version": "v0.9.0", + "source": { + "type": "git", + "url": "https://github.com/barryvdh/laravel-dompdf.git", + "reference": "5b99e1f94157d74e450f4c97e8444fcaffa2144b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/barryvdh/laravel-dompdf/zipball/5b99e1f94157d74e450f4c97e8444fcaffa2144b", + "reference": "5b99e1f94157d74e450f4c97e8444fcaffa2144b", + "shasum": "" + }, + "require": { + "dompdf/dompdf": "^1", + "illuminate/support": "^5.5|^6|^7|^8", + "php": "^7.1 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.9-dev" + }, + "laravel": { + "providers": [ + "Barryvdh\\DomPDF\\ServiceProvider" + ], + "aliases": { + "PDF": "Barryvdh\\DomPDF\\Facade" + } + } + }, + "autoload": { + "psr-4": { + "Barryvdh\\DomPDF\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" + } + ], + "description": "A DOMPDF Wrapper for Laravel", + "keywords": [ + "dompdf", + "laravel", + "pdf" + ], + "support": { + "issues": "https://github.com/barryvdh/laravel-dompdf/issues", + "source": "https://github.com/barryvdh/laravel-dompdf/tree/v0.9.0" + }, + "funding": [ + { + "url": "https://github.com/barryvdh", + "type": "github" + } + ], + "time": "2020-12-27T12:05:53+00:00" + }, { "name": "bensampo/laravel-enum", "version": "v3.3.0", @@ -543,6 +609,78 @@ ], "time": "2020-05-25T17:44:05+00:00" }, + { + "name": "dompdf/dompdf", + "version": "v1.0.2", + "source": { + "type": "git", + "url": "https://github.com/dompdf/dompdf.git", + "reference": "8768448244967a46d6e67b891d30878e0e15d25c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dompdf/dompdf/zipball/8768448244967a46d6e67b891d30878e0e15d25c", + "reference": "8768448244967a46d6e67b891d30878e0e15d25c", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-mbstring": "*", + "phenx/php-font-lib": "^0.5.2", + "phenx/php-svg-lib": "^0.3.3", + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "mockery/mockery": "^1.3", + "phpunit/phpunit": "^7.5 || ^8 || ^9", + "squizlabs/php_codesniffer": "^3.5" + }, + "suggest": { + "ext-gd": "Needed to process images", + "ext-gmagick": "Improves image processing performance", + "ext-imagick": "Improves image processing performance", + "ext-zlib": "Needed for pdf stream compression" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "0.7-dev" + } + }, + "autoload": { + "psr-4": { + "Dompdf\\": "src/" + }, + "classmap": [ + "lib/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1" + ], + "authors": [ + { + "name": "Fabien Ménager", + "email": "fabien.menager@gmail.com" + }, + { + "name": "Brian Sweeney", + "email": "eclecticgeek@gmail.com" + }, + { + "name": "Gabriel Bull", + "email": "me@gabrielbull.com" + } + ], + "description": "DOMPDF is a CSS 2.1 compliant HTML to PDF converter", + "homepage": "https://github.com/dompdf/dompdf", + "support": { + "issues": "https://github.com/dompdf/dompdf/issues", + "source": "https://github.com/dompdf/dompdf/tree/v1.0.2" + }, + "time": "2021-01-08T14:18:52+00:00" + }, { "name": "dragonmantank/cron-expression", "version": "v3.1.0", @@ -1221,16 +1359,16 @@ }, { "name": "jaybizzle/crawler-detect", - "version": "v1.2.105", + "version": "v1.2.106", "source": { "type": "git", "url": "https://github.com/JayBizzle/Crawler-Detect.git", - "reference": "719c1ed49224857800c3dc40838b6b761d046105" + "reference": "78bf6792cbf9c569dc0bf2465481978fd2ed0de9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/719c1ed49224857800c3dc40838b6b761d046105", - "reference": "719c1ed49224857800c3dc40838b6b761d046105", + "url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/78bf6792cbf9c569dc0bf2465481978fd2ed0de9", + "reference": "78bf6792cbf9c569dc0bf2465481978fd2ed0de9", "shasum": "" }, "require": { @@ -1267,9 +1405,9 @@ ], "support": { "issues": "https://github.com/JayBizzle/Crawler-Detect/issues", - "source": "https://github.com/JayBizzle/Crawler-Detect/tree/v1.2.105" + "source": "https://github.com/JayBizzle/Crawler-Detect/tree/v1.2.106" }, - "time": "2021-03-03T20:55:48+00:00" + "time": "2021-05-24T20:30:32+00:00" }, { "name": "jenssegers/agent", @@ -1552,16 +1690,16 @@ }, { "name": "laravel/fortify", - "version": "v1.7.12", + "version": "v1.7.13", "source": { "type": "git", "url": "https://github.com/laravel/fortify.git", - "reference": "b45807430194c73aaa9b2f26cb76038cc747466f" + "reference": "1753d05c80f930cc2715051858900965b49f32d9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/fortify/zipball/b45807430194c73aaa9b2f26cb76038cc747466f", - "reference": "b45807430194c73aaa9b2f26cb76038cc747466f", + "url": "https://api.github.com/repos/laravel/fortify/zipball/1753d05c80f930cc2715051858900965b49f32d9", + "reference": "1753d05c80f930cc2715051858900965b49f32d9", "shasum": "" }, "require": { @@ -1611,20 +1749,20 @@ "issues": "https://github.com/laravel/fortify/issues", "source": "https://github.com/laravel/fortify" }, - "time": "2021-04-27T17:56:34+00:00" + "time": "2021-05-25T16:35:21+00:00" }, { "name": "laravel/framework", - "version": "v8.40.0", + "version": "v8.45.1", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "a654897ad7f97aea9d7ef292803939798c4a02a4" + "reference": "dc2f0bb02c3eb4b27669d626bb3e810db8e7749d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/a654897ad7f97aea9d7ef292803939798c4a02a4", - "reference": "a654897ad7f97aea9d7ef292803939798c4a02a4", + "url": "https://api.github.com/repos/laravel/framework/zipball/dc2f0bb02c3eb4b27669d626bb3e810db8e7749d", + "reference": "dc2f0bb02c3eb4b27669d626bb3e810db8e7749d", "shasum": "" }, "require": { @@ -1706,7 +1844,7 @@ "orchestra/testbench-core": "^6.8", "pda/pheanstalk": "^4.0", "phpunit/phpunit": "^8.5.8|^9.3.3", - "predis/predis": "^1.1.1", + "predis/predis": "^1.1.2", "symfony/cache": "^5.1.4" }, "suggest": { @@ -1732,7 +1870,7 @@ "phpunit/phpunit": "Required to use assertions and run tests (^8.5.8|^9.3.3).", "predis/predis": "Required to use the predis connector (^1.1.2).", "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", - "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0|^5.0).", + "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0|^5.0|^6.0).", "symfony/cache": "Required to PSR-6 cache bridge (^5.1.4).", "symfony/filesystem": "Required to enable support for relative symbolic links (^5.1.4).", "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0).", @@ -1779,20 +1917,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2021-04-28T14:38:56+00:00" + "time": "2021-06-03T16:39:17+00:00" }, { "name": "laravel/jetstream", - "version": "v2.3.4", + "version": "v2.3.7", "source": { "type": "git", "url": "https://github.com/laravel/jetstream.git", - "reference": "b6c585ec900531c35e4b83e65c044f4b2ce7f5dd" + "reference": "05fa16096324a90299277a3a1a6a3de311f3f587" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/jetstream/zipball/b6c585ec900531c35e4b83e65c044f4b2ce7f5dd", - "reference": "b6c585ec900531c35e4b83e65c044f4b2ce7f5dd", + "url": "https://api.github.com/repos/laravel/jetstream/zipball/05fa16096324a90299277a3a1a6a3de311f3f587", + "reference": "05fa16096324a90299277a3a1a6a3de311f3f587", "shasum": "" }, "require": { @@ -1846,20 +1984,20 @@ "issues": "https://github.com/laravel/jetstream/issues", "source": "https://github.com/laravel/jetstream" }, - "time": "2021-04-27T18:09:15+00:00" + "time": "2021-06-01T15:46:41+00:00" }, { "name": "laravel/sanctum", - "version": "v2.10.0", + "version": "v2.11.1", "source": { "type": "git", "url": "https://github.com/laravel/sanctum.git", - "reference": "a08cfee365c6b6df3e91c8f43b92f7163ffc8a94" + "reference": "5de9d0ced8ae50dacb00c16077115f32e94d13f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/sanctum/zipball/a08cfee365c6b6df3e91c8f43b92f7163ffc8a94", - "reference": "a08cfee365c6b6df3e91c8f43b92f7163ffc8a94", + "url": "https://api.github.com/repos/laravel/sanctum/zipball/5de9d0ced8ae50dacb00c16077115f32e94d13f2", + "reference": "5de9d0ced8ae50dacb00c16077115f32e94d13f2", "shasum": "" }, "require": { @@ -1910,7 +2048,7 @@ "issues": "https://github.com/laravel/sanctum/issues", "source": "https://github.com/laravel/sanctum" }, - "time": "2021-04-20T16:20:46+00:00" + "time": "2021-05-25T16:43:06+00:00" }, { "name": "laravel/tinker", @@ -1982,16 +2120,16 @@ }, { "name": "league/commonmark", - "version": "1.6.1", + "version": "1.6.2", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "2651c497f005de305c7ba3f232cbd87b8c00ee8c" + "reference": "7d70d2f19c84bcc16275ea47edabee24747352eb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/2651c497f005de305c7ba3f232cbd87b8c00ee8c", - "reference": "2651c497f005de305c7ba3f232cbd87b8c00ee8c", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/7d70d2f19c84bcc16275ea47edabee24747352eb", + "reference": "7d70d2f19c84bcc16275ea47edabee24747352eb", "shasum": "" }, "require": { @@ -2079,7 +2217,7 @@ "type": "tidelift" } ], - "time": "2021-05-08T16:08:00+00:00" + "time": "2021-05-12T11:39:41+00:00" }, { "name": "league/flysystem", @@ -2478,16 +2616,16 @@ }, { "name": "nesbot/carbon", - "version": "2.47.0", + "version": "2.48.1", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "606262fd8888b75317ba9461825a24fc34001e1e" + "reference": "8d1f50f1436fb4b05e7127360483dd9c6e73da16" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/606262fd8888b75317ba9461825a24fc34001e1e", - "reference": "606262fd8888b75317ba9461825a24fc34001e1e", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/8d1f50f1436fb4b05e7127360483dd9c6e73da16", + "reference": "8d1f50f1436fb4b05e7127360483dd9c6e73da16", "shasum": "" }, "require": { @@ -2567,7 +2705,7 @@ "type": "tidelift" } ], - "time": "2021-04-13T21:54:02+00:00" + "time": "2021-05-26T22:08:38+00:00" }, { "name": "nikic/php-parser", @@ -2757,6 +2895,91 @@ }, "time": "2020-12-06T15:14:20+00:00" }, + { + "name": "phenx/php-font-lib", + "version": "0.5.2", + "source": { + "type": "git", + "url": "https://github.com/PhenX/php-font-lib.git", + "reference": "ca6ad461f032145fff5971b5985e5af9e7fa88d8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PhenX/php-font-lib/zipball/ca6ad461f032145fff5971b5985e5af9e7fa88d8", + "reference": "ca6ad461f032145fff5971b5985e5af9e7fa88d8", + "shasum": "" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5 || ^6 || ^7" + }, + "type": "library", + "autoload": { + "psr-4": { + "FontLib\\": "src/FontLib" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0" + ], + "authors": [ + { + "name": "Fabien Ménager", + "email": "fabien.menager@gmail.com" + } + ], + "description": "A library to read, parse, export and make subsets of different types of font files.", + "homepage": "https://github.com/PhenX/php-font-lib", + "support": { + "issues": "https://github.com/PhenX/php-font-lib/issues", + "source": "https://github.com/PhenX/php-font-lib/tree/0.5.2" + }, + "time": "2020-03-08T15:31:32+00:00" + }, + { + "name": "phenx/php-svg-lib", + "version": "v0.3.3", + "source": { + "type": "git", + "url": "https://github.com/PhenX/php-svg-lib.git", + "reference": "5fa61b65e612ce1ae15f69b3d223cb14ecc60e32" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PhenX/php-svg-lib/zipball/5fa61b65e612ce1ae15f69b3d223cb14ecc60e32", + "reference": "5fa61b65e612ce1ae15f69b3d223cb14ecc60e32", + "shasum": "" + }, + "require": { + "sabberworm/php-css-parser": "^8.3" + }, + "require-dev": { + "phpunit/phpunit": "^5.5|^6.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Svg\\": "src/Svg" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0" + ], + "authors": [ + { + "name": "Fabien Ménager", + "email": "fabien.menager@gmail.com" + } + ], + "description": "A library to read, parse and export to PDF SVG files.", + "homepage": "https://github.com/PhenX/php-svg-lib", + "support": { + "issues": "https://github.com/PhenX/php-svg-lib/issues", + "source": "https://github.com/PhenX/php-svg-lib/tree/master" + }, + "time": "2019-09-11T20:02:13+00:00" + }, { "name": "phpoption/phpoption", "version": "1.7.5", @@ -3470,6 +3693,55 @@ ], "time": "2020-08-18T17:17:46+00:00" }, + { + "name": "sabberworm/php-css-parser", + "version": "8.3.1", + "source": { + "type": "git", + "url": "https://github.com/sabberworm/PHP-CSS-Parser.git", + "reference": "d217848e1396ef962fb1997cf3e2421acba7f796" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sabberworm/PHP-CSS-Parser/zipball/d217848e1396ef962fb1997cf3e2421acba7f796", + "reference": "d217848e1396ef962fb1997cf3e2421acba7f796", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "codacy/coverage": "^1.4", + "phpunit/phpunit": "~4.8" + }, + "type": "library", + "autoload": { + "psr-0": { + "Sabberworm\\CSS": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Raphael Schweikert" + } + ], + "description": "Parser for CSS Files written in PHP", + "homepage": "http://www.sabberworm.com/blog/2010/6/10/php-css-parser", + "keywords": [ + "css", + "parser", + "stylesheet" + ], + "support": { + "issues": "https://github.com/sabberworm/PHP-CSS-Parser/issues", + "source": "https://github.com/sabberworm/PHP-CSS-Parser/tree/8.3.1" + }, + "time": "2020-06-01T09:10:00+00:00" + }, { "name": "swiftmailer/swiftmailer", "version": "v6.2.7", @@ -3547,20 +3819,21 @@ }, { "name": "symfony/console", - "version": "v5.2.7", + "version": "v5.3.0", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "90374b8ed059325b49a29b55b3f8bb4062c87629" + "reference": "058553870f7809087fa80fa734704a21b9bcaeb2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/90374b8ed059325b49a29b55b3f8bb4062c87629", - "reference": "90374b8ed059325b49a29b55b3f8bb4062c87629", + "url": "https://api.github.com/repos/symfony/console/zipball/058553870f7809087fa80fa734704a21b9bcaeb2", + "reference": "058553870f7809087fa80fa734704a21b9bcaeb2", "shasum": "" }, "require": { "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", "symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-php73": "^1.8", "symfony/polyfill-php80": "^1.15", @@ -3624,7 +3897,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.2.7" + "source": "https://github.com/symfony/console/tree/v5.3.0" }, "funding": [ { @@ -3640,20 +3913,20 @@ "type": "tidelift" } ], - "time": "2021-04-19T14:07:32+00:00" + "time": "2021-05-26T17:43:10+00:00" }, { "name": "symfony/css-selector", - "version": "v5.2.7", + "version": "v5.3.0", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "59a684f5ac454f066ecbe6daecce6719aed283fb" + "reference": "fcd0b29a7a0b1bb5bfbedc6231583d77fea04814" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/59a684f5ac454f066ecbe6daecce6719aed283fb", - "reference": "59a684f5ac454f066ecbe6daecce6719aed283fb", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/fcd0b29a7a0b1bb5bfbedc6231583d77fea04814", + "reference": "fcd0b29a7a0b1bb5bfbedc6231583d77fea04814", "shasum": "" }, "require": { @@ -3689,7 +3962,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v5.3.0-BETA1" + "source": "https://github.com/symfony/css-selector/tree/v5.3.0" }, "funding": [ { @@ -3705,7 +3978,7 @@ "type": "tidelift" } ], - "time": "2021-04-07T16:07:52+00:00" + "time": "2021-05-26T17:40:38+00:00" }, { "name": "symfony/deprecation-contracts", @@ -3776,16 +4049,16 @@ }, { "name": "symfony/error-handler", - "version": "v5.2.7", + "version": "v5.3.0", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "ea3ddbf67615e883ca7c33a4de61213789846782" + "reference": "0e6768b8c0dcef26df087df2bbbaa143867a59b2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/ea3ddbf67615e883ca7c33a4de61213789846782", - "reference": "ea3ddbf67615e883ca7c33a4de61213789846782", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/0e6768b8c0dcef26df087df2bbbaa143867a59b2", + "reference": "0e6768b8c0dcef26df087df2bbbaa143867a59b2", "shasum": "" }, "require": { @@ -3825,7 +4098,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v5.2.7" + "source": "https://github.com/symfony/error-handler/tree/v5.3.0" }, "funding": [ { @@ -3841,20 +4114,20 @@ "type": "tidelift" } ], - "time": "2021-04-07T15:57:33+00:00" + "time": "2021-05-26T17:43:10+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v5.2.4", + "version": "v5.3.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "d08d6ec121a425897951900ab692b612a61d6240" + "reference": "67a5f354afa8e2f231081b3fa11a5912f933c3ce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d08d6ec121a425897951900ab692b612a61d6240", - "reference": "d08d6ec121a425897951900ab692b612a61d6240", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/67a5f354afa8e2f231081b3fa11a5912f933c3ce", + "reference": "67a5f354afa8e2f231081b3fa11a5912f933c3ce", "shasum": "" }, "require": { @@ -3910,7 +4183,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v5.2.4" + "source": "https://github.com/symfony/event-dispatcher/tree/v5.3.0" }, "funding": [ { @@ -3926,7 +4199,7 @@ "type": "tidelift" } ], - "time": "2021-02-18T17:12:37+00:00" + "time": "2021-05-26T17:43:10+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -4009,16 +4282,16 @@ }, { "name": "symfony/finder", - "version": "v5.2.4", + "version": "v5.3.0", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "0d639a0943822626290d169965804f79400e6a04" + "reference": "0ae3f047bed4edff6fd35b26a9a6bfdc92c953c6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/0d639a0943822626290d169965804f79400e6a04", - "reference": "0d639a0943822626290d169965804f79400e6a04", + "url": "https://api.github.com/repos/symfony/finder/zipball/0ae3f047bed4edff6fd35b26a9a6bfdc92c953c6", + "reference": "0ae3f047bed4edff6fd35b26a9a6bfdc92c953c6", "shasum": "" }, "require": { @@ -4050,7 +4323,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v5.2.4" + "source": "https://github.com/symfony/finder/tree/v5.3.0" }, "funding": [ { @@ -4066,7 +4339,7 @@ "type": "tidelift" } ], - "time": "2021-02-15T18:55:04+00:00" + "time": "2021-05-26T12:52:38+00:00" }, { "name": "symfony/http-client-contracts", @@ -4148,16 +4421,16 @@ }, { "name": "symfony/http-foundation", - "version": "v5.2.7", + "version": "v5.3.1", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "a416487a73bb9c9d120e9ba3a60547f4a3fb7a1f" + "reference": "8827b90cf8806e467124ad476acd15216c2fceb6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a416487a73bb9c9d120e9ba3a60547f4a3fb7a1f", - "reference": "a416487a73bb9c9d120e9ba3a60547f4a3fb7a1f", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/8827b90cf8806e467124ad476acd15216c2fceb6", + "reference": "8827b90cf8806e467124ad476acd15216c2fceb6", "shasum": "" }, "require": { @@ -4201,7 +4474,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v5.2.7" + "source": "https://github.com/symfony/http-foundation/tree/v5.3.1" }, "funding": [ { @@ -4217,20 +4490,20 @@ "type": "tidelift" } ], - "time": "2021-05-01T13:46:24+00:00" + "time": "2021-06-02T09:32:00+00:00" }, { "name": "symfony/http-kernel", - "version": "v5.2.7", + "version": "v5.3.1", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "1e9f6879f070f718e0055fbac232a56f67b8b6bd" + "reference": "74eb022e3bac36b3d3a897951a98759f2b32b864" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1e9f6879f070f718e0055fbac232a56f67b8b6bd", - "reference": "1e9f6879f070f718e0055fbac232a56f67b8b6bd", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/74eb022e3bac36b3d3a897951a98759f2b32b864", + "reference": "74eb022e3bac36b3d3a897951a98759f2b32b864", "shasum": "" }, "require": { @@ -4240,7 +4513,7 @@ "symfony/error-handler": "^4.4|^5.0", "symfony/event-dispatcher": "^5.0", "symfony/http-client-contracts": "^1.1|^2", - "symfony/http-foundation": "^4.4|^5.0", + "symfony/http-foundation": "^5.3", "symfony/polyfill-ctype": "^1.8", "symfony/polyfill-php73": "^1.9", "symfony/polyfill-php80": "^1.15" @@ -4250,7 +4523,7 @@ "symfony/cache": "<5.0", "symfony/config": "<5.0", "symfony/console": "<4.4", - "symfony/dependency-injection": "<5.1.8", + "symfony/dependency-injection": "<5.3", "symfony/doctrine-bridge": "<5.0", "symfony/form": "<5.0", "symfony/http-client": "<5.0", @@ -4270,7 +4543,7 @@ "symfony/config": "^5.0", "symfony/console": "^4.4|^5.0", "symfony/css-selector": "^4.4|^5.0", - "symfony/dependency-injection": "^5.1.8", + "symfony/dependency-injection": "^5.3", "symfony/dom-crawler": "^4.4|^5.0", "symfony/expression-language": "^4.4|^5.0", "symfony/finder": "^4.4|^5.0", @@ -4313,7 +4586,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v5.2.7" + "source": "https://github.com/symfony/http-kernel/tree/v5.3.1" }, "funding": [ { @@ -4329,20 +4602,20 @@ "type": "tidelift" } ], - "time": "2021-05-01T14:53:15+00:00" + "time": "2021-06-02T10:07:12+00:00" }, { "name": "symfony/mime", - "version": "v5.2.7", + "version": "v5.3.0", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "7af452bf51c46f18da00feb32e1ad36db9426515" + "reference": "ed710d297b181f6a7194d8172c9c2423d58e4852" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/7af452bf51c46f18da00feb32e1ad36db9426515", - "reference": "7af452bf51c46f18da00feb32e1ad36db9426515", + "url": "https://api.github.com/repos/symfony/mime/zipball/ed710d297b181f6a7194d8172c9c2423d58e4852", + "reference": "ed710d297b181f6a7194d8172c9c2423d58e4852", "shasum": "" }, "require": { @@ -4396,7 +4669,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v5.2.7" + "source": "https://github.com/symfony/mime/tree/v5.3.0" }, "funding": [ { @@ -4412,20 +4685,20 @@ "type": "tidelift" } ], - "time": "2021-04-29T20:47:09+00:00" + "time": "2021-05-26T17:43:10+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.22.1", + "version": "v1.23.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "c6c942b1ac76c82448322025e084cadc56048b4e" + "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/c6c942b1ac76c82448322025e084cadc56048b4e", - "reference": "c6c942b1ac76c82448322025e084cadc56048b4e", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/46cd95797e9df938fdd2b03693b5fca5e64b01ce", + "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce", "shasum": "" }, "require": { @@ -4437,7 +4710,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -4475,7 +4748,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.22.1" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.23.0" }, "funding": [ { @@ -4491,20 +4764,20 @@ "type": "tidelift" } ], - "time": "2021-01-07T16:49:33+00:00" + "time": "2021-02-19T12:13:01+00:00" }, { "name": "symfony/polyfill-iconv", - "version": "v1.22.1", + "version": "v1.23.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "06fb361659649bcfd6a208a0f1fcaf4e827ad342" + "reference": "63b5bb7db83e5673936d6e3b8b3e022ff6474933" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/06fb361659649bcfd6a208a0f1fcaf4e827ad342", - "reference": "06fb361659649bcfd6a208a0f1fcaf4e827ad342", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/63b5bb7db83e5673936d6e3b8b3e022ff6474933", + "reference": "63b5bb7db83e5673936d6e3b8b3e022ff6474933", "shasum": "" }, "require": { @@ -4516,7 +4789,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -4555,7 +4828,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-iconv/tree/v1.22.1" + "source": "https://github.com/symfony/polyfill-iconv/tree/v1.23.0" }, "funding": [ { @@ -4571,20 +4844,20 @@ "type": "tidelift" } ], - "time": "2021-01-22T09:19:47+00:00" + "time": "2021-05-27T09:27:20+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.22.1", + "version": "v1.23.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "5601e09b69f26c1828b13b6bb87cb07cddba3170" + "reference": "24b72c6baa32c746a4d0840147c9715e42bb68ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/5601e09b69f26c1828b13b6bb87cb07cddba3170", - "reference": "5601e09b69f26c1828b13b6bb87cb07cddba3170", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/24b72c6baa32c746a4d0840147c9715e42bb68ab", + "reference": "24b72c6baa32c746a4d0840147c9715e42bb68ab", "shasum": "" }, "require": { @@ -4596,7 +4869,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -4636,7 +4909,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.22.1" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.0" }, "funding": [ { @@ -4652,20 +4925,20 @@ "type": "tidelift" } ], - "time": "2021-01-22T09:19:47+00:00" + "time": "2021-05-27T09:17:38+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.22.1", + "version": "v1.23.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "2d63434d922daf7da8dd863e7907e67ee3031483" + "reference": "65bd267525e82759e7d8c4e8ceea44f398838e65" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/2d63434d922daf7da8dd863e7907e67ee3031483", - "reference": "2d63434d922daf7da8dd863e7907e67ee3031483", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/65bd267525e82759e7d8c4e8ceea44f398838e65", + "reference": "65bd267525e82759e7d8c4e8ceea44f398838e65", "shasum": "" }, "require": { @@ -4679,7 +4952,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -4723,7 +4996,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.22.1" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.23.0" }, "funding": [ { @@ -4739,20 +5012,20 @@ "type": "tidelift" } ], - "time": "2021-01-22T09:19:47+00:00" + "time": "2021-05-27T09:27:20+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.22.1", + "version": "v1.23.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "43a0283138253ed1d48d352ab6d0bdb3f809f248" + "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/43a0283138253ed1d48d352ab6d0bdb3f809f248", - "reference": "43a0283138253ed1d48d352ab6d0bdb3f809f248", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8", + "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8", "shasum": "" }, "require": { @@ -4764,7 +5037,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -4807,7 +5080,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.22.1" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.23.0" }, "funding": [ { @@ -4823,20 +5096,20 @@ "type": "tidelift" } ], - "time": "2021-01-22T09:19:47+00:00" + "time": "2021-02-19T12:13:01+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.22.1", + "version": "v1.23.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "5232de97ee3b75b0360528dae24e73db49566ab1" + "reference": "2df51500adbaebdc4c38dea4c89a2e131c45c8a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/5232de97ee3b75b0360528dae24e73db49566ab1", - "reference": "5232de97ee3b75b0360528dae24e73db49566ab1", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2df51500adbaebdc4c38dea4c89a2e131c45c8a1", + "reference": "2df51500adbaebdc4c38dea4c89a2e131c45c8a1", "shasum": "" }, "require": { @@ -4848,7 +5121,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -4887,7 +5160,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.22.1" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.0" }, "funding": [ { @@ -4903,20 +5176,20 @@ "type": "tidelift" } ], - "time": "2021-01-22T09:19:47+00:00" + "time": "2021-05-27T09:27:20+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.22.1", + "version": "v1.23.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9" + "reference": "9a142215a36a3888e30d0a9eeea9766764e96976" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9", - "reference": "cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9a142215a36a3888e30d0a9eeea9766764e96976", + "reference": "9a142215a36a3888e30d0a9eeea9766764e96976", "shasum": "" }, "require": { @@ -4925,7 +5198,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -4963,7 +5236,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.22.1" + "source": "https://github.com/symfony/polyfill-php72/tree/v1.23.0" }, "funding": [ { @@ -4979,20 +5252,20 @@ "type": "tidelift" } ], - "time": "2021-01-07T16:49:33+00:00" + "time": "2021-05-27T09:17:38+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.22.1", + "version": "v1.23.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2" + "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", - "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fba8933c384d6476ab14fb7b8526e5287ca7e010", + "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010", "shasum": "" }, "require": { @@ -5001,7 +5274,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -5042,7 +5315,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.22.1" + "source": "https://github.com/symfony/polyfill-php73/tree/v1.23.0" }, "funding": [ { @@ -5058,20 +5331,20 @@ "type": "tidelift" } ], - "time": "2021-01-07T16:49:33+00:00" + "time": "2021-02-19T12:13:01+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.22.1", + "version": "v1.23.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91" + "reference": "eca0bf41ed421bed1b57c4958bab16aa86b757d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dc3063ba22c2a1fd2f45ed856374d79114998f91", - "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/eca0bf41ed421bed1b57c4958bab16aa86b757d0", + "reference": "eca0bf41ed421bed1b57c4958bab16aa86b757d0", "shasum": "" }, "require": { @@ -5080,7 +5353,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -5125,7 +5398,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.22.1" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.23.0" }, "funding": [ { @@ -5141,20 +5414,20 @@ "type": "tidelift" } ], - "time": "2021-01-07T16:49:33+00:00" + "time": "2021-02-19T12:13:01+00:00" }, { "name": "symfony/process", - "version": "v5.2.7", + "version": "v5.3.0", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "98cb8eeb72e55d4196dd1e36f1f16e7b3a9a088e" + "reference": "53e36cb1c160505cdaf1ef201501669c4c317191" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/98cb8eeb72e55d4196dd1e36f1f16e7b3a9a088e", - "reference": "98cb8eeb72e55d4196dd1e36f1f16e7b3a9a088e", + "url": "https://api.github.com/repos/symfony/process/zipball/53e36cb1c160505cdaf1ef201501669c4c317191", + "reference": "53e36cb1c160505cdaf1ef201501669c4c317191", "shasum": "" }, "require": { @@ -5187,7 +5460,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v5.3.0-BETA1" + "source": "https://github.com/symfony/process/tree/v5.3.0" }, "funding": [ { @@ -5203,20 +5476,20 @@ "type": "tidelift" } ], - "time": "2021-04-08T10:27:02+00:00" + "time": "2021-05-26T12:52:38+00:00" }, { "name": "symfony/routing", - "version": "v5.2.7", + "version": "v5.3.0", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "3f0cab2e95b5e92226f34c2c1aa969d3fc41f48c" + "reference": "368e81376a8e049c37cb80ae87dbfbf411279199" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/3f0cab2e95b5e92226f34c2c1aa969d3fc41f48c", - "reference": "3f0cab2e95b5e92226f34c2c1aa969d3fc41f48c", + "url": "https://api.github.com/repos/symfony/routing/zipball/368e81376a8e049c37cb80ae87dbfbf411279199", + "reference": "368e81376a8e049c37cb80ae87dbfbf411279199", "shasum": "" }, "require": { @@ -5225,14 +5498,15 @@ "symfony/polyfill-php80": "^1.15" }, "conflict": { - "symfony/config": "<5.0", + "doctrine/annotations": "<1.12", + "symfony/config": "<5.3", "symfony/dependency-injection": "<4.4", "symfony/yaml": "<4.4" }, "require-dev": { - "doctrine/annotations": "^1.10.4", + "doctrine/annotations": "^1.12", "psr/log": "~1.0", - "symfony/config": "^5.0", + "symfony/config": "^5.3", "symfony/dependency-injection": "^4.4|^5.0", "symfony/expression-language": "^4.4|^5.0", "symfony/http-foundation": "^4.4|^5.0", @@ -5276,7 +5550,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v5.2.7" + "source": "https://github.com/symfony/routing/tree/v5.3.0" }, "funding": [ { @@ -5292,7 +5566,7 @@ "type": "tidelift" } ], - "time": "2021-04-11T22:55:21+00:00" + "time": "2021-05-26T17:43:10+00:00" }, { "name": "symfony/service-contracts", @@ -5375,16 +5649,16 @@ }, { "name": "symfony/string", - "version": "v5.2.6", + "version": "v5.3.0", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "ad0bd91bce2054103f5eaa18ebeba8d3bc2a0572" + "reference": "a9a0f8b6aafc5d2d1c116dcccd1573a95153515b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/ad0bd91bce2054103f5eaa18ebeba8d3bc2a0572", - "reference": "ad0bd91bce2054103f5eaa18ebeba8d3bc2a0572", + "url": "https://api.github.com/repos/symfony/string/zipball/a9a0f8b6aafc5d2d1c116dcccd1573a95153515b", + "reference": "a9a0f8b6aafc5d2d1c116dcccd1573a95153515b", "shasum": "" }, "require": { @@ -5438,7 +5712,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.2.6" + "source": "https://github.com/symfony/string/tree/v5.3.0" }, "funding": [ { @@ -5454,24 +5728,25 @@ "type": "tidelift" } ], - "time": "2021-03-17T17:12:15+00:00" + "time": "2021-05-26T17:43:10+00:00" }, { "name": "symfony/translation", - "version": "v5.2.7", + "version": "v5.3.0", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "e37ece5242564bceea54d709eafc948377ec9749" + "reference": "251de0d921c42ef0a81494d8f37405421deefdf6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/e37ece5242564bceea54d709eafc948377ec9749", - "reference": "e37ece5242564bceea54d709eafc948377ec9749", + "url": "https://api.github.com/repos/symfony/translation/zipball/251de0d921c42ef0a81494d8f37405421deefdf6", + "reference": "251de0d921c42ef0a81494d8f37405421deefdf6", "shasum": "" }, "require": { "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", "symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-php80": "^1.15", "symfony/translation-contracts": "^2.3" @@ -5494,6 +5769,7 @@ "symfony/finder": "^4.4|^5.0", "symfony/http-kernel": "^5.0", "symfony/intl": "^4.4|^5.0", + "symfony/polyfill-intl-icu": "^1.21", "symfony/service-contracts": "^1.1.2|^2", "symfony/yaml": "^4.4|^5.0" }, @@ -5531,7 +5807,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v5.2.7" + "source": "https://github.com/symfony/translation/tree/v5.3.0" }, "funding": [ { @@ -5547,7 +5823,7 @@ "type": "tidelift" } ], - "time": "2021-04-01T08:15:21+00:00" + "time": "2021-05-29T22:28:28+00:00" }, { "name": "symfony/translation-contracts", @@ -5629,16 +5905,16 @@ }, { "name": "symfony/var-dumper", - "version": "v5.2.7", + "version": "v5.3.0", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "27cb9f7cfa3853c736425c7233a8f68814b19636" + "reference": "1d3953e627fe4b5f6df503f356b6545ada6351f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/27cb9f7cfa3853c736425c7233a8f68814b19636", - "reference": "27cb9f7cfa3853c736425c7233a8f68814b19636", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/1d3953e627fe4b5f6df503f356b6545ada6351f3", + "reference": "1d3953e627fe4b5f6df503f356b6545ada6351f3", "shasum": "" }, "require": { @@ -5697,7 +5973,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.2.7" + "source": "https://github.com/symfony/var-dumper/tree/v5.3.0" }, "funding": [ { @@ -5713,20 +5989,20 @@ "type": "tidelift" } ], - "time": "2021-04-19T14:07:32+00:00" + "time": "2021-05-27T12:28:50+00:00" }, { "name": "tightenco/ziggy", - "version": "v1.1.0", + "version": "v1.2.0", "source": { "type": "git", "url": "https://github.com/tighten/ziggy.git", - "reference": "ac0833645f25b51acf9e3d523d6bf8633938f9c5" + "reference": "147804d5f3e98b897fc1ed15efc2807f1099cf83" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tighten/ziggy/zipball/ac0833645f25b51acf9e3d523d6bf8633938f9c5", - "reference": "ac0833645f25b51acf9e3d523d6bf8633938f9c5", + "url": "https://api.github.com/repos/tighten/ziggy/zipball/147804d5f3e98b897fc1ed15efc2807f1099cf83", + "reference": "147804d5f3e98b897fc1ed15efc2807f1099cf83", "shasum": "" }, "require": { @@ -5777,9 +6053,9 @@ ], "support": { "issues": "https://github.com/tighten/ziggy/issues", - "source": "https://github.com/tighten/ziggy/tree/v1.1.0" + "source": "https://github.com/tighten/ziggy/tree/v1.2.0" }, - "time": "2021-04-02T17:17:05+00:00" + "time": "2021-05-24T22:46:59+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -6119,16 +6395,16 @@ }, { "name": "facade/flare-client-php", - "version": "1.8.0", + "version": "1.8.1", "source": { "type": "git", "url": "https://github.com/facade/flare-client-php.git", - "reference": "69742118c037f34ee1ef86dc605be4a105d9e984" + "reference": "47b639dc02bcfdfc4ebb83de703856fa01e35f5f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/facade/flare-client-php/zipball/69742118c037f34ee1ef86dc605be4a105d9e984", - "reference": "69742118c037f34ee1ef86dc605be4a105d9e984", + "url": "https://api.github.com/repos/facade/flare-client-php/zipball/47b639dc02bcfdfc4ebb83de703856fa01e35f5f", + "reference": "47b639dc02bcfdfc4ebb83de703856fa01e35f5f", "shasum": "" }, "require": { @@ -6172,7 +6448,7 @@ ], "support": { "issues": "https://github.com/facade/flare-client-php/issues", - "source": "https://github.com/facade/flare-client-php/tree/1.8.0" + "source": "https://github.com/facade/flare-client-php/tree/1.8.1" }, "funding": [ { @@ -6180,20 +6456,20 @@ "type": "github" } ], - "time": "2021-04-30T11:11:50+00:00" + "time": "2021-05-31T19:23:29+00:00" }, { "name": "facade/ignition", - "version": "2.9.0", + "version": "2.10.1", "source": { "type": "git", "url": "https://github.com/facade/ignition.git", - "reference": "e7db3b601ce742568b92648818ef903904d20164" + "reference": "508d80f91de953617977e5666f8953669b6e81f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/facade/ignition/zipball/e7db3b601ce742568b92648818ef903904d20164", - "reference": "e7db3b601ce742568b92648818ef903904d20164", + "url": "https://api.github.com/repos/facade/ignition/zipball/508d80f91de953617977e5666f8953669b6e81f2", + "reference": "508d80f91de953617977e5666f8953669b6e81f2", "shasum": "" }, "require": { @@ -6257,7 +6533,7 @@ "issues": "https://github.com/facade/ignition/issues", "source": "https://github.com/facade/ignition" }, - "time": "2021-05-05T06:45:12+00:00" + "time": "2021-06-03T21:41:42+00:00" }, { "name": "facade/ignition-contracts", @@ -6379,16 +6655,16 @@ }, { "name": "filp/whoops", - "version": "2.12.1", + "version": "2.13.0", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "c13c0be93cff50f88bbd70827d993026821914dd" + "reference": "2edbc73a4687d9085c8f20f398eebade844e8424" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/c13c0be93cff50f88bbd70827d993026821914dd", - "reference": "c13c0be93cff50f88bbd70827d993026821914dd", + "url": "https://api.github.com/repos/filp/whoops/zipball/2edbc73a4687d9085c8f20f398eebade844e8424", + "reference": "2edbc73a4687d9085c8f20f398eebade844e8424", "shasum": "" }, "require": { @@ -6438,7 +6714,7 @@ ], "support": { "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.12.1" + "source": "https://github.com/filp/whoops/tree/2.13.0" }, "funding": [ { @@ -6446,7 +6722,7 @@ "type": "github" } ], - "time": "2021-04-25T12:00:00+00:00" + "time": "2021-06-04T12:00:00+00:00" }, { "name": "hamcrest/hamcrest-php", @@ -6501,16 +6777,16 @@ }, { "name": "laravel/sail", - "version": "v1.5.0", + "version": "v1.7.0", "source": { "type": "git", "url": "https://github.com/laravel/sail.git", - "reference": "7f2d520f8c7d6fc0e5e4949c1363f6ddff0ff116" + "reference": "d1f703d73f782af5427697cdc5023395cd341963" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/sail/zipball/7f2d520f8c7d6fc0e5e4949c1363f6ddff0ff116", - "reference": "7f2d520f8c7d6fc0e5e4949c1363f6ddff0ff116", + "url": "https://api.github.com/repos/laravel/sail/zipball/d1f703d73f782af5427697cdc5023395cd341963", + "reference": "d1f703d73f782af5427697cdc5023395cd341963", "shasum": "" }, "require": { @@ -6557,7 +6833,7 @@ "issues": "https://github.com/laravel/sail/issues", "source": "https://github.com/laravel/sail" }, - "time": "2021-04-20T16:17:55+00:00" + "time": "2021-05-25T16:41:13+00:00" }, { "name": "mockery/mockery", @@ -7433,16 +7709,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.5.4", + "version": "9.5.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "c73c6737305e779771147af66c96ca6a7ed8a741" + "reference": "89ff45ea9d70e35522fb6654a2ebc221158de276" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c73c6737305e779771147af66c96ca6a7ed8a741", - "reference": "c73c6737305e779771147af66c96ca6a7ed8a741", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/89ff45ea9d70e35522fb6654a2ebc221158de276", + "reference": "89ff45ea9d70e35522fb6654a2ebc221158de276", "shasum": "" }, "require": { @@ -7472,7 +7748,7 @@ "sebastian/global-state": "^5.0.1", "sebastian/object-enumerator": "^4.0.3", "sebastian/resource-operations": "^3.0.3", - "sebastian/type": "^2.3", + "sebastian/type": "^2.3.2", "sebastian/version": "^3.0.2" }, "require-dev": { @@ -7520,7 +7796,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.4" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.5" }, "funding": [ { @@ -7532,7 +7808,7 @@ "type": "github" } ], - "time": "2021-03-23T07:16:29+00:00" + "time": "2021-06-05T04:49:07+00:00" }, { "name": "sebastian/cli-parser", @@ -8391,16 +8667,16 @@ }, { "name": "sebastian/type", - "version": "2.3.1", + "version": "2.3.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2" + "reference": "0d1c587401514d17e8f9258a27e23527cb1b06c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/81cd61ab7bbf2de744aba0ea61fae32f721df3d2", - "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/0d1c587401514d17e8f9258a27e23527cb1b06c1", + "reference": "0d1c587401514d17e8f9258a27e23527cb1b06c1", "shasum": "" }, "require": { @@ -8435,7 +8711,7 @@ "homepage": "https://github.com/sebastianbergmann/type", "support": { "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/2.3.1" + "source": "https://github.com/sebastianbergmann/type/tree/2.3.2" }, "funding": [ { @@ -8443,7 +8719,7 @@ "type": "github" } ], - "time": "2020-10-26T13:18:59+00:00" + "time": "2021-06-04T13:02:07+00:00" }, { "name": "sebastian/version", diff --git a/config/app.php b/config/app.php index 50cb839..1aef992 100644 --- a/config/app.php +++ b/config/app.php @@ -176,6 +176,7 @@ return [ App\Providers\RouteServiceProvider::class, App\Providers\FortifyServiceProvider::class, App\Providers\JetstreamServiceProvider::class, + Barryvdh\DomPDF\ServiceProvider::class, ], /* @@ -228,6 +229,7 @@ return [ 'URL' => Illuminate\Support\Facades\URL::class, 'Validator' => Illuminate\Support\Facades\Validator::class, 'View' => Illuminate\Support\Facades\View::class, + 'PDF' => Barryvdh\DomPDF\Facade::class, ], ]; diff --git a/public/images/logo_contract.jpg b/public/images/logo_contract.jpg new file mode 100644 index 0000000000000000000000000000000000000000..648d4d2197e389a58daca0122aafa2a876e7448e GIT binary patch literal 12220 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 YNGC)E^(&+PbAZ$f!qd_J1LrwFsQ>@~ literal 0 HcmV?d00001 diff --git a/public/images/logo_contract.png b/public/images/logo_contract.png new file mode 100644 index 0000000000000000000000000000000000000000..7225c5fcab67a17b4f5e5a0cf86a24b86e33d062 GIT binary patch literal 30612 zcmeFZWmsIx)*#$CgrLFQH9+IgxVyUqcXzko3GVI$ch}(V?hxF92e%>ToU8A>-}B9% z`7_h>?p>@}R?Dioc0K(?URDg@9nL!d0DvGNF0A-=e|Wo8VWHnX_n5+p001x_b0Hyl z2_YdOc?Vk)b1P#2fGWm2dO`|Z0BxYd!Z@B-K_CQCN`n%8h5rb(C=iaI_kB%E*>TC| zik?$Zkt9R`wH%_O=}MtzDCa|DCq(~j*j%kweubpylL$*QsCNB5@4c}!24>yP(*!Kq z21vhH3$r0J^<=3D_;Jj-sRJSQ)!4FHc@h+uKGzp)!rQ6~ul;RJ--*|V@v__zzw!(> zMUzwkZW-=61K_xJrCOdCimlzaR$C9J;e|#yWkNWzE-Ji(z%VKwis!DsD)>+BjX3k8 zA$I%XrjH97J-%CtvrE{+0W2`tq+h7Ik&%1QNMH@nKGZ>P2Eg*2=uwqIci>UivRYH? z0t1mbb6^=&ZakqFi4>7;uN!qEH1CnId|~hsMCoebwXMLOqasrG0d}_F`wP<3`I
    Ep!IN_G`K!BZmf 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 w@6Pv9x2o=esrEn(^r?1dU0B@%yR!#=2WPo (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); -/* harmony import */ var _StandardButton_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./StandardButton.vue */ "./resources/js/Components/Buttons/StandardButton.vue"); - /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ - components: { - StandardButton: _StandardButton_vue__WEBPACK_IMPORTED_MODULE_0__.default - }, props: { "class": String, href: String + }, + data: function data() { + return { + colour: 'indigo' + }; + }, + computed: { + allClasses: function allClasses() { + var classes = "justify-center inline-flex items-center px-4 py-2 border border-transparent rounded-md font-semibold text-xs text-white uppercase tracking-widest focus:outline-none focus:ring disabled:opacity-25 transition"; + classes += " bg-".concat(this.colour, "-800 hover:bg-").concat(this.colour, "-700 active:bg-").concat(this.colour, "-900 focus:border-").concat(this.colour, "-900 focus:ring-").concat(this.colour, "-300"); + return classes + " " + this["class"]; + } } }); @@ -19732,7 +19739,7 @@ __webpack_require__.r(__webpack_exports__); id: null, date: (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)(new Date()), price: null, - type: this.type == "SellContract" ? 0 : 1, + type: this.type == "SellContract" ? '0' : '1', insurance_type: '0', car_id: this.car.id, contact_id: this.contact.id @@ -21112,28 +21119,19 @@ var _hoisted_1 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNod function render(_ctx, _cache, $props, $setup, $data, $options) { var _component_unicon = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("unicon"); - var _component_standard_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("standard-button"); - - return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_standard_button, { + return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)("a", { href: $props.href, - "class": this["class"], - colour: "gray" - }, { - "default": (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () { - return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_unicon, { - fill: "white", - "class": "mr-1", - height: "22", - width: "22", - name: "file-download" - }), _hoisted_1]; - }), - _: 1 - /* STABLE */ - - }, 8 - /* PROPS */ - , ["href", "class"]); + target: "_blank", + "class": $options.allClasses + }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_unicon, { + fill: "white", + "class": "mr-1", + height: "22", + width: "22", + name: "file-download" + }), _hoisted_1], 10 + /* CLASS, PROPS */ + , ["href"]); } /***/ }), diff --git a/resources/js/Components/Buttons/PrintButton.vue b/resources/js/Components/Buttons/PrintButton.vue index afb8539..ac7ccdc 100644 --- a/resources/js/Components/Buttons/PrintButton.vue +++ b/resources/js/Components/Buttons/PrintButton.vue @@ -1,18 +1,27 @@ \ No newline at end of file diff --git a/resources/js/Pages/Contracts/Create.vue b/resources/js/Pages/Contracts/Create.vue index 96a368e..f80859a 100644 --- a/resources/js/Pages/Contracts/Create.vue +++ b/resources/js/Pages/Contracts/Create.vue @@ -90,7 +90,7 @@ export default { id: null, date: ref(new Date()), price: null, - type: this.type == "SellContract" ? 0 : 1, + type: this.type == "SellContract" ? '0' : '1', insurance_type: '0', car_id: this.car.id, contact_id: this.contact.id, diff --git a/resources/views/contract.blade.php b/resources/views/contract.blade.php index 915c991..53dfd2d 100644 --- a/resources/views/contract.blade.php +++ b/resources/views/contract.blade.php @@ -9,18 +9,21 @@ font-family: Verdana, Arial, sans-serif; } body { - margin: 50px; + margin: 0; } table{ font-size: x-small; } table tr td { - padding: 2px 0; - font-size: 13px; + padding: 1px 0; + font-size: 12px; } - .footnote tr td { - padding: 0; - font-size: 11px; + .footnote { + padding: 5px 0; + margin: 25px 0 5px 0; + font-size: 9px; + border-top: 1px solid black; + border-bottom: 1px solid black; } tfoot tr td{ font-weight: bold; @@ -35,8 +38,8 @@ - +
    -

    Your SwissCar GmbH

    +Your SwissCar GmbH
     Bernstrasse 27
     8952 Schlieren
     
    @@ -46,40 +49,66 @@ E-Mail: info@yourswisscar.com
     MwSt-Nr: CHE-226.272.050
                     
    - +

    Autokaufvertag

    Auto - {{ $contract->type_formatted }}

    - - - - - - - - - - - - - - - - - - - - - - - - - + @if ($contract->isBuyContract()) + + + + + + + + + + + + + + + + + + + + + + + + + @else + + + + + + + + + + + + + + + + + + + + + + + + + @endif
     
    VerkäuferYour SwissCar GmbHKäufer{{ $contract->contact->full_title }}
    StrasseBernstrasse 27Strasse{{ $contract->contact->address }}
    PLZ / Ort8952 SchlierenPLZ / Ort{{ $contract->contact->full_city }}
    Telefon079 680 34 44Telefon{{ $contract->contact->phone }}
    Verkäufer{{ $contract->contact->full_title }}KäuferYour SwissCar GmbH
    Strasse{{ $contract->contact->address }}StrasseBernstrasse 27
    PLZ / Ort{{ $contract->contact->full_city }}PLZ / Ort8952 Schlieren
    Telefon{{ $contract->contact->phone }}Telefon079 680 34 44
    VerkäuferYour SwissCar GmbHKäufer{{ $contract->contact->full_title }}
    StrasseBernstrasse 27Strasse{{ $contract->contact->address }}
    PLZ / Ort8952 SchlierenPLZ / Ort{{ $contract->contact->full_city }}
    Telefon079 680 34 44Telefon{{ $contract->contact->phone }}
     
    @@ -88,21 +117,19 @@ MwSt-Nr: CHE-226.272.050 - + + + - - - - - - - - - + + + + + @@ -113,9 +140,8 @@ MwSt-Nr: CHE-226.272.050 - - + @@ -138,74 +164,46 @@ MwSt-Nr: CHE-226.272.050 - -
    Marke & Modell{{ $contract->car->name }}{{ $contract->car->name }}Farbe{{ $contract->car->colour }}
    Chassisnummer{{ $contract->car->vin }}
    Farbe{{ $contract->car->colour }}Inverkehrssetzung{{ $contract->car->initial_date_formatted }}
    {{ $contract->car->vin }} Stammnummer {{ $contract->car->stammnummer }}
    Inverkehrssetzung{{ $contract->car->initial_date_formatted }} Letzte Prüfung {{ $contract->car->last_check_date_formatted }}
    {{ $contract->insurance_type_formatted }}
     
    VerkaufspreisKaufpreis {{ $contract->price }}
    Bemerkung
     
     
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Serviceheft + alle Dokumente sind vorhanden. Mit Kratze Lackschaden.
    Mit der Anzahlung/Teilzahlung des Kaufpreises durch den Käufer anerkennt
    er den gesamten Kaufpreis gekauft wie gesehen und probiert.
    Ohne Gewährleistung
    Garantie für Occasionen entfallen die gesetzlichen Gewährleistungsansprüche,
    eine gänzliche oder teilweise Rückerstattung des Kaufpreises
    (Wandelung und Minderung) sind ausgeschlossen, ebenso der Ersatz eines aus der
    mangelhaften Lieferung irgendwie entstandenen Schadens.
    Gerichtsstand: Für die Beurteilung aller aus dieser Rechnung entstehenden
    Streitigkeiten gilt das Domizil der Verkaufsfirma.
    Eigentumsvorbehalt: Das Fahrzeug bleibt bis zur vollständigen
    Bezahlung des Kaufpreises unser Eigentum.
    - - +
    +Serviceheft + alle Dokumente sind vorhanden. Mit Kratze Lackschaden.
    +Mit der Anzahlung/Teilzahlung des Kaufpreises durch den Käufer anerkennt
    +er den gesamten Kaufpreis gekauft wie gesehen und probiert.
    +Ohne Gewährleistung 
    +Garantie für Occasionen entfallen die gesetzlichen Gewährleistungsansprüche, 
    +eine gänzliche oder teilweise Rückerstattung des Kaufpreises
    +(Wandelung und Minderung) sind ausgeschlossen, ebenso der Ersatz eines aus der
    +mangelhaften Lieferung irgendwie entstandenen Schadens.
    +Gerichtsstand: Für die Beurteilung aller aus dieser Rechnung entstehenden
    +Streitigkeiten gilt das Domizil der Verkaufsfirma.
    +Eigentumsvorbehalt: Das Fahrzeug bleibt bis zur vollständigen
    +Bezahlung des Kaufpreises unser Eigentum
    +
    +
     
    - - + - +
    Ort, DatumSchlieren, Schlieren, {{ $contract->date_formatted }}
     
    Verkäufer: Käufer:




    - +
    - - - + + - + +
    QuittungDen Betrag vonQuittungDen Betrag von in bar erhalten
     
     
    Datum: {{ $contract->date_formatted }} 
    \ No newline at end of file