refactor: rewrite everything with params to not suck ass
This commit is contained in:
parent
d3a4577913
commit
b85dd5ff13
|
@ -18,8 +18,8 @@ class m240819_102301_image extends Migration
|
||||||
'sha256' => Schema::TYPE_STRING . ' NOT NULL',
|
'sha256' => Schema::TYPE_STRING . ' NOT NULL',
|
||||||
'original_name' => Schema::TYPE_STRING . ' NOT NULL'
|
'original_name' => Schema::TYPE_STRING . ' NOT NULL'
|
||||||
]);
|
]);
|
||||||
$this->addColumn('parameters', 'icon', 'INT(11) DEFAULT NULL');
|
$this->addColumn('parameters', 'icon_id', 'INT(11) DEFAULT NULL');
|
||||||
$this->addColumn('parameters', 'icon_gray', 'INT(11) DEFAULT NULL');
|
$this->addColumn('parameters', 'icon_gray_id', 'INT(11) DEFAULT NULL');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -28,8 +28,8 @@ class m240819_102301_image extends Migration
|
||||||
public function safeDown()
|
public function safeDown()
|
||||||
{
|
{
|
||||||
$this->dropTable('image');
|
$this->dropTable('image');
|
||||||
$this->dropColumn('parameters', 'icon');
|
$this->dropColumn('parameters', 'icon_id');
|
||||||
$this->dropColumn('parameters', 'icon_gray');
|
$this->dropColumn('parameters', 'icon_gray_id');
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -24,27 +24,12 @@ class Parameter extends \yii\db\ActiveRecord
|
||||||
|
|
||||||
public function getIcon()
|
public function getIcon()
|
||||||
{
|
{
|
||||||
return $this->hasOne(Image::class, [ 'id' => 'icon' ]);
|
return $this->hasOne(Image::class, [ 'id' => 'icon_id' ]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getIconGray()
|
public function getIconGray()
|
||||||
{
|
{
|
||||||
return $this->hasOne(Image::class, [ 'id' => 'icon_gray' ]);
|
return $this->hasOne(Image::class, [ 'id' => 'icon_gray_id' ]);
|
||||||
}
|
|
||||||
|
|
||||||
public function fields()
|
|
||||||
{
|
|
||||||
$fields = parent::fields();
|
|
||||||
|
|
||||||
$fields['icon'] = function (Parameter $parameter) {
|
|
||||||
return $parameter->relatedRecords['icon'];
|
|
||||||
};
|
|
||||||
|
|
||||||
$fields['icon_gray'] = function (Parameter $parameter) {
|
|
||||||
return $parameter->relatedRecords['iconGray'];
|
|
||||||
};
|
|
||||||
|
|
||||||
return $fields;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -55,28 +55,15 @@ class ParameterForm extends Model
|
||||||
if ($param->type == 2) {
|
if ($param->type == 2) {
|
||||||
if ($this->icon) {
|
if ($this->icon) {
|
||||||
$icon = Image::fromUploadedFile($this->icon);
|
$icon = Image::fromUploadedFile($this->icon);
|
||||||
|
$param->icon_id = $icon->id;
|
||||||
// https://rent4health.com/wp-content/uploads/2020/02/Under-arm-crutches-1.png
|
|
||||||
if ($param->getAttribute('icon') !== null) {
|
|
||||||
$param->icon = $icon->id;
|
|
||||||
} else {
|
|
||||||
$param->setAttribute('icon', $icon->id);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if ($this->iconGray) {
|
if ($this->iconGray) {
|
||||||
$iconGray = Image::fromUploadedFile($this->iconGray);
|
$iconGray = Image::fromUploadedFile($this->iconGray);
|
||||||
|
$param->icon_gray_id = $iconGray->id;
|
||||||
if ($param->getAttribute('icon_gray') !== null) {
|
}
|
||||||
$param->iconGray = $iconGray->id;
|
|
||||||
} else {
|
} else {
|
||||||
$param->setAttribute('icon_gray', $iconGray->id);
|
$param->icon_id = null;
|
||||||
}
|
$param->icon_gray_id = null;
|
||||||
}
|
|
||||||
|
|
||||||
$param->setAttributes([
|
|
||||||
'icon' => $param->icon,
|
|
||||||
'iconGray' => $param->iconGray,
|
|
||||||
]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$param->setAttributes([
|
$param->setAttributes([
|
||||||
|
|
|
@ -24,7 +24,7 @@ class ParameterSearch extends Parameter
|
||||||
|
|
||||||
public function search($params): ActiveDataProvider
|
public function search($params): ActiveDataProvider
|
||||||
{
|
{
|
||||||
$query = Parameter::find()->with(['icon', 'iconGray']);
|
$query = Parameter::find();//->with(['icon', 'iconGray']);
|
||||||
|
|
||||||
$dataProvider = new ActiveDataProvider([
|
$dataProvider = new ActiveDataProvider([
|
||||||
'query' => $query,
|
'query' => $query,
|
||||||
|
|
|
@ -31,7 +31,7 @@ $this->title = 'params list';
|
||||||
'label' => 'Icon',
|
'label' => 'Icon',
|
||||||
'value' => function (Parameter $model) {
|
'value' => function (Parameter $model) {
|
||||||
if ($model->icon) {
|
if ($model->icon) {
|
||||||
$url = '/api/image?sha256=' . $model->getRelatedRecords()['icon']->sha256;
|
$url = '/api/image?sha256=' . $model->icon->sha256;
|
||||||
return Html::a(Html::img($url, [ 'width' => 150, 'height' => 150 ]), $url, [ 'alt' => 'icon', 'target' => '_blank' ]);
|
return Html::a(Html::img($url, [ 'width' => 150, 'height' => 150 ]), $url, [ 'alt' => 'icon', 'target' => '_blank' ]);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -50,7 +50,7 @@ $this->title = 'params list';
|
||||||
'label' => 'Gray Icon',
|
'label' => 'Gray Icon',
|
||||||
'value' => function (Parameter $model) {
|
'value' => function (Parameter $model) {
|
||||||
if ($model->iconGray) {
|
if ($model->iconGray) {
|
||||||
$url = '/api/image?sha256=' . $model->getRelatedRecords()['iconGray']->sha256;
|
$url = '/api/image?sha256=' . $model->iconGray->sha256;
|
||||||
return Html::a(Html::img($url, [ 'width' => 150, 'height' => 150 ]), $url, [ 'alt' => 'grayscale icon', 'target' => '_blank' ]);
|
return Html::a(Html::img($url, [ 'width' => 150, 'height' => 150 ]), $url, [ 'alt' => 'grayscale icon', 'target' => '_blank' ]);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue