update foreign key in task in task

This commit is contained in:
iIronside
2021-12-20 17:49:11 +03:00
parent ef0889aac6
commit e07dd0eff6
14 changed files with 132 additions and 78 deletions

View File

@@ -18,7 +18,7 @@ class TaskSearch extends Task
public function rules()
{
return [
[['id', 'project_id', 'status', 'user_id_creator', 'user_id'], 'integer'],
[['id', 'project_id', 'status', 'card_id_creator', 'card_id'], 'integer'], // 'card_id_creator', 'card_id'
[['title', 'created_at', 'updated_at', 'description'], 'safe'],
];
}
@@ -41,10 +41,7 @@ class TaskSearch extends Task
*/
public function search($params)
{
$query = Task::find()->joinWith(['user', 'project']);
// => function($query){
// $query->from(ProjectUser::tableName() . ' pt');
// }]); //,
$query = Task::find();//->joinWith(['user_card', 'project']);
// add conditions that should always apply here
@@ -67,8 +64,8 @@ class TaskSearch extends Task
'task.status' => $this->status,
'task.created_at' => $this->created_at,
'task.updated_at' => $this->updated_at,
'user_id_creator' => $this->user_id_creator,
'task.user_id' => $this->user_id,
'task.card_id_creator' => $this->card_id_creator,
'task.card_id' => $this->card_id,
]);
$query->andFilterWhere(['like', 'title', $this->title])

View File

@@ -1,13 +1,10 @@
<?php
use backend\modules\card\models\UserCard;
use backend\modules\project\models\Project;
use backend\modules\project\models\ProjectUser;
use common\helpers\StatusHelper;
use common\models\User;
use kartik\depdrop\DepDrop;
use kartik\select2\Select2;
use yii\helpers\Html;
use yii\helpers\Url;
use yii\widgets\ActiveForm;
/* @var $this yii\web\View */
@@ -27,9 +24,9 @@ use yii\widgets\ActiveForm;
);
?>
<?= $form->field($model, 'user_id_creator')->widget(Select2::class,
<?= $form->field($model, 'card_id_creator')->widget(Select2::class,
[
'data' => User::find()->select(['username', 'id'])->indexBy('id')->column(),
'data' => UserCard::find()->select(['fio', 'id'])->indexBy('id')->column(),
'options' => ['placeholder' => '...','class' => 'form-control', 'value' => Yii::$app->user->id],
'pluginOptions' => [
'allowClear' => true,
@@ -47,9 +44,9 @@ use yii\widgets\ActiveForm;
]
) ?>
<?= $form->field($model, 'user_id')->widget(Select2::class,
<?= $form->field($model, 'card_id')->widget(Select2::class,
[
'data' => User::find()->select(['username', 'id'])->indexBy('id')->column(),
'data' => UserCard::find()->select(['fio', 'id'])->indexBy('id')->column(),
'options' => ['placeholder' => '...','class' => 'form-control'],
'pluginOptions' => [
'allowClear' => true,

View File

@@ -1,5 +1,6 @@
<?php
use backend\modules\card\models\UserCard;
use backend\modules\project\models\Project;
use backend\modules\project\models\ProjectUser;
use backend\modules\task\models\Task;
@@ -35,7 +36,8 @@ $this->params['breadcrumbs'][] = $this->title;
'filter' => Select2::widget([
'model' => $searchModel,
'attribute' => 'project_id',
'data' => Project::find()->select(['name', 'id'])->indexBy('id')->column(),
'data' => Task::find()->joinWith('project')
->select(['project.name', 'project.id'])->indexBy('project.id')->column(),
'pluginOptions' => [
'allowClear' => true,
'width' => '150px',
@@ -48,12 +50,13 @@ $this->params['breadcrumbs'][] = $this->title;
],
'title',
[
'attribute' => 'user_id_creator',
'value' => 'userIdCreator.username',
'attribute' => 'card_id_creator',
'value' => 'userCardCreator.fio',
'filter' => Select2::widget([
'model' => $searchModel,
'attribute' => 'user_id_creator',
'data' => User::find()->select(['username', 'id'])->indexBy('id')->column(),
'attribute' => 'card_id_creator',
'data' => Task::find()->joinWith('userCardCreator')
->select(['user_card.fio', 'user_card.id'])->indexBy('user_card.id')->column(),
'pluginOptions' => [
'allowClear' => true,
'width' => '150px',
@@ -65,12 +68,13 @@ $this->params['breadcrumbs'][] = $this->title;
])
],
[
'attribute' => 'user_id',
'value' => 'user.username',
'attribute' => 'card_id',
'value' => 'userCard.fio',
'filter' => Select2::widget([
'model' => $searchModel,
'attribute' => 'user_id',
'data' => User::find()->select(['username', 'id'])->indexBy('id')->column(),
'attribute' => 'card_id',
'data' => Task::find()->joinWith('userCard')
->select(['user_card.fio', 'user_card.id'])->indexBy('user_card.id')->column(),
'pluginOptions' => [
'allowClear' => true,
'width' => '150px',

View File

@@ -47,12 +47,12 @@ YiiAsset::register($this);
'created_at',
'updated_at',
[
'attribute' => 'project_user_id',
'value' => ArrayHelper::getValue($model, 'projectUser.user.username'),
'attribute' => 'card_id_creator',
'value' => ArrayHelper::getValue($model, 'userCardCreator.fio'),
],
[
'attribute' => 'user_id',
'value' => ArrayHelper::getValue($model, 'user.username'),
'attribute' => 'card_id',
'value' => ArrayHelper::getValue($model, 'userCard.fio'),
],
'description',
],