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

@ -72,22 +72,20 @@ class ProjectUserController extends Controller
$post = \Yii::$app->request->post('ProjectUser');
if (!empty($post)) {
$user_id_arr = ArrayHelper::getValue($post, 'user_id');
$card_id_arr = ArrayHelper::getValue($post, 'card_id');
$project_id = $post['project_id'];
foreach ($user_id_arr as $user_id) {
foreach ($card_id_arr as $card_id) {
$emtModel = new ProjectUser();
$emtModel->project_id = $project_id;
$emtModel->user_id = $user_id;
$emtModel->card_id = UserCard::getIdByUserId($user_id);
$emtModel->card_id = $card_id;
$emtModel->user_id = UserCard::getUserIdByCardId($card_id);
$emtModel->save();
// if (!$emtModel->save()) {
// return $this->render('create', [
// 'model' => $emtModel,
// ]);
// }
if (!$emtModel->save()) {
return $this->render('create', [
'model' => $emtModel,
]);
}
}
return $this->redirect(['index']);
}
@ -110,7 +108,7 @@ class ProjectUserController extends Controller
$model = $this->findModel($id);
if ($model->load(Yii::$app->request->post()) ) {
$model->card_id = UserCard::getIdByUserId($model->user_id);
$model->user_id = UserCard::getUserIdByCardId($model->card_id);//UserCard::getIdByUserId($model->user_id);
if ($model->save()) {
return $this->redirect(['view', 'id' => $model->id]);
}

View File

@ -1,5 +1,6 @@
<?php
use backend\modules\card\models\UserCard;
use backend\modules\project\models\Project;
use common\models\User;
use kartik\select2\Select2;
@ -25,9 +26,9 @@ use yii\widgets\ActiveForm;
]
) ?>
<?= $form->field($model, 'user_id')->widget(Select2::className(),
<?= $form->field($model, 'card_id')->widget(Select2::className(),
[
'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 common\models\User;
use kartik\select2\Select2;
@ -25,9 +26,9 @@ use yii\widgets\ActiveForm;
]
) ?>
<?= $form->field($model, 'user_id')->widget(Select2::className(),
<?= $form->field($model, 'card_id')->widget(Select2::className(),
[
'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

@ -2,6 +2,7 @@
use yii\helpers\ArrayHelper;
use yii\helpers\Html;
use yii\web\YiiAsset;
use yii\widgets\DetailView;
/* @var $this yii\web\View */
@ -10,7 +11,7 @@ use yii\widgets\DetailView;
$this->title = 'Сотрудник проекта: ' . $model->project->name;
$this->params['breadcrumbs'][] = ['label' => 'Project Users', 'url' => ['index']];
$this->params['breadcrumbs'][] = $this->title;
\yii\web\YiiAsset::register($this);
YiiAsset::register($this);
?>
<div class="project-user-view">
@ -38,6 +39,10 @@ $this->params['breadcrumbs'][] = $this->title;
'attribute' => 'user_id',
'value' => ArrayHelper::getValue($model, 'user.username' ),
],
[
'attribute' => 'card_id',
'value' => ArrayHelper::getValue($model, 'card.fio' ),
],
],
]) ?>