FIX: fix content edit

This commit is contained in:
Michal Kváček
2017-02-10 02:49:14 +01:00
parent 3748d00c2f
commit 66e78aff6a
6 changed files with 10 additions and 60 deletions
-3
View File
@@ -23,9 +23,6 @@ class PageRenderer
*/
public static function render(Content $page)
{
// decode module settings
$page->moduleSettings = json_decode($page->moduleSettings);
// do something template-specific
$parameters = call_user_func_array([CurrentTemplate::handler(), 'beforeRender'], [&$page]);
+1 -9
View File
@@ -90,17 +90,9 @@ class Content extends Repository implements IContent
*/
public function getByURL($url)
{
$page = $this->getPageQuery()
return $this->getPageQuery()
->where('url', $url)
->first();
if (is_null($page)) {
return null;
}
$page->moduleSettings = json_decode($page->moduleSettings);
return $page;
}
/**
@@ -142,23 +142,4 @@ class EditContent extends Controller
->route('content.overview')
->with('success', trans('admin/contents.successfullyEdited'));
}
/**
* Convert object of all request data into array of only wanted fields
*
* @param $request
* @param $fields
*
* @return array
*/
public static function getFields($request, $fields)
{
$requestData = [];
foreach ($fields as $field) {
$requestData[$field] = $request->$field;
}
return $requestData;
}
}
+5 -23
View File
@@ -5,7 +5,6 @@ use App\CMS\Contracts\Content\AdvancedContentModifier;
use App\CMS\Contracts\Content\ContentTitles;
use App\CMS\Enumerations\ModulesHandlerToId;
use App\CMS\Handlers\Handler;
use App\Http\Controllers\Admin\Contents\EditContent;
use App\Http\Requests\Request;
use App\Models\Content\Content;
use App\Models\User;
@@ -23,7 +22,7 @@ class ContactForm extends Handler implements ContentTitles, AdvancedContentModif
* @param Content $content
* @param array $inputData
*
* @return mixed
* @return mixed|void
*/
public static function createNew(Content &$content, array $inputData)
{
@@ -48,31 +47,14 @@ class ContactForm extends Handler implements ContentTitles, AdvancedContentModif
* Reason why it is separated from createNew() method is simple - we need to save history of changes.
*
* @param Content $content
* @param Request $request
* @param $request
*
* @param $revisionID string ID of revision used
*
* @return int number of edited fields
* @return mixed|void
*/
public static function edit(Content $content, $request)
{
$fields = [
'phone' => 'phone',
'email' => 'email',
'contactEmail' => 'contactEmail',
'companyName' => 'companyName',
'address' => 'address',
'gpsLat' => 'gpsLat',
'gpsLng' => 'gpsLng',
'subject' => 'subject'
];
// get data and try to save them
$data = EditContent::getFields($request, $fields);
list($revision, $changedColumns) = $content->updateWithHistory($fields, $data);
// return amount of changed columns
return $changedColumns;
self::createNew($content, $request);
$content->save();
}
public static function getModuleId()
@@ -24,19 +24,17 @@ class CreateNewMessage extends Controller
$form = Content::where('moduleHandler', config('contactform.handler'))
->findOrFail($formId);
$form->moduleSettings = json_decode($form->moduleSettings);
// select template
$template = isset($form->moduleSettings->emailTemplate) ? $form->moduleSettings->emailTemplate : 'contactform::emails.default';
$template = isset($form->moduleSettings['emailTemplate']) ? $form->moduleSettings['emailTemplate'] : 'contactform::emails.default';
// send email
$status = Mail::send(Template::name($template), ['data' => $request], function (Message $message) use ($request, $form) {
$message->from($request->email, $request->name);
// get message subject
$subject = isset($form->moduleSettings->subject) ? $form->moduleSettings->subject : trans('contactform::admin/contents.defaultSubject');
$subject = isset($form->moduleSettings['subject']) ? $form->moduleSettings['subject'] : trans('contactform::admin/contents.defaultSubject');
$message->to($form->moduleSettings->email)
$message->to($form->moduleSettings['email'])
->subject($subject);
});
@@ -115,7 +115,7 @@
</li>
@else
<li>
<a href="{{route('page.content', ['id' => $page->id])}}" target="_blank"
<a href="{{route('page.content', ['url' => $page->url])}}" target="_blank"
data-toggle="tooltip" title="@lang('admin/contents.viewPage')"
class="button tiny secondary"><i class="fa fa-globe"></i>
</a>