diff --git a/app/Models/Account.php b/app/Models/Account.php index 1f89f5809..cfe72e9cc 100644 --- a/app/Models/Account.php +++ b/app/Models/Account.php @@ -368,6 +368,14 @@ class Account extends Eloquent return $this->hasMany('App\Models\TaxRate'); } + /** + * @return \Illuminate\Database\Eloquent\Relations\HasMany + */ + public function task_statuses() + { + return $this->hasMany('App\Models\TaskStatus')->orderBy('sort_order'); + } + /** * @return \Illuminate\Database\Eloquent\Relations\HasMany */ diff --git a/app/Ninja/Transformers/TaskStatusTransformer.php b/app/Ninja/Transformers/TaskStatusTransformer.php new file mode 100644 index 000000000..de7d94f55 --- /dev/null +++ b/app/Ninja/Transformers/TaskStatusTransformer.php @@ -0,0 +1,26 @@ +getDefaults($taskStatus), [ + 'id' => (int) $taskStatus->public_id, + 'name' => $taskStatus->name ?: '', + 'sort_order' => (int) $taskStatus->sort_order + 1, + ]); + } +} diff --git a/app/Ninja/Transformers/UserAccountTransformer.php b/app/Ninja/Transformers/UserAccountTransformer.php index 3db2e14f9..05b8a2049 100644 --- a/app/Ninja/Transformers/UserAccountTransformer.php +++ b/app/Ninja/Transformers/UserAccountTransformer.php @@ -63,6 +63,7 @@ class UserAccountTransformer extends EntityTransformer 'expense_categories', 'account_email_settings', 'custom_payment_terms', + 'task_statuses', ]; protected $tokenName; @@ -105,6 +106,18 @@ class UserAccountTransformer extends EntityTransformer return $this->includeCollection($this->account->users, $transformer, 'users'); } + /** + * @param Account $account + * + * @return \League\Fractal\Resource\Collection + */ + public function includeTaskStatuses(User $user) + { + $transformer = new TaskStatusTransformer($this->account, $this->serializer); + + return $this->includeCollection($this->account->task_statuses, $transformer, 'task_statuses'); + } + /** * @param Account $account *