Edit pages (static content)

This commit is contained in:
TorstenS 2020-09-30 22:30:25 +02:00
parent f5519f1563
commit f7d0eb2fc7
13 changed files with 235 additions and 53 deletions

View file

@ -3,6 +3,7 @@
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Page;
class AdminController extends Controller
{
@ -44,10 +45,40 @@ class AdminController extends Controller
return view('/home');
}
public function edit_start_page(Request $request) {
return view('admin.edit_start');
// HOME
public function edit_home(Request $request) {
$page=Page::where('name','home')->first();
return view('admin.edit_home')->with('content',$page->content);
}
public function edit_activity_page(Request $request) {
return view('admin.edit_activities');
public function store_home(Request $request) {
$request->validate(
[
'pagecontent' => 'required'
]
);
$page=Page::where('name','home')->first();
$page->content=$request->pagecontent;
$page->save();
return redirect('/');
}
// ACTIVITIES
public function edit_activities(Request $request) {
$page=Page::where('name','activities')->first();
$content=str_replace("<br/><br/>","\n\n", $page->content);
return view('admin.edit_activities')->with('content',$content);
}
public function store_activities(Request $request) {
$request->validate(
[
'pagecontent' => 'required'
]
);
$page=Page::where('name','activities')->first();
$page->content=str_replace("\n\n", "<br/><br/>", $request->pagecontent);
$page->save();
return redirect('/activities');
}
}

View file

@ -0,0 +1,99 @@
<?php
namespace App\Http\Controllers;
use App\Page;
use Illuminate\Http\Request;
class PageController 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\Page $page
* @return \Illuminate\Http\Response
*/
public function show(Page $page)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param \App\Page $page
* @return \Illuminate\Http\Response
*/
public function edit(Page $page)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Page $page
* @return \Illuminate\Http\Response
*/
public function update(Request $request, Page $page)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param \App\Page $page
* @return \Illuminate\Http\Response
*/
public function destroy(Page $page)
{
//
}
public function page_home() {
$page=Page::where('name','home')->first();
$content=$page->content;
return view('home')->with('content',$content);
}
public function page_activities() {
$page=Page::where('name','activities')->first();
$content=$page->content;
return view('activities')->with('content',$content);
}
}

10
motorradig/app/Page.php Normal file
View file

@ -0,0 +1,10 @@
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Page extends Model
{
//
}

View file

@ -0,0 +1,12 @@
<?php
/** @var \Illuminate\Database\Eloquent\Factory $factory */
use App\Page;
use Faker\Generator as Faker;
$factory->define(Page::class, function (Faker $faker) {
return [
//
];
});

View file

@ -54,5 +54,44 @@ class DatabaseSeeder extends Seeder
'role' => 'GUEST',
'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.'
]);
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>&nbsp;</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>&nbsp;</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>&nbsp;</p>'
.'<h5>Hast Du jetzt immer noch eine positive Einstellung zu dieser Idee? Dann nichts wie hin.'
.'Stammtisch Düsseldorf: </h5>'
.'<p>&nbsp;</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>&nbsp;</p><h5>Da Antonio befindet sich direkt neben der Kirche.'
.'Parkmöglichkeiten sind im Umkreis um den Italiener genügend vorhanden.'
]);
}
}

View file

@ -0,0 +1,16 @@
<?php
use Illuminate\Database\Seeder;
class PageSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
//
}
}

View file

@ -14,34 +14,8 @@
<!-- class="fas fa-plus">--> <!-- Font Awesome Demo-->
<h5>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>&nbsp;</p>
<h5>{!! $content !!}</h5>
<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>&nbsp;</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>&nbsp;</p>
<h5>Hast Du jetzt immer noch eine positive Einstellung zu dieser Idee? Dann nichts wie hin.
Stammtisch Düsseldorf: </h5>
<p>&nbsp;</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>
</h5>
<p>&nbsp;</p><h5>Da Antonio befindet sich direkt neben der Kirche.
Parkmöglichkeiten sind im Umkreis um den Italiener genügend vorhanden.</h5>
</div>
</div>

View file

@ -10,7 +10,7 @@
<div class="card-body">
<form style="background-color: #fff;" class="text-dark" method="post" action="/admin/store_tourplan" enctype="multipart/form-data">
<form style="background-color: #fff;" class="text-dark" method="post" action="/admin/store_activities" enctype="multipart/form-data">
@csrf
@ -18,8 +18,8 @@
<div class="form-group" style="display:flex;">
<input type="file" class="mt-3 mr-2 form-control" id="tourplan" style="font-size:20px;" name="tourplan" value="" >
<textarea class="col-10" name="pagecontent" rows="20" cols="50">{{ $content }}
</textarea>
</div>

View file

@ -5,25 +5,19 @@
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card mt-4">
<div class="card-header">Tourenplan hochladen</div>
<div class="card-header">Startseite bearbeiten</div>
<div class="card-body">
<form style="background-color: #fff;" class="text-dark" method="post" action="/admin/store_tourplan" enctype="multipart/form-data">
<form style="background-color: #fff;" class="text-dark" method="post" action="/admin/store_home" enctype="multipart/form-data">
@csrf
<div class="form-group" style="display:flex;">
<input type="file" class="mt-3 mr-2 form-control" id="tourplan" style="font-size:20px;" name="tourplan" value="" >
<textarea class="col-10" name="pagecontent" rows="20" cols="50">{{ $content }}
</textarea>
</div>
@if(Auth::user()->role=="ADMIN")
<button type="submit" class="btn btn-danger col-2 mb-2 float-right mr-2">Hochladen</button>
@endif

View file

@ -18,15 +18,11 @@
</div>
@endif
<span>
<h4>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.</h4>
<h4>{!! $content !!} </h4>
</span>
</div>
</div>

View file

@ -96,8 +96,8 @@
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="{{ route('logout') }}">Seite: Startseite bearbeiten</a>
<a class="dropdown-item" href="{{ route('logout') }}">Seite: Aktivitäten bearbeiten</a>
<a class="dropdown-item" href="/admin/edit_home">Seite: Startseite bearbeiten</a>
<a class="dropdown-item" href="/admin/edit_activities">Seite: Aktivitäten bearbeiten</a>
<a class="dropdown-item" href="/admin/upload_tourplan">Tourenplan(pdf) hochladen</a>
<a class="dropdown-item" href="/admin/upload_mitgliedsantrag">Mitgliedsantrag(pdf) hochladen</a>

View file

@ -13,11 +13,19 @@ use Illuminate\Support\Facades\Route;
|
*/
/*
Route::get('/', function () {
return view('home');
});
Route::get('/activities', function () { return view('activities'); });
Route::get('/test', 'PageController@page_home');
* */
Route::get('/', 'PageController@page_home')->name('home');
Route::post('/admin/store_home','AdminController@store_home');
Route::get('/activities', 'PageController@page_activities');
Route::get('/become_member', function () { return view('users.become_member'); });
Route::get('/meetings', function () { return view('meetings'); });
Route::get('/tourplan', function () { return view('tourplan'); });
@ -32,6 +40,9 @@ Route::post('/admin/store_tourplan','AdminController@store_tourplan');
Route::get('/admin/upload_mitgliedsantrag', 'AdminController@upload_mitgliedsantrag');
Route::post('/admin/store_mitgliedsantrag','AdminController@store_mitgliedsantrag');
Route::get('/admin/edit_home', 'AdminController@edit_home');
Route::get('/admin/edit_activities', 'AdminController@edit_activities');
Route::post('/admin/store_activities', 'AdminController@store_activities');
Auth::routes();