Tour.index (list of tours)
This commit is contained in:
parent
f7d0eb2fc7
commit
b205aedb5d
13 changed files with 320 additions and 46 deletions
11
motorradig/app/Booking.php
Normal file
11
motorradig/app/Booking.php
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<?php
|
||||
|
||||
namespace App;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Booking extends Model
|
||||
{
|
||||
public $timestamps=true;
|
||||
protected $fillable=['tour_id','user_id','created_at','updated_at'];
|
||||
}
|
||||
85
motorradig/app/Http/Controllers/BookingController.php
Normal file
85
motorradig/app/Http/Controllers/BookingController.php
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Booking;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class BookingController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param \App\Booking $booking
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show(Booking $booking)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param \App\Booking $booking
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit(Booking $booking)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \App\Booking $booking
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, Booking $booking)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param \App\Booking $booking
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy(Booking $booking)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
|
|
@ -17,7 +17,8 @@ class TourController extends Controller
|
|||
*/
|
||||
public function index()
|
||||
{
|
||||
//
|
||||
$tours=Tour::all();
|
||||
return view('tour.index')->with('tours',$tours);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
12
motorradig/database/factories/BookingFactory.php
Normal file
12
motorradig/database/factories/BookingFactory.php
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<?php
|
||||
|
||||
/** @var \Illuminate\Database\Eloquent\Factory $factory */
|
||||
|
||||
use App\Booking;
|
||||
use Faker\Generator as Faker;
|
||||
|
||||
$factory->define(Booking::class, function (Faker $faker) {
|
||||
return [
|
||||
//
|
||||
];
|
||||
});
|
||||
|
|
@ -15,6 +15,11 @@ class CreateToursTable extends Migration
|
|||
{
|
||||
Schema::create('tours', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('name');
|
||||
$table->text('beschreibung');
|
||||
$table->string('user_id');
|
||||
$table->string('status');
|
||||
$table->date('start')->nullable();
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
|
@ -26,6 +31,6 @@ class CreateToursTable extends Migration
|
|||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('tours');
|
||||
Schema::dropIfExists('tour');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,33 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class CreateBookingsTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('bookings', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->integer('tour_id');
|
||||
$table->integer('user_id');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('bookings');
|
||||
}
|
||||
}
|
||||
50
motorradig/database/seeds/BookingSeeder.php
Normal file
50
motorradig/database/seeds/BookingSeeder.php
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
class BookingSeeder extends Seeder
|
||||
{
|
||||
/**
|
||||
* Run the database seeds.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function run()
|
||||
{
|
||||
DB::table('bookings')->insert([
|
||||
'user_id' => 1,
|
||||
'tour_id' => 1
|
||||
]);
|
||||
DB::table('bookings')->insert([
|
||||
'user_id' => 2,
|
||||
'tour_id' => 1
|
||||
]);
|
||||
DB::table('bookings')->insert([
|
||||
'user_id' => 3,
|
||||
'tour_id' => 1
|
||||
]);
|
||||
DB::table('bookings')->insert([
|
||||
'user_id' => 4,
|
||||
'tour_id' => 2
|
||||
]);DB::table('bookings')->insert([
|
||||
'user_id' => 5,
|
||||
'tour_id' => 2
|
||||
]);
|
||||
DB::table('bookings')->insert([
|
||||
'user_id' => 2,
|
||||
'tour_id' => 3
|
||||
]);
|
||||
DB::table('bookings')->insert([
|
||||
'user_id' => 3,
|
||||
'tour_id' => 3
|
||||
]);
|
||||
DB::table('bookings')->insert([
|
||||
'user_id' => 4,
|
||||
'tour_id' => 3
|
||||
]);
|
||||
DB::table('bookings')->insert([
|
||||
'user_id' => 6,
|
||||
'tour_id' => 3
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
@ -55,43 +55,11 @@ class DatabaseSeeder extends Seeder
|
|||
'password' => Hash::make('12345678'),
|
||||
]);
|
||||
|
||||
|
||||
DB::table('pages')->insert([
|
||||
'name' => 'home',
|
||||
'content' => 'Das alte Problem: Die Sonne scheint und Dein Motorrad ruft, '
|
||||
.'doch alle Deine Freunde sind plötzlich verhindert oder haben keine Zeit. '
|
||||
.'Hier wollen wir Abhilfe schaffen. Unser Ziel: Kontaktvermittlung unter '
|
||||
.'Motorradfahrer/innen für gemeinsame Touren. Auf diesen Seiten erfährst '
|
||||
.'Du alles Wissenswerte über uns, unser Angebot für unsere Mitglieder sowie sonstige Aktivitäten.'
|
||||
$this->call([
|
||||
PageSeeder::class,
|
||||
TourSeeder::class,
|
||||
BookingSeeder::class
|
||||
]);
|
||||
|
||||
|
||||
DB::table('pages')->insert([
|
||||
'name' => 'activities',
|
||||
'content' => 'Selber anrufen und angerufen werden. '
|
||||
.'Einmal im Jahr erhältst Du eine Liste aller IG-Mitglieder inkl. Telefonnummern.'
|
||||
.'Die Erscheinungstermine unserer Mitgliederliste + News sind natürlich auf die Motorrad-Saison'
|
||||
.'abgestimmt, ca: März, Juni und September (Saisonstart, -mitte, -ende). Für Eure (Urlaubs) Planung und'
|
||||
.'damit der Winter nicht zu lange wird, halten wir in der November- Dezember-Ausgabe schon den'
|
||||
.'Tourenkalender für das nächste Jahr für Euch bereit.'
|
||||
.'<p> </p>'
|
||||
.'<h5>Zusätzlich eröffnet Dir die Liste die Möglichkeit zur'
|
||||
.'Teilnahme an einem regelmäßigen Stammtisch, gemeinsame Ausfahrten an Wochenenden, einer'
|
||||
.'Urlaubsbörse sowie Saisonauftakt- und Jahrestreffen. Eigeninitiative ist hierbei erwünscht.</h5>'
|
||||
.'<p> </p>'
|
||||
.'<h5>Da leider auch diese Art der Adressenvermittlung nicht ganz ohne Kostenaufwand geht,'
|
||||
.'müssen wir einmal jährlich einen Selbstkostenbeitrag in Höhe von 20,- EUR erheben.'
|
||||
.'Diese Kosten entstehen durch Werbung, Porto, Erfassungsmaterialien etc..</h5>'
|
||||
.'<p> </p>'
|
||||
.'<h5>Hast Du jetzt immer noch eine positive Einstellung zu dieser Idee? Dann nichts wie hin.'
|
||||
.'Stammtisch Düsseldorf: </h5>'
|
||||
.'<p> </p>'
|
||||
.'<h5>Wir treffen uns jeden 2. Mittwoch im Monat ab ca. 19 Uhr in der'
|
||||
.'Trattoria and Bar Antonio, Roßstr. 87, 40476 Düsseldorf-Derendorf, Tel.: 0211/43637525.'
|
||||
.'Stadtplan und Anfahrt mit öffentlichen Verkehrsmitteln findet ihr unter:<br/>'
|
||||
.'<a href="#">http://???/</a>'
|
||||
.'<p> </p><h5>Da Antonio befindet sich direkt neben der Kirche.'
|
||||
.'Parkmöglichkeiten sind im Umkreis um den Italiener genügend vorhanden.'
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,6 +11,42 @@ class PageSeeder extends Seeder
|
|||
*/
|
||||
public function run()
|
||||
{
|
||||
//
|
||||
DB::table('pages')->insert([
|
||||
'name' => 'home',
|
||||
'content' => 'Das alte Problem: Die Sonne scheint und Dein Motorrad ruft, '
|
||||
.'doch alle Deine Freunde sind plötzlich verhindert oder haben keine Zeit. '
|
||||
.'Hier wollen wir Abhilfe schaffen. Unser Ziel: Kontaktvermittlung unter '
|
||||
.'Motorradfahrer/innen für gemeinsame Touren. Auf diesen Seiten erfährst '
|
||||
.'Du alles Wissenswerte über uns, unser Angebot für unsere Mitglieder sowie sonstige Aktivitäten.'
|
||||
]);
|
||||
|
||||
|
||||
DB::table('pages')->insert([
|
||||
'name' => 'activities',
|
||||
'content' => 'Selber anrufen und angerufen werden. '
|
||||
.'Einmal im Jahr erhältst Du eine Liste aller IG-Mitglieder inkl. Telefonnummern.'
|
||||
.'Die Erscheinungstermine unserer Mitgliederliste + News sind natürlich auf die Motorrad-Saison'
|
||||
.'abgestimmt, ca: März, Juni und September (Saisonstart, -mitte, -ende). Für Eure (Urlaubs) Planung und'
|
||||
.'damit der Winter nicht zu lange wird, halten wir in der November- Dezember-Ausgabe schon den'
|
||||
.'Tourenkalender für das nächste Jahr für Euch bereit.'
|
||||
.'<p> </p>'
|
||||
.'<h5>Zusätzlich eröffnet Dir die Liste die Möglichkeit zur'
|
||||
.'Teilnahme an einem regelmäßigen Stammtisch, gemeinsame Ausfahrten an Wochenenden, einer'
|
||||
.'Urlaubsbörse sowie Saisonauftakt- und Jahrestreffen. Eigeninitiative ist hierbei erwünscht.</h5>'
|
||||
.'<p> </p>'
|
||||
.'<h5>Da leider auch diese Art der Adressenvermittlung nicht ganz ohne Kostenaufwand geht,'
|
||||
.'müssen wir einmal jährlich einen Selbstkostenbeitrag in Höhe von 20,- EUR erheben.'
|
||||
.'Diese Kosten entstehen durch Werbung, Porto, Erfassungsmaterialien etc..</h5>'
|
||||
.'<p> </p>'
|
||||
.'<h5>Hast Du jetzt immer noch eine positive Einstellung zu dieser Idee? Dann nichts wie hin.'
|
||||
.'Stammtisch Düsseldorf: </h5>'
|
||||
.'<p> </p>'
|
||||
.'<h5>Wir treffen uns jeden 2. Mittwoch im Monat ab ca. 19 Uhr in der'
|
||||
.'Trattoria and Bar Antonio, Roßstr. 87, 40476 Düsseldorf-Derendorf, Tel.: 0211/43637525.'
|
||||
.'Stadtplan und Anfahrt mit öffentlichen Verkehrsmitteln findet ihr unter:<br/>'
|
||||
.'<a href="#">http://???/</a>'
|
||||
.'<p> </p><h5>Da Antonio befindet sich direkt neben der Kirche.'
|
||||
.'Parkmöglichkeiten sind im Umkreis um den Italiener genügend vorhanden.'
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Database\Seeder;
|
||||
use Carbon\Carbon;
|
||||
|
||||
class TourSeeder extends Seeder
|
||||
{
|
||||
|
|
@ -11,6 +12,31 @@ class TourSeeder extends Seeder
|
|||
*/
|
||||
public function run()
|
||||
{
|
||||
//
|
||||
}
|
||||
DB::table('tours')->insert([
|
||||
'name' => 'Eifeltour1',
|
||||
'user_id' => 3,
|
||||
'start' => Carbon::parse('2020-11-11'),
|
||||
'status' => 'FINDET STATT',
|
||||
'beschreibung' => 'Hier kann ein sehr langer Text stehen.'
|
||||
]);
|
||||
|
||||
DB::table('tours')->insert([
|
||||
'name' => 'Powertrip am Nürburgring',
|
||||
'user_id' => 2,
|
||||
'beschreibung' => 'Hier kann ein sehr langer Text stehen.',
|
||||
'start' => Carbon::parse('2020-12-01'),
|
||||
'status' => 'FINDET STATT',
|
||||
]);
|
||||
|
||||
DB::table('tours')->insert([
|
||||
'name' => 'Gemütliche Anfängertour am Unterbacher See',
|
||||
'user_id' => 1,
|
||||
'beschreibung' => 'Hier kann ein wirklich sehr langer Text stehen. <p> </p> Es sind auch mehrere Abschnitte möglich.',
|
||||
'start' => Carbon::parse('2020-12-15'),
|
||||
'status' => 'GECANCELT',
|
||||
]);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@
|
|||
<a class="nav-link {{ Request::is('member') ? 'active' : '' }}" href="/member">Mitgliederliste</a>
|
||||
</li>
|
||||
<li class="nav-item" style="font-size:1.5rem">
|
||||
<a class="nav-link {{ Request::is('tourplan') ? 'active' : '' }}" href="/tourplan">Tourenplan</a>
|
||||
<a class="nav-link {{ Request::is('tour') ? 'active' : '' }}" href="/tour">Tourenplan</a>
|
||||
</li>
|
||||
@endif
|
||||
@endauth
|
||||
|
|
|
|||
46
motorradig/resources/views/tour/index.blade.php
Normal file
46
motorradig/resources/views/tour/index.blade.php
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<div class="container text-center text-light mt-5">
|
||||
<h1 class="text-center">Tourenplan</h1>
|
||||
<a href="/pdf/tourenplan.pdf" class="text-center text-light">Download</a>
|
||||
|
||||
|
||||
<div class="container text-primary">
|
||||
.<ul class="list-group offset-2 col-8">
|
||||
@foreach($tours as $tour)
|
||||
<li class="list-group-item d-flex justify-content-between align-items-center">
|
||||
{{ $tour->start }} - {{ $tour->name }} [?/?]
|
||||
|
||||
<span class="badge {{ $tour->status=="FINDET STATT" ? "badge-success" : "badge-danger" }} badge-pill">{{ $tour->status }}</span>
|
||||
</li>
|
||||
@endforeach
|
||||
|
||||
<!--
|
||||
<li class="list-group-item d-flex justify-content-between align-items-center">
|
||||
11.11.2020 - Eifeltour mit Dirk [10/10]
|
||||
<span class="badge badge-success badge-pill">FINDET STATT</span>
|
||||
</li>
|
||||
<li class="list-group-item d-flex justify-content-between align-items-center">
|
||||
01.12.2020 - Nürburgring mit Ross [8/10]
|
||||
<span class="badge badge-success badge-pill">FINDET STATT</span>
|
||||
</li>
|
||||
<li class="list-group-item d-flex justify-content-between align-items-center">
|
||||
15.12.2020 - Unterbacher See mit Torsten [1/10]
|
||||
<span class="badge badge-danger badge-pill">GECANCELT</span>
|
||||
</li>
|
||||
-->
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
@if(Auth::user()->role=="ADMIN" or Auth::user()->rolde=="MEMBER")
|
||||
<div class="container text-primary">
|
||||
<button type="submit" class="btn btn-danger col-2 mt-2 ">Neue Tour anlegen</button>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
</div>
|
||||
@endsection
|
||||
|
|
@ -22,7 +22,8 @@ Route::get('/test', 'PageController@page_home');
|
|||
|
||||
* */
|
||||
|
||||
Route::get('/', 'PageController@page_home')->name('home');
|
||||
Route::get('/', 'PageController@page_home');
|
||||
Route::get('/home', 'PageController@page_home')->name('home');
|
||||
Route::post('/admin/store_home','AdminController@store_home');
|
||||
Route::get('/activities', 'PageController@page_activities');
|
||||
|
||||
|
|
@ -30,8 +31,6 @@ Route::get('/become_member', function () { return view('users.become_member');
|
|||
Route::get('/meetings', function () { return view('meetings'); });
|
||||
Route::get('/tourplan', function () { return view('tourplan'); });
|
||||
|
||||
//Route::get('/memberlist','UserController@index');
|
||||
//Route::get('/member/{user_id}','UserController@show');
|
||||
Route::resource('/member',UserController::class);
|
||||
|
||||
Route::get('/admin/upload_tourplan', 'AdminController@upload_tourplan');
|
||||
|
|
@ -44,6 +43,8 @@ Route::get('/admin/edit_home', 'AdminController@edit_home');
|
|||
Route::get('/admin/edit_activities', 'AdminController@edit_activities');
|
||||
Route::post('/admin/store_activities', 'AdminController@store_activities');
|
||||
|
||||
Route::resource('/tour', TourController::class);
|
||||
|
||||
Auth::routes();
|
||||
|
||||
Route::get('/home', 'HomeController@index')->name('home');
|
||||
//Route::get('/home', 'HomeController@index')->name('home');
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue