edit static pages in backend

This commit is contained in:
Arno Kaimbacher 2018-09-06 17:58:54 +02:00
parent e771c4921f
commit 783ac823ba
59 changed files with 1644 additions and 761 deletions

View file

@ -1,9 +1,13 @@
<?php
namespace App\Http\Controllers;
namespace App\Http\Controllers\Frontend;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\View\View;
use App\Exceptions\GeneralException;
use App\Models\Page;
class HomeController extends Controller
{
/**
@ -40,7 +44,7 @@ class HomeController extends Controller
// }
// }
return view('rdr.home.index');
return view('frontend.home.index');
}
/**
@ -50,7 +54,7 @@ class HomeController extends Controller
*/
public function contact(): View
{
return view('rdr.home.contact');
return view('frontend.home.contact');
}
/**
@ -60,7 +64,7 @@ class HomeController extends Controller
*/
public function imprint(): View
{
return view('rdr.home.imprint');
return view('frontend.home.imprint');
}
/**
@ -70,7 +74,7 @@ class HomeController extends Controller
*/
public function about(): View
{
return view('rdr.home.about');
return view('frontend.home.about');
}
/**
@ -80,6 +84,21 @@ class HomeController extends Controller
*/
public function news(): View
{
return view('rdr.home.news');
return view('frontend.home.news');
}
/**
* show page by $page_slug.
*/
public function showPage($slug)
{
// $result = $pages->findBySlug($slug);
if (!is_null(Page::query()->wherePage_slug($slug)->firstOrFail())) {
$result = Page::query()->wherePage_slug($slug)->firstOrFail();
return view('frontend.pages.index')
->withpage($result);
} else {
throw new GeneralException(trans('exceptions.backend.access.pages.not_found'));
}
}
}

View file

@ -1,13 +1,8 @@
<?php
namespace App\Http\Controllers\Frontend;
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Dataset;
use App\Book;
use App\Category;
use App\Shelf;
use App\Periode;
use App\Student;
use Illuminate\Http\Request;
use Illuminate\View\View;
@ -19,11 +14,11 @@ class PagesController extends Controller
// $this->middleware('auth');
}
public function documents() : View
public function datasets() : View
{
// $books = Book::with('category', 'shelf')->orderByTitle()->get();
$documents = Dataset::orderByType()->get();
return view('rdr.document.documents', compact('documents'));
return view('frontend.dataset.dataset', compact('documents'));
}
/**
@ -37,6 +32,6 @@ class PagesController extends Controller
$document = Dataset::findOrFail($id);
$document->load('titles');
$document->load('abstracts');
return view('rdr.document.show', compact('document'));
return view('frontend.dataset.show', compact('document'));
}
}

View file

@ -1,9 +1,9 @@
<?php
namespace App\Http\Controllers;
namespace App\Http\Controllers\Frontend;
use Illuminate\Support\Facades\DB;
use App\Http\Controllers\Controller;
use App\Dataset;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class SitelinkController extends Controller
{
@ -13,15 +13,15 @@ class SitelinkController extends Controller
//get server state published
$serverState = 'published';
$select = DB::table('documents')
->where('server_state', 'LIKE', "%".$serverState."%");
->where('server_state', 'LIKE', "%" . $serverState . "%");
$select
->select(DB::raw('YEAR(published_date) as published_date'))
->distinct(true);
->select(DB::raw('YEAR(published_date) as published_date'))
->distinct(true);
$this->years = $select->pluck('published_date');
$this->ids = array();
return view('rdr.sitelink.index')->with(['years'=> $this->years,'documents'=> $this->ids]);
return view('frontend.sitelink.index')->with(['years' => $this->years, 'documents' => $this->ids]);
}
public function list($year)
@ -32,14 +32,13 @@ class SitelinkController extends Controller
//$select = DB::table('documents')
//->where('server_state','LIKE', "%".$serverState."%");
$select = Dataset::with('titles', 'authors')
->where('server_state', 'LIKE', "%".$serverState."%");
->where('server_state', 'LIKE', "%" . $serverState . "%");
$from = (int)$year;
$until = $year + 1;
$until = $year + 1;
$select
->whereYear('server_date_published', '>=', $from)
->whereYear('server_date_published', '<', $until);
->whereYear('server_date_published', '>=', $from)
->whereYear('server_date_published', '<', $until);
$documents = $select
->get();
@ -51,11 +50,11 @@ class SitelinkController extends Controller
// return $item->year !== $year;
//});
//$select->select('id');
//$this->ids = $select->pluck('id');
//return view('rdr.sitelink.index')->with(['years'=> $this->years,'ids'=> $this->ids]);
return view('rdr.sitelink.index')->with(['years'=> $this->years,'documents'=> $documents]);
return view('frontend.sitelink.index')
->with(['years' => $this->years, 'documents' => $documents]);
}
}
}

View file

@ -316,7 +316,7 @@ class RequestController extends Controller
*/
private function _addLandingPageAttribute(\DOMNode $document, $dataid)
{
$url = route('document.show', $dataid);
$url = route('frontend.dataset.show', $dataid);
$owner = $document->ownerDocument;
$attr = $owner->createAttribute('landingpage');

View file

@ -6,17 +6,27 @@ use App\Models\Page;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Http\Requests\Pages\IndexPageRequest;
use App\Http\Requests\Pages\UpdatePageRequest;
use Illuminate\View\View;
use Illuminate\Http\RedirectResponse;
use App\Exceptions\GeneralException;
use App\Events\Pages\PageUpdated;
class PageController extends Controller
{
/**
* Associated Repository Model.
*/
const MODEL = Page::class;
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index(IndexPageRequest $request)
public function index(IndexPageRequest $request): View
{
return new view('settings.pages.index');
return view('settings.page.index');
}
/**
@ -59,19 +69,34 @@ class PageController extends Controller
*/
public function edit(Page $page)
{
//
return view('settings.page.edit')
->withPage($page);
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param @param \App\Http\Requests\Pages\UpdatePageRequest $request
* @param \App\Models\Page $page
* @return \Illuminate\Http\Response
*/
public function update(Request $request, Page $page)
public function update(UpdatePageRequest $request, Page $page) : RedirectResponse
{
//
// $this->pages->update($page, $request->except(['_method', '_token']));
$input = $request->except(['_method', '_token']);
// Making extra fields
$input['page_slug'] = str_slug($input['title']);
$input['status'] = isset($input['status']) ? 1 : 0;
$input['updated_by'] = \Auth::user()->id;
if ($page->update($input)) {
event(new PageUpdated($page));
return redirect()
->route('settings.page.index')
->with('flash_message', trans('alerts.backend.pages.updated'));
}
throw new GeneralException(trans('exceptions.backend.pages.update_error'));
}
/**
@ -84,4 +109,9 @@ class PageController extends Controller
{
//
}
public function query()
{
return call_user_func(static::MODEL.'::query');
}
}

View file

@ -0,0 +1,46 @@
<?php
namespace App\Http\Controllers\Settings;
use App\Models\Page;
use App\Http\Controllers\Controller;
// use App\Http\Requests\Backend\Pages\ManagePageRequest;
use App\Http\Requests\Pages\IndexPageRequest;
// use App\Repositories\Backend\Pages\PagesRepository;
use Yajra\DataTables\Facades\DataTables;
/**
* Class PagesTableController.
*/
class PagesTableController extends Controller
{
protected $pages;
public function __construct() //(PagesRepository $pages)
{
//$this->pages = factory(Page::class, 2)->make();
$this->pages = Page::get();
}
public function get()
{
$test = Datatables::of($this->pages)
->escapeColumns(['title'])
->addColumn('status', function ($page) {
return $page->status;
})
->addColumn('created_at', function ($page) {
return $page->created_at->toDateString();
})
->addColumn('created_by', function ($page) {
return $page->created_by;
})
->addColumn('actions', function ($page) {
return $page->action_buttons;
})
->make(true);
return $test;
}
}

View file

@ -1,25 +0,0 @@
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class StaticPageController extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
public function imprint()
{
////$books = Book::available()->orderByTitle()->lists('title', 'id');
//$persons = Person::active()->orderByName()->pluck('last_name', 'id');
////$categories = Category::lists('category', 'id');
//$categories = Project::get();
//return view('rdr.borrow.borrow', compact('persons', 'categories'));
}
}