Compare commits

..

17 Commits

Author SHA1 Message Date
Bandie 001fe26085 Dokumente 2026-04-26 23:22:37 +02:00
Bandie be53fe6a65 Kontakt angepass; Telefax 2026-04-20 22:14:28 +02:00
Bandie c3bb3c56b9 CSS für FAQ und Auftrennung von a5, weil link nicht will 2026-04-19 13:15:48 +02:00
Raelis 5c45cbab8b formatierung angepasst 2026-04-19 13:04:33 +02:00
Raelis 1df2ed4e04 typo3.0 2026-04-19 12:58:49 +02:00
Raelis fd8ef94bb6 typ2.0 2026-04-19 12:56:48 +02:00
Raelis b69e0c36e0 typo 2026-04-19 12:52:58 +02:00
Raelis 856f082bea FAQ erstellt, Deutsch und Englisch 2026-04-19 12:49:47 +02:00
Bandie 9685ec3efc Fehlerseiten 2026-04-09 22:53:40 +02:00
Bandie 6d1286057a Weg damit 2026-04-06 23:22:40 +02:00
Bandie dc7cb715cc Mail 2026-04-06 23:21:24 +02:00
Bandie a1e9aa6b8a Translation login/register 2026-04-06 22:35:33 +02:00
Bandie 59305be5a6 Spendengebührenverordnung Englisch 2026-04-06 22:21:49 +02:00
Bandie 1019ef076d Punkt. 2026-04-06 20:30:29 +02:00
Bandie ac6c1cee80 Footer - Transpride :3 2026-04-06 20:19:31 +02:00
Bandie 222dc6d274 Unterstreichen! 2026-04-06 15:07:55 +02:00
Bandie b48c689d31 PDF-Generator für Eventschluss; CSRF-Protection 2026-04-06 15:03:15 +02:00
26 changed files with 878 additions and 94 deletions
+1 -58
View File
@@ -1,58 +1 @@
<p align="center"><a href="https://laravel.com" target="_blank"><img src="https://raw.githubusercontent.com/laravel/art/master/logo-lockup/5%20SVG/2%20CMYK/1%20Full%20Color/laravel-logolockup-cmyk-red.svg" width="400" alt="Laravel Logo"></a></p>
<p align="center">
<a href="https://github.com/laravel/framework/actions"><img src="https://github.com/laravel/framework/workflows/tests/badge.svg" alt="Build Status"></a>
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/dt/laravel/framework" alt="Total Downloads"></a>
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/v/laravel/framework" alt="Latest Stable Version"></a>
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/l/laravel/framework" alt="License"></a>
</p>
## About Laravel
Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as:
- [Simple, fast routing engine](https://laravel.com/docs/routing).
- [Powerful dependency injection container](https://laravel.com/docs/container).
- Multiple back-ends for [session](https://laravel.com/docs/session) and [cache](https://laravel.com/docs/cache) storage.
- Expressive, intuitive [database ORM](https://laravel.com/docs/eloquent).
- Database agnostic [schema migrations](https://laravel.com/docs/migrations).
- [Robust background job processing](https://laravel.com/docs/queues).
- [Real-time event broadcasting](https://laravel.com/docs/broadcasting).
Laravel is accessible, powerful, and provides tools required for large, robust applications.
## Learning Laravel
Laravel has the most extensive and thorough [documentation](https://laravel.com/docs) and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework.
In addition, [Laracasts](https://laracasts.com) contains thousands of video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library.
You can also watch bite-sized lessons with real-world projects on [Laravel Learn](https://laravel.com/learn), where you will be guided through building a Laravel application from scratch while learning PHP fundamentals.
## Agentic Development
Laravel's predictable structure and conventions make it ideal for AI coding agents like Claude Code, Cursor, and GitHub Copilot. Install [Laravel Boost](https://laravel.com/docs/ai) to supercharge your AI workflow:
```bash
composer require laravel/boost --dev
php artisan boost:install
```
Boost provides your agent 15+ tools and skills that help agents build Laravel applications while following best practices.
## Contributing
Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions).
## Code of Conduct
In order to ensure that the Laravel community is welcoming to all, please review and abide by the [Code of Conduct](https://laravel.com/docs/contributions#code-of-conduct).
## Security Vulnerabilities
If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [taylor@laravel.com](mailto:taylor@laravel.com). All security vulnerabilities will be promptly addressed.
## License
The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).
# C3Gov Website
@@ -10,8 +10,7 @@ use Illuminate\Http\Request;
use Illuminate\Support\Carbon;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Mail;
use Log;
use Nette\Utils\Random;
use Dompdf\Dompdf;
class PreApplicationController extends Controller
{
@@ -159,4 +158,38 @@ class PreApplicationController extends Controller
}
abort(404);
}
public function generatePDF(Request $request){
if(Auth::check()){
if(!$request->has('event_id')){
return ["messageStatus" => "failure", "errorMessage" => __("controller_messages.PreApplicationController.event_id_missing")];
}
$event = ChaosEvents::find($request->input('event_id'));
if(!$event){
return ["messageStatus" => "failure", "errorMessage" => __("controller_messages.PreApplicationController.event_not_found")];
}
if($event->active == 0 || $event->to_date_internal < today()){
return ["messageStatus" => "failure", "errorMessage" => __("controller_messages.PreApplicationController.event_not_active")];
}
$options = new \Dompdf\Options();
$options->set('isRemoteEnabled', true);
$options->set('isHtml5ParserEnabled', true);
$options->set('chroot', public_path());
$dompdf = new Dompdf($options);
$dompdf->setPaper('A4', 'portrait');
$applications = PreApplications::where('event_id', $request->input('event_id'))->get();
$dompdf->loadHtml(view('pdf.pre_application', ['applications' => $applications, 'event' => $event]));
$dompdf->render();
$dompdf->stream('Voranträge_' . $event->shortname . '_' . $event->from_date_visible->format('Y') . '.pdf', ['Attachment' => 0]);
exit;
}
abort(404);
}
}
@@ -28,6 +28,10 @@ class WebsiteController extends Controller
return view('content.contact');
}
public function faq(Request $request){
return view('content.faq');
}
public function imprint(Request $request){
return view('content.imprint');
}
@@ -0,0 +1,38 @@
<?php
namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\PreventRequestForgery as Middleware;
use Illuminate\Http\Request;
class ForceCsrfOnLocalhost extends Middleware
{
/**
* Determine if the request has a valid origin based on the Sec-Fetch-Site header.
*
* @param \Illuminate\Http\Request $request
* @return bool
*/
protected function hasValidOrigin($request)
{
// If it's localhost, we want to skip origin verification and fall back to token verification
if ($this->isLocalhost($request)) {
return false;
}
return parent::hasValidOrigin($request);
}
/**
* Determine if the request is from localhost.
*
* @param \Illuminate\Http\Request $request
* @return bool
*/
protected function isLocalhost($request)
{
$host = $request->getHost();
return in_array($host, ['localhost', '127.0.0.1', '::1']) || str_ends_with($host, '.localhost');
}
}
+4
View File
@@ -3,6 +3,7 @@
use Illuminate\Foundation\Application;
use Illuminate\Foundation\Configuration\Exceptions;
use Illuminate\Foundation\Configuration\Middleware;
use Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance;
return Application::configure(basePath: dirname(__DIR__))
->withRouting(
@@ -11,6 +12,9 @@ return Application::configure(basePath: dirname(__DIR__))
health: '/up',
)
->withMiddleware(function (Middleware $middleware): void {
$middleware->web(replace: [
\Illuminate\Foundation\Http\Middleware\PreventRequestForgery::class => \App\Http\Middleware\ForceCsrfOnLocalhost::class,
]);
$middleware->append(\App\Http\Middleware\SetLocale::class);
})
->withExceptions(function (Exceptions $exceptions): void {
+1
View File
@@ -10,6 +10,7 @@
"license": "MIT",
"require": {
"php": "^8.3",
"dompdf/dompdf": "v3.1.5",
"laravel/framework": "^13.0",
"laravel/tinker": "^3.0"
},
Generated
+446 -1
View File
@@ -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": "41c3f2f807c63a47595eaa4e14742655",
"content-hash": "574a1d636a4f2db2df7b156d94d141bb",
"packages": [
{
"name": "brick/math",
@@ -377,6 +377,161 @@
],
"time": "2024-02-05T11:56:58+00:00"
},
{
"name": "dompdf/dompdf",
"version": "v3.1.5",
"source": {
"type": "git",
"url": "https://github.com/dompdf/dompdf.git",
"reference": "f11ead23a8a76d0ff9bbc6c7c8fd7e05ca328496"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/dompdf/dompdf/zipball/f11ead23a8a76d0ff9bbc6c7c8fd7e05ca328496",
"reference": "f11ead23a8a76d0ff9bbc6c7c8fd7e05ca328496",
"shasum": ""
},
"require": {
"dompdf/php-font-lib": "^1.0.0",
"dompdf/php-svg-lib": "^1.0.0",
"ext-dom": "*",
"ext-mbstring": "*",
"masterminds/html5": "^2.0",
"php": "^7.1 || ^8.0"
},
"require-dev": {
"ext-gd": "*",
"ext-json": "*",
"ext-zip": "*",
"mockery/mockery": "^1.3",
"phpunit/phpunit": "^7.5 || ^8 || ^9 || ^10 || ^11",
"squizlabs/php_codesniffer": "^3.5",
"symfony/process": "^4.4 || ^5.4 || ^6.2 || ^7.0"
},
"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",
"autoload": {
"psr-4": {
"Dompdf\\": "src/"
},
"classmap": [
"lib/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"LGPL-2.1"
],
"authors": [
{
"name": "The Dompdf Community",
"homepage": "https://github.com/dompdf/dompdf/blob/master/AUTHORS.md"
}
],
"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/v3.1.5"
},
"time": "2026-03-03T13:54:37+00:00"
},
{
"name": "dompdf/php-font-lib",
"version": "1.0.2",
"source": {
"type": "git",
"url": "https://github.com/dompdf/php-font-lib.git",
"reference": "a6e9a688a2a80016ac080b97be73d3e10c444c9a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/dompdf/php-font-lib/zipball/a6e9a688a2a80016ac080b97be73d3e10c444c9a",
"reference": "a6e9a688a2a80016ac080b97be73d3e10c444c9a",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
"php": "^7.1 || ^8.0"
},
"require-dev": {
"phpunit/phpunit": "^7.5 || ^8 || ^9 || ^10 || ^11 || ^12"
},
"type": "library",
"autoload": {
"psr-4": {
"FontLib\\": "src/FontLib"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"LGPL-2.1-or-later"
],
"authors": [
{
"name": "The FontLib Community",
"homepage": "https://github.com/dompdf/php-font-lib/blob/master/AUTHORS.md"
}
],
"description": "A library to read, parse, export and make subsets of different types of font files.",
"homepage": "https://github.com/dompdf/php-font-lib",
"support": {
"issues": "https://github.com/dompdf/php-font-lib/issues",
"source": "https://github.com/dompdf/php-font-lib/tree/1.0.2"
},
"time": "2026-01-20T14:10:26+00:00"
},
{
"name": "dompdf/php-svg-lib",
"version": "1.0.2",
"source": {
"type": "git",
"url": "https://github.com/dompdf/php-svg-lib.git",
"reference": "8259ffb930817e72b1ff1caef5d226501f3dfeb1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/dompdf/php-svg-lib/zipball/8259ffb930817e72b1ff1caef5d226501f3dfeb1",
"reference": "8259ffb930817e72b1ff1caef5d226501f3dfeb1",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
"php": "^7.1 || ^8.0",
"sabberworm/php-css-parser": "^8.4 || ^9.0"
},
"require-dev": {
"phpunit/phpunit": "^7.5 || ^8 || ^9 || ^10 || ^11"
},
"type": "library",
"autoload": {
"psr-4": {
"Svg\\": "src/Svg"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"LGPL-3.0-or-later"
],
"authors": [
{
"name": "The SvgLib Community",
"homepage": "https://github.com/dompdf/php-svg-lib/blob/master/AUTHORS.md"
}
],
"description": "A library to read, parse and export to PDF SVG files.",
"homepage": "https://github.com/dompdf/php-svg-lib",
"support": {
"issues": "https://github.com/dompdf/php-svg-lib/issues",
"source": "https://github.com/dompdf/php-svg-lib/tree/1.0.2"
},
"time": "2026-01-02T16:01:13+00:00"
},
{
"name": "dragonmantank/cron-expression",
"version": "v3.6.0",
@@ -2022,6 +2177,73 @@
],
"time": "2026-03-08T20:05:35+00:00"
},
{
"name": "masterminds/html5",
"version": "2.10.0",
"source": {
"type": "git",
"url": "https://github.com/Masterminds/html5-php.git",
"reference": "fcf91eb64359852f00d921887b219479b4f21251"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Masterminds/html5-php/zipball/fcf91eb64359852f00d921887b219479b4f21251",
"reference": "fcf91eb64359852f00d921887b219479b4f21251",
"shasum": ""
},
"require": {
"ext-dom": "*",
"php": ">=5.3.0"
},
"require-dev": {
"phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8 || ^9"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.7-dev"
}
},
"autoload": {
"psr-4": {
"Masterminds\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Matt Butcher",
"email": "technosophos@gmail.com"
},
{
"name": "Matt Farina",
"email": "matt@mattfarina.com"
},
{
"name": "Asmir Mustafic",
"email": "goetas@gmail.com"
}
],
"description": "An HTML5 parser and serializer.",
"homepage": "http://masterminds.github.io/html5-php",
"keywords": [
"HTML5",
"dom",
"html",
"parser",
"querypath",
"serializer",
"xml"
],
"support": {
"issues": "https://github.com/Masterminds/html5-php/issues",
"source": "https://github.com/Masterminds/html5-php/tree/2.10.0"
},
"time": "2025-07-25T09:04:22+00:00"
},
{
"name": "monolog/monolog",
"version": "3.10.0",
@@ -3297,6 +3519,86 @@
},
"time": "2025-12-14T04:43:48+00:00"
},
{
"name": "sabberworm/php-css-parser",
"version": "v9.3.0",
"source": {
"type": "git",
"url": "https://github.com/MyIntervals/PHP-CSS-Parser.git",
"reference": "88dbd0f7f91abbfe4402d0a3071e9ff4d81ed949"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/MyIntervals/PHP-CSS-Parser/zipball/88dbd0f7f91abbfe4402d0a3071e9ff4d81ed949",
"reference": "88dbd0f7f91abbfe4402d0a3071e9ff4d81ed949",
"shasum": ""
},
"require": {
"ext-iconv": "*",
"php": "^7.2.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0",
"thecodingmachine/safe": "^1.3 || ^2.5 || ^3.4"
},
"require-dev": {
"php-parallel-lint/php-parallel-lint": "1.4.0",
"phpstan/extension-installer": "1.4.3",
"phpstan/phpstan": "1.12.32 || 2.1.32",
"phpstan/phpstan-phpunit": "1.4.2 || 2.0.8",
"phpstan/phpstan-strict-rules": "1.6.2 || 2.0.7",
"phpunit/phpunit": "8.5.52",
"rawr/phpunit-data-provider": "3.3.1",
"rector/rector": "1.2.10 || 2.2.8",
"rector/type-perfect": "1.0.0 || 2.1.0",
"squizlabs/php_codesniffer": "4.0.1",
"thecodingmachine/phpstan-safe-rule": "1.2.0 || 1.4.1"
},
"suggest": {
"ext-mbstring": "for parsing UTF-8 CSS"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "9.4.x-dev"
}
},
"autoload": {
"files": [
"src/Rule/Rule.php",
"src/RuleSet/RuleContainer.php"
],
"psr-4": {
"Sabberworm\\CSS\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Raphael Schweikert"
},
{
"name": "Oliver Klee",
"email": "github@oliverklee.de"
},
{
"name": "Jake Hotson",
"email": "jake.github@qzdesign.co.uk"
}
],
"description": "Parser for CSS Files written in PHP",
"homepage": "https://www.sabberworm.com/blog/2010/6/10/php-css-parser",
"keywords": [
"css",
"parser",
"stylesheet"
],
"support": {
"issues": "https://github.com/MyIntervals/PHP-CSS-Parser/issues",
"source": "https://github.com/MyIntervals/PHP-CSS-Parser/tree/v9.3.0"
},
"time": "2026-03-03T17:31:43+00:00"
},
{
"name": "symfony/clock",
"version": "v8.0.0",
@@ -5666,6 +5968,149 @@
],
"time": "2026-02-15T10:53:29+00:00"
},
{
"name": "thecodingmachine/safe",
"version": "v3.4.0",
"source": {
"type": "git",
"url": "https://github.com/thecodingmachine/safe.git",
"reference": "705683a25bacf0d4860c7dea4d7947bfd09eea19"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thecodingmachine/safe/zipball/705683a25bacf0d4860c7dea4d7947bfd09eea19",
"reference": "705683a25bacf0d4860c7dea4d7947bfd09eea19",
"shasum": ""
},
"require": {
"php": "^8.1"
},
"require-dev": {
"php-parallel-lint/php-parallel-lint": "^1.4",
"phpstan/phpstan": "^2",
"phpunit/phpunit": "^10",
"squizlabs/php_codesniffer": "^3.2"
},
"type": "library",
"autoload": {
"files": [
"lib/special_cases.php",
"generated/apache.php",
"generated/apcu.php",
"generated/array.php",
"generated/bzip2.php",
"generated/calendar.php",
"generated/classobj.php",
"generated/com.php",
"generated/cubrid.php",
"generated/curl.php",
"generated/datetime.php",
"generated/dir.php",
"generated/eio.php",
"generated/errorfunc.php",
"generated/exec.php",
"generated/fileinfo.php",
"generated/filesystem.php",
"generated/filter.php",
"generated/fpm.php",
"generated/ftp.php",
"generated/funchand.php",
"generated/gettext.php",
"generated/gmp.php",
"generated/gnupg.php",
"generated/hash.php",
"generated/ibase.php",
"generated/ibmDb2.php",
"generated/iconv.php",
"generated/image.php",
"generated/imap.php",
"generated/info.php",
"generated/inotify.php",
"generated/json.php",
"generated/ldap.php",
"generated/libxml.php",
"generated/lzf.php",
"generated/mailparse.php",
"generated/mbstring.php",
"generated/misc.php",
"generated/mysql.php",
"generated/mysqli.php",
"generated/network.php",
"generated/oci8.php",
"generated/opcache.php",
"generated/openssl.php",
"generated/outcontrol.php",
"generated/pcntl.php",
"generated/pcre.php",
"generated/pgsql.php",
"generated/posix.php",
"generated/ps.php",
"generated/pspell.php",
"generated/readline.php",
"generated/rnp.php",
"generated/rpminfo.php",
"generated/rrd.php",
"generated/sem.php",
"generated/session.php",
"generated/shmop.php",
"generated/sockets.php",
"generated/sodium.php",
"generated/solr.php",
"generated/spl.php",
"generated/sqlsrv.php",
"generated/ssdeep.php",
"generated/ssh2.php",
"generated/stream.php",
"generated/strings.php",
"generated/swoole.php",
"generated/uodbc.php",
"generated/uopz.php",
"generated/url.php",
"generated/var.php",
"generated/xdiff.php",
"generated/xml.php",
"generated/xmlrpc.php",
"generated/yaml.php",
"generated/yaz.php",
"generated/zip.php",
"generated/zlib.php"
],
"classmap": [
"lib/DateTime.php",
"lib/DateTimeImmutable.php",
"lib/Exceptions/",
"generated/Exceptions/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "PHP core functions that throw exceptions instead of returning FALSE on error",
"support": {
"issues": "https://github.com/thecodingmachine/safe/issues",
"source": "https://github.com/thecodingmachine/safe/tree/v3.4.0"
},
"funding": [
{
"url": "https://github.com/OskarStark",
"type": "github"
},
{
"url": "https://github.com/shish",
"type": "github"
},
{
"url": "https://github.com/silasjoisten",
"type": "github"
},
{
"url": "https://github.com/staabm",
"type": "github"
}
],
"time": "2026-02-04T18:08:13+00:00"
},
{
"name": "tijsverkoyen/css-to-inline-styles",
"version": "v2.4.0",
+59 -4
View File
@@ -8,6 +8,8 @@ return [
'signed_in_as' => 'Angemeldet als:',
'guest' => 'Gastkonto',
'news_alt' => 'Neuigkeiten',
'progress_flag' => 'LGBTQIA+ Progress-Flagge',
'lead_by' => 'Eine von Transgender-Wesen geführte Bezirksregierungsbehörde',
'language' => [
'en' => 'English',
'de' => 'Deutsch',
@@ -24,7 +26,9 @@ return [
'editNews' => 'Neuigkeiten bearbeiten',
'editApplications' => 'Anträge bearbeiten',
'events' => 'C3Gov-Termine',
'logout' => 'Abmelden'
'logout' => 'Abmelden',
'login' => 'Anmelden',
'register' => 'Registrieren'
],
'index' => [
'welcome' => 'Willkommen auf der Internetpräsenz des C3Gov'
@@ -105,6 +109,24 @@ return [
'content' => 'Sollten Sie eine Bestätigung Ihres Besuchs benötigen, stellen wir Ihnen diese selbstverständlich in Papierform aus.'
]
],
'faq' => [
'title' => 'Häufig gestellte Fragen',
'q1' => 'Was stellt ihr eigentlich dar?',
'a1' => 'Wir stellen durch gelebte Bürokratie Hacker*innen-Reisepässe aus. Manche würden dies als ein Rollenspiel betrachten,
aber in unserer C3Gov-Verwaltungsvorschrift stehen keine Informationen bezüglich Rollen, die spielen.',
'q2' => 'Wo kann ich mit diesen Reisepässen einreisen?',
'a2' => 'Mit den vom C3Gov ausgestellten Reisepässen können Sie problemlos in die Bezirksregion des CCC und dessen Botschaften einreisen.',
'q3' => 'Wozu dienen diese Reisepässe noch?',
'a3' => 'Die Reisepässe stellen eine bequeme Möglichkeit dar, Ihren Aufenthalt in der Bezirksregion des CCC und dessen Botschaften festzuhalten.
Sie können Ihren Aufenthalt durch Stempel oder Sticker der jeweiligen Botschaften bestätigen lassen.',
'q4' => 'Gibt es nur diesen einen Reisepass?',
'a4' => 'Wir bieten den Hacker*innen-Reisepass sowie den Junghackerpass an. Letzteres jedoch nur in der deutschen Ausgabe.',
'q5' => 'Wie kann ich einen Hacker*innen-Reisepass beantragen?',
'a5_1' => 'Klicken Sie auf',
'a5_2' => 'diesen Verweis',
'a5_3' => 'oder auf "Jetzt beantragen" in der Navigationsleiste oder auf die riesige
leuchtende Schaltfläche auf der Startseite. Dort befolgen Sie einfach die Anweisungen.'
],
'imprint' => [
'title' => 'Impressum',
'alt' => 'Ernsthaftigkeit',
@@ -116,8 +138,10 @@ return [
'contact' => [
'title' => 'Kontakt',
'alt' => 'Kontakt',
'content' => 'Schreiben Sie uns im <a href="https://chaos.social/@c3gov">Fediversum</a>
<br />oder per elektronischer Post an: <a href="mailto:Dezernat7Zustaendigkeit@C3Gov.De">Dezernat7Zustaendigkeit@C3Gov.De</a>'
'content' => 'Wenn Sie Fragen haben, kontaktieren Sie uns:',
'fediverse' => 'Fediversum:',
'email' => 'Elektronische Postadresse:',
'phone' => 'Telefon/Fax:'
],
'preapplication' => [
'title' => 'Vorantrag auf Reisepass gem. § 5 C3GovVerwV',
@@ -146,7 +170,12 @@ return [
'add' => 'Antrag hinzufügen',
'save' => 'Speichern',
'delete' => 'Löschen',
'generated' => 'Wird generiert'
'generated' => 'Wird generiert',
'download' => [
'title' => 'Voranträge herunterladen',
'description' => 'Hier können Sie alle Voranträge eines Bezirksregion-Termines als PDF herunterladen.',
'button' => 'PDF generieren'
]
]
],
'common' => [
@@ -157,6 +186,18 @@ return [
'password_mismatch' => 'Ihr Kennwort stimmt nicht überein.',
'registration_success' => 'Sie wurden erfolgreich registriert.',
'login_success' => 'Sie wurden erfolgreich angemeldet.',
'title' => 'Anmelden',
'please_login' => 'Bitte melden Sie sich gefälligst an!',
'email' => 'Elektronische Postadresse:',
'email_title' => 'Nur echte Adressen der elektronischen Post verwenden!',
'password' => 'Kennwort:',
'logged_in' => 'Sie sind angemeldet.',
'logout' => 'Abmelden',
'register_title' => 'Registrieren',
'please_register' => 'Bitte registrieren Sie sich.',
'username' => 'Name/Nick:',
'password_repeat' => 'Kennwort wiederholen:',
'registration_token' => 'Registrierungsnummer:',
],
'blog' => [
'confirm_save' => 'Eintrag wirklich speichern?',
@@ -199,5 +240,19 @@ return [
'to_date_internal' => 'Fristende',
'from_date_visible' => 'Terminstart',
'to_date_visible' => 'Terminende',
],
'errors' => [
'403' => [
'title' => '403 - Kein Zutritt',
'message' => 'Sie haben keine Berechtigung, diesen Bereich zu betreten. Bitte legitimieren Sie sich ordnungsgemäß.',
],
'404' => [
'title' => '404 - Dokument nicht auffindbar',
'message' => 'Das von Ihnen gesuchte Dokument oder die Seite konnte in unseren Archiven nicht gefunden werden.',
],
'500' => [
'title' => '500 - Interner Behördenfehler',
'message' => 'Es ist ein unerwarteter Fehler in der Bearbeitung aufgetreten. Bitte versuchen Sie es später erneut.',
],
]
];
+1 -1
View File
@@ -7,6 +7,6 @@ return [
'body2' => "<br /><br />Folgende Daten wurden übermittelt:<br />",
'body3' => "<br /><br />Bitte heben Sie diese E-Mail unbedingt auf.<br />Wenn möglich, drucken Sie das Formblatt 5, welches sich im E-Mail-Anhang befindet, aus. Tragen Sie Ihre Bearbeitungsnummer ein und bringen Sie es bei Abholung mit.",
'body4' => "<br /><br />Wir bitten ebenfalls um die Beachtung der Spendengebührenverordnung, welche sich ebenfalls im Anhang befindet.",
'signature' => "Mit freundlichen Grüßen,<br /><br /><br />Ihr C3Gov - Ihr Amt in der Bezirksregion CCC"
'signature' => "Mit freundlichen Grüßen,<br /><br /><br />Ihr C3Gov - Ihre Behörde in der Bezirksregion CCC"
]
];
+59 -4
View File
@@ -8,6 +8,8 @@ return [
'signed_in_as' => 'Signed in as:',
'guest' => 'Guest account',
'news_alt' => 'News',
'progress_flag' => 'LGBTQIA+ Progress Flag',
'lead_by' => 'A district government authority run by transgender beings',
'language' => [
'en' => 'English',
'de' => 'Deutsch',
@@ -24,7 +26,9 @@ return [
'editNews' => 'Edit news',
'editApplications' => 'Edit applications',
'events' => 'C3Gov appointments',
'logout' => 'Logout'
'logout' => 'Logout',
'login' => 'Log in',
'register' => 'Register'
],
'index' => [
'welcome' => 'Welcome to the Internet presence of the C3Gov'
@@ -105,6 +109,24 @@ return [
'content' => 'Should you require certification of your visit, we will of course provide you with an official document.'
]
],
'faq' => [
'title' => 'Frequently Asked Questions',
'q1' => 'What exactly do you do?',
'a1' => 'We issue hacker passports through the practice of bureaucracy. Some might view this as a role-playing game,
but our C3Gov administrative regulations contain no information regarding roles which are playing.',
'q2' => 'Where can I enter with these passports?',
'a2' => 'With the passports issued by C3Gov, you can easily enter the CCC district region and its embassies.',
'q3' => 'What else are these passports used for?',
'a3' => 'The passports provide a convenient way to document your stay in the CCC district region and its embassies.
You can have your stay confirmed with stamps or stickers from the respective embassies.',
'q4' => 'Is this the only passport available?',
'a4' => 'We offer the Hacker Passport and the Young Hacker Passport. The latter, however, is only available in the German edition.',
'q5' => 'How can I apply for a Hacker Passport?',
'a5_1' => 'Click on',
'a5_2' => 'this link',
'a5_3' => ', or on “Apply Now” in the navigation bar, or on the large
glowing button on the homepage. There, simply follow the instructions.'
],
'imprint' => [
'title' => 'Imprint',
'alt' => 'Serious business',
@@ -116,8 +138,10 @@ return [
'contact' => [
'title' => 'Contact',
'alt' => 'Contact',
'content' => 'Write us over in the <a href="https://chaos.social/@c3gov">fediverse</a>
<br />or via email to: <a href="mailto:Dezernat7Zustaendigkeit@C3Gov.De">Dezernat7Zustaendigkeit@C3Gov.De</a>'
'content' => 'If you have any questions, please contact us:',
'fediverse' => 'Fediverse:',
'email' => 'Electronic mail address:',
'phone' => 'Telephone/Fax:'
],
'preapplication' => [
'title' => 'Pre-application for Passport according to § 5 C3GovVerwV',
@@ -146,7 +170,12 @@ return [
'add' => 'Add application',
'save' => 'Save',
'delete' => 'Delete',
'generated' => 'Generated'
'generated' => 'Generated',
'download' => [
'title' => 'Download pre-applications',
'description' => 'Here you can download all pre-applications of a district region appointment as a PDF.',
'button' => 'Generate PDF'
]
]
],
'common' => [
@@ -157,6 +186,18 @@ return [
'password_mismatch' => 'Your password does not match.',
'registration_success' => 'You have been successfully registered.',
'login_success' => 'You have been successfully logged in.',
'title' => 'Log in',
'please_login' => 'Please log in!',
'email' => 'Electronic email address:',
'email_title' => 'Only use real electronic mail addresses!',
'password' => 'Password:',
'logged_in' => 'You are logged in.',
'logout' => 'Log out',
'register_title' => 'Register',
'please_register' => 'Please register.',
'username' => 'Name/Nick:',
'password_repeat' => 'Repeat password:',
'registration_token' => 'Registration token:',
],
'blog' => [
'confirm_save' => 'Do you really want to save this entry?',
@@ -199,5 +240,19 @@ return [
'to_date_internal' => 'End date for pre-applications',
'from_date_visible' => 'Start date of appointment',
'to_date_visible' => 'End date of appointment',
],
'errors' => [
'403' => [
'title' => '403 - No Admission',
'message' => 'You are not authorized to access this area. Please provide proper identification.',
],
'404' => [
'title' => '404 - Document not found',
'message' => 'The document or page you were looking for could not be found in our archives.',
],
'500' => [
'title' => '500 - Internal Authority Error',
'message' => 'An unexpected processing error has occurred. Please try again later.',
],
]
];
+1 -1
View File
@@ -7,6 +7,6 @@ return [
'body2' => "<br /><br />The following data has been submitted:<br />",
'body3' => "<br /><br />Please keep this email for your records. <br />If possible, print out form 5, which is attached to the email. Fill in your reference number and bring it with you when you pick up your hacker passport.",
'body4' => "<br /><br />We also ask you to observe the donation regulation, which is also attached.",
'signature' => "Sincerely,<br /><br /><br />Your C3Gov Your office in the CCC district region"
'signature' => "Sincerely,<br /><br /><br />Your C3Gov Your government authority in the CCC district region"
]
];
+16
View File
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="762" viewBox="0 0 6000 3810" style="--vh: 16.59px;">
<path fill="#6d2380" d="M0 0h6000v3810H0z"/>
<path fill="#2c58a4" d="M0 0h6000v3175H0z"/>
<path fill="#78b82a" d="M0 0h6000v2540H0z"/>
<path fill="#efe524" d="M0 0h6000v1905H0z"/>
<path fill="#f28917" d="M0 0h6000v1270H0z"/>
<path fill="#e22016" d="M0 0h6000v635H0z"/>
<path d="M0 0h1577l1764 1905-1764 1905H0z"/>
<path fill="#945516" d="M0 0h1209l1764 1905-1764 1905H0z"/>
<path fill="#7bcce5" d="M0 0h844l1764 1905L844 3810H0z"/>
<path fill="#f4aec8" d="M0 0h477l1764 1905L477 3810H0z"/>
<path fill="#fff" d="M0 0h111l1763 1905L111 3810H0z"/>
<path fill="#fdd817" d="m0 278 1507 1627L0 3532z"/>
<circle cx="556" cy="1905" r="404" fill="none" stroke="#66338b" stroke-width="95"/>
</svg>

After

Width:  |  Height:  |  Size: 893 B

+10
View File
@@ -142,6 +142,11 @@ select {
background-color: transparent;
}
dt {
font-size: 1.2em;
font-weight: bold;
}
@media (max-width: 1024px) {
.header {
flex-direction: column;
@@ -261,6 +266,7 @@ nav {
padding: 10px;
text-align: center;
flex-shrink: 0;
font-size: 16px;
}
.split-left {
@@ -279,6 +285,10 @@ nav {
clear: both;
}
.progress-flag {
height: 13px;
}
.apply-button {
font-size: 2.5em;
padding: 20px 40px;
@@ -21,6 +21,22 @@
@endsection
@section('content')
<h1>{{ __('app.preapplication.edit.download.title') }}</h1>
<p>{{ __('app.preapplication.edit.download.description') }}</p>
<div class="eingabemaske">
<form action="{{ route('generatePDF') }}" method="GET">
<label for="event_id">{{ __('app.preapplication.region') }}:</label>
<select id="event_id" name="event_id">
@foreach(ChaosEvents::all() as $event)
<option value="{{ $event->id }}">{{ $event->name }}</option>
@endforeach
</select>
<br /><br />
<button type="submit">{{ __('app.preapplication.edit.download.button') }}</button>
</form>
</div>
<br /><br />
<h1>{{ __("app.preapplication.edit.title") }}</h1>
<p>{{ __("app.preapplication.edit.description") }}</p>
+14 -1
View File
@@ -5,6 +5,19 @@
@section('content')
<img class="content-img" src="{{ asset('Bilder/kontakt.jpg') }}" alt="{{ __('app.contact.alt') }}" />
<h1>{{ __('app.contact.title') }}</h1>
<br />
{!! __('app.contact.content') !!}
<dl>
<dt>{{ __('app.contact.fediverse') }}</dt>
<dd><a href="https://chaos.social/@c3gov">https://chaos.social/@c3gov</a></dd>
<br />
<dt>{{ __('app.contact.email') }}</dt>
<dd><a href="mailto:Dezernat7Zustaendigkeit@C3Gov.De">Dezernat7Zustaendigkeit@C3Gov.De</a></dd>
<br />
<dt>{{ __('app.contact.phone') }}</dt>
<dd>+49 (0) 201 89 040 231</dd>
<dd>+49 (0) 221 59 619 2800</dd>
<br />
<dt>EPVPN:</dt>
<dd>2800</dd>
</dl>
@endsection
+5 -2
View File
@@ -9,8 +9,11 @@
<h3>{{ __('app.documents.verwaltungsvorschrift') }}</h3>
<a href="{{ asset('Dokumente/C3GovVerwV.pdf') }}">{{ __('app.documents.verwaltungsvorschrift') }} C3GovVerwV Deutsch (PDF)</a><br />
<a href="{{ asset('Dokumente/C3GovVerwV_en.pdf') }}">{{ __('app.documents.verwaltungsvorschrift') }} C3GovVerwV English (PDF)</a><br />
<a href="{{ asset('Dokumente/C3GovSpGV.pdf') }}">{{ __('app.documents.donation') }}</a><br /><br />
<a href="{{ asset('Dokumente/C3GovVerwV_en.pdf') }}">{{ __('app.documents.verwaltungsvorschrift') }} C3GovVerwV English (PDF)</a><br /><br />
<h3>{{ __('app.documents.donation') }}</h3>
<a href="{{ asset('Dokumente/C3GovSpGV.pdf') }}">{{ __('app.documents.donation') }} Deutsch (PDF)</a><br />
<a href="{{ asset('Dokumente/C3GovSpGV_en.pdf') }}">{{ __('app.documents.donation') }} English (PDF)</a><br /><br />
<h3>{{ __('app.documents.fb1.name') }}</h3>
<a href="{{ asset('Dokumente/c3gov_fb1d.pdf') }}">{{ __('app.documents.fb1.description') }} Deutsch (PDF)</a><br />
+25
View File
@@ -0,0 +1,25 @@
@extends('layout.app')
@section('scripts')
@endsection
@section('content')
<h1>{!! __('app.faq.title') !!}</h1>
<dl>
<dt>{!! __('app.faq.q1') !!}</dt>
<dd>{!! __('app.faq.a1') !!}</dd>
<br />
<dt>{!! __('app.faq.q2') !!}</dt>
<dd>{!! __('app.faq.a2') !!}</dd>
<br />
<dt>{!! __('app.faq.q3') !!}</dt>
<dd>{!! __('app.faq.a3') !!}</dd>
<br />
<dt>{!! __('app.faq.q4') !!}</dt>
<dd>{!! __('app.faq.a4') !!}</dd>
<br />
<dt>{!! __('app.faq.q5') !!}</dt>
<dd>{!! __('app.faq.a5_1') !!} <a href="{{ route('apply') }}">{!! __('app.faq.a5_2') !!}</a> {!! __('app.faq.a5_3') !!}</dd>
<br />
</dl>
@endsection
+6
View File
@@ -0,0 +1,6 @@
@extends('layout.app')
@section('content')
<h1>{{ __('app.errors.403.title') }}</h1>
<p>{{ __('app.errors.403.message') }}</p>
@endsection
+6
View File
@@ -0,0 +1,6 @@
@extends('layout.app')
@section('content')
<h1>{{ __('app.errors.404.title') }}</h1>
<p>{{ __('app.errors.404.message') }}</p>
@endsection
+6
View File
@@ -0,0 +1,6 @@
@extends('layout.app')
@section('content')
<h1>{{ __('app.errors.500.title') }}</h1>
<p>{{ __('app.errors.500.message') }}</p>
@endsection
+12 -2
View File
@@ -4,10 +4,18 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>C3Gov - {{ __('app.subtitle') }}</title>
<meta name="csrf-token" content="{{ csrf_token() }}">
<link rel="icon" type="image/x-icon" href="{{ asset("favicon.ico") }}">
<link rel="stylesheet" href="{{ asset("css/style.css") . "?rnd=" . rand(0, 1000000000) }}">
<script src="{{ asset("js/jquery/jquery-4.0.0.min.js") }}"></script>
<script src="{{ asset("js/web.js") }}"></script>
<script>
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
</script>
@yield('scripts')
</head>
<body>
@@ -41,6 +49,7 @@
<li><a href="{{ route('documents') }}">{{ __('app.nav.documents') }}</a></li>
<li><a href="{{ route('news') }}">{{ __('app.nav.news') }}</a></li>
<li><a href="{{ route('contact') }}">{{ __('app.nav.contact') }}</a></li>
<li><a href="{{ route('faq') }}">{{ __('app.faq.title') }}</a></li>
<li><a href="{{ route('imprint') }}">{{ __('app.nav.imprint') }}</a></li>
<br />
<li><a href="{{ route('apply') }}">{{ __('app.nav.apply') }}</a></li>
@@ -59,8 +68,6 @@
onmouseover="{ this.src = '{{ asset("Bilder/fedicsgovnetscapepress.png") }}' }"
onmouseout="{ this.src = '{{ asset("Bilder/fedicsgovnetscape.png") }}' }" alt="{{ __('app.fediverse') }}"></a></li>
</ul>
</div>
<div class="content col">
@yield('content')
@@ -69,6 +76,9 @@
</div>
</div>
<div class="footer">
<img class="progress-flag" src="{{ asset('Bilder/ProgressFlag.svg') }}" alt="{{ __('app.progress_flag') }}">
{{ __('app.lead_by') }}
|
&copy; 1999 by C3Gov
</div>
</body>
+8 -8
View File
@@ -16,32 +16,32 @@
@endsection
@section('content')
<h1>Anmelden</h1>
<h1>{{ __('app.login.title') }}</h1>
<span>
@guest
<div id="fehlermeldung">Bitte melden Sie sich gefälligst an!</div>
<div id="fehlermeldung">{{ __('app.login.please_login') }}</div>
<br /><br />
<table class="eingabemaske">
<tr>
<td><label for="mail">Elektronische Postadresse:</label></td>
<td><label for="mail">{{ __('app.login.email') }}</label></td>
<td><input size="32" type="text" id="mail" pattern="^[0-9A-Za-z+_\-]+@[0-9A-Za-z_\-]+\.[0-9A-Za-z]+$"
title="Nur echte Adressen der elektronischen Post verwenden!"/></td>
title="{{ __('app.login.email_title') }}"/></td>
</tr>
<tr>
<td><label for="password">Kennwort:</label></td>
<td><label for="password">{{ __('app.login.password') }}</label></td>
<td><input size="32" type="password" id="password"></td>
</tr>
</table>
<br/><br/>
<button class="eingabemaske" onclick="login()">Anmelden</button>
<button class="eingabemaske" onclick="login()">{{ __('app.login.title') }}</button>
@endguest
@auth
<div id="fehlermeldung">Sie sind angemeldet.</div>
<a href="{{ route('logout') }}"><button>Abmelden</button></a>
<div id="fehlermeldung">{{ __('app.login.logged_in') }}</div>
<a href="{{ route('logout') }}"><button>{{ __('app.login.logout') }}</button></a>
@endauth
</span>
+9 -9
View File
@@ -17,38 +17,38 @@
@endsection
@section('content')
<h1>Registrieren</h1>
<h1>{{ __('app.login.register_title') }}</h1>
<span>
<div id="fehlermeldung" class="alert alert-primary">Bitte registrieren Sie sich.</div>
<div id="fehlermeldung" class="alert alert-primary">{{ __('app.login.please_register') }}</div>
<table class="eingabemaske">
<tr>
<td><label for="mail">Elektronische Postadresse:</label></td>
<td><label for="mail">{{ __('app.login.email') }}</label></td>
<td><input size="32" type="text" id="mail" pattern="^[0-9A-Za-z+_\-]+@[0-9A-Za-z_\-]+\.[0-9A-Za-z]+$"
title="Nur echte Adressen der elektronischen Post verwenden!"/></td>
title="{{ __('app.login.email_title') }}"/></td>
</tr>
<tr>
<td><label for="username">Name/Nick:</label></td>
<td><label for="username">{{ __('app.login.username') }}</label></td>
<td><input size="32" type="text" id="username"/></td>
</tr>
<tr>
<td><label for="password">Kennwort:</label></td>
<td><label for="password">{{ __('app.login.password') }}</label></td>
<td><input size="32" type="password" id="password"></td>
</tr>
<tr>
<td><label for="password_repeat">Kennwort wiederholen:</label></td>
<td><label for="password_repeat">{{ __('app.login.password_repeat') }}</label></td>
<td><input size="32" type="password" id="password_repeat"></td>
</tr>
<tr>
<td><label for="register_token">Registrierungsnummer:</label></td>
<td><label for="register_token">{{ __('app.login.registration_token') }}</label></td>
<td><input size="32" type="text" id="register_token"></td>
</tr>
</table>
<br/><br/>
<button class="eingabemaske" onclick="abschicken()">Registrieren</button>
<button class="eingabemaske" onclick="abschicken()">{{ __('app.login.register_title') }}</button>
</span>
@endsection
@@ -0,0 +1,93 @@
@php
$logoPath = public_path('Dokumente/c3govsticker.png');
$logoData = base64_encode(file_get_contents($logoPath));
$logoSrc = 'data:image/png;base64,' . $logoData;
@endphp
<!DOCTYPE html>
<html lang="de">
<head>
<title>Voranträge</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<style>
#logo {
position: absolute;
right: 10px;
top: 10px;
width: 100px;
}
table {
width: 100%;
}
.page {
page-break-before: always;
margin-left: 50px;
}
.center {
text-align: center;
}
.stampfield {
position: absolute;
bottom: 50px;
right: 50px;
width: 90%;
height: 50%;
border: 1px solid black;
padding: 5px;
background-color: #f0f0f0;
}
</style>
</head>
<body>
<div>
<h1 class="center">Voranträge gem. § 5 C3GovVerwV für die (temporäre) Bz.Reg.-Erw.</h1>
<h1 class="center">{{ $event->name }}</h1>
<h2 class="center">der Bezirksregion CCC</h2>
<h3 style="text-align: center;">Gültig vom {{ $event->from_date_visible->toDateString() }} bis einschließlich dem {{ $event->to_date_visible->toDateString() }}</h3>
<img style="display: block; margin: 41%; width: 150px; height: 150px;" src="{{ $logoSrc }}">
</div>
@foreach($applications as $application)
<div class="page">
<div style="position: relative;">
<img id="logo" src="{{ $logoSrc }}">
<h1>Vorantrag {{ $application->reference_number }}</h1>
<br /><br />
<p>Folgende Entität hat einen Vorantrag gemäß § 5 C3GovVerwV gestellt:</p>
<br /><br />
<table>
<tr>
<td>Vorname:</td>
<td>{{ $application->first_name }}</td>
</tr>
<tr>
<td>Nachname:</td>
<td>{{ $application->last_name }}</td>
</tr>
<tr>
<td>Ort/Hackspace:</td>
<td>{{ $application->location }}</td>
</tr>
<tr>
<td>Datenbankerfassung am:</td>
<td>{{ $application->created_at }}</td>
</tr>
<tr>
<td>Interne Notizen:</td>
<td>{{ $application->notes }}</td>
</tr>
</table>
<br /><br />
<p>Obige Angaben sind vor Ausstellung zu prüfen und mittels Formblatt 5 zu genehmigen.</p>
<br /><br /><br />
<div class="stampfield">
<div class="center"><u>Bearbeitungsvermerke</u></div>
</div>
</div>
</div>
@endforeach
</body>
</html>
+2
View File
@@ -14,6 +14,7 @@ Route::get('/', [WebsiteController::class, 'index']);
Route::get('/ueberuns', [WebsiteController::class, 'about'])->name('about');
Route::get('/dokumente', [WebsiteController::class, 'documents'])->name('documents');
Route::get('/kontakt', [WebsiteController::class, 'contact'])->name('contact');
Route::get('/faq', [WebsiteController::class, 'faq'])->name('faq');
Route::get('/impressum', [WebsiteController::class, 'imprint'])->name('imprint');
Route::get('/services', [WebsiteController::class, 'services'])->name('services');
Route::get('/neuigkeiten', [WebsiteController::class, 'news'])->name('news');
@@ -43,6 +44,7 @@ Route::delete('/intern/nachrichten/delete', [BlogController::class, 'deleteBlog'
Route::put('/intern/nachrichten/edit', [BlogController::class, 'editBlog']);
Route::get('/intern/antraege', [WebsiteController::class, 'editApplications'])->name('editApplications');
Route::get('/intern/antraege/generate-pdf', [PreApplicationController::class, 'generatePDF'])->name('generatePDF');
Route::post('/intern/antraege/hinzufuegen', [PreApplicationController::class, 'addApplication']);
Route::delete('/intern/antraege/loeschen', [PreApplicationController::class, 'deleteApplication']);
Route::put('/intern/antraege/bearbeiten', [PreApplicationController::class, 'editApplication']);