Compare commits
2 Commits
77b14e753e
...
9cac0294cd
| Author | SHA1 | Date | |
|---|---|---|---|
|
9cac0294cd
|
|||
|
3e5c99c3dd
|
@@ -0,0 +1,79 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use App\Models\ChaosEvents;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
|
class EventController extends Controller
|
||||||
|
{
|
||||||
|
public static function eventsPaginated(){
|
||||||
|
return ChaosEvents::paginate(10);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function addEvent(Request $request) {
|
||||||
|
if(Auth::check()){
|
||||||
|
$name = $request->input('name');
|
||||||
|
$shortname = $request->input('shortname');
|
||||||
|
$from_date_internal = $request->input('from_date_internal');
|
||||||
|
$to_date_internal = $request->input('to_date_internal');
|
||||||
|
$from_date_visible = $request->input('from_date_visible');
|
||||||
|
$to_date_visible = $request->input('to_date_visible');
|
||||||
|
$active = $request->input('active');
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
$event = new ChaosEvents();
|
||||||
|
$event->name = $name;
|
||||||
|
$event->shortname = $shortname;
|
||||||
|
$event->from_date_internal = $from_date_internal;
|
||||||
|
$event->to_date_internal = $to_date_internal;
|
||||||
|
$event->from_date_visible = $from_date_visible;
|
||||||
|
$event->to_date_visible = $to_date_visible;
|
||||||
|
$event->active = $active;
|
||||||
|
|
||||||
|
$event->save();
|
||||||
|
return ['messageStatus' => 'success', 'errorMessage' => ''];
|
||||||
|
} catch (\Illuminate\Database\QueryException $e) {
|
||||||
|
return ['messageStatus' => 'failure', 'errorMessage' => __("controller_messages.EventController.error_occurred", ["error" => $e->getMessage()])];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
abort(404);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function deleteEvent(Request $request) {
|
||||||
|
if(Auth::check()){
|
||||||
|
try {
|
||||||
|
$event = ChaosEvents::find($request->input('id'));
|
||||||
|
if ($event) {
|
||||||
|
$event->delete();
|
||||||
|
return ['messageStatus' => 'success', 'errorMessage' => ''];
|
||||||
|
} else {
|
||||||
|
return ['messageStatus' => 'failure', 'errorMessage' => __("controller_messages.EventController.error_occurred", ["error" => "Event not found"])];
|
||||||
|
}
|
||||||
|
} catch (\Illuminate\Database\QueryException $e) {
|
||||||
|
return ['messageStatus' => 'failure', 'errorMessage' => __("controller_messages.EventController.error_occurred", ["error" => $e->getMessage()])];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
abort(404);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setActivity(Request $request) {
|
||||||
|
if(Auth::check()) {
|
||||||
|
try {
|
||||||
|
$event = ChaosEvents::find($request->input('id'));
|
||||||
|
if ($event) {
|
||||||
|
$event->active = $request->input('active');
|
||||||
|
$event->save();
|
||||||
|
return ['messageStatus' => 'success', 'errorMessage' => ''];
|
||||||
|
} else {
|
||||||
|
return ['messageStatus' => 'failure', 'errorMessage' => __("controller_messages.EventController.error_occurred", ["error" => "Event not found"])];
|
||||||
|
}
|
||||||
|
} catch (\Illuminate\Database\QueryException $e) {
|
||||||
|
return ['messageStatus' => 'failure', 'errorMessage' => __("controller_messages.EventController.error_occurred", ["error" => $e->getMessage()])];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
abort(404);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -82,4 +82,13 @@ class WebsiteController extends Controller
|
|||||||
abort(404);
|
abort(404);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function editEvents(){
|
||||||
|
if(Auth::check()){
|
||||||
|
return response()
|
||||||
|
->view('events.edit', ['events' => EventController::eventsPaginated()])
|
||||||
|
->header('Cache-Control', 'no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
|
||||||
|
}
|
||||||
|
abort(404);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ return [
|
|||||||
'editTicker' => 'Ticker bearbeiten',
|
'editTicker' => 'Ticker bearbeiten',
|
||||||
'editNews' => 'Neuigkeiten bearbeiten',
|
'editNews' => 'Neuigkeiten bearbeiten',
|
||||||
'editApplications' => 'Anträge bearbeiten',
|
'editApplications' => 'Anträge bearbeiten',
|
||||||
|
'events' => 'C3Gov-Termine',
|
||||||
'logout' => 'Abmelden'
|
'logout' => 'Abmelden'
|
||||||
],
|
],
|
||||||
'index' => [
|
'index' => [
|
||||||
@@ -160,9 +161,43 @@ return [
|
|||||||
'blog' => [
|
'blog' => [
|
||||||
'confirm_save' => 'Eintrag wirklich speichern?',
|
'confirm_save' => 'Eintrag wirklich speichern?',
|
||||||
'confirm_delete' => 'Eintrag wirklich löschen?',
|
'confirm_delete' => 'Eintrag wirklich löschen?',
|
||||||
|
'add_post' => 'Post hinzufügen',
|
||||||
|
'edit_delete_posts' => 'Posts ändern/löschen',
|
||||||
|
'published' => 'Veröffentlichen?',
|
||||||
|
'language' => 'Sprache',
|
||||||
|
'title' => 'Titel',
|
||||||
|
'content' => 'Inhalt',
|
||||||
|
'add' => 'Hinzufügen',
|
||||||
|
'save' => 'Speichern',
|
||||||
|
'delete' => 'Löschen',
|
||||||
|
'created_by' => 'Erstellt von',
|
||||||
|
'created_at' => 'Erstellt am',
|
||||||
|
'updated_at' => 'Verändert am',
|
||||||
|
'title_placeholder' => 'Titel eingeben...',
|
||||||
|
'content_placeholder' => 'Text/HTML eingeben...',
|
||||||
],
|
],
|
||||||
'ticker' => [
|
'ticker' => [
|
||||||
|
'title' => 'Ticker bearbeiten',
|
||||||
|
'description' => 'Hier kann der Ticker verändert werden.',
|
||||||
|
'active_messages' => 'Aktive Tickernachrichten:',
|
||||||
|
'delete_selected' => 'Ausgewählte Tickernachricht löschen',
|
||||||
|
'create_message' => 'Tickernachricht erstellen:',
|
||||||
|
'add' => 'Tickernachricht hinzufügen',
|
||||||
'delete_success' => 'Löschen erfolgreich!',
|
'delete_success' => 'Löschen erfolgreich!',
|
||||||
'insert_success' => 'Einfügen erfolgreich!',
|
'insert_success' => 'Einfügen erfolgreich!',
|
||||||
],
|
],
|
||||||
|
'events' => [
|
||||||
|
'description' => 'Hier können Sie Termine hinzufügen oder löschen.',
|
||||||
|
'add' => 'Termin hinzufügen',
|
||||||
|
'delete' => 'Termin löschen',
|
||||||
|
'active' => 'Termin aktiviert (sichtbar)',
|
||||||
|
'name' => 'Terminname',
|
||||||
|
'list' => 'Termine',
|
||||||
|
'setActivity' => 'Aktiv-Status ändern',
|
||||||
|
'shortname' => 'Namenscode',
|
||||||
|
'from_date_internal' => 'Fristanfang',
|
||||||
|
'to_date_internal' => 'Fristende',
|
||||||
|
'from_date_visible' => 'Terminstart',
|
||||||
|
'to_date_visible' => 'Terminende',
|
||||||
|
]
|
||||||
];
|
];
|
||||||
|
|||||||
+37
-2
@@ -7,6 +7,7 @@ return [
|
|||||||
'fediverse' => 'C3Gov on Fediverse',
|
'fediverse' => 'C3Gov on Fediverse',
|
||||||
'signed_in_as' => 'Signed in as:',
|
'signed_in_as' => 'Signed in as:',
|
||||||
'guest' => 'Guest account',
|
'guest' => 'Guest account',
|
||||||
|
'news_alt' => 'News',
|
||||||
'language' => [
|
'language' => [
|
||||||
'en' => 'English',
|
'en' => 'English',
|
||||||
'de' => 'Deutsch',
|
'de' => 'Deutsch',
|
||||||
@@ -22,6 +23,7 @@ return [
|
|||||||
'editTicker' => 'Edit ticker',
|
'editTicker' => 'Edit ticker',
|
||||||
'editNews' => 'Edit news',
|
'editNews' => 'Edit news',
|
||||||
'editApplications' => 'Edit applications',
|
'editApplications' => 'Edit applications',
|
||||||
|
'events' => 'C3Gov appointments',
|
||||||
'logout' => 'Logout'
|
'logout' => 'Logout'
|
||||||
],
|
],
|
||||||
'index' => [
|
'index' => [
|
||||||
@@ -53,7 +55,7 @@ return [
|
|||||||
'description' => 'Application for the replacement or reissuance of a hacker passport'
|
'description' => 'Application for the replacement or reissuance of a hacker passport'
|
||||||
],
|
],
|
||||||
'fb2k' => [
|
'fb2k' => [
|
||||||
'name' => 'Form 2k',
|
'name' => 'Form 2k (German only!)',
|
||||||
'description' => 'Antrag auf Ersatz- oder Zweitausstellungen eines Junghacker*innen-Reisepasses'
|
'description' => 'Antrag auf Ersatz- oder Zweitausstellungen eines Junghacker*innen-Reisepasses'
|
||||||
],
|
],
|
||||||
'fb3' => [
|
'fb3' => [
|
||||||
@@ -159,10 +161,43 @@ return [
|
|||||||
'blog' => [
|
'blog' => [
|
||||||
'confirm_save' => 'Do you really want to save this entry?',
|
'confirm_save' => 'Do you really want to save this entry?',
|
||||||
'confirm_delete' => 'Do you really want to delete this entry?',
|
'confirm_delete' => 'Do you really want to delete this entry?',
|
||||||
|
'add_post' => 'Add post',
|
||||||
|
'edit_delete_posts' => 'Change/delete posts',
|
||||||
|
'published' => 'Published?',
|
||||||
|
'language' => 'Language',
|
||||||
|
'title' => 'Title',
|
||||||
|
'content' => 'Content',
|
||||||
|
'add' => 'Add',
|
||||||
|
'save' => 'Save',
|
||||||
|
'delete' => 'Delete',
|
||||||
|
'created_by' => 'Created by',
|
||||||
|
'created_at' => 'Created at',
|
||||||
|
'updated_at' => 'Updated at',
|
||||||
|
'title_placeholder' => 'Enter title...',
|
||||||
|
'content_placeholder' => 'Enter text/HTML...',
|
||||||
],
|
],
|
||||||
'ticker' => [
|
'ticker' => [
|
||||||
|
'title' => 'Edit ticker',
|
||||||
|
'description' => 'Here the ticker can be modified.',
|
||||||
|
'active_messages' => 'Active ticker messages:',
|
||||||
|
'delete_selected' => 'Delete selected ticker message',
|
||||||
|
'create_message' => 'Create ticker message:',
|
||||||
|
'add' => 'Add ticker message',
|
||||||
'delete_success' => 'Deleted successfully!',
|
'delete_success' => 'Deleted successfully!',
|
||||||
'insert_success' => 'Inserted successfully!',
|
'insert_success' => 'Inserted successfully!',
|
||||||
],
|
],
|
||||||
'news_alt' => 'News',
|
'events' => [
|
||||||
|
'description' => 'Here you can add or delete appointments.',
|
||||||
|
'add' => 'Add appointment',
|
||||||
|
'delete' => 'Delete appointment',
|
||||||
|
'active' => 'Appointment active (visible)',
|
||||||
|
'name' => 'Name of appointment',
|
||||||
|
'list' => 'Appointments',
|
||||||
|
'setActivity' => 'Change activity status',
|
||||||
|
'shortname' => 'Shortcode',
|
||||||
|
'from_date_internal' => 'Start date for pre-applications',
|
||||||
|
'to_date_internal' => 'End date for pre-applications',
|
||||||
|
'from_date_visible' => 'Start date of appointment',
|
||||||
|
'to_date_visible' => 'End date of appointment',
|
||||||
|
]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -225,6 +225,11 @@ select {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.eingabemaske input[type=checkbox] {
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
.eingabemaske button {
|
.eingabemaske button {
|
||||||
padding: 1em;
|
padding: 1em;
|
||||||
border: 4px outset;
|
border: 4px outset;
|
||||||
|
|||||||
@@ -0,0 +1,87 @@
|
|||||||
|
function addEvent(){
|
||||||
|
let data = {};
|
||||||
|
data.name = $("#name").val();
|
||||||
|
data.shortname = $("#shortname").val();
|
||||||
|
data.from_date_internal = $("#from_date_internal").val();
|
||||||
|
data.to_date_internal = $("#to_date_internal").val();
|
||||||
|
data.from_date_visible = $("#from_date_visible").val();
|
||||||
|
data.to_date_visible = $("#to_date_visible").val();
|
||||||
|
data.active = $("#active").is(":checked") ? "1" : "0";
|
||||||
|
|
||||||
|
if(window.confirm(i18n.blog.confirm_save)) {
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '/intern/events/hinzufuegen',
|
||||||
|
data: data,
|
||||||
|
dataType: 'json',
|
||||||
|
success: function (r) {
|
||||||
|
if (r.messageStatus === "success") {
|
||||||
|
$('#name').val("");
|
||||||
|
$('#shortname').val("");
|
||||||
|
$('#from_date_internal').val("");
|
||||||
|
$('#to_date_internal').val("");
|
||||||
|
$('#from_date_visible').val("");
|
||||||
|
$('#to_date_visible').val("");
|
||||||
|
$('#active').prop('checked', false);
|
||||||
|
location.reload();
|
||||||
|
} else {
|
||||||
|
alert(r.errorMessage);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function (r, a, e) {
|
||||||
|
alert(i18n.common.error_occurred + e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function setActivity(id) {
|
||||||
|
let data = {};
|
||||||
|
data.id = id;
|
||||||
|
data.active = $("#active_" + id).is(":checked") ? "1" : "0";
|
||||||
|
|
||||||
|
if(window.confirm(i18n.blog.confirm_save)) {
|
||||||
|
$.ajax({
|
||||||
|
type: 'PATCH',
|
||||||
|
url: '/intern/events/setActivity',
|
||||||
|
data: data,
|
||||||
|
dataType: 'json',
|
||||||
|
success: function (r) {
|
||||||
|
if (r.messageStatus === "success") {
|
||||||
|
location.reload();
|
||||||
|
} else {
|
||||||
|
alert(r.errorMessage);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function (r, a, e) {
|
||||||
|
alert(i18n.common.error_occurred + e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function deleteEvent(id) {
|
||||||
|
let data = {};
|
||||||
|
data.id = id;
|
||||||
|
|
||||||
|
if(window.confirm(i18n.blog.confirm_delete)) {
|
||||||
|
$.ajax({
|
||||||
|
type: 'DELETE',
|
||||||
|
url: '/intern/events/loeschen',
|
||||||
|
data: data,
|
||||||
|
dataType: 'json',
|
||||||
|
success: function (r) {
|
||||||
|
if (r.messageStatus === "success") {
|
||||||
|
$('#delete_' + id).closest('#eingabemaske_' + id).fadeOut(300, function () {
|
||||||
|
$(this).remove();
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
alert(r.errorMessage);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function (r, a, e) {
|
||||||
|
alert(i18n.common.error_occurred + e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -17,54 +17,54 @@
|
|||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
|
|
||||||
<h2>Post hinzufügen</h2>
|
<h2>{{ __('app.blog.add_post') }}</h2>
|
||||||
<div class="blogEdit">
|
<div class="blogEdit">
|
||||||
Veröffentlichen? <input type="checkbox" id="blogPublished_new" checked><br /><br />
|
{{ __('app.blog.published') }} <input type="checkbox" id="blogPublished_new" checked><br /><br />
|
||||||
|
|
||||||
Sprache:
|
{{ __('app.blog.language') }}:
|
||||||
<select id="blogLanguage_new" name="language" autocomplete="off">
|
<select id="blogLanguage_new" name="language" autocomplete="off">
|
||||||
<option value="de">Deutsch</option>
|
<option value="de">{{ __('app.language.de') }}</option>
|
||||||
<option value="en">Englisch</option>
|
<option value="en">{{ __('app.language.en') }}</option>
|
||||||
</select><br /><br />
|
</select><br /><br />
|
||||||
|
|
||||||
<label for="blogTitle_new">Titel:<br />
|
<label for="blogTitle_new">{{ __('app.blog.title') }}:<br />
|
||||||
</label><input id="blogTitle_new" type="text" value="" placeholder="Titel eingeben...">
|
</label><input id="blogTitle_new" type="text" value="" placeholder="{{ __('app.blog.title_placeholder') }}">
|
||||||
<br /><br />
|
<br /><br />
|
||||||
|
|
||||||
<label for="blogBody_new">Inhalt:</label><br />
|
<label for="blogBody_new">{{ __('app.blog.content') }}:</label><br />
|
||||||
<textarea cols="64" rows="8" maxlength="2000" id="blogBody_new" placeholder="Text/HTML eingeben..."></textarea>
|
<textarea cols="64" rows="8" maxlength="2000" id="blogBody_new" placeholder="{{ __('app.blog.content_placeholder') }}"></textarea>
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
<button onclick="addBlog()" id="blogEdit_new">Hinzufügen</button><br /><br />
|
<button onclick="addBlog()" id="blogEdit_new">{{ __('app.blog.add') }}</button><br /><br />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h2>Posts ändern/löschen</h2>
|
<h2>{{ __('app.blog.edit_delete_posts') }}</h2>
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
@foreach($blogs as $blog)
|
@foreach($blogs as $blog)
|
||||||
<div class="blogEdit">
|
<div class="blogEdit">
|
||||||
<b>Erstellt von: {{$blog->byUser()->first()->name}} - Erstellt am: {{ $blog->created_at }} - Verändert am: {{ $blog->updated_at }}</b><br /><br />
|
<b>{{ __('app.blog.created_by') }}: {{$blog->byUser()->first()->name}} - {{ __('app.blog.created_at') }}: {{ $blog->created_at }} - {{ __('app.blog.updated_at') }}: {{ $blog->updated_at }}</b><br /><br />
|
||||||
|
|
||||||
Veröffentlicht: <input type="checkbox" id="blogPublished_{{$blog->id}}"{{ $blog->published ? " checked" : "" }}><br /><br />
|
{{ __('app.blog.published') }} <input type="checkbox" id="blogPublished_{{$blog->id}}"{{ $blog->published ? " checked" : "" }}><br /><br />
|
||||||
|
|
||||||
Sprache:
|
{{ __('app.blog.language') }}:
|
||||||
<select id="blogLanguage_{{ $blog->id }}" name="language" autocomplete="off">
|
<select id="blogLanguage_{{ $blog->id }}" name="language" autocomplete="off">
|
||||||
<option value="de"{{ ($blog->language == "de" ? " selected" : "") }}>Deutsch</option>
|
<option value="de"{{ ($blog->language == "de" ? " selected" : "") }}>{{ __('app.language.de') }}</option>
|
||||||
<option value="en"{{ ($blog->language == "en" ? " selected" : "") }}>Englisch</option>
|
<option value="en"{{ ($blog->language == "en" ? " selected" : "") }}>{{ __('app.language.en') }}</option>
|
||||||
</select><br /><br />
|
</select><br /><br />
|
||||||
|
|
||||||
<button onclick="deleteBlog({{ $blog->id }})" id="blogDelete_{{ $blog->id }}">Löschen</button><br /><br />
|
<button onclick="deleteBlog({{ $blog->id }})" id="blogDelete_{{ $blog->id }}">{{ __('app.blog.delete') }}</button><br /><br />
|
||||||
|
|
||||||
<label for="blogTitle_{{ $blog->id }}">Titel:<br />
|
<label for="blogTitle_{{ $blog->id }}">{{ __('app.blog.title') }}:<br />
|
||||||
</label><input id="blogTitle_{{ $blog->id }}" type="text" value="{{ $blog->title }}">
|
</label><input id="blogTitle_{{ $blog->id }}" type="text" value="{{ $blog->title }}">
|
||||||
<br /><br />
|
<br /><br />
|
||||||
|
|
||||||
<label for="blogBody_{{$blog->id}}">Inhalt:</label><br />
|
<label for="blogBody_{{$blog->id}}">{{ __('app.blog.content') }}:</label><br />
|
||||||
<textarea cols="64" rows="8" maxlength="2000" id="blogBody_{{$blog->id}}">{!! $blog->body !!}</textarea>
|
<textarea cols="64" rows="8" maxlength="2000" id="blogBody_{{$blog->id}}">{!! $blog->body !!}</textarea>
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
<button onclick="editBlog({{ $blog->id }})" id="blogEdit_{{ $blog->id }}">Speichern</button><br /><br />
|
<button onclick="editBlog({{ $blog->id }})" id="blogEdit_{{ $blog->id }}">{{ __('app.blog.save') }}</button><br /><br />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|||||||
@@ -0,0 +1,97 @@
|
|||||||
|
@extends('layout.app')
|
||||||
|
@section('scripts')
|
||||||
|
<script>
|
||||||
|
const i18n = {
|
||||||
|
common: {
|
||||||
|
error_occurred: "{{ __('app.common.error_occurred') }}"
|
||||||
|
},
|
||||||
|
blog: {
|
||||||
|
confirm_save: "{{ __('app.blog.confirm_save') }}",
|
||||||
|
confirm_delete: "{{ __('app.blog.confirm_delete') }}"
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<script src="{{ asset('js/events/events.js') }}"></script>
|
||||||
|
@endsection
|
||||||
|
@section('content')
|
||||||
|
<h1>{{ __('app.nav.events') }}</h1>
|
||||||
|
<p>{{ __('app.events.description') }}</p>
|
||||||
|
|
||||||
|
<h2>{{ __('app.events.add') }}</h2>
|
||||||
|
|
||||||
|
<div class="eingabemaske">
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td>{{ __('app.events.name') }}:</td>
|
||||||
|
<td><input type="text" id="name"></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{ __('app.events.shortname') }}:</td>
|
||||||
|
<td><input type="text" id="shortname"></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{ __('app.events.from_date_internal') }}:</td>
|
||||||
|
<td><input type="date" id="from_date_internal"></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{ __('app.events.to_date_internal') }}:</td>
|
||||||
|
<td><input type="date" id="to_date_internal"></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{ __('app.events.from_date_visible') }}:</td>
|
||||||
|
<td><input type="date" id="from_date_visible"></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{ __('app.events.to_date_visible') }}:</td>
|
||||||
|
<td><input type="date" id="to_date_visible"></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{ __('app.events.active') }}:</td>
|
||||||
|
<td><input type="checkbox" id="active" name="{{ __('app.events.active') }}"></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<button id="add" onclick="addEvent()">{{ __('app.events.add') }}</button>
|
||||||
|
</div>
|
||||||
|
<br /><br />
|
||||||
|
|
||||||
|
<h2>{{ __('app.events.list') }}</h2>
|
||||||
|
@foreach($events as $event)
|
||||||
|
<div id="eingabemaske_{{ $event->id }}" class="eingabemaske">
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td>{{ __('app.events.name') }}:</td>
|
||||||
|
<td>{{ $event->name }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{ __('app.events.shortname') }}:</td>
|
||||||
|
<td>{{ $event->shortname }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{ __('app.events.from_date_internal') }}:</td>
|
||||||
|
<td>{{ $event->from_date_internal->format('Y-m-d') }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{ __('app.events.to_date_internal') }}:</td>
|
||||||
|
<td>{{ $event->to_date_internal->format('Y-m-d') }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{ __('app.events.from_date_visible') }}:</td>
|
||||||
|
<td>{{ $event->from_date_visible->format('Y-m-d') }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{ __('app.events.to_date_visible') }}:</td>
|
||||||
|
<td>{{ $event->to_date_visible->format('Y-m-d') }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{ __('app.events.active') }}:</td>
|
||||||
|
<td><input type="checkbox" id="active_{{ $event->id }}" @if($event->active) checked @endif></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<button id="setActivity_{{ $event->id }}" onclick="setActivity({{ $event->id }})">{{ __('app.events.setActivity') }}</button>
|
||||||
|
<button id="delete_{{ $event->id }}" onclick="deleteEvent({{ $event->id }})">{{ __('app.events.delete') }}</button>
|
||||||
|
</div>
|
||||||
|
<br /><br />
|
||||||
|
@endforeach
|
||||||
|
|
||||||
|
{{ $events->links() }}
|
||||||
|
@endsection
|
||||||
@@ -49,6 +49,7 @@
|
|||||||
<li><a href="{{ route('editTicker') }}">{{ __('app.nav.editTicker') }}</a></li>
|
<li><a href="{{ route('editTicker') }}">{{ __('app.nav.editTicker') }}</a></li>
|
||||||
<li><a href="{{ route('editNews') }}">{{ __('app.nav.editNews') }}</a></li>
|
<li><a href="{{ route('editNews') }}">{{ __('app.nav.editNews') }}</a></li>
|
||||||
<li><a href="{{ route('editApplications') }}">{{ __('app.nav.editApplications') }}</a></li>
|
<li><a href="{{ route('editApplications') }}">{{ __('app.nav.editApplications') }}</a></li>
|
||||||
|
<li><a href="{{ route('editEvents') }}">{{ __('app.nav.events') }}</a></li>
|
||||||
<li><a href="{{ route('logout') }}">{{ __('app.nav.logout') }}</a></li>
|
<li><a href="{{ route('logout') }}">{{ __('app.nav.logout') }}</a></li>
|
||||||
@endauth
|
@endauth
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@@ -17,41 +17,41 @@
|
|||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<h1>Ticker bearbeiten</h1>
|
<h1>{{ __('app.ticker.title') }}</h1>
|
||||||
<div id="fehlermeldung">Hier kann der Ticker verändert werden.</div>
|
<div id="fehlermeldung">{{ __('app.ticker.description') }}</div>
|
||||||
<div class="split-left">
|
<div class="split-left">
|
||||||
<h2>Deutsch</h2>
|
<h2>{{ __('app.language.de') }}</h2>
|
||||||
<label for="ticker_de">Aktive Tickernachrichten:</label><br/><br/>
|
<label for="ticker_de">{{ __('app.ticker.active_messages') }}</label><br/><br/>
|
||||||
<select name="ticker_de" id="ticker_de" multiple>
|
<select name="ticker_de" id="ticker_de" multiple>
|
||||||
@foreach(TickerMessages::where('language', 'de')->orderBy('updated_at', 'desc')->get() as $tm)
|
@foreach(TickerMessages::where('language', 'de')->orderBy('updated_at', 'desc')->get() as $tm)
|
||||||
<option value="{{$tm->id}}">{{$tm->message}}</option>
|
<option value="{{$tm->id}}">{{$tm->message}}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
<br/><br/>
|
<br/><br/>
|
||||||
<button onclick="remove('de')">Ausgewählte Tickernachricht löschen</button>
|
<button onclick="remove('de')">{{ __('app.ticker.delete_selected') }}</button>
|
||||||
<br/><br/><br/>
|
<br/><br/><br/>
|
||||||
|
|
||||||
<label for="insert_de">Tickernachricht erstellen: </label><br/>
|
<label for="insert_de">{{ __('app.ticker.create_message') }} </label><br/>
|
||||||
<input size="32" type="text" id="insert_de">
|
<input size="32" type="text" id="insert_de">
|
||||||
<br/><br/>
|
<br/><br/>
|
||||||
<button onclick="insert('de')">Tickernachricht hinzufügen</button>
|
<button onclick="insert('de')">{{ __('app.ticker.add') }}</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="split-right">
|
<div class="split-right">
|
||||||
<h2>Englisch</h2>
|
<h2>{{ __('app.language.en') }}</h2>
|
||||||
<label for="ticker_en">Aktive Tickernachrichten:</label><br/><br/>
|
<label for="ticker_en">{{ __('app.ticker.active_messages') }}</label><br/><br/>
|
||||||
<select name="ticker_en" id="ticker_en" multiple>
|
<select name="ticker_en" id="ticker_en" multiple>
|
||||||
@foreach(TickerMessages::where('language', 'en')->orderBy('updated_at', 'desc')->get() as $tm)
|
@foreach(TickerMessages::where('language', 'en')->orderBy('updated_at', 'desc')->get() as $tm)
|
||||||
<option value="{{$tm->id}}">{{$tm->message}}</option>
|
<option value="{{$tm->id}}">{{$tm->message}}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
<br/><br/>
|
<br/><br/>
|
||||||
<button onclick="remove('en')">Ausgewählte Tickernachricht löschen</button>
|
<button onclick="remove('en')">{{ __('app.ticker.delete_selected') }}</button>
|
||||||
<br/><br/><br/>
|
<br/><br/><br/>
|
||||||
|
|
||||||
<label for="insert_de">Tickernachricht erstellen: </label><br/>
|
<label for="insert_de">{{ __('app.ticker.create_message') }} </label><br/>
|
||||||
<input size="32" type="text" id="insert_en">
|
<input size="32" type="text" id="insert_en">
|
||||||
<br/><br/>
|
<br/><br/>
|
||||||
<button onclick="insert('en')">Tickernachricht hinzufügen</button>
|
<button onclick="insert('en')">{{ __('app.ticker.add') }}</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@endsection
|
@endsection
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ use App\Http\Controllers\LoginController;
|
|||||||
use App\Http\Controllers\PreApplicationController;
|
use App\Http\Controllers\PreApplicationController;
|
||||||
use App\Http\Controllers\WebsiteController;
|
use App\Http\Controllers\WebsiteController;
|
||||||
use App\Http\Controllers\TickerController;
|
use App\Http\Controllers\TickerController;
|
||||||
|
use App\Http\Controllers\EventController;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
|
|
||||||
@@ -45,3 +46,8 @@ Route::get('/intern/antraege', [WebsiteController::class, 'editApplications'])->
|
|||||||
Route::post('/intern/antraege/hinzufuegen', [PreApplicationController::class, 'addApplication']);
|
Route::post('/intern/antraege/hinzufuegen', [PreApplicationController::class, 'addApplication']);
|
||||||
Route::delete('/intern/antraege/loeschen', [PreApplicationController::class, 'deleteApplication']);
|
Route::delete('/intern/antraege/loeschen', [PreApplicationController::class, 'deleteApplication']);
|
||||||
Route::put('/intern/antraege/bearbeiten', [PreApplicationController::class, 'editApplication']);
|
Route::put('/intern/antraege/bearbeiten', [PreApplicationController::class, 'editApplication']);
|
||||||
|
|
||||||
|
Route::get('/intern/events', [WebsiteController::class, 'editEvents'])->name('editEvents');
|
||||||
|
Route::post('/intern/events/hinzufuegen', [EventController::class, 'addEvent']);
|
||||||
|
Route::delete('/intern/events/loeschen', [EventController::class, 'deleteEvent']);
|
||||||
|
Route::patch('/intern/events/setActivity', [EventController::class, 'setActivity']);
|
||||||
|
|||||||
Reference in New Issue
Block a user