FEATURE: add overview to all static pages

This commit is contained in:
Michal Kváček
2016-01-27 20:13:57 +01:00
parent 8210eafad5
commit d9b678036a
4 changed files with 107 additions and 3 deletions
@@ -1,11 +1,22 @@
<?php
namespace Modules\StaticPages\Http\Controllers\Admin;
use App\Enumerations\ContentStatuses;
use App\Models\Content;
class StaticPageOverview extends Controller
{
public function getOverview()
public function getOverview($perPage = 20, $status = null)
{
return view('staticpages::admin.overview');
$model = new Content();
$pages = $model->getByType(config('staticpages.handler'), true);
// add filtering by status
if (!is_null($status) && in_array($status, ContentStatuses::getSimple())) {
$pages = $pages->where('status', $status);
}
$pages = $pages->paginate($perPage);
return view('staticpages::admin.overview', ['pages' => $pages]);
}
}
@@ -13,5 +13,11 @@ return [
'field_meta_description' => 'Page description',
'field_published_from' => 'Published from',
'field_published_to' => 'Published to',
'successfullyCreated' => 'Page successfully created'
'successfullyCreated' => 'Page successfully created',
'noPagesAvailable' => 'No static pages available. Try to create one first.',
'viewPage' => 'View page on web',
'edit' => 'Edit page',
'deletePage' => 'Delete page (ireversible!)',
'makePublic' => 'Publish page',
'makeDraft' => 'Disable page and make it draft'
];
@@ -4,4 +4,56 @@
<div class="row">
<h1>@lang('staticpages::admin.overview')</h1>
</div>
<div class="row" id="static-page-overview" data-equalizer>
@forelse($pages as $page)
<div class="columns large-3">
<div class="callout" data-equalizer-watch>
<div class="controls pull-right">
<button class="button tiny secondary" data-toggle="static-page-{{$page->id}}actions"><i class="fa fa-caret-down"></i></button>
<div class="dropdown-pane" id="static-page-{{$page->id}}actions" data-dropdown>
<div class="row text-center">
<a href="#" class="button secondary has-tip" data-tooltip aria-haspopup="true" title="@lang('staticpages::admin.viewPage')"><i class="fa fa-desktop"></i></a>
<a href="#" class="button success has-tip" data-tooltip aria-haspopup="true" title="@lang('staticpages::admin.edit')"><i class="fa fa-edit"></i></a>
@if($page->status == \App\Models\Content::STATUS_DRAFT)
<a href="#" class="button success has-tip" data-tooltip aria-haspopup="true" title="@lang('staticpages::admin.makePublic')"><i class="fa fa-eye"></i></a>
@endif
@if(in_array($page->status, [\App\Models\Content::STATUS_PROTECTED, \App\Models\Content::STATUS_PUBLIC]))
<a href="#" class="button warning has-tip" data-tooltip aria-haspopup="true" title="@lang('staticpages::admin.makeDraft')"><i class="fa fa-eye-slash"></i></a>
@endif
<a href="#" class="button alert confirm pull-right has-tip" data-tooltip aria-haspopup="true" title="@lang('staticpages::admin.deletePage')"><i class="fa fa-remove"></i></a>
</div>
</div>
</div>
<h3>{{$page->title}}</h3>
<span class="date">{{$page->created_at}}</span>
<span class="author">{{$page->author_name}}</span>
@if ($page->meta_description)
<p>{{str_limit($page->meta_description)}}</p>
@else
<p>{{str_limit(strip_tags($page->content))}}</p>
@endif
@if ($page->meta_keywords)
<p class="keywords">{{$page->meta_keywords}}</p>
@endif
</div>
</div>
@empty
<em>@lang('staticpages::admin.noPagesAvailable')</em>
@endforelse
</div>
<div class="row">
{{$pages->render()}}
</div>
@stop