Skip to content

Commit

Permalink
Update FormItem.php
Browse files Browse the repository at this point in the history
Описание бага:
В конструктор произвольного элемента формы не передаются параметры, в следствие чего произвольные элементы формы не получают никаких данных из модели
Пример:
...->form(function ()
{
    FormItem::approval('approved_at', 'Approved At')->default(time());
});

Попытка получить данные из класса данного элемента:
use SleepingOwl\Admin\Models\Form\FormItem\Timestamp;

class Approval extends Timestamp{
    public function render()
    {
        $instance = Admin::instance()->formBuilder->getModel();

        if((new \DateTime($instance->approved_at)) < (new \DateTime('2000-10-01')))
                 return 'closed';
        return parent::render(); // Вернется некорректный html-код. Атрибуты $this->name, $this->label равны NULL, т.к. в конструктор они не передались.
    }
}

Данный фикс исправляет эту проблему
  • Loading branch information
pikaso443 committed Aug 30, 2015
1 parent 2518651 commit 1c2964f
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion src/SleepingOwl/Admin/Models/Form/FormItem.php
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ public static function __callStatic($method, $params)
} else
{
$formItem = App::make($handler);
$formItem->__construct(Arr::get($params, 0, null), Arr::get($params, 1, ''));
}
} else
{
Expand Down Expand Up @@ -91,4 +92,4 @@ protected static function getHandler($method)
return Arr::get(static::$handlers, $method, null);
}

}
}

0 comments on commit 1c2964f

Please sign in to comment.