diff --git a/app/Http/Controllers/PreApplicationController.php b/app/Http/Controllers/PreApplicationController.php index b409ee8..448b132 100644 --- a/app/Http/Controllers/PreApplicationController.php +++ b/app/Http/Controllers/PreApplicationController.php @@ -14,9 +14,9 @@ use Nette\Utils\Random; class PreApplicationController extends Controller { public function send(Request $request){ - $event = $request->input('event'); + $event = $request->input('district_region'); - $ce = ChaosEvents::where('id', $event)->where('to_date', '>=', now())->first(); + $ce = ChaosEvents::where('id', $event)->where('to_date_internal', '>=', today())->where('from_date_internal', '<=', today())->first(); if($ce){ $passport_type = $request->input('passport_type'); diff --git a/app/Models/ChaosEvents.php b/app/Models/ChaosEvents.php index 020990b..4c48689 100644 --- a/app/Models/ChaosEvents.php +++ b/app/Models/ChaosEvents.php @@ -8,11 +8,22 @@ class ChaosEvents extends Model { protected $table = 'chaos_events'; + protected function casts(): array + { + return [ + 'from_date_internal' => 'date', + 'to_date_internal' => 'date', + 'from_date_visible' => 'date', + 'to_date_visible' => 'date', + ]; + } + public function preApplications() { return $this->hasMany('App\Models\PreApplications', 'event_id'); } public static function getActiveEvents(){ - return self::where('to_date', '>=', now())->where('from_date', '<=', now())->get(); + return self::where('to_date_internal', '>=', today()) + ->where('from_date_internal', '<=', today())->get(); } } diff --git a/database/migrations/2026_03_26_201652_create_chaos_events_table.php b/database/migrations/2026_03_26_201652_create_chaos_events_table.php index 98a4529..ef9f6e0 100644 --- a/database/migrations/2026_03_26_201652_create_chaos_events_table.php +++ b/database/migrations/2026_03_26_201652_create_chaos_events_table.php @@ -15,8 +15,10 @@ return new class extends Migration $table->id(); $table->string('name'); $table->string('shortname'); - $table->date('from_date'); - $table->date('to_date'); + $table->date('from_date_internal'); + $table->date('to_date_internal'); + $table->date('from_date_visible'); + $table->date('to_date_visible'); $table->boolean('active')->default(false); $table->timestamps(); }); diff --git a/lang/de/app.php b/lang/de/app.php index c99b0d3..82f8fa4 100644 --- a/lang/de/app.php +++ b/lang/de/app.php @@ -68,10 +68,11 @@ return [ ], 'preapplication' => [ 'title' => 'Vorantrag auf Reisepass gem. § 5 C3GovVerwV', - 'content' => 'Bitte wählen Sie eine temporäre Bezirksregion aus, um Ihren Vorantrag auf einen Reisepass zu stellen. + 'content' => 'Bitte wählen Sie eine (temporäre) Bezirksregion aus, um Ihren Vorantrag auf einen Reisepass zu stellen.
Nachdem Sie den Vorantrag abgeschickt haben, erhalten Sie eine Bestätigung via elektronischer Post.', - 'noevent' => 'Es sind derzeit keine temporäre Bezirksregionen verfügbar.', - 'passport_type' => 'Pass-Typ', + 'noevent' => 'Es sind derzeit keine (temporären) Bezirksregionen verfügbar.', + 'region' => 'Bezirksregion', + 'passport_type' => 'Reisepass-Typ', 'passport' => [ 'standard' => 'Hacker*innen-Reisepass', 'kid' => 'Junghackerpass', @@ -81,5 +82,22 @@ return [ 'lastname' => 'Nachname (optional)', 'location' => 'Hackspace / Ort (optional)', 'apply' => 'Vorantrag abschicken' - ] + ], + 'common' => [ + 'error_occurred' => 'Es ist ein Fehler geschehen: ', + 'not_permitted' => 'Sie sind nicht berechtigt diese Funktion zu nutzen.', + ], + 'login' => [ + 'password_mismatch' => 'Ihr Kennwort stimmt nicht überein.', + 'registration_success' => 'Sie wurden erfolgreich registriert.', + 'login_success' => 'Sie wurden erfolgreich angemeldet.', + ], + 'blog' => [ + 'confirm_save' => 'Eintrag wirklich speichern?', + 'confirm_delete' => 'Eintrag wirklich löschen?', + ], + 'ticker' => [ + 'delete_success' => 'Löschen erfolgreich!', + 'insert_success' => 'Einfügen erfolgreich!', + ], ]; diff --git a/lang/en/app.php b/lang/en/app.php index bf1a49b..f2644bb 100644 --- a/lang/en/app.php +++ b/lang/en/app.php @@ -68,9 +68,10 @@ return [ ], 'preapplication' => [ 'title' => 'Pre-application for Passport according to § 5 C3GovVerwV', - 'content' => 'Please select a temporary district region to submit your pre-application for a passport. + 'content' => 'Please select a (temporary) district region to submit your pre-application for a passport.
After you have submitted the pre-application, you will receive a confirmation by e-mail.', - 'noevent' => 'There are currently no temporary district regions available.', + 'noevent' => 'There are currently no (temporary) district regions available.', + 'region' => 'District region', 'passport_type' => 'Passport type', 'passport' => [ 'standard' => 'Hacker Passport', @@ -81,5 +82,22 @@ return [ 'lastname' => 'Last name (optional)', 'location' => 'Hackspace / Location (optional)', 'apply' => 'Submit pre-application' - ] + ], + 'common' => [ + 'error_occurred' => 'An error occurred: ', + 'not_permitted' => 'You are not authorized to use this function.', + ], + 'login' => [ + 'password_mismatch' => 'Your password does not match.', + 'registration_success' => 'You have been successfully registered.', + 'login_success' => 'You have been successfully logged in.', + ], + 'blog' => [ + 'confirm_save' => 'Do you really want to save this entry?', + 'confirm_delete' => 'Do you really want to delete this entry?', + ], + 'ticker' => [ + 'delete_success' => 'Deleted successfully!', + 'insert_success' => 'Inserted successfully!', + ], ]; diff --git a/public/css/blog/edit.css b/public/css/blog/edit.css index b583bf5..f9589f7 100644 --- a/public/css/blog/edit.css +++ b/public/css/blog/edit.css @@ -16,8 +16,3 @@ .blogEdit textarea { font-size: 1.2em; } - -.blogEdit select { - font-size: 1em; - padding: 0.5em; -} diff --git a/public/css/style.css b/public/css/style.css index e00f7a4..1ec311b 100644 --- a/public/css/style.css +++ b/public/css/style.css @@ -9,6 +9,12 @@ html, body { overflow-x: hidden; } +select { + font-size: 1em; + padding: 0.5em; +} + + *, *:before, *:after { box-sizing: inherit; } @@ -176,6 +182,7 @@ html, body { } .eingabemaske input { + font-size: 1em; padding: 0.5em; max-width: 100%; } diff --git a/public/js/blog/blog.js b/public/js/blog/blog.js index a389251..18c5c8b 100644 --- a/public/js/blog/blog.js +++ b/public/js/blog/blog.js @@ -17,7 +17,7 @@ function addBlog(){ console.log(b); - if(window.confirm('Eintrag wirklich speichern?')){ + if(window.confirm(i18n.blog.confirm_save)){ $.ajax({ type: "POST", url: "/intern/nachrichten/add", @@ -34,7 +34,7 @@ function addBlog(){ } }, error:function(r, a, e){ - alert(e); + alert(i18n.common.error_occurred + e); } }); } @@ -48,7 +48,7 @@ function editBlog(blogId){ b.published = $('#blogPublished_'+blogId).is(":checked") ? "1" : "0"; b.language = $('#blogLanguage_'+blogId).val(); - if(window.confirm('Eintrag wirklich speichern?')){ + if(window.confirm(i18n.blog.confirm_save)){ $.ajax({ type: "PUT", url: "/intern/nachrichten/edit", @@ -62,7 +62,7 @@ function editBlog(blogId){ } }, error:function(r, a, e){ - alert(e); + alert(i18n.common.error_occurred + e); } }); } @@ -72,7 +72,7 @@ function deleteBlog(blogId){ let b = {}; b.id = blogId; - if(window.confirm('Eintrag wirklich löschen?')){ + if(window.confirm(i18n.blog.confirm_delete)){ $.ajax({ type:"DELETE", url:"/intern/nachrichten/delete", @@ -89,7 +89,7 @@ function deleteBlog(blogId){ } }, error:function(r, a, e){ - alert(e); + alert(i18n.common.error_occurred + e); } }) } diff --git a/public/js/login/login.js b/public/js/login/login.js index 52d90f1..e5038b3 100644 --- a/public/js/login/login.js +++ b/public/js/login/login.js @@ -11,19 +11,19 @@ function login(){ success: function(d){ switch(d.messageStatus){ case "success": - setzeFehlermeldung("success", "Sie wurden erfolgreich angemeldet."); + setzeFehlermeldung("success", i18n.login.login_success); location.reload(); break; case "failure": - setzeFehlermeldung("failure", "Es ist ein Fehler geschehen: " + d.errorMessage); + setzeFehlermeldung("failure", i18n.common.error_occurred + d.errorMessage); break; case "not permitted": - setzeFehlermeldung("failure", "Sie sind nicht berechtigt diese Funktion zu nutzen."); + setzeFehlermeldung("failure", i18n.common.not_permitted); break; } }, error: function(d, status, errorThrown) { - setzeFehlermeldung("failure", "Es ist ein Fehler geschehen: " + errorThrown); + setzeFehlermeldung("failure", i18n.common.error_occurred + errorThrown); } }); diff --git a/public/js/login/registrieren.js b/public/js/login/registrieren.js index 8650724..019efdc 100644 --- a/public/js/login/registrieren.js +++ b/public/js/login/registrieren.js @@ -7,9 +7,9 @@ function abschicken(){ if(data.password !== $("#password_repeat").val()) { - setzeFehlermeldung("failure", "Ihr Kennwort stimmt nicht überein."); + setzeFehlermeldung("failure", i18n.login.password_mismatch); for(let i=0; i + const i18n = { + common: { + error_occurred: "{{ __('app.common.error_occurred') }}" + } + }; + @endsection @@ -11,32 +18,42 @@ @forelse (ChaosEvents::getActiveEvents() as $event)
- -
- - - -
- - - -
- - -
- - -
- - -

+ + + + + + + + + + + + + + + + + + + + + + + + + +
{{ __('app.preapplication.region') }}:
{{ __('app.preapplication.passport_type') }}: + +
{{ __('app.preapplication.mail') }}:
{{ __('app.preapplication.firstname') }}:
{{ __('app.preapplication.lastname') }}:
{{ __('app.preapplication.location') }}:
+
+
@empty diff --git a/resources/views/blog/edit.blade.php b/resources/views/blog/edit.blade.php index 681a9b2..0221b0d 100644 --- a/resources/views/blog/edit.blade.php +++ b/resources/views/blog/edit.blade.php @@ -1,5 +1,16 @@ @extends('layout.app') @section('scripts') + @endsection diff --git a/resources/views/layout/app.blade.php b/resources/views/layout/app.blade.php index 11b2584..1ecb6bb 100644 --- a/resources/views/layout/app.blade.php +++ b/resources/views/layout/app.blade.php @@ -51,7 +51,7 @@ @endauth -



+
C3Gov on Fediverse diff --git a/resources/views/login/login.blade.php b/resources/views/login/login.blade.php index 88d7bb7..3f036d1 100644 --- a/resources/views/login/login.blade.php +++ b/resources/views/login/login.blade.php @@ -1,5 +1,16 @@ @extends('layout.app') @section('scripts') + @endsection diff --git a/resources/views/login/register.blade.php b/resources/views/login/register.blade.php index b441635..b8d1d18 100644 --- a/resources/views/login/register.blade.php +++ b/resources/views/login/register.blade.php @@ -1,5 +1,17 @@ @extends('layout.app') @section('scripts') + @endsection diff --git a/resources/views/ticker/edit.blade.php b/resources/views/ticker/edit.blade.php index 759f362..aefce38 100644 --- a/resources/views/ticker/edit.blade.php +++ b/resources/views/ticker/edit.blade.php @@ -1,6 +1,17 @@ @php use App\Models\TickerMessages; @endphp @extends('layout.app') @section('scripts') +