diff --git a/frontend/controllers/AccountsController.php b/frontend/controllers/AccountsController.php index 7ddc565..f3a8fdb 100755 --- a/frontend/controllers/AccountsController.php +++ b/frontend/controllers/AccountsController.php @@ -404,6 +404,9 @@ */ public function actionGeneral() { + /** + * @var User $user + */ $user = \Yii::$app->user->identity; $user_info = $user->userInfo; $company_info = $user->companyInfo; diff --git a/frontend/controllers/PerformerController.php b/frontend/controllers/PerformerController.php index 7019972..e144761 100755 --- a/frontend/controllers/PerformerController.php +++ b/frontend/controllers/PerformerController.php @@ -7,6 +7,7 @@ use common\models\Portfolio; use common\models\PortfolioSpecialization; use Yii; + use yii\data\ActiveDataProvider; use yii\data\ArrayDataProvider; use yii\data\Pagination; use yii\helpers\ArrayHelper; @@ -179,6 +180,27 @@ ]); } + public function actionProjects($performer_id) + { + $user = User::findOne($performer_id); + + if(!$user instanceof User) { + throw new BadRequestHttpException('Пользователь не найден'); + } + + $dataProvider = new ActiveDataProvider([ + 'query' => $user->getProjects(), + 'pagination' => [ + 'pageSize' => 10, + ], + ]); + + return $this->render('project-list', [ + 'user' => $user, + 'dataProvider' => $dataProvider, + ]); + } + public function actionBlogList($performer_id) { $user = User::findOne($performer_id); @@ -250,7 +272,10 @@ public function actionWorkplace($performer_id) { - $user = User::find()->where(['id' => $performer_id])->with('jobs')->one(); + $user = User::find() + ->where([ 'id' => $performer_id ]) + ->with('jobs') + ->one(); if(!$user instanceof User) { throw new BadRequestHttpException('Пользователь не найден'); } diff --git a/frontend/views/accounts/general.php b/frontend/views/accounts/general.php index 569aca5..ed6879c 100755 --- a/frontend/views/accounts/general.php +++ b/frontend/views/accounts/general.php @@ -30,8 +30,7 @@ field($user_info, 'is_freelancer', [ 'template' => "{input}\n{label}\n{error}" ]) ->label('Я - исполнитель') ->checkbox([ - 'class' => 'custom-check disabled admin-check', - 'disabled' => 'disabled', + 'class' => 'custom-check admin-check', ], false); ?>
@@ -44,8 +43,7 @@ field($user_info, 'is_customer', [ 'template' => "{input}\n{label}\n{error}" ]) ->label('Я - заказчик') ->checkbox([ - 'class' => 'custom-check disabled admin-check', - 'disabled' => 'disabled', + 'class' => 'custom-check admin-check', ], false); ?>
diff --git a/frontend/views/layouts/performer.php b/frontend/views/layouts/performer.php index b8ce798..73bd7b2 100755 --- a/frontend/views/layouts/performer.php +++ b/frontend/views/layouts/performer.php @@ -72,6 +72,13 @@ ], ], [ + 'label' => 'Заказанные работы', + 'url' => [ + 'performer/projects', + 'performer_id' => $this->params[ 'user' ]->id, + ], + ], + [ 'label' => 'Блог', 'url' => [ 'performer/blog-list', diff --git a/frontend/views/performer/project-list.php b/frontend/views/performer/project-list.php new file mode 100644 index 0000000..ed4c4a6 --- /dev/null +++ b/frontend/views/performer/project-list.php @@ -0,0 +1,26 @@ +params[ 'user' ] = $user; + + $this->title = 'My Yii Application'; +?> +
+
Сейчас totalCount ?> предложений
+
+ $dataProvider, + 'itemView' => '@frontend/views/search/_projects_list_view', + 'layout' => "{items}\n", + ]); ?> +
+
-- libgit2 0.21.4