Добавление нового типа сущности, добавление владельца проект в список пользователей проекта

This commit is contained in:
Kavalar 2024-02-12 22:56:40 +03:00
parent 32a7f483fb
commit 1a250c4b00
4 changed files with 26 additions and 4 deletions

View File

@ -8,6 +8,8 @@ class Entity
const ENTITY_TYPE_PROJECT = 1;
const ENTITY_TYPE_TASK = 2;
const ENTITY_TYPE_REQUEST = 3;
/**
* @return string[]
*/
@ -16,6 +18,7 @@ class Entity
return [
self::ENTITY_TYPE_PROJECT => "Проект",
self::ENTITY_TYPE_TASK => "Задача",
self::ENTITY_TYPE_REQUEST => "Запрос на создание проекта",
];
}

View File

@ -88,6 +88,25 @@ class Project extends \yii\db\ActiveRecord
];
}
/**
* @param $insert
* @param $changedAttributes
* @return void
*/
public function afterSave($insert, $changedAttributes): void
{
if ($insert) {
$model = new ProjectUser();
$model->user_id = $this->owner_id;
$model->project_id = $this->id;
$model->status = 1;
if ($model->save()) {
}
}
parent::afterSave($insert, $changedAttributes);
}
/**
* @return ActiveQuery
*/

View File

@ -197,7 +197,7 @@ class ProjectController extends ApiController
->one();
if (empty($projectTaskCategory)) {
throw new NotFoundHttpException('The project not found');
throw new BadRequestHttpException('This user cannot be added to the project');
}
$projectTaskCategory->title = Yii::$app->request->post('new_title');

View File

@ -82,8 +82,8 @@ class RequestController extends ApiController
/**
*
* @OA\Get(path="/request/get-request-list",
* summary="Создать запрос",
* description="Метод для создания запроса, если параметр user_id не передан, то запрос создается от имени текущего пользователя.",
* summary="Получить список запросов",
* description="Метод для получения списка запросов, если параметр user_id не передан, то запрос создается от имени текущего пользователя.",
* security={
* {"bearerAuth": {}}
* },
@ -108,7 +108,7 @@ class RequestController extends ApiController
* ),
* @OA\Response(
* response=200,
* description="Возвращает объект Запроса",
* description="Возвращает массив объектов Запроса",
* @OA\MediaType(
* mediaType="application/json",
* @OA\Schema(ref="#/components/schemas/RequestsExample"),