transfer_to_new_table

This commit is contained in:
SoHardKI 2019-06-27 15:41:58 +03:00
parent 0955e40eac
commit 0a9600cb00
11 changed files with 45 additions and 28 deletions

View File

@ -6,6 +6,7 @@ use common\classes\Debug;
use common\models\AdditionalFields;
use common\models\CardSkill;
use common\models\FieldsValue;
use common\models\FieldsValueNew;
use common\models\Status;
use Yii;
use backend\modules\card\models\UserCard;
@ -62,7 +63,9 @@ class UserCardController extends Controller
public function actionView($id)
{
$dataProvider = new ActiveDataProvider([
'query' => FieldsValue::find()->where(['card_id' => $id])->orderBy('order'),
'query' => FieldsValueNew::find()
->where(['item_id' => $id, 'item_type' => FieldsValueNew::TYPE_PROFILE])
->orderBy('order'),
'pagination' => [
'pageSize' => 200,
],
@ -105,7 +108,7 @@ class UserCardController extends Controller
public function actionUpdate($id)
{
$model = $this->findModel($id);
// Debug::dd($model);
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect(['view', 'id' => $model->id]);
}

View File

@ -5,6 +5,7 @@ namespace backend\modules\card\models;
use backend\modules\settings\models\Skill;
use common\models\CardSkill;
use common\models\FieldsValue;
use common\models\FieldsValueNew;
use yii\helpers\ArrayHelper;
class UserCard extends \common\models\UserCard
@ -16,17 +17,20 @@ class UserCard extends \common\models\UserCard
{
parent::init();
$fieldValue = FieldsValue::find()->where(
$fieldValue = FieldsValueNew::find()->where(
[
'card_id' => \Yii::$app->request->get('id'),
'project_id' => null,
'company_id' => null,
'item_id' => \Yii::$app->request->get('id'),
'item_type' => FieldsValueNew::TYPE_PROFILE,
])
->all();
$array = [];
if(!empty($fieldValue)){
foreach ($fieldValue as $item){
array_push($array, ['field_id' => $item->field_id, 'value' => $item->value, 'order' => $item->order]);
array_push($array,
['field_id' => $item->field_id,
'value' => $item->value,
'order' => $item->order,
'field_name' => $item->field->name]);
}
$this->fields = $array;
}
@ -36,6 +40,7 @@ class UserCard extends \common\models\UserCard
'field_id' => null,
'value' => null,
'order' => null,
'field_name' => null,
],
];
}
@ -54,17 +59,16 @@ class UserCard extends \common\models\UserCard
{
$post = \Yii::$app->request->post('UserCard');
if($post['fields']){
FieldsValue::deleteAll(['card_id' => $this->id]);
FieldsValueNew::deleteAll(['item_id' => $this->id, 'item_type' => FieldsValueNew::TYPE_PROFILE]);
foreach ( $post['fields'] as $item) {
$fildsValue = new FieldsValue();
$fildsValue = new FieldsValueNew();
$fildsValue->field_id = $item['field_id'];
$fildsValue->value = $item['value'];
$fildsValue->order = $item['order'];
$fildsValue->card_id = $this->id;
$fildsValue->item_id = $this->id;
$fildsValue->item_type = FieldsValueNew::TYPE_PROFILE;
$fildsValue->save();
}

View File

@ -47,7 +47,7 @@ class Company extends \common\models\Company
{
$post = \Yii::$app->request->post('Company');
FieldsValue::deleteAll(['company_id' => $this->id]);
FieldsValueNew::deleteAll(['item_id' => $this->id, 'item_type' => FieldsValueNew::TYPE_COMPANY]);
foreach ( $post['fields'] as $item) {
$fildsValue = new FieldsValueNew();

View File

@ -15,8 +15,8 @@ $this->params['breadcrumbs'][] = $this->title;
<div class="company-view">
<p>
<?= Html::a('Список', ['index'], ['class' => 'btn btn-primary']) ?>
<?= Html::a('Update', ['update', 'id' => $model->id], ['class' => 'btn btn-primary']) ?>
<?= Html::a('Delete', ['delete', 'id' => $model->id], [
<?= Html::a('Редактировать', ['update', 'id' => $model->id], ['class' => 'btn btn-primary']) ?>
<?= Html::a('Удалить', ['delete', 'id' => $model->id], [
'class' => 'btn btn-danger',
'data' => [
'confirm' => 'Are you sure you want to delete this item?',

View File

@ -3,6 +3,7 @@
namespace backend\modules\project\controllers;
use common\models\FieldsValue;
use common\models\FieldsValueNew;
use common\models\Hh;
use common\models\HhJob;
use common\models\ProjectUser;
@ -72,7 +73,9 @@ class ProjectController extends Controller
$dataProvider = new ActiveDataProvider([
'query' => FieldsValue::find()->where(['project_id' => $id])->orderBy('order'),
'query' => FieldsValueNew::find()
->where(['item_id' => $id, 'item_type' => FieldsValueNew::TYPE_PROJECT])
->orderBy('order'),
'pagination' => [
'pageSize' => 200,
],

View File

@ -4,6 +4,7 @@ namespace backend\modules\project\models;
use common\classes\Debug;
use common\models\FieldsValue;
use common\models\FieldsValueNew;
use common\models\ProjectUser;
use yii\helpers\ArrayHelper;
@ -16,18 +17,21 @@ class Project extends \common\models\Project
{
parent::init();
$fieldValue = FieldsValue::find()
$fieldValue = FieldsValueNew::find()
->where(
[
'project_id' => \Yii::$app->request->get('id'),
'card_id' => null,
'company_id' => null,
'item_id' => \Yii::$app->request->get('id'),
'item_type' => FieldsValueNew::TYPE_PROJECT,
])
->all();
$array = [];
if (!empty($fieldValue)) {
foreach ($fieldValue as $item) {
array_push($array, ['field_id' => $item->field_id, 'value' => $item->value, 'order' => $item->order]);
array_push($array, [
'field_id' => $item->field_id,
'value' => $item->value,
'order' => $item->order,
'field_name' => $item->field->name]);
}
$this->fields = $array;
} else {
@ -36,6 +40,7 @@ class Project extends \common\models\Project
'field_id' => null,
'value' => null,
'order' => null,
'field_name' => null,
],
];
}
@ -53,14 +58,15 @@ class Project extends \common\models\Project
{
$post = \Yii::$app->request->post('Project');
FieldsValue::deleteAll(['project_id' => $this->id]);
FieldsValueNew::deleteAll(['item_id' => $this->id, 'item_type' => FieldsValueNew::TYPE_PROJECT]);
foreach ($post['fields'] as $item) {
$fildsValue = new FieldsValue();
$fildsValue = new FieldsValueNew();
$fildsValue->field_id = $item['field_id'];
$fildsValue->value = $item['value'];
$fildsValue->order = $item['order'];
$fildsValue->project_id = $this->id;
$fildsValue->item_id = $this->id;
$fildsValue->item_type = FieldsValueNew::TYPE_PROJECT;
$fildsValue->save();
}

View File

@ -2,6 +2,7 @@
namespace backend\modules\settings\controllers;
use common\classes\Debug;
use common\models\UseField;
use Yii;
use backend\modules\settings\models\AdditionalFields;

View File

@ -25,7 +25,7 @@
'label' => 'Профили', 'icon' => 'users', 'url' => '#',
'items' => $menuItems,
],
['label' => 'Пректы', 'icon' => 'files-o', 'url' => ['/project/project']],
['label' => 'Проекты', 'icon' => 'files-o', 'url' => ['/project/project']],
['label' => 'Компании', 'icon' => 'files-o', 'url' => ['/company/company']],
[
'label' => 'Hh.ru', 'icon' => 'user-circle', 'url' => '#',

View File

@ -86,7 +86,7 @@ class Company extends \yii\db\ActiveRecord
*/
public function getFieldsValues()
{
return $this->hasMany(FieldsValue::className(), ['company_id' => 'id']);
return $this->hasMany(FieldsValueNew::class, ['item_id' => 'id'])->where(['item_type' => FieldsValueNew::TYPE_COMPANY])->with('field');
}
/**

View File

@ -84,7 +84,7 @@ class Project extends \yii\db\ActiveRecord
*/
public function getFieldsValues()
{
return $this->hasMany(FieldsValue::class, ['project_id' => 'id']);
return $this->hasMany(FieldsValueNew::class, ['item_id' => 'id'])->where(['item_type' => FieldsValueNew::TYPE_PROJECT])->with('field');
}
/**

View File

@ -98,7 +98,7 @@ class UserCard extends \yii\db\ActiveRecord
*/
public function getFieldsValues()
{
return $this->hasMany(FieldsValue::class, ['card_id' => 'id']);
return $this->hasMany(FieldsValueNew::class, ['item_id' => 'id'])->where(['item_type' => FieldsValueNew::TYPE_PROFILE])->with('field');
}
/**