FEATURE #1372: add feature for editing static pages.

User can edit static pages. The edit itself also stores history of changed columns.
This commit is contained in:
Michal Kváček
2016-01-28 15:51:41 +01:00
parent 1b2d7db8f3
commit 73ff4e9331
8 changed files with 341 additions and 5 deletions
@@ -0,0 +1,15 @@
@extends('admin.layout')
@section('pageName', @trans('staticpages::admin.edit', ['name' => $page->title]))
@section('content')
<div class="row">
<h2>@lang('staticpages::admin.edit', ['name' => $page->title])</h2>
</div>
<div class="row">
@include('staticpages::admin.editForm')
</div>
@stop
@@ -0,0 +1,162 @@
@if (session('success'))
<div data-alert class="callout success">
<strong>{{ session('success') }}</strong>
</div>
@endif
@if (session('error'))
<div data-alert class="callout alert">
<strong>{{ session('error') }}</strong>
</div>
@endif
<form method="POST" action="{{route('staticpage.editPost', ['id' => $page->id])}}">
{!! csrf_field() !!}
<ul class="tabs" data-tabs id="static-page-controls">
<li class="tabs-title is-active">
<a href="#basic-info" aria-selected="true">@lang('staticpages::admin.basicInfo')</a>
</li>
<li class="tabs-title">
<a href="#meta">@lang('staticpages::admin.metaOptions')</a>
</li>
<li class="tabs-title">
<a href="#publication">@lang('staticpages::admin.publicationOptions')</a>
</li>
</ul>
<div class="tabs-content" data-tabs-content="static-page-controls">
<div class="tabs-panel is-active" id="basic-info">
<div class="row">
<div class="columns large-6">
<label>
@lang('staticpages::admin.field_title')
<input type="text" name="title" placeholder="@lang('staticpages::admin.field_title')"
value="{{$page->title}}" />
</label>
</div>
<div class="columns large-6">
<label>
@lang('staticpages::admin.field_url')
<input type="text" name="url" placeholder="@lang('staticpages::admin.field_url')"
value="{{$page->url}}" />
@if (isset($errors) && $errors->has('url'))
<div class="callout alert">
{{ $errors->first('url') }}
</div>
@endif
</label>
</div>
</div>
<div class="row">
<div class="columns large-12">
<label>
<select name="status">
@foreach($contentStatuses as $status => $translation)
<option value="{{$status}}" @if($page->status == $status) selected @endif>
{{$translation}}
</option>
@endforeach
</select>
</label>
@if (isset($errors) && $errors->has('status'))
<div class="callout alert">
{{ $errors->first('status') }}
</div>
@endif
</div>
</div>
<div class="row">
<div class="columns large-12">
<label>
<textarea name="pageContent" id="pageContent" class="wysiwyg-editor">
{{$page->content}}
</textarea>
</label>
</div>
</div>
</div>
<div class="tabs-panel" id="publication">
<div class="row">
<div class="columns large-6">
<label>
@lang('staticpages::admin.field_published_from')
<input type="datetime" name="publishedFrom" value="{{$page->published_from}}"
placeholder="@lang('staticpages::admin.field_published_from')" />
@if (isset($errors) && $errors->has('published_from'))
<div class="callout alert">
{{ $errors->first('published_from') }}
</div>
@endif
</label>
</div>
<div class="columns large-6">
<label>
@lang('staticpages::admin.field_published_to')
<input type="datetime" name="publishedTo" value="{{$page->published_to}}"
placeholder="@lang('staticpages::admin.field_published_to')" />
@if (isset($errors) && $errors->has('published_to'))
<div class="callout alert">
{{ $errors->first('published_to') }}
</div>
@endif
</label>
</div>
</div>
</div>
<div class="tabs-panel" id="meta">
<div class="row">
<div class="columns large-12">
<label>
@lang('staticpages::admin.field_meta_keywords')
<input type="text" name="metaKeywords" value="{{$page->meta_keywords}}"
placeholder="@lang('staticpages::admin.field_meta_keywords')" />
</label>
</div>
</div>
<div class="row">
<div class="columns large-12">
<label>
@lang('staticpages::admin.field_meta_description')
<textarea name="metaDescription"
placeholder="@lang('staticpages::admin.field_meta_description')" rows="5">{{$page->meta_description}}</textarea>
</label>
</div>
</div>
</div>
</div>
<div class="row">
<div class="columns large-12">
<button type="submit" class="button success">@lang('staticpages::admin.edit', ['name' => $page->title])</button>
</div>
</div>
</form>
@section('head_stylesheets')
<link rel="stylesheet" href="{{asset('../resources/assets/js/vendor/trumbowyg/ui/trumbowyg.css')}}" />
@stop
@section('javascripts')
<script src="{{asset('../resources/assets/js/vendor/trumbowyg/trumbowyg.min.js')}}"></script>
<script type="application/javascript">
$('#pageContent').trumbowyg();
</script>
@stop