Commit 2aa8fc71 by Alexander Makarov

Optimized #1959 code a bit

parent cbb39d19
...@@ -27,6 +27,7 @@ Yii Framework 2 Change Log ...@@ -27,6 +27,7 @@ Yii Framework 2 Change Log
- Bug #1827: Debugger toolbar is loaded twice if an action is calling `run()` to execute another action (qiangxue) - Bug #1827: Debugger toolbar is loaded twice if an action is calling `run()` to execute another action (qiangxue)
- Bug #1870: Validation errors weren't properly translated when using clientside validation (samdark) - Bug #1870: Validation errors weren't properly translated when using clientside validation (samdark)
- Bug #1937: Fixed wrong behavior or advanced app's `init --env` when called without parameter actually specified (samdark) - Bug #1937: Fixed wrong behavior or advanced app's `init --env` when called without parameter actually specified (samdark)
- Bug #1959: `Html::activeCheckbox` wasn't respecting custom values for checked/unckecked state (klevron, samdark)
- Bug #1965: `Controller::findLayoutFile()` returns incorrect file path when layout name starts with a slash (qiangxue) - Bug #1965: `Controller::findLayoutFile()` returns incorrect file path when layout name starts with a slash (qiangxue)
- Bug: Fixed `Call to a member function registerAssetFiles() on a non-object` in case of wrong `sourcePath` for an asset bundle (samdark) - Bug: Fixed `Call to a member function registerAssetFiles() on a non-object` in case of wrong `sourcePath` for an asset bundle (samdark)
- Bug: Fixed incorrect event name for `yii\jui\Spinner` (samdark) - Bug: Fixed incorrect event name for `yii\jui\Spinner` (samdark)
......
...@@ -1161,15 +1161,14 @@ class BaseHtml ...@@ -1161,15 +1161,14 @@ class BaseHtml
public static function activeCheckbox($model, $attribute, $options = []) public static function activeCheckbox($model, $attribute, $options = [])
{ {
$name = isset($options['name']) ? $options['name'] : static::getInputName($model, $attribute); $name = isset($options['name']) ? $options['name'] : static::getInputName($model, $attribute);
$checked = static::getAttributeValue($model, $attribute); $value = static::getAttributeValue($model, $attribute);
if (array_key_exists('value', $options)) {
$checked = static::getAttributeValue($model, $attribute)===$options['value'];
}
if (!array_key_exists('uncheck', $options)) { if (!array_key_exists('uncheck', $options)) {
$options['uncheck'] = '0'; $options['uncheck'] = '0';
} elseif (static::getAttributeValue($model, $attribute)===$options['uncheck']) {
$checked = false;
} }
$checked = ($value !== $options['uncheck']);
if (!array_key_exists('id', $options)) { if (!array_key_exists('id', $options)) {
$options['id'] = static::getInputId($model, $attribute); $options['id'] = static::getInputId($model, $attribute);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment