diff --git a/common/models/ProjectTask.php b/common/models/ProjectTask.php
index 85b35c9..ca54fec 100644
--- a/common/models/ProjectTask.php
+++ b/common/models/ProjectTask.php
@@ -102,7 +102,9 @@ class ProjectTask extends ActiveRecord
return [
'id',
'project_id',
- //'project.name',
+ 'project_name' => function () {
+ return $this->project->name ?? null;
+ },
'title',
'created_at',
'updated_at',
@@ -133,7 +135,21 @@ class ProjectTask extends ActiveRecord
return Comment::find()->where(['entity_id' => $this->id, 'entity_type' => 2, 'status' => Comment::STATUS_ACTIVE])->count();
},
'taskUsers',
+ ];
+ }
+
+ /**
+ * @return string[]
+ */
+ public function extraFields(): array
+ {
+ return [
'timers',
+ 'column' => function () {
+ return [
+ 'column_title' => $this->column->title ?? null
+ ];
+ }
];
}
diff --git a/common/services/TaskService.php b/common/services/TaskService.php
index 6ad8d1e..e9fc814 100644
--- a/common/services/TaskService.php
+++ b/common/services/TaskService.php
@@ -29,13 +29,13 @@ class TaskService
public static function getTaskListByProject($project_id): array
{
- return ProjectTask::find()->where(['project_id' => $project_id])->all();
+ return ProjectTask::find()->where(['project_id' => $project_id])->orderBy('priority DESC')->all();
}
public static function getTaskListByUser($user_id): array
{
$taskIdList = ProjectTaskUser::find()->where(['user_id' => $user_id])->select('task_id')->column();
- return ProjectTask::find()->where([ 'IN', 'id', $taskIdList])->orWhere(['user_id' => $user_id])->all();
+ return ProjectTask::find()->where([ 'IN', 'id', $taskIdList])->orWhere(['user_id' => $user_id])->orderBy('priority DESC')->all();
}
public static function updateTask($task_params): ?ProjectTask
diff --git a/frontend/modules/api/controllers/TaskController.php b/frontend/modules/api/controllers/TaskController.php
index 8147870..3c7ca1e 100644
--- a/frontend/modules/api/controllers/TaskController.php
+++ b/frontend/modules/api/controllers/TaskController.php
@@ -137,6 +137,15 @@ class TaskController extends ApiController
* type="integer",
* )
* ),
+ * @OA\Parameter(
+ * name="expand",
+ * in="query",
+ * example="column,timers",
+ * description="В этом параметре по необходимости передаются поля, которые нужно добавить в ответ сервера, сейчас доступно только поля column, timers",
+ * @OA\Schema(
+ * type="string",
+ * )
+ * ),
* @OA\Response(
* response=200,
* description="Возвращает массив объектов Задач",
@@ -184,6 +193,15 @@ class TaskController extends ApiController
* type="integer",
* )
* ),
+ * @OA\Parameter(
+ * name="expand",
+ * in="query",
+ * example="column,timers",
+ * description="В этом параметре по необходимости передаются поля, которые нужно добавить в ответ сервера, сейчас доступно только поля column, timers",
+ * @OA\Schema(
+ * type="string",
+ * )
+ * ),
* @OA\Response(
* response=200,
* description="Возвращает массив объектов Задач",
@@ -233,6 +251,15 @@ class TaskController extends ApiController
* type="integer",
* )
* ),
+ * @OA\Parameter(
+ * name="expand",
+ * in="query",
+ * example="column,timers",
+ * description="В этом параметре по необходимости передаются поля, которые нужно добавить в ответ сервера, сейчас доступно только поля column, timers",
+ * @OA\Schema(
+ * type="string",
+ * )
+ * ),
* @OA\Response(
* response=200,
* description="Возвращает объект Задачи",
diff --git a/frontend/modules/api/models/Project.php b/frontend/modules/api/models/Project.php
index e05be0c..7b28818 100644
--- a/frontend/modules/api/models/Project.php
+++ b/frontend/modules/api/models/Project.php
@@ -119,6 +119,9 @@ class Project extends \common\models\Project
];
}
+ /**
+ * @return string[]
+ */
public function extraFields(): array
{
return ['columns',];