Add TeX Package
This commit is contained in:
parent
4a66dbd329
commit
b717148058
|
@ -4,3 +4,6 @@
|
|||
[submodule "packages/laravel-nami"]
|
||||
path = packages/laravel-nami
|
||||
url = git@github.com:DPSGKoeln/laravel-nami.git
|
||||
[submodule "packages/tex"]
|
||||
path = packages/tex
|
||||
url = git@zoomyboy.de:pille/tex.git
|
||||
|
|
|
@ -0,0 +1,47 @@
|
|||
<?php
|
||||
|
||||
namespace App\Efz;
|
||||
|
||||
use App\Member\Member;
|
||||
use App\Pdf\Sender;
|
||||
use Zoomyboy\Tex\Document;
|
||||
use Zoomyboy\Tex\Engine;
|
||||
use Zoomyboy\Tex\Template;
|
||||
|
||||
class EfzDocument extends Document
|
||||
{
|
||||
public string $name;
|
||||
public string $slug;
|
||||
public string $secondLine;
|
||||
public string $now;
|
||||
public Sender $sender;
|
||||
|
||||
public function __construct(public Member $member)
|
||||
{
|
||||
$this->name = $member->fullname;
|
||||
$this->slug = $member->slug;
|
||||
$this->secondLine = "geb. am {$member->birthday->format('d.m.Y')}, wohnhaft in {$member->location}";
|
||||
$this->now = now()->format('d.m.Y');
|
||||
$this->sender = $member->toSender();
|
||||
}
|
||||
|
||||
public function basename(): string
|
||||
{
|
||||
return "efz-fuer-{$this->slug}";
|
||||
}
|
||||
|
||||
public function getEngine(): Engine
|
||||
{
|
||||
return Engine::PDFLATEX;
|
||||
}
|
||||
|
||||
public function template(): Template
|
||||
{
|
||||
return Template::make('tex.templates.efz');
|
||||
}
|
||||
|
||||
public function view(): string
|
||||
{
|
||||
return 'tex.efz';
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
<?php
|
||||
|
||||
namespace App\Efz;
|
||||
|
||||
use App\Member\Member;
|
||||
use Lorisleiva\Actions\ActionRequest;
|
||||
use Lorisleiva\Actions\Concerns\AsAction;
|
||||
use Zoomyboy\Tex\BaseCompiler;
|
||||
use Zoomyboy\Tex\Tex;
|
||||
|
||||
class ShowEfzDocumentAction
|
||||
{
|
||||
use AsAction;
|
||||
|
||||
public function handle(Member $member): BaseCompiler
|
||||
{
|
||||
return Tex::compile(new EfzDocument($member));
|
||||
}
|
||||
|
||||
public function asController(Member $member, ActionRequest $request): BaseCompiler
|
||||
{
|
||||
return $this->handle($member);
|
||||
}
|
||||
}
|
|
@ -11,6 +11,7 @@ use App\Group;
|
|||
use App\Nationality;
|
||||
use App\Payment\Payment;
|
||||
use App\Payment\Subscription;
|
||||
use App\Pdf\Sender;
|
||||
use App\Region;
|
||||
use App\Setting\NamiSettings;
|
||||
use App\Subactivity;
|
||||
|
@ -24,6 +25,7 @@ use Illuminate\Database\Eloquent\Relations\HasMany;
|
|||
use Illuminate\Notifications\Notifiable;
|
||||
use Sabre\VObject\Component\VCard;
|
||||
use Sabre\VObject\Reader;
|
||||
use Spatie\LaravelData\Lazy;
|
||||
use Zoomyboy\LaravelNami\Api;
|
||||
use Zoomyboy\LaravelNami\Data\MembershipEntry;
|
||||
|
||||
|
@ -446,4 +448,14 @@ class Member extends Model
|
|||
|
||||
return $card;
|
||||
}
|
||||
|
||||
public function toSender(): Sender
|
||||
{
|
||||
return Sender::from([
|
||||
'name' => $this->fullname,
|
||||
'address' => $this->address,
|
||||
'zipLocation' => $this->zip.' '.$this->location,
|
||||
'mglnr' => Lazy::create(fn () => 'Mglnr.: '.$this->nami_id),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace App\Pdf;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Pdf\Data\MemberEfzData;
|
||||
|
||||
class MemberEfzController extends Controller
|
||||
{
|
||||
public function __invoke(MemberEfzData $data): PdfGenerator
|
||||
{
|
||||
return app(PdfGenerator::class)->setRepository($data)->render();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
<?php
|
||||
|
||||
namespace App\Pdf;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
use Spatie\LaravelData\Lazy;
|
||||
|
||||
class Sender extends Data
|
||||
{
|
||||
public function __construct(public string $name, public string $address, public string $zipLocation, public Lazy|string $mglnr)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array<int, string>
|
||||
*/
|
||||
public function values(): array
|
||||
{
|
||||
return array_values($this->include('mglnr')->toArray());
|
||||
}
|
||||
}
|
|
@ -7,7 +7,8 @@
|
|||
"laravel"
|
||||
],
|
||||
"repositories": [
|
||||
{ "type": "path", "url": "./packages/laravel-nami", "options": {"symlink": true} }
|
||||
{ "type": "path", "url": "./packages/laravel-nami", "options": {"symlink": true} },
|
||||
{ "type": "path", "url": "./packages/tex", "options": {"symlink": true} }
|
||||
],
|
||||
"license": "MIT",
|
||||
"require": {
|
||||
|
@ -31,7 +32,8 @@
|
|||
"spatie/laravel-medialibrary": "^10.0",
|
||||
"spatie/laravel-settings": "^2.2",
|
||||
"worksome/request-factories": "^2.5",
|
||||
"zoomyboy/laravel-nami": "dev-master"
|
||||
"zoomyboy/laravel-nami": "dev-master",
|
||||
"zoomyboy/tex": "dev-main as 1.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"fakerphp/faker": "^1.9.1",
|
||||
|
|
|
@ -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": "636d4f83830d3a56848cfaca9a395a8a",
|
||||
"content-hash": "77a195281ef8e4e20e6e5f9a6d36c752",
|
||||
"packages": [
|
||||
{
|
||||
"name": "beyondcode/laravel-dump-server",
|
||||
|
@ -276,16 +276,16 @@
|
|||
},
|
||||
{
|
||||
"name": "dflydev/dot-access-data",
|
||||
"version": "v3.0.1",
|
||||
"version": "v3.0.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/dflydev/dflydev-dot-access-data.git",
|
||||
"reference": "0992cc19268b259a39e86f296da5f0677841f42c"
|
||||
"reference": "f41715465d65213d644d3141a6a93081be5d3549"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/0992cc19268b259a39e86f296da5f0677841f42c",
|
||||
"reference": "0992cc19268b259a39e86f296da5f0677841f42c",
|
||||
"url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/f41715465d65213d644d3141a6a93081be5d3549",
|
||||
"reference": "f41715465d65213d644d3141a6a93081be5d3549",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -296,7 +296,7 @@
|
|||
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.3",
|
||||
"scrutinizer/ocular": "1.6.0",
|
||||
"squizlabs/php_codesniffer": "^3.5",
|
||||
"vimeo/psalm": "^3.14"
|
||||
"vimeo/psalm": "^4.0.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
|
@ -345,9 +345,9 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/dflydev/dflydev-dot-access-data/issues",
|
||||
"source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.1"
|
||||
"source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.2"
|
||||
},
|
||||
"time": "2021-08-13T13:06:58+00:00"
|
||||
"time": "2022-10-27T11:44:00+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/cache",
|
||||
|
@ -444,23 +444,23 @@
|
|||
},
|
||||
{
|
||||
"name": "doctrine/dbal",
|
||||
"version": "3.4.5",
|
||||
"version": "3.5.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/doctrine/dbal.git",
|
||||
"reference": "a5a58773109c0abb13e658c8ccd92aeec8d07f9e"
|
||||
"reference": "f38ee8aaca2d58ee88653cb34a6a3880c23f38a5"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/doctrine/dbal/zipball/a5a58773109c0abb13e658c8ccd92aeec8d07f9e",
|
||||
"reference": "a5a58773109c0abb13e658c8ccd92aeec8d07f9e",
|
||||
"url": "https://api.github.com/repos/doctrine/dbal/zipball/f38ee8aaca2d58ee88653cb34a6a3880c23f38a5",
|
||||
"reference": "f38ee8aaca2d58ee88653cb34a6a3880c23f38a5",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"composer-runtime-api": "^2",
|
||||
"doctrine/cache": "^1.11|^2.0",
|
||||
"doctrine/deprecations": "^0.5.3|^1",
|
||||
"doctrine/event-manager": "^1.0",
|
||||
"doctrine/event-manager": "^1|^2",
|
||||
"php": "^7.4 || ^8.0",
|
||||
"psr/cache": "^1|^2|^3",
|
||||
"psr/log": "^1|^2|^3"
|
||||
|
@ -468,14 +468,14 @@
|
|||
"require-dev": {
|
||||
"doctrine/coding-standard": "10.0.0",
|
||||
"jetbrains/phpstorm-stubs": "2022.2",
|
||||
"phpstan/phpstan": "1.8.3",
|
||||
"phpstan/phpstan-strict-rules": "^1.3",
|
||||
"phpunit/phpunit": "9.5.24",
|
||||
"phpstan/phpstan": "1.8.10",
|
||||
"phpstan/phpstan-strict-rules": "^1.4",
|
||||
"phpunit/phpunit": "9.5.25",
|
||||
"psalm/plugin-phpunit": "0.17.0",
|
||||
"squizlabs/php_codesniffer": "3.7.1",
|
||||
"symfony/cache": "^5.4|^6.0",
|
||||
"symfony/console": "^4.4|^5.4|^6.0",
|
||||
"vimeo/psalm": "4.27.0"
|
||||
"vimeo/psalm": "4.29.0"
|
||||
},
|
||||
"suggest": {
|
||||
"symfony/console": "For helpful console commands such as SQL execution and import of files."
|
||||
|
@ -535,7 +535,7 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/doctrine/dbal/issues",
|
||||
"source": "https://github.com/doctrine/dbal/tree/3.4.5"
|
||||
"source": "https://github.com/doctrine/dbal/tree/3.5.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
@ -551,7 +551,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-09-23T17:48:57+00:00"
|
||||
"time": "2022-10-24T07:26:18+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/deprecations",
|
||||
|
@ -598,30 +598,29 @@
|
|||
},
|
||||
{
|
||||
"name": "doctrine/event-manager",
|
||||
"version": "1.2.0",
|
||||
"version": "2.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/doctrine/event-manager.git",
|
||||
"reference": "95aa4cb529f1e96576f3fda9f5705ada4056a520"
|
||||
"reference": "750671534e0241a7c50ea5b43f67e23eb5c96f32"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/doctrine/event-manager/zipball/95aa4cb529f1e96576f3fda9f5705ada4056a520",
|
||||
"reference": "95aa4cb529f1e96576f3fda9f5705ada4056a520",
|
||||
"url": "https://api.github.com/repos/doctrine/event-manager/zipball/750671534e0241a7c50ea5b43f67e23eb5c96f32",
|
||||
"reference": "750671534e0241a7c50ea5b43f67e23eb5c96f32",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"doctrine/deprecations": "^0.5.3 || ^1",
|
||||
"php": "^7.1 || ^8.0"
|
||||
"php": "^8.1"
|
||||
},
|
||||
"conflict": {
|
||||
"doctrine/common": "<2.9"
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/coding-standard": "^9 || ^10",
|
||||
"phpstan/phpstan": "~1.4.10 || ^1.8.8",
|
||||
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
|
||||
"vimeo/psalm": "^4.24"
|
||||
"doctrine/coding-standard": "^10",
|
||||
"phpstan/phpstan": "^1.8.8",
|
||||
"phpunit/phpunit": "^9.5",
|
||||
"vimeo/psalm": "^4.28"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
|
@ -670,7 +669,7 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/doctrine/event-manager/issues",
|
||||
"source": "https://github.com/doctrine/event-manager/tree/1.2.0"
|
||||
"source": "https://github.com/doctrine/event-manager/tree/2.0.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
@ -686,27 +685,27 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-10-12T20:51:15+00:00"
|
||||
"time": "2022-10-12T20:59:15+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/inflector",
|
||||
"version": "2.0.5",
|
||||
"version": "2.0.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/doctrine/inflector.git",
|
||||
"reference": "ade2b3bbfb776f27f0558e26eed43b5d9fe1b392"
|
||||
"reference": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/doctrine/inflector/zipball/ade2b3bbfb776f27f0558e26eed43b5d9fe1b392",
|
||||
"reference": "ade2b3bbfb776f27f0558e26eed43b5d9fe1b392",
|
||||
"url": "https://api.github.com/repos/doctrine/inflector/zipball/d9d313a36c872fd6ee06d9a6cbcf713eaa40f024",
|
||||
"reference": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.2 || ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/coding-standard": "^9",
|
||||
"doctrine/coding-standard": "^10",
|
||||
"phpstan/phpstan": "^1.8",
|
||||
"phpstan/phpstan-phpunit": "^1.1",
|
||||
"phpstan/phpstan-strict-rules": "^1.3",
|
||||
|
@ -761,7 +760,7 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/doctrine/inflector/issues",
|
||||
"source": "https://github.com/doctrine/inflector/tree/2.0.5"
|
||||
"source": "https://github.com/doctrine/inflector/tree/2.0.6"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
@ -777,7 +776,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-09-07T09:01:28+00:00"
|
||||
"time": "2022-10-20T09:10:12+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/instantiator",
|
||||
|
@ -1472,16 +1471,16 @@
|
|||
},
|
||||
{
|
||||
"name": "guzzlehttp/psr7",
|
||||
"version": "2.4.1",
|
||||
"version": "2.4.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/guzzle/psr7.git",
|
||||
"reference": "69568e4293f4fa993f3b0e51c9723e1e17c41379"
|
||||
"reference": "67c26b443f348a51926030c83481b85718457d3d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/guzzle/psr7/zipball/69568e4293f4fa993f3b0e51c9723e1e17c41379",
|
||||
"reference": "69568e4293f4fa993f3b0e51c9723e1e17c41379",
|
||||
"url": "https://api.github.com/repos/guzzle/psr7/zipball/67c26b443f348a51926030c83481b85718457d3d",
|
||||
"reference": "67c26b443f348a51926030c83481b85718457d3d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -1571,7 +1570,7 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/guzzle/psr7/issues",
|
||||
"source": "https://github.com/guzzle/psr7/tree/2.4.1"
|
||||
"source": "https://github.com/guzzle/psr7/tree/2.4.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
@ -1587,7 +1586,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-08-28T14:45:39+00:00"
|
||||
"time": "2022-10-26T14:07:24+00:00"
|
||||
},
|
||||
{
|
||||
"name": "inertiajs/inertia-laravel",
|
||||
|
@ -1730,16 +1729,16 @@
|
|||
},
|
||||
{
|
||||
"name": "laravel/framework",
|
||||
"version": "v9.36.3",
|
||||
"version": "v9.37.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/framework.git",
|
||||
"reference": "80ba0561b3682b96743e1c152fde0698bbdb2412"
|
||||
"reference": "0c9675abf6d966e834b2ebeca3319f524e07a330"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/framework/zipball/80ba0561b3682b96743e1c152fde0698bbdb2412",
|
||||
"reference": "80ba0561b3682b96743e1c152fde0698bbdb2412",
|
||||
"url": "https://api.github.com/repos/laravel/framework/zipball/0c9675abf6d966e834b2ebeca3319f524e07a330",
|
||||
"reference": "0c9675abf6d966e834b2ebeca3319f524e07a330",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -1751,7 +1750,7 @@
|
|||
"fruitcake/php-cors": "^1.2",
|
||||
"laravel/serializable-closure": "^1.2.2",
|
||||
"league/commonmark": "^2.2",
|
||||
"league/flysystem": "^3.0.16",
|
||||
"league/flysystem": "^3.8.0",
|
||||
"monolog/monolog": "^2.0",
|
||||
"nesbot/carbon": "^2.62.1",
|
||||
"nunomaduro/termwind": "^1.13",
|
||||
|
@ -1912,20 +1911,20 @@
|
|||
"issues": "https://github.com/laravel/framework/issues",
|
||||
"source": "https://github.com/laravel/framework"
|
||||
},
|
||||
"time": "2022-10-19T13:23:53+00:00"
|
||||
"time": "2022-10-25T15:43:46+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/horizon",
|
||||
"version": "v5.10.2",
|
||||
"version": "v5.10.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/horizon.git",
|
||||
"reference": "de84bf86ffee940fa92e29c54d41618048ec9b6f"
|
||||
"reference": "22403726851d62c45051114c89106130c348decc"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/horizon/zipball/de84bf86ffee940fa92e29c54d41618048ec9b6f",
|
||||
"reference": "de84bf86ffee940fa92e29c54d41618048ec9b6f",
|
||||
"url": "https://api.github.com/repos/laravel/horizon/zipball/22403726851d62c45051114c89106130c348decc",
|
||||
"reference": "22403726851d62c45051114c89106130c348decc",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -1987,9 +1986,9 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/laravel/horizon/issues",
|
||||
"source": "https://github.com/laravel/horizon/tree/v5.10.2"
|
||||
"source": "https://github.com/laravel/horizon/tree/v5.10.3"
|
||||
},
|
||||
"time": "2022-09-26T13:45:51+00:00"
|
||||
"time": "2022-10-14T13:33:44+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/serializable-closure",
|
||||
|
@ -2053,16 +2052,16 @@
|
|||
},
|
||||
{
|
||||
"name": "laravel/telescope",
|
||||
"version": "v4.9.4",
|
||||
"version": "v4.9.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/telescope.git",
|
||||
"reference": "ca8bec380ecef80d00ce6daecac2dc17c7e35ccd"
|
||||
"reference": "a316d6d15793b559c51ccb4b5dc59b223da500e5"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/telescope/zipball/ca8bec380ecef80d00ce6daecac2dc17c7e35ccd",
|
||||
"reference": "ca8bec380ecef80d00ce6daecac2dc17c7e35ccd",
|
||||
"url": "https://api.github.com/repos/laravel/telescope/zipball/a316d6d15793b559c51ccb4b5dc59b223da500e5",
|
||||
"reference": "a316d6d15793b559c51ccb4b5dc59b223da500e5",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -2115,9 +2114,9 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/laravel/telescope/issues",
|
||||
"source": "https://github.com/laravel/telescope/tree/v4.9.4"
|
||||
"source": "https://github.com/laravel/telescope/tree/v4.9.5"
|
||||
},
|
||||
"time": "2022-10-03T14:55:50+00:00"
|
||||
"time": "2022-10-06T14:01:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/tinker",
|
||||
|
@ -2438,16 +2437,16 @@
|
|||
},
|
||||
{
|
||||
"name": "league/flysystem",
|
||||
"version": "3.9.0",
|
||||
"version": "3.10.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/thephpleague/flysystem.git",
|
||||
"reference": "60f3760352fe08e918bc3b1acae4e91af092ebe1"
|
||||
"reference": "b9bd194b016114d6ff6765c09d40c7d427e4e3f6"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/60f3760352fe08e918bc3b1acae4e91af092ebe1",
|
||||
"reference": "60f3760352fe08e918bc3b1acae4e91af092ebe1",
|
||||
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/b9bd194b016114d6ff6765c09d40c7d427e4e3f6",
|
||||
"reference": "b9bd194b016114d6ff6765c09d40c7d427e4e3f6",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -2463,7 +2462,7 @@
|
|||
},
|
||||
"require-dev": {
|
||||
"async-aws/s3": "^1.5",
|
||||
"async-aws/simple-s3": "^1.0",
|
||||
"async-aws/simple-s3": "^1.1",
|
||||
"aws/aws-sdk-php": "^3.198.1",
|
||||
"composer/semver": "^3.0",
|
||||
"ext-fileinfo": "*",
|
||||
|
@ -2509,7 +2508,7 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/thephpleague/flysystem/issues",
|
||||
"source": "https://github.com/thephpleague/flysystem/tree/3.9.0"
|
||||
"source": "https://github.com/thephpleague/flysystem/tree/3.10.2"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
@ -2525,7 +2524,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-10-18T21:02:43+00:00"
|
||||
"time": "2022-10-25T07:01:47+00:00"
|
||||
},
|
||||
{
|
||||
"name": "league/glide",
|
||||
|
@ -2650,25 +2649,26 @@
|
|||
},
|
||||
{
|
||||
"name": "lorisleiva/laravel-actions",
|
||||
"version": "v2.4.0",
|
||||
"version": "v2.4.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/lorisleiva/laravel-actions.git",
|
||||
"reference": "4e60c9fbdfcea7d9977d882f3104c8996b43c169"
|
||||
"reference": "6701206501fcb048f1bba33b84a5a174188cadb7"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/lorisleiva/laravel-actions/zipball/4e60c9fbdfcea7d9977d882f3104c8996b43c169",
|
||||
"reference": "4e60c9fbdfcea7d9977d882f3104c8996b43c169",
|
||||
"url": "https://api.github.com/repos/lorisleiva/laravel-actions/zipball/6701206501fcb048f1bba33b84a5a174188cadb7",
|
||||
"reference": "6701206501fcb048f1bba33b84a5a174188cadb7",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"illuminate/contracts": "^8.15|^9.0",
|
||||
"illuminate/contracts": "^8.15 || 9.0 - 9.34 || ^9.36",
|
||||
"lorisleiva/lody": "^0.3.0",
|
||||
"php": "^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"orchestra/testbench": "^7.0",
|
||||
"orchestra/testbench": "7.0.0",
|
||||
"orchestra/testbench-core": "7.0.0",
|
||||
"pestphp/pest": "^1.2",
|
||||
"phpunit/phpunit": "^9.5"
|
||||
},
|
||||
|
@ -2713,7 +2713,7 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/lorisleiva/laravel-actions/issues",
|
||||
"source": "https://github.com/lorisleiva/laravel-actions/tree/v2.4.0"
|
||||
"source": "https://github.com/lorisleiva/laravel-actions/tree/v2.4.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
@ -2721,7 +2721,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2022-02-27T15:30:59+00:00"
|
||||
"time": "2022-10-20T17:56:26+00:00"
|
||||
},
|
||||
{
|
||||
"name": "lorisleiva/lody",
|
||||
|
@ -5740,16 +5740,16 @@
|
|||
},
|
||||
{
|
||||
"name": "spatie/laravel-ignition",
|
||||
"version": "1.5.2",
|
||||
"version": "1.6.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/spatie/laravel-ignition.git",
|
||||
"reference": "f2336fc79d99aab5cf27fa4aebe5e9c9ecf3808a"
|
||||
"reference": "2b79cf6ed40946b64ac6713d7d2da8a9d87f612b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/f2336fc79d99aab5cf27fa4aebe5e9c9ecf3808a",
|
||||
"reference": "f2336fc79d99aab5cf27fa4aebe5e9c9ecf3808a",
|
||||
"url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/2b79cf6ed40946b64ac6713d7d2da8a9d87f612b",
|
||||
"reference": "2b79cf6ed40946b64ac6713d7d2da8a9d87f612b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -5826,20 +5826,20 @@
|
|||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2022-10-14T12:24:21+00:00"
|
||||
"time": "2022-10-26T17:39:54+00:00"
|
||||
},
|
||||
{
|
||||
"name": "spatie/laravel-medialibrary",
|
||||
"version": "10.5.2",
|
||||
"version": "10.6.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/spatie/laravel-medialibrary.git",
|
||||
"reference": "5872a4f9e5f72b9dd1a02ea5ab699f33ef1a1c75"
|
||||
"reference": "2f7db874ecdb9c6a2b06db794f00fb2e487c91ee"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/spatie/laravel-medialibrary/zipball/5872a4f9e5f72b9dd1a02ea5ab699f33ef1a1c75",
|
||||
"reference": "5872a4f9e5f72b9dd1a02ea5ab699f33ef1a1c75",
|
||||
"url": "https://api.github.com/repos/spatie/laravel-medialibrary/zipball/2f7db874ecdb9c6a2b06db794f00fb2e487c91ee",
|
||||
"reference": "2f7db874ecdb9c6a2b06db794f00fb2e487c91ee",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -5922,7 +5922,7 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/spatie/laravel-medialibrary/issues",
|
||||
"source": "https://github.com/spatie/laravel-medialibrary/tree/10.5.2"
|
||||
"source": "https://github.com/spatie/laravel-medialibrary/tree/10.6.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
@ -5934,7 +5934,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2022-09-30T09:48:56+00:00"
|
||||
"time": "2022-10-21T14:20:02+00:00"
|
||||
},
|
||||
{
|
||||
"name": "spatie/laravel-package-tools",
|
||||
|
@ -8931,6 +8931,38 @@
|
|||
"symlink": true,
|
||||
"relative": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "zoomyboy/tex",
|
||||
"version": "dev-main",
|
||||
"dist": {
|
||||
"type": "path",
|
||||
"url": "./packages/tex",
|
||||
"reference": "48251272de62e3fea044a7ad31e1a411c15eb4c6"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"Zoomyboy\\Tex\\TexServiceProvider"
|
||||
]
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Zoomyboy\\Tex\\": "src/"
|
||||
}
|
||||
},
|
||||
"authors": [
|
||||
{
|
||||
"name": "Philipp Lang",
|
||||
"email": "philipp@zoomyboy.de"
|
||||
}
|
||||
],
|
||||
"transport-options": {
|
||||
"symlink": true,
|
||||
"relative": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"packages-dev": [
|
||||
|
@ -9085,16 +9117,16 @@
|
|||
},
|
||||
{
|
||||
"name": "composer/composer",
|
||||
"version": "2.4.3",
|
||||
"version": "2.4.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/composer/composer.git",
|
||||
"reference": "b34c0e9a93f2cd688c62ce4dfcc69e13b6ce7aa4"
|
||||
"reference": "e8d9087229bcdbc5867594d3098091412f1130cf"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/composer/composer/zipball/b34c0e9a93f2cd688c62ce4dfcc69e13b6ce7aa4",
|
||||
"reference": "b34c0e9a93f2cd688c62ce4dfcc69e13b6ce7aa4",
|
||||
"url": "https://api.github.com/repos/composer/composer/zipball/e8d9087229bcdbc5867594d3098091412f1130cf",
|
||||
"reference": "e8d9087229bcdbc5867594d3098091412f1130cf",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -9177,7 +9209,7 @@
|
|||
"support": {
|
||||
"irc": "ircs://irc.libera.chat:6697/composer",
|
||||
"issues": "https://github.com/composer/composer/issues",
|
||||
"source": "https://github.com/composer/composer/tree/2.4.3"
|
||||
"source": "https://github.com/composer/composer/tree/2.4.4"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
@ -9193,7 +9225,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-10-14T14:56:41+00:00"
|
||||
"time": "2022-10-27T12:39:29+00:00"
|
||||
},
|
||||
{
|
||||
"name": "composer/metadata-minifier",
|
||||
|
@ -10316,16 +10348,16 @@
|
|||
},
|
||||
{
|
||||
"name": "phpstan/phpstan",
|
||||
"version": "1.8.10",
|
||||
"version": "1.8.11",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpstan/phpstan.git",
|
||||
"reference": "0c4459dc42c568b818b3f25186589f3acddc1823"
|
||||
"reference": "46e223dd68a620da18855c23046ddb00940b4014"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/0c4459dc42c568b818b3f25186589f3acddc1823",
|
||||
"reference": "0c4459dc42c568b818b3f25186589f3acddc1823",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/46e223dd68a620da18855c23046ddb00940b4014",
|
||||
"reference": "46e223dd68a620da18855c23046ddb00940b4014",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -10355,7 +10387,7 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/phpstan/phpstan/issues",
|
||||
"source": "https://github.com/phpstan/phpstan/tree/1.8.10"
|
||||
"source": "https://github.com/phpstan/phpstan/tree/1.8.11"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
@ -10371,20 +10403,20 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-10-17T14:23:35+00:00"
|
||||
"time": "2022-10-24T15:45:13+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-code-coverage",
|
||||
"version": "9.2.17",
|
||||
"version": "9.2.18",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
|
||||
"reference": "aa94dc41e8661fe90c7316849907cba3007b10d8"
|
||||
"reference": "12fddc491826940cf9b7e88ad9664cf51f0f6d0a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/aa94dc41e8661fe90c7316849907cba3007b10d8",
|
||||
"reference": "aa94dc41e8661fe90c7316849907cba3007b10d8",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/12fddc491826940cf9b7e88ad9664cf51f0f6d0a",
|
||||
"reference": "12fddc491826940cf9b7e88ad9664cf51f0f6d0a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -10440,7 +10472,7 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
|
||||
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.17"
|
||||
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.18"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
@ -10448,7 +10480,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2022-08-30T12:24:04+00:00"
|
||||
"time": "2022-10-27T13:35:33+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-file-iterator",
|
||||
|
@ -10693,16 +10725,16 @@
|
|||
},
|
||||
{
|
||||
"name": "phpunit/phpunit",
|
||||
"version": "9.5.25",
|
||||
"version": "9.5.26",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
||||
"reference": "3e6f90ca7e3d02025b1d147bd8d4a89fd4ca8a1d"
|
||||
"reference": "851867efcbb6a1b992ec515c71cdcf20d895e9d2"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3e6f90ca7e3d02025b1d147bd8d4a89fd4ca8a1d",
|
||||
"reference": "3e6f90ca7e3d02025b1d147bd8d4a89fd4ca8a1d",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/851867efcbb6a1b992ec515c71cdcf20d895e9d2",
|
||||
"reference": "851867efcbb6a1b992ec515c71cdcf20d895e9d2",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -10775,7 +10807,7 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
|
||||
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.25"
|
||||
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.26"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
@ -10791,7 +10823,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-09-25T03:44:45+00:00"
|
||||
"time": "2022-10-28T06:00:21+00:00"
|
||||
},
|
||||
{
|
||||
"name": "pimple/pimple",
|
||||
|
@ -12601,10 +12633,18 @@
|
|||
"time": "2022-09-08T15:44:55+00:00"
|
||||
}
|
||||
],
|
||||
"aliases": [],
|
||||
"aliases": [
|
||||
{
|
||||
"package": "zoomyboy/tex",
|
||||
"version": "dev-main",
|
||||
"alias": "1.0",
|
||||
"alias_normalized": "1.0.0.0"
|
||||
}
|
||||
],
|
||||
"minimum-stability": "dev",
|
||||
"stability-flags": {
|
||||
"zoomyboy/laravel-nami": 20
|
||||
"zoomyboy/laravel-nami": 20,
|
||||
"zoomyboy/tex": 20
|
||||
},
|
||||
"prefer-stable": true,
|
||||
"prefer-lowest": false,
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Subproject commit fb9d7a660c6e170eedf7a11b02f7cfeff14346ab
|
|
@ -7,6 +7,7 @@ parameters:
|
|||
- app
|
||||
- tests
|
||||
- database
|
||||
- packages/tex/src
|
||||
|
||||
# The level 8 is the highest level
|
||||
level: 6
|
||||
|
|
|
@ -26,9 +26,9 @@
|
|||
\coordinate (B) at ($(A)+(0mm,5mm)$);
|
||||
\coordinate (C) at (19mm,212mm);
|
||||
|
||||
\path (A) node[anchor=west,fill=white,text width=120mm,text height=2.5mm,inner xsep=0mm,inner ysep=1mm]{<<<$data->name>>>};
|
||||
\path (B) node[anchor=west,fill=white,text width=120mm,text height=2.5mm,inner xsep=0mm,inner ysep=1mm]{<<<$data->secondLine>>>};
|
||||
\path (C) node[anchor=west,fill=white,text width=120mm,text height=2.5mm,inner xsep=0mm,inner ysep=1mm]{Neuss, <<<$data->currentDate>>>};
|
||||
\path (A) node[anchor=west,fill=white,text width=120mm,text height=2.5mm,inner xsep=0mm,inner ysep=1mm]{<<<$name>>>};
|
||||
\path (B) node[anchor=west,fill=white,text width=120mm,text height=2.5mm,inner xsep=0mm,inner ysep=1mm]{<<<$secondLine>>>};
|
||||
\path (C) node[anchor=west,fill=white,text width=120mm,text height=2.5mm,inner xsep=0mm,inner ysep=1mm]{Neuss, <<<$now>>>};
|
||||
\end{tikzpicture}
|
||||
|
||||
\backgroundsetup{scale = 1, pages=some, angle = 0, opacity = 1, color=black, contents = {\includegraphics[width = \paperwidth, height = \paperheight] {bg-2.pdf}}}
|
||||
|
@ -40,7 +40,7 @@
|
|||
% \useasboundingbox (2.52,6.67) rectangle (18.47,12.85);
|
||||
% \fill[fill=white, opacity=0.9] (25mm,63mm) rectangle ++(160mm,62mm);
|
||||
|
||||
\node[anchor=north west,fill=white,text width=80mm,minimum height=30mm,inner sep=1mm] at (110mm, 42.0mm) {Absender: \vspace{2mm} \\ <<<implode(' \\\\ ', $data->sender)>>>};
|
||||
\node[anchor=north west,fill=white,text width=80mm,minimum height=30mm,inner sep=1mm] at (110mm, 42.0mm) {Absender: \vspace{2mm} \\ <<<implode(' \\\\ ', $sender->values())>>>};
|
||||
\end{tikzpicture}
|
||||
|
||||
\end{document}
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
use App\Contribution\ContributionController;
|
||||
use App\Course\Controllers\CourseController;
|
||||
use App\Efz\ShowEfzDocumentAction;
|
||||
use App\Http\Controllers\HomeController;
|
||||
use App\Initialize\Actions\InitializeAction;
|
||||
use App\Initialize\Actions\InitializeFormAction;
|
||||
|
@ -13,7 +14,6 @@ use App\Payment\AllpaymentController;
|
|||
use App\Payment\PaymentController;
|
||||
use App\Payment\SendpaymentController;
|
||||
use App\Payment\SubscriptionController;
|
||||
use App\Pdf\MemberEfzController;
|
||||
use App\Pdf\MemberPdfController;
|
||||
|
||||
Route::group(['namespace' => 'App\\Http\\Controllers'], function (): void {
|
||||
|
@ -35,7 +35,7 @@ Route::group(['middleware' => 'auth:web'], function (): void {
|
|||
Route::get('/sendpayment/pdf', [SendpaymentController::class, 'send'])->name('sendpayment.pdf');
|
||||
Route::apiResource('member.membership', MembershipController::class);
|
||||
Route::resource('member.course', CourseController::class);
|
||||
Route::get('/member/{member}/efz', MemberEfzController::class)->name('efz');
|
||||
Route::get('/member/{member}/efz', ShowEfzDocumentAction::class)->name('efz');
|
||||
Route::get('/member/{member}/resync', MemberResyncController::class)->name('member.resync');
|
||||
Route::get('/contribution', [ContributionController::class, 'form'])->name('contribution.form');
|
||||
Route::get('/contribution/generate', [ContributionController::class, 'generate'])->name('contribution.generate');
|
||||
|
|
|
@ -2,9 +2,11 @@
|
|||
|
||||
namespace Tests\Feature\Pdf;
|
||||
|
||||
use App\Efz\EfzDocument;
|
||||
use App\Member\Member;
|
||||
use Illuminate\Foundation\Testing\DatabaseTransactions;
|
||||
use Tests\TestCase;
|
||||
use Zoomyboy\Tex\Tex;
|
||||
|
||||
class EfzTest extends TestCase
|
||||
{
|
||||
|
@ -12,6 +14,38 @@ class EfzTest extends TestCase
|
|||
|
||||
public function testItCreatesAEfzPdfFile(): void
|
||||
{
|
||||
Tex::fake();
|
||||
$this->withoutExceptionHandling()->login()->withNamiSettings();
|
||||
$member = Member::factory()->defaults()->create([
|
||||
'firstname' => 'Max',
|
||||
'lastname' => 'Muster',
|
||||
'address' => 'Itt 4',
|
||||
'zip' => '12345',
|
||||
'location' => 'Solingen',
|
||||
'birthday' => '2015-02-11',
|
||||
'nami_id' => 552,
|
||||
]);
|
||||
|
||||
$response = $this->get("/member/{$member->id}/efz");
|
||||
|
||||
$response->assertOk();
|
||||
$response->assertHeader('Content-Disposition', 'inline; filename="efz-fuer-max-muster.pdf"');
|
||||
Tex::assertCompiled(EfzDocument::class, fn ($document) => 'Max Muster' === $document->name
|
||||
&& 'efz-fuer-max-muster' === $document->basename()
|
||||
&& 'geb. am 11.02.2015, wohnhaft in Solingen' === $document->secondLine
|
||||
&& now()->format('d.m.Y') === $document->now
|
||||
&& [
|
||||
'Max Muster',
|
||||
'Itt 4',
|
||||
'12345 Solingen',
|
||||
'Mglnr.: 552',
|
||||
] === $document->sender->values()
|
||||
);
|
||||
}
|
||||
|
||||
public function testItReallyCreatesAEfzPdfFile(): void
|
||||
{
|
||||
Tex::spy();
|
||||
$this->withoutExceptionHandling()->login()->withNamiSettings();
|
||||
$member = Member::factory()->defaults()->create(['firstname' => 'Max', 'lastname' => 'Muster']);
|
||||
|
||||
|
@ -19,5 +53,6 @@ class EfzTest extends TestCase
|
|||
|
||||
$response->assertOk();
|
||||
$response->assertHeader('Content-Disposition', 'inline; filename="efz-fuer-max-muster.pdf"');
|
||||
Tex::assertCompiled(EfzDocument::class, fn ($document) => $document->hasContent('Absender:') && $document->hasContent('Max Muster'));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue