anpassungen layout

This commit is contained in:
TLRZ Seyfferth 2017-09-15 12:41:49 +02:00
parent e03fb43c27
commit 188e05658d
6 changed files with 138 additions and 103 deletions

View File

@ -46,11 +46,11 @@ class VeranstaltungController extends Controller
$v = new Veranstaltung(); $v = new Veranstaltung();
$v->name = $input['name']; $v->name = $input['name'];
$v->gaeste = (int)$input['gaeste']; $v->gaeste = (int)$input['gaeste'];
$v->beginn = new \Carbon\Carbon($input['beginn']); $v->beginn = new \Carbon\Carbon($input['beginn_datum']."T".$input['beginn_zeit']);
if ($input['ende']) { if ($input['ende_datum'] && $input['ende_zeit']) {
$v->ende = new \Carbon\Carbon($input['ende']); $v->ende = new \Carbon\Carbon($input['ende_datum']."T".$input['ende_zeit']);
} }
$v->ort_id = $input['ort']; $v->ort_id = (int)$input['ort'];
$v->hinweise = $input['hinweise'] ?: ""; $v->hinweise = $input['hinweise'] ?: "";
if ($v->save()) { if ($v->save()) {
@ -95,22 +95,22 @@ class VeranstaltungController extends Controller
*/ */
public function update(Request $request, Veranstaltung $veranstaltung) public function update(Request $request, Veranstaltung $veranstaltung)
{ {
if (!$request->isMethod('put')) {
return response()->json($veranstaltung);
}
if ($request->isMethod('put')) {
$i = $request->input(); $i = $request->input();
$veranstaltung->gaeste = $i['gaeste']; $veranstaltung->gaeste = $i['gaeste'];
$veranstaltung->name = $i['name']; $veranstaltung->name = $i['name'];
if ($i['hinweise']){
$veranstaltung->hinweise = $i['hinweise']; $veranstaltung->hinweise = $i['hinweise'];
}
$veranstaltung->beginn = new \Carbon\Carbon($i['beginn']); $veranstaltung->beginn = new \Carbon\Carbon($i['beginn']);
$veranstaltung->ende = $i['ende'] ? new \Carbon\Carbon($i['ende']) : null; $veranstaltung->ende = $i['ende'] ? new \Carbon\Carbon($i['ende']) : null;
$veranstaltung->ort_id = $i['ort']; $veranstaltung->ort_id = $i['ort'];
if($veranstaltung->save()){ if($veranstaltung->save()){
return redirect()->route('veranstaltung.show', [$veranstaltung]); return redirect()->route('veranstaltung.show', [$veranstaltung]);
} }
}
return response()->json($veranstaltung);
} }
/** /**
@ -136,4 +136,5 @@ class VeranstaltungController extends Controller
} }
return response()->json($eintragung); return response()->json($eintragung);
} }
} }

View File

@ -4,7 +4,7 @@
@section('content') @section('content')
<a class="btn btn-link" href="{{ route('benutzer.create') }}">Benutzer hinzufügen</a> <a class="btn btn-link" href="{{ route('benutzer.create') }}">Benutzer hinzufügen</a>
<table class="table-hover table"> <table class="highlight">
<thead> <thead>
<tr> <tr>
<th class="text-center">Name</th> <th class="text-center">Name</th>
@ -21,8 +21,8 @@
TODO TODO
</td> </td>
<td class="row"> <td class="row">
<a class="btn btn-link my-0 py-0" href="{{ route('benutzer.edit', [$b]) }}">Bearbeiten</a> <a class="btn-link my-0 py-0" href="{{ route('benutzer.edit', [$b]) }}">Bearbeiten</a>
<a class="btn btn-link my-0 py-0" data-toggle="modal" href="#confirmDeletionModal" data-token="{{csrf_token()}}" data-url="{{route('benutzer.destroy', $b)}}" data-identifier="{{$b->anzeigename}}">Löschen</button> <a class="btn-link my-0 py-0" data-toggle="modal" href="#confirmDeletionModal" data-token="{{csrf_token()}}" data-url="{{route('benutzer.destroy', $b)}}" data-identifier="{{$b->anzeigename}}">Löschen</button>
</td> </td>
</tr> </tr>
@endforeach @endforeach

View File

@ -3,6 +3,6 @@
@section('content') @section('content')
<div class="row"> <div class="row">
<h2 class="display-2">Dashboard</h2> <h2>Dashboard</h2>
</div> </div>
@endsection @endsection

View File

@ -4,33 +4,37 @@
@section('content') @section('content')
<form method="POST" action="{{ route('veranstaltung.store') }}"> <form method="POST" action="{{ route('veranstaltung.store') }}">
<div class="row"> <div class="row">
<div class="form-group col-md-8"> <div class="col s12 m8 input-field">
<label class="col-form-label" for="name">Veranstaltungsname</label> <label for="name">Veranstaltungsname</label>
<input type="text" name="name" class="form-control" id="title" aria-describedby="nameHelp" placeholder="Veranstaltungsnamen eingeben" value="{{ $name or "" }}" required> <input type="text" name="name" id="title" aria-describedby="nameHelp" placeholder="Veranstaltungsnamen eingeben" value="{{ $name or "" }}" required>
<small id="nameHelp" class="form-text text-muted">Die Bezeichnung der Veranstaltung, welcher in der Übersicht angezeigt wird.</small> <small id="nameHelp" class="form-text text-muted">Die Bezeichnung der Veranstaltung, welcher in der Übersicht angezeigt wird.</small>
</div> </div>
<div class="form-group col-md-4"> <div class="col s12 m4 input-field">
<label class="col-form-label" for="gaeste">Anzahl der Gäste</label> <label for="gaeste" class="active">Anzahl der Gäste</label>
<input type="number" name="gaeste" class="form-control" id="gaeste" aria-describedby="gaesteHelp" placeholder="Gastanzahl eingeben" value="{{ $gaeste ?: 100 }}"> <p class="range-field">
<input type="range" name="gaeste" id="gaeste" aria-describedby="gaesteHelp" placeholder="Gastanzahl eingeben" value="{{ $gaeste ?: 100 }}" min="0" max="2000">
</p>
<small id="gaesteHelp" class="form-text text-muted">Die ungefähre Anzahl an Gästen zur Veranstaltung</small> <small id="gaesteHelp" class="form-text text-muted">Die ungefähre Anzahl an Gästen zur Veranstaltung</small>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="form-group col-md-6"> <div class="col s12 m6 input-field">
<label class="col-form-label" for="beginn">Veranstaltungsbeginn</label> <label for="beginn_datum" class="active">Veranstaltungsbeginn</label>
<input type="datetime-local" name="beginn" class="form-control" id="beginn" aria-describedby="beginnHelp" placeholder="Veranstaltungsbeginn eingeben" value="{{ \Carbon\Carbon::parse($beginn)->format('Y-m-d\TH:i:s') }}" required> <input type="text" name="beginn_datum" class="datepicker" id="beginn_datum" aria-describedby="beginnHelp" data-value="{{ \Carbon\Carbon::parse($beginn)->format('Y-m-d') }}" required>
<input type="text" name="beginn_zeit" class="timepicker" id="beginn_zeit" aria-describedby="beginnHelp" data-value="{{ \Carbon\Carbon::parse($beginn)->format('H:i:s') }}" required>
<small id="beginnHelp" class="form-text text-muted">Der Zeitpunkt, an dem die Veranstaltung beginnt.</small> <small id="beginnHelp" class="form-text text-muted">Der Zeitpunkt, an dem die Veranstaltung beginnt.</small>
</div> </div>
<div class="form-group col-md-6"> <div class="col s12 m6 input-field">
<label class="col-form-label" for="ende">Veranstaltungsende</label> <label for="ende_datum" class="active">Veranstaltungsende</label>
<input type="datetime-local" name="ende" class="form-control" id="ende" aria-describedby="endeHelp" placeholder="Veranstaltungende eingeben" value="{{ !empty($ende) ? $ende : "" }}"> <input type="text" name="ende_datum" class="datepicker" id="ende_datum" aria-describedby="endeHelp" value="{{ !empty($ende) ? \Carbon\Carbon::parse($ende)->format('Y-m-d') : "" }}" >
<input type="text" name="ende_zeit" class="timepicker" id="ende_zeit" aria-describedby="endeHelp" value="{{ !empty($ende) ? \Carbon\Carbon::parse($ende)->format('H:i:s') : "" }}" >
<small id="beginnHelp" class="form-text text-muted">Der Zeitpunkt, an dem die Veranstaltung wahrscheinlich endet. (optional)</small> <small id="beginnHelp" class="form-text text-muted">Der Zeitpunkt, an dem die Veranstaltung wahrscheinlich endet. (optional)</small>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="form-group col-md-12"> <div class="col s12 m12 input-field">
<label class="col-form-label" for="Hinweise">Hinweise</label> <label for="Hinweise">Hinweise</label>
<textarea class="form-control" name="hinweise" id="hinweise" aria-describedby="hinweiseHelp" rows="3"> <textarea name="hinweise" id="hinweise" aria-describedby="hinweiseHelp" rows="3" data-length="200" class="materialize-textarea">
{{ $hinweise or ""}} {{ $hinweise or ""}}
</textarea> </textarea>
<small id="hinweiseHelp" class="form-text text-muted">Hinweise zur Veranstalung</small> <small id="hinweiseHelp" class="form-text text-muted">Hinweise zur Veranstalung</small>
@ -38,13 +42,13 @@
</div> </div>
<div class="row"> <div class="row">
<div class="col m6 input-field"> <div class="col m6 input-field">
<label for="ort">Ort</label> <label for="ort" class="active" >Ort</label>
{!! Form::select('ort', App\Ort::pluck('name','id'), null,[ 'id' => 'ort', 'aria-describedby' => "ortHelp"]) !!} {!! Form::select('ort', App\Ort::pluck('name','id'), null,[ 'id' => 'ort', 'aria-describedby' => "ortHelp", 'placeholder' => "Bitte einen Ort wählen"]) !!}
<small id="ortHelp" class="form-text text-muted">Ort der Veranstaltung</small> <small id="ortHelp" class="form-text text-muted">Ort der Veranstaltung</small>
</div> </div>
</div> </div>
<input type="hidden" name="_token" value="{{ csrf_token() }}"> <input type="hidden" name="_token" value="{{ csrf_token() }}">
<button type="submit" class="btn btn-primary">Submit</button> <button type="submit" class="btn waves-effect"><i class="material-icons right">send</i> Erstellen</button>
</form> </form>
@endsection @endsection
@ -52,6 +56,39 @@
<script> <script>
$(document).ready(function(){ $(document).ready(function(){
$('select').material_select(); $('select').material_select();
Materialize.updateTextFields();
});
$('.datepicker').pickadate({
selectYears: true,
today: "Heute",
clear: "leeren",
close: "OK",
closeOnSelect: true,
firstWeekday: 1,
hiddenName: true,
format: "d. mmmm, yyyy",
formatSubmit: "yyyy-m-d",
monthsFull: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'],
monthsShort: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],
weekdaysFull: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'],
weekdaysShort: ["So","Mo","Di","Mi","Do","Fr","Sa"],
});
$('.timepicker').pickatime({
cleartext: "leeren",
format: "h:i",
formatSubmit: "HH:i:s",
interval: 5,
hiddenName: true,
default: 'now',
fromnow: 0,
twelvehour: false,
donetext: "OK",
canceltext: "Abbrechen",
autoclose: true
}); });
</script> </script>
@endpush @endpush

View File

@ -3,31 +3,31 @@
@section('content') @section('content')
<table class="highlight"> <table class="highlight">
<thead> <thead class="centered">
<tr> <tr>
<th class="centered">Name</th> <th>Name</th>
<th class="centered">Datum</th> <th>Datum</th>
<th class="centered">Zeit</th> <th>Zeit</th>
<th class="centered">Eingetragen</th> <th>Eingetragen</th>
<th></th> <th></th>
</tr> </tr>
</thead> </thead>
@foreach ($veranstaltungen as $v) @foreach ($veranstaltungen as $v)
<tr > <tr>
<td>{{ $v->name }}</td> <td>{{ $v->name }}</td>
<td>{{ $v->beginn->format('d.m.Y') }}</td> <td>{{ $v->beginn->format('d.m.Y') }}</td>
<td>{{ $v->beginn->format('H:i') }}</td> <td>{{ $v->beginn->format('H:i') }}</td>
<td class="centered"> <td class="center">
@if(!$v->ist_eingetragen) @if(!$v->ist_eingetragen)
<a class="btn-flat waves-effect waves-green" href="{{ route('veranstaltung.enter', [$v]) }}">Eintragen</a> <a href="{{ route('veranstaltung.enter', [$v]) }}">Eintragen</a>
@else @else
<span class="green-text tooltipped" title="Du bist schon eingetragen"><i class="material-icons">check</i></span> <span class="green-text tooltipped" data-tooltip="Du bist schon eingetragen"><i class="material-icons">check</i></span>
@endif @endif
</td> </td>
<td class="row"> <td class="row">
<a class="btn-flat waves-effect" href="{{ route('veranstaltung.show', [$v]) }}">Details</a> <a class="tooltipped" data-tooltip="Details anzeigen" href="{{ route('veranstaltung.show', [$v]) }}"><i class="material-icons">open_in_browser</i></a>
<a class="btn-flat waves-effect" href="{{ route('veranstaltung.edit', [$v]) }}">Bearbeiten</a> <a class="tooltipped" data-tooltip="Veranstaltung bearbeiten" href="{{ route('veranstaltung.edit', [$v]) }}"><i class="material-icons">edit</i></a>
<a class="btn-flat waves-effect wave-red red-text modal-trigger" href="#confirmDeletionModal" data-url="{{route('veranstaltung.destroy', $v)}}" data-identifier="{{$v->name}}"><i class="material-icons">delete</i></button> <a class="red-text modal-trigger tooltipped" data-tooltip="Veranstaltung löschen" href="#confirmDeletionModal" data-url="{{route('veranstaltung.destroy', $v)}}" data-identifier="{{$v->name}}"><i class="material-icons">delete</i></button>
</td> </td>
</tr> </tr>
@endforeach @endforeach

View File

@ -2,54 +2,51 @@
@section('title', 'Neue Veranstaltung') @section('title', 'Neue Veranstaltung')
@section('content') @section('content')
<h2>{{ $name }}</h2> <div class="row">
<hr/> <div class="card sticky-action">
<dl class="row"> <div class="card-image waves-effect waves-light waves-block">
<dt class="col-md-2"> <img class="activator" src="http://www.theater-erfurt.de/pictures/36-10112.jpg"></img>
Datum <span class="card-title activator">{{ $name }}</span>
</dt> </div>
<dd class="col-md-10">
{{ (new Carbon\Carbon($beginn))->formatLocalized("%A, %d. %B %Y")}} <div class="card-content">
</dd> <span class="card-title activator">{{ (new Carbon\Carbon($beginn))->formatLocalized("%a, %d. %B %Y") }}<i class="material-icons right">more_vert</i></span>
<dt class="col-md-2"> <br/>
Uhrzeit <span>{{ App\Ort::find($ort_id)->name }}, {{ (new Carbon\Carbon($beginn))->format("H:i") }} - {{ $ende ? (new Carbon\Carbon($ende))->format("H:i") : "Open End" }} </span>
</dt> <br/>
<dd class="col-md-10"> <span>{{ $gaeste }} Gäste</span>
{{ (new Carbon\Carbon($beginn))->format("H:i") }} - <div class="divider"></div>
{{ $ende ? (new Carbon\Carbon($ende))->format("H:i") : "Open End" }} <span>Hinweise: {{ $hinweise }}</span>
</dd> </div>
<dt class="col-md-2"> <div class="card-reveal">
Veranstaltungsort <span class="card-title grey-text text-darken-4">Weitere Informationen<i class="material-icons right">close</i></span>
</dt> <ul class="tabs">
<dd class="col-md-10"> <li class="tab"><a href="#eintragungen">Eintragungen</a></li>
{{ App\Ort::find($ort_id)->name }} <li class="tab"><a href="#einteilungen">Einteilungen</a></li>
</dd> </ul>
<dt class="col-md-2"> <div id="eintragungen">
Gäste
</dt>
<dd class="col-md-10">
{{ $gaeste }}
</dd>
<dt class="col-md-2">
Hinweise
</dt>
<dd class="col-md-10">
{{ $hinweise }}
</dd>
<dt class="col-md-2">
Eintragungen
</dt>
<dd class="col-md-10">
<ul> <ul>
@forelse ($eintragungen as $eintragung) @forelse ($eintragungen as $eintragung)
<li> {{ $eintragung['user']['name'] }} <li> {{ $eintragung['user']['name'] }} </li>
@empty @empty
<p>Keine Eintragungen bisher</p> <p>Keine Eintragungen bisher</p>
@endforelse @endforelse
</ul> </ul>
</dd> </div>
</dl> <div id="einteilungen">
<hr/> <ul>
<a class="btn btn-link" href="{{ route('veranstaltung.edit', ['id' => $id]) }}">Bearbeiten</a> @forelse ($einteilungen as $einteilung)
<a class="btn btn-link" href="{{ route('veranstaltung.index') }}">Zurück zur Liste</a> <li> {{ $einteilung['user']['name'] }} </li>
@empty
<p>Keine Einteilungen bisher</p>
@endforelse
</ul>
</div>
</div>
<div class="card-action">
<a href="{{ route('veranstaltung.edit', ['id' => $id]) }}">Bearbeiten</a>
<a href="{{ route('veranstaltung.index') }}">Zurück zur Liste</a>
</div>
</div>
</div>
@endsection @endsection