From ce030a40d4a3cd9ac64fe39d345e5668af8c238a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Kv=C3=A1=C4=8Dek?= Date: Sat, 2 Apr 2016 19:11:46 +0200 Subject: [PATCH 1/4] FEATURE: cache results for Content::subpages() --- app/Models/Content.php | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/app/Models/Content.php b/app/Models/Content.php index ee83c568..300d1eec 100644 --- a/app/Models/Content.php +++ b/app/Models/Content.php @@ -30,6 +30,8 @@ class Content extends Model 'status' ]; protected $guarded = []; + protected $subpages = []; + protected $subpagesInit = false; const STATUS_DELETED = 'deleted'; const STATUS_DRAFT = 'draft'; const STATUS_PROTECTED = 'protected'; @@ -76,9 +78,14 @@ class Content extends Model */ public function subpages() { - return $this->getPageQuery() - ->where('parent_id', $this->id) - ->get(); + if (!$this->subpagesInit) { + $this->subpages = $this->getPageQuery() + ->where('parent_id', $this->id) + ->get(); + $this->subpagesInit = true; + } + + return $this->subpages; } /** From f11c67317348d5a236f31cc2851ec94a1c260bd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Kv=C3=A1=C4=8Dek?= Date: Sat, 2 Apr 2016 19:13:13 +0200 Subject: [PATCH 2/4] FIX: fix widget saving - cast array to object when needed --- app/Models/Widget.php | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/app/Models/Widget.php b/app/Models/Widget.php index c4349426..1f6a607d 100644 --- a/app/Models/Widget.php +++ b/app/Models/Widget.php @@ -10,9 +10,7 @@ use Illuminate\Support\Facades\Event; */ class Widget extends Model { - public $timestamps = true; - protected $fillable = [ 'widget_type_handler', 'user_id', @@ -20,18 +18,24 @@ class Widget extends Model 'settings', 'description' ]; - protected $guarded = []; /** * Create new widget of given type - * + * * @param WidgetType $widgetType * @param $data * * @return Widget */ - public function createNew(WidgetType $widgetType, $data) { + public function createNew(WidgetType $widgetType, $data) + { + + // convert array or whatever into object + if (!is_object($data)) { + $data = (object)$data; + } + // create new widget $widget = new Widget(); $widget->widget_type_handler = $widgetType->handler; @@ -53,6 +57,4 @@ class Widget extends Model return $widget; } - - } \ No newline at end of file From a0ec4fc02f5a2288d7704a6469ade4fc25467322 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Kv=C3=A1=C4=8Dek?= Date: Sat, 2 Apr 2016 19:14:48 +0200 Subject: [PATCH 3/4] FIX: do not forget old values when creating slider --- resources/views/admin/widgets/orbitSlider/form.blade.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/views/admin/widgets/orbitSlider/form.blade.php b/resources/views/admin/widgets/orbitSlider/form.blade.php index 93d16d5a..5a61f197 100644 --- a/resources/views/admin/widgets/orbitSlider/form.blade.php +++ b/resources/views/admin/widgets/orbitSlider/form.blade.php @@ -31,7 +31,7 @@ @lang('widgets/orbitSlider.description') + value="{{old('description', $widget->description)}}" /> @if (isset($errors) && $errors->has('description'))
@@ -76,7 +76,7 @@ @lang('widgets/orbitSlider.containerClass') + value="{{old('containerClass', $settings->sliderClass)}}" /> @if (isset($errors) && $errors->has('containerClass'))
@@ -101,7 +101,7 @@