Merge branch 'dev' into module_contact_form
This commit is contained in:
@@ -4,6 +4,7 @@ namespace App\Http\Controllers\Admin;
|
|||||||
use App\Enumerations\ContentStatuses;
|
use App\Enumerations\ContentStatuses;
|
||||||
use App\Enumerations\ModulesHandlerToId;
|
use App\Enumerations\ModulesHandlerToId;
|
||||||
use App\Http\Requests\EditContentRequest;
|
use App\Http\Requests\EditContentRequest;
|
||||||
|
use App\Http\Requests\Request;
|
||||||
use App\Models\Content;
|
use App\Models\Content;
|
||||||
use App\Models\ContentHistory;
|
use App\Models\ContentHistory;
|
||||||
use App\Models\File;
|
use App\Models\File;
|
||||||
@@ -59,7 +60,7 @@ class EditContent extends Controller
|
|||||||
'rootPages' => $page->rootPages(),
|
'rootPages' => $page->rootPages(),
|
||||||
'templates' => $templates,
|
'templates' => $templates,
|
||||||
'formSectionNames' => call_user_func([$page->module_handler, 'getExtendedFormSections']),
|
'formSectionNames' => call_user_func([$page->module_handler, 'getExtendedFormSections']),
|
||||||
'formSections' => call_user_func([$page->module_handler, 'getExtendedFormInputsCreate']),
|
'formSections' => call_user_func([$page->module_handler, 'getExtendedFormInputsEdit']),
|
||||||
'historySize' => count($history['changesets'])
|
'historySize' => count($history['changesets'])
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
@@ -111,7 +112,8 @@ class EditContent extends Controller
|
|||||||
];
|
];
|
||||||
|
|
||||||
// save new values with history
|
// save new values with history
|
||||||
list($revision, $changedColumns) = $page->updateWithHistory($fields, $this->getFields($request, $fields));
|
$data = self::getFields($request, $fields);
|
||||||
|
list($revision, $changedColumns) = $page->updateWithHistory($fields, $data);
|
||||||
|
|
||||||
$changedColumns += call_user_func_array([$page->module_handler, 'edit'], [&$page, $request, $revision]);
|
$changedColumns += call_user_func_array([$page->module_handler, 'edit'], [&$page, $request, $revision]);
|
||||||
|
|
||||||
@@ -275,7 +277,15 @@ class EditContent extends Controller
|
|||||||
]));
|
]));
|
||||||
}
|
}
|
||||||
|
|
||||||
private function getFields(EditContentRequest $request, $fields)
|
/**
|
||||||
|
* Convert object of all request data into array of only wanted fields
|
||||||
|
*
|
||||||
|
* @param Request $request
|
||||||
|
* @param $fields
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public static function getFields(Request $request, $fields)
|
||||||
{
|
{
|
||||||
$requestData = [];
|
$requestData = [];
|
||||||
|
|
||||||
|
|||||||
+35
-7
@@ -14,10 +14,13 @@ class Content extends Model
|
|||||||
public $timestamps = true;
|
public $timestamps = true;
|
||||||
protected $fillable = [
|
protected $fillable = [
|
||||||
'user_id',
|
'user_id',
|
||||||
|
'parent_id',
|
||||||
'module_handler',
|
'module_handler',
|
||||||
'published_from',
|
'published_from',
|
||||||
'published_to',
|
'published_to',
|
||||||
'title_photo',
|
'title_photo',
|
||||||
|
'template',
|
||||||
|
'is_homepage',
|
||||||
'title',
|
'title',
|
||||||
'url',
|
'url',
|
||||||
'meta_keywords',
|
'meta_keywords',
|
||||||
@@ -152,15 +155,31 @@ class Content extends Model
|
|||||||
|
|
||||||
foreach ($fields as $fieldDB => $fieldRequest) {
|
foreach ($fields as $fieldDB => $fieldRequest) {
|
||||||
// ignore non-existing fields
|
// ignore non-existing fields
|
||||||
if ((!isset($this->$fieldDB) && !is_null($this->$fieldDB)) || (!isset($request[$fieldRequest]) && !is_null($request[$fieldRequest]))) {
|
if (!isset($request[$fieldRequest]) && !is_null($request[$fieldRequest])) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// remove any whitespaces around real content
|
// if module settings is still JSON, decode it to normal stdClass
|
||||||
if (!is_null($request[$fieldRequest]))
|
if (is_string($this->module_settings)) {
|
||||||
$request[$fieldRequest] = trim($request[$fieldRequest]);
|
$this->module_settings = json_decode($this->module_settings);
|
||||||
|
}
|
||||||
|
|
||||||
if (trim($this->$fieldDB) != $request[$fieldRequest]) {
|
// are we editing common settings, or module-specific settings?
|
||||||
|
if (!in_array($fieldDB, $this->fillable)) {
|
||||||
|
// this field is not part of "core" content - probably it will be module settings
|
||||||
|
$commonField = false;
|
||||||
|
$fieldValue = $this->module_settings->$fieldDB;
|
||||||
|
} else {
|
||||||
|
$commonField = true;
|
||||||
|
$fieldValue = $this->$fieldDB;
|
||||||
|
}
|
||||||
|
|
||||||
|
// remove any whitespaces around real content
|
||||||
|
if (!is_null($request[$fieldRequest])) {
|
||||||
|
$request[$fieldRequest] = trim($request[$fieldRequest]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (trim($fieldValue) != $request[$fieldRequest]) {
|
||||||
|
|
||||||
// setup history object
|
// setup history object
|
||||||
$history = [
|
$history = [
|
||||||
@@ -168,7 +187,7 @@ class Content extends Model
|
|||||||
'content_id' => $this->id,
|
'content_id' => $this->id,
|
||||||
'edit_batch' => $revisionId,
|
'edit_batch' => $revisionId,
|
||||||
'column' => $fieldRequest,
|
'column' => $fieldRequest,
|
||||||
'old_value' => $this->$fieldDB,
|
'old_value' => $fieldValue,
|
||||||
'new_value' => $request[$fieldRequest]
|
'new_value' => $request[$fieldRequest]
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -176,12 +195,21 @@ class Content extends Model
|
|||||||
ContentHistory::create($history);
|
ContentHistory::create($history);
|
||||||
|
|
||||||
// save change into database
|
// save change into database
|
||||||
$this->$fieldDB = $request[$fieldRequest];
|
if ($commonField) {
|
||||||
|
$this->$fieldDB = $request[$fieldRequest];
|
||||||
|
} else {
|
||||||
|
$this->module_settings->$fieldDB = $request[$fieldRequest];
|
||||||
|
}
|
||||||
|
|
||||||
$changed++;
|
$changed++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// make JSON from stdClass
|
||||||
|
if (!is_string($this->module_settings)) {
|
||||||
|
$this->module_settings = json_encode($this->module_settings);
|
||||||
|
}
|
||||||
|
|
||||||
$this->save();
|
$this->save();
|
||||||
|
|
||||||
return [$revisionId, $changed];
|
return [$revisionId, $changed];
|
||||||
|
|||||||
@@ -78,6 +78,14 @@
|
|||||||
</div>
|
</div>
|
||||||
<div id="content">
|
<div id="content">
|
||||||
<div class="row column text-center m-t-25">
|
<div class="row column text-center m-t-25">
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
@yield('content')
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
|
||||||
<h2 id="assortment">Náš sortiment</h2>
|
<h2 id="assortment">Náš sortiment</h2>
|
||||||
<hr>
|
<hr>
|
||||||
<p class="text-center">
|
<p class="text-center">
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
@extendVisitor('layout')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
{!! $page->content !!}
|
||||||
|
|
||||||
|
<h3>Subpages</h3>
|
||||||
|
@forelse($page->subpages() as $subpage)
|
||||||
|
<h3>{{$subpage->title}}</h3>
|
||||||
|
|
||||||
|
<p>{{$subpage->meta_description}}</p>
|
||||||
|
@empty
|
||||||
|
<em>None :(</em>
|
||||||
|
@endforelse
|
||||||
|
|
||||||
|
@endsection
|
||||||
Reference in New Issue
Block a user