minor fixes

This commit is contained in:
omair saleh
2020-06-09 08:22:17 +08:00
parent 630a6e6364
commit 813ed7e99e
12 changed files with 115 additions and 6 deletions
@@ -52,7 +52,7 @@ abstract class AbstractControllerLogic
return $this->logic($request);
} catch (ErrorException $exception){
dd($exception->getMessage());
dd($exception);
return (new ApiResponseObject($this->getNotificationTitle().' failed', $exception->getMessage(), $exception->getCode()))->handler();
}
@@ -30,7 +30,7 @@ class CreatesProjectWorkFlow
public function execute($project) {
$first = true;
foreach($this->listsMilestones->handler(['project_type' => $project->type_id]) as $milestone){
foreach($this->listsMilestones->handler(['project_type' => $project->type_id, 'order_by' => json_decode(json_encode(['column' => 'order', 'DESC' => false]))]) as $milestone){
$newMilestone = ProjectMilestone::create(['project_id' => $project->id, 'name' => $milestone->name, 'order' => $milestone->order, 'complete' => false]);
foreach($milestone->tasks as $task){
/** @var Task $newTask */
@@ -10,6 +10,7 @@ use App\Http\Resources\TaskResource;
use ErrorException;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class ListTasksControllerLogic extends AbstractControllerLogic
{
@@ -53,8 +54,9 @@ class ListTasksControllerLogic extends AbstractControllerLogic
$this->canListTasks->passes();
$query = $this->listsTasks->execute($this->listsTasks->deserializeFilters($request->input('filters')));
// $query = $this->listsTasks->execute($this->listsTasks->deserializeFilters($request->input('filters')));
$query = Auth::user()->tasks->where('status', 7)->where('active', true);
return $this->collectionResponse(TaskResource::collection($query));
} catch (\Exception $exception){
@@ -0,0 +1,21 @@
<?php
namespace App\Http\Controllers\MilestoneTasks;
use App\Classes\ValueObjects\Constants\HttpStatus;
use App\Classes\ValueObjects\Response\ApiResponseObject;
use App\Models\MilestoneTask;
class MilestoneTaskOrderController
{
public function update(int $milestoneTaskId, string $type){
$milestoneTask = MilestoneTask::find($milestoneTaskId);
$type === 'up' ? $milestoneTask->moveOrderUp() : $milestoneTask->moveOrderDown();
return (new ApiResponseObject('Task Order Changed Successfully',
'You have successfully changed the task order',
HttpStatus::OK_WITH_MESSAGE, []))->handler();
}
}
@@ -0,0 +1,22 @@
<?php
namespace App\Http\Controllers\Milestones;
use App\Classes\ValueObjects\Constants\HttpStatus;
use App\Classes\ValueObjects\Response\ApiResponseObject;
use App\Models\Milestone;
class MilestoneOrderController
{
public function update(int $milestoneId, string $type){
$milestone = Milestone::find($milestoneId);
$type === 'up' ? $milestone->moveOrderUp() : $milestone->moveOrderDown();
return (new ApiResponseObject('Milestone Order Changed Successfully',
'You have successfully changed the milestone order',
HttpStatus::OK_WITH_MESSAGE, []))->handler();
}
}
@@ -0,0 +1,26 @@
<?php
namespace App\Http\Controllers\Tasks;
use App\Classes\ValueObjects\Constants\HttpStatus;
use App\Classes\ValueObjects\Response\ApiResponseObject;
use App\Models\ProjectMilestone;
use App\Models\Task;
use App\Models\TimeTracker;
use Carbon\Carbon;
use Illuminate\Support\Facades\Auth;
class TaskOrderController
{
public function start(int $taskId){
$task = Task::find($taskId);
$task->trackers()->attach(Auth::user()->getAuthIdentifier(), ['time_start' => Carbon::now()]);
return (new ApiResponseObject('Timer Started Successfully',
'You have successfully started the task timer',
HttpStatus::OK_WITH_MESSAGE, []))->handler();
}
}
+1 -1
View File
@@ -84,7 +84,7 @@ class Milestone extends AbstractModel implements Sortable
**/
public function tasks(): HasMany
{
return $this->HasMany(MilestoneTask::class, 'milestone_id', 'id');
return $this->HasMany(MilestoneTask::class, 'milestone_id', 'id')->orderBy('order');
}
}
+1 -1
View File
@@ -98,7 +98,7 @@ class Project extends AbstractModel
}
public function tasks(): hasManyThrough {
return $this->hasManyThrough(Task::class, ProjectMilestone::class, 'project_id', 'milestone_id');
return $this->hasManyThrough(Task::class, ProjectMilestone::class, 'project_id', 'milestone_id')->orderBy('order');
}
protected static function boot() {
+5
View File
@@ -71,4 +71,9 @@ class User extends AbstractModel implements
public function passwordReset(): HasMany {
return $this->hasMany(PasswordReset::class, 'user_id', 'id');
}
public function tasks()
{
return $this->morphToMany(Task::class, 'assignee', 'task_assignees', 'assignee_id', 'assignment_id');
}
}