add methods to project task category
This commit is contained in:
parent
a353cbec6c
commit
f2c77fb72c
@ -29,6 +29,8 @@ class ProjectTaskCategory extends \yii\db\ActiveRecord
|
|||||||
public function rules()
|
public function rules()
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
|
[['project_id', 'title'], 'required'],
|
||||||
|
[['project_id', 'title'], 'unique', 'targetAttribute' => ['project_id', 'title']],
|
||||||
[['project_id'], 'integer'],
|
[['project_id'], 'integer'],
|
||||||
[['title'], 'string', 'max' => 255],
|
[['title'], 'string', 'max' => 255],
|
||||||
[['project_id'], 'exist', 'skipOnError' => true, 'targetClass' => Project::className(), 'targetAttribute' => ['project_id' => 'id']],
|
[['project_id'], 'exist', 'skipOnError' => true, 'targetClass' => Project::className(), 'targetAttribute' => ['project_id' => 'id']],
|
||||||
|
@ -35,6 +35,30 @@
|
|||||||
Получить список статусов для проекта
|
Получить список статусов для проекта
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
project task category list
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
список категорий задач проекта
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
create project category task
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
создать категорию задач проекта
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
update project category task
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
изменить категорию задач проекта
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
create
|
create
|
||||||
@ -257,6 +281,178 @@
|
|||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Список категорий задач проекта
|
||||||
|
`https://guild.craft-group.xyz/api/project/project-task-category-list`
|
||||||
|
<p>
|
||||||
|
Для получения списка категорий задач проекта необходимо отправить <b>GET</b> запрос на URL https://guild.craft-group.xyz/api/project/project-task-category-list
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Требуемые параметры:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
Параметры
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
Значение
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
project_id
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
ID проекта
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Пример запроса:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
`https://guild.craft-group.xyz/api/project/project-task-category-list?project_id=1`
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Возвращает массив категорий задач проекта имеющий такой вид:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
```json5
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"title": "mlkmld",
|
||||||
|
"project_id": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 2,
|
||||||
|
"title": "тест",
|
||||||
|
"project_id": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Создать категорию задач проекта
|
||||||
|
`https://guild.craft-group.xyz/api/project/create-project-task-category`
|
||||||
|
<p>
|
||||||
|
Для для создания категории задач проекта необходимо отправить <b>POST</b> запрос на URL https://guild.craft-group.xyz/api/project/create-project-task-category
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Требуемые параметры:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
Параметры
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
Значение
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
project_id
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
ID проекта
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
title
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
название категории
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Пример запроса:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
`https://guild.craft-group.xyz/api/project/create-project-task-category`
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Возвращает категорию задач проекта имеющий такой вид:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
```json5
|
||||||
|
{
|
||||||
|
"project_id": "1",
|
||||||
|
"title": "test333",
|
||||||
|
"id": 4
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Изменить категорию задач проекта
|
||||||
|
`https://guild.craft-group.xyz/api/project/update-project-task-category`
|
||||||
|
<p>
|
||||||
|
Для для создания категории задач проекта необходимо отправить <b>POST</b> запрос на URL https://guild.craft-group.xyz/api/project/update-project-task-category
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Возможные параметры:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
Параметры
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
Значение
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
project_id
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
ID проекта
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
title
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
название категории
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
new_title
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
новое название категории
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Пример запроса:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
`https://guild.craft-group.xyz/api/project/update-project-task-category`
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Возвращает категорию задач проекта имеющий такой вид:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
```json5
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"title": "hfbvhdfbv3",
|
||||||
|
"project_id": 1
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
### Создать проект
|
### Создать проект
|
||||||
|
|
||||||
`https://guild.craft-group.xyz/api/project/create`
|
`https://guild.craft-group.xyz/api/project/create`
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace frontend\modules\api\controllers;
|
namespace frontend\modules\api\controllers;
|
||||||
|
|
||||||
|
use common\models\ProjectTaskCategory;
|
||||||
use common\models\ProjectUser;
|
use common\models\ProjectUser;
|
||||||
use common\models\Status;
|
use common\models\Status;
|
||||||
use common\models\UseStatus;
|
use common\models\UseStatus;
|
||||||
@ -29,6 +30,7 @@ class ProjectController extends ApiController
|
|||||||
'get-project' => ['GET', 'OPTIONS'],
|
'get-project' => ['GET', 'OPTIONS'],
|
||||||
'project-list' => ['GET', 'OPTIONS'],
|
'project-list' => ['GET', 'OPTIONS'],
|
||||||
'status-list' => ['GET', 'OPTIONS'],
|
'status-list' => ['GET', 'OPTIONS'],
|
||||||
|
'project-task-category-list' => ['GET', 'OPTIONS'],
|
||||||
'create' => ['POST', 'OPTIONS'],
|
'create' => ['POST', 'OPTIONS'],
|
||||||
'update' => ['POST', 'OPTIONS']
|
'update' => ['POST', 'OPTIONS']
|
||||||
],
|
],
|
||||||
@ -62,6 +64,41 @@ class ProjectController extends ApiController
|
|||||||
->where(['`use_status`.`use`' => UseStatus::USE_PROJECT])->all();
|
->where(['`use_status`.`use`' => UseStatus::USE_PROJECT])->all();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function actionProjectTaskCategoryList($project_id): array
|
||||||
|
{
|
||||||
|
return ProjectTaskCategory::find()->where(['project_id' => $project_id])->all();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function actionCreateProjectTaskCategory()
|
||||||
|
{
|
||||||
|
$projectTaskCategory = new ProjectTaskCategory();
|
||||||
|
$projectTaskCategory->attributes = \yii::$app->request->post();
|
||||||
|
|
||||||
|
if($projectTaskCategory->validate()) {
|
||||||
|
$projectTaskCategory->save(false);
|
||||||
|
return $projectTaskCategory;
|
||||||
|
}
|
||||||
|
return $projectTaskCategory->errors;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function actionUpdateProjectTaskCategory()
|
||||||
|
{
|
||||||
|
$projectTaskCategory = ProjectTaskCategory::find()
|
||||||
|
->where(['project_id' => Yii::$app->request->post('project_id')])
|
||||||
|
->andWhere(['title' => Yii::$app->request->post('title')])
|
||||||
|
->one();
|
||||||
|
|
||||||
|
if(empty($projectTaskCategory)) {
|
||||||
|
throw new NotFoundHttpException('The project not found');
|
||||||
|
}
|
||||||
|
|
||||||
|
$projectTaskCategory->title = Yii::$app->request->post('new_title');
|
||||||
|
if (!$projectTaskCategory->update() && $projectTaskCategory->hasErrors()) {
|
||||||
|
return $projectTaskCategory->errors;
|
||||||
|
}
|
||||||
|
return $projectTaskCategory;
|
||||||
|
}
|
||||||
|
|
||||||
public function actionCreate()
|
public function actionCreate()
|
||||||
{
|
{
|
||||||
$project = new Project();
|
$project = new Project();
|
||||||
|
Loading…
Reference in New Issue
Block a user