Skip to content

Package: tasks

Generated from api/packages/tasks

Source: api/packages/tasks · imported version 0.1.1. The sections after the README are extracted from the code on every docs build.

This package is used to manage user tasks. Users can create their own tasks or assign tasks to other system users.

Tasks can be marked as ready/not ready only by users who created the task. If the task is assigned to another user, a request is sent to checking the correctness of the task. The user sending the request then receives a notification of the task verification status.

Notes can be added to an assignment. Notes can be added by the task author or assigned user. Each note contains information about who created the note.

The packet also has a scheduled task that reminds you of overdue tasks. By default, the reminder period is set to 30 days. No notifications will be sent for tasks older than 30 days.

  • composer require ulams/tasks
  • php artisan migrate
  • php artisan db:seed --class="Ulams\Tasks\Database\Seeders\TaskPermissionSeeder"

In the configuration, you can specify the period until when notifications about overdue tasks should be sent. Parametr możesz określić z poziomu pliku config.php lub ustawień administracyjnych systemu. You can specify the parameter from the config.php file or system administration settings.

[
'notifications' => [
'overdue_period' => 14,
],
]

All the endpoints are defined in swagger

Test details Tests PHPUnit in environments

  • TaskAssignedEvent - The task has been assigned to the user.
  • TaskCompleteRequestEvent - A request has been sent to check the correctness of the task.
  • TaskCompleteUserConfirmationEvent - The task has been marked as correct.
  • TaskIncompleteEvent - The task has not been completed.
  • TaskOverdueEvent - Task overdue, time to complete task has run out.
  • TaskDeletedEvent - The task has been removed.
  • TaskUpdatedEvent - The task has been updated.
  • TaskNoteCreatedEvent - A note for the task has been created.

These events are listened to by the ulams/templates-email package, which sends emails. Additionally, notifications are stored in database.

Permissions are defined in seeder

Method Path Auth Action
POST /api/admin/tasks yes AdminTaskController@create
PATCH /api/admin/tasks/{id} yes AdminTaskController@update
DELETE /api/admin/tasks/{id} yes AdminTaskController@delete
POST /api/admin/tasks/complete/{id} yes AdminTaskController@complete
POST /api/admin/tasks/incomplete/{id} yes AdminTaskController@incomplete
GET /api/admin/tasks yes AdminTaskController@findAll
GET /api/admin/tasks/{id} yes AdminTaskController@find
POST /api/admin/tasks/notes yes AdminTaskNoteController@create
PATCH /api/admin/tasks/notes/{id} yes AdminTaskNoteController@update
DELETE /api/admin/tasks/notes/{id} yes AdminTaskNoteController@delete
POST /api/tasks yes TaskController@create
PATCH /api/tasks/{id} yes TaskController@update
DELETE /api/tasks/{id} yes TaskController@delete
POST /api/tasks/complete/{id} yes TaskController@complete
POST /api/tasks/incomplete/{id} yes TaskController@incomplete
GET /api/tasks yes TaskController@findAll
GET /api/tasks/{id} yes TaskController@find
POST /api/tasks/notes yes TaskNoteController@create
PATCH /api/tasks/notes/{id} yes TaskNoteController@update
DELETE /api/tasks/notes/{id} yes TaskNoteController@delete
Permission Seeded for roles Constant
task_create-own admin, student TaskPermissionEnum::CREATE_OWN_TASK
task_update-own admin, student TaskPermissionEnum::UPDATE_OWN_TASK
task_delete-own admin, student TaskPermissionEnum::DELETE_OWN_TASK
task_list-own admin, student TaskPermissionEnum::LIST_OWN_TASK
task_find-own admin, student TaskPermissionEnum::FIND_OWN_TASK
task_create admin TaskPermissionEnum::CREATE_TASK
task_update admin TaskPermissionEnum::UPDATE_TASK
task_delete admin TaskPermissionEnum::DELETE_TASK
task_list admin TaskPermissionEnum::LIST_TASK
task_find admin TaskPermissionEnum::FIND_TASK
task-note_create-own admin, student TaskPermissionEnum::CREATE_OWN_TASK_NOTE
task-note_update-own admin, student TaskPermissionEnum::UPDATE_OWN_TASK_NOTE
task-note_delete-own admin, student TaskPermissionEnum::DELETE_OWN_TASK_NOTE
task-note_create admin TaskPermissionEnum::CREATE_TASK_NOTE
task-note_update admin TaskPermissionEnum::UPDATE_TASK_NOTE
task-note_delete admin TaskPermissionEnum::DELETE_TASK_NOTE

Registered with AdministrableConfig::registerConfig (editable in the admin panel under Configuration → Settings).

Key Rules Public Read-only
ulams_tasks.notifications.overdue_period integer no
Event Description Notification templates
TaskAssignedEvent Email
TaskCompleteRequestEvent Email
TaskCompleteUserConfirmationEvent Email
TaskDeletedEvent
TaskIncompleteEvent Email
TaskNoteCreatedEvent Email
TaskOverdueEvent Email
TaskUpdatedEvent

None.

None.

Kind Target Frequency
job new OverdueTaskJob(0, config('ulams_tasks.notifications.overdue_period')) daily()

None.