/
v.bolshakov
/
AIEcosystem-Testing
Обзор
Документация
Войти
/
v.bolshakov
/
AIEcosystem-Testing
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
dev
backend/controllers/data/UserController.php
110 строк
3 KB
Developer
Initial commit
03 авг 2026, 17:43
03 авг 2026, 17:43
7433917
Код
Авторство
О чём код?
<?php namespace backend\controllers\data; use common\controllers\base\CrudController; use common\models\link\LinkUserMemoQ; use common\models\memoq\Project; use common\models\memoq\UserSync; use common\models\User; use yii\helpers\Url; use Yii; use yii\web\NotFoundHttpException; /** * Контроллер для работы с пользователями клиентами * * @author Dmitry E. Semenov <sde.tomsk@gmail.com> * @copyright Self (c) 2025 */ class UserController extends CrudController { /** * @inheritdoc */ protected $modelClassPath = 'backend\components\crud\user'; /** * @inheritdoc */ protected $classPrefix = 'User'; /** * @param $user_id * @param $user_id * @return string * @throws \yii\base\InvalidConfigException */ public function actionTool(int $user_id) { $user = User::findOne($user_id); if (!$user) { throw new NotFoundHttpException(Yii::t('app', 'User {0} not found', [ $user_id ])); } $tool_list = []; $p = Project::find() ->innerJoin(['l' => LinkUserMemoQ::tableName()], 'm_user_id = creator_user_id') ->andWhere([ 'user_id' => $user_id ]) ->published() ->count(); $a = UserSync::getAlias(); $last_update = UserSync::find() ->alias($a) ->andWhere([ 'user_id' => $user_id ]) ->max('last_update'); $tool_list[] = [ 'title' => 'MemoQ', 'server_name' => 'https://tms2.janusww.com/', 'project_count' => $p, 'last_update' => $last_update, 'user_id' => $user_id, 'url' => Url::to(['/data/user/memoq/project/index', 'parent_id' => $user_id]) ]; $tool_list[] = [ 'title' => 'Trados', 'server_name' => '', 'project_count' => 0, 'last_update' => null, 'user_id' => $user_id, 'url' => null, ]; $tool_list[] = [ 'title' => 'Export translation', 'server_name' => '', 'project_count' => 0, 'last_update' => null, 'user_id' => $user_id, 'url' => null, ]; $breadcrumbs = [ [ 'label' => Yii::t('app', 'Users'), 'url' => Url::to(['/data/user/index']) ], [ 'label' => Yii::t('app', 'User: ' . $user->title), ], ]; $this->view->title = Yii::t('app', $user->title . ' / CAT tools'); Yii::$app->getView()->params['breadcrumbs'] = $breadcrumbs; return $this->render('tool', [ 'tool_list' => $tool_list ]); } }