mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/tickme.git
synced 2026-08-19 04:23:56 +00:00
minor fixes
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,8 @@
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="ist-item-heading truncate mb-0 w-xs-100 mt-0">
|
||||
<span class="align-middle d-inline-block">{{milestone.order}}</span>
|
||||
<span class="align-middle d-inline-block"><i class="iconsminds-arrow-down-in-circle text-danger pointer" @click="submit(route('api.milestone.order', data.id, 'down'), 'post', section, true, true)"></i></span>
|
||||
<span class="align-middle d-inline-block"><i class="iconsminds-arrow-up-in-circle text-success pointer" @click="submit(route('api.milestone.order', data.id, 'up'), 'post', section, true, true)"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -105,6 +106,7 @@
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
section: 'milestoneSection',
|
||||
milestone: this.data,
|
||||
}
|
||||
},
|
||||
@@ -112,6 +114,11 @@
|
||||
'data': function() {
|
||||
this.milestone = this.data;
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
successHandler(){
|
||||
this.updateList();
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -3,6 +3,23 @@
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-1">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class=" mb-1 w-xs-100 mt-0">
|
||||
<span class="align-middle d-inline-block text-muted text-small text-uppercase" style=" font-size: 9px !important; ">Order</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="ist-item-heading truncate mb-0 w-xs-100 mt-0">
|
||||
<span class="align-middle d-inline-block"><i class="iconsminds-arrow-down-in-circle text-danger pointer" @click="submit(route('api.milestone.task.order', data.id, 'down'), 'post', section, true, true)"></i></span>
|
||||
<span class="align-middle d-inline-block"><i class="iconsminds-arrow-up-in-circle text-success pointer" @click="submit(route('api.milestone.task.order', data.id, 'up'), 'post', section, true, true)"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-2">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
@@ -64,6 +81,7 @@
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
section: 'milestoneSection',
|
||||
milestoneTask: this.data,
|
||||
}
|
||||
},
|
||||
@@ -71,6 +89,11 @@
|
||||
'data': function() {
|
||||
this.milestoneTask = this.data;
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
successHandler(){
|
||||
this.updateList();
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -23,6 +23,9 @@ Route::group(['middleware' => 'api', 'prefix' => 'v1', 'as' => 'api.'], function
|
||||
Route::post('task/{id}/timer/stop', 'Tasks\TimeTrackerController@stop')->name('task.timer.stop');
|
||||
Route::post('task/{id}/complete', 'Tasks\TimeTrackerController@completeTask')->name('task.complete');
|
||||
|
||||
Route::post('milestone/{id}/{type}', 'Milestones\MilestoneOrderController@update')->name('milestone.order');
|
||||
Route::post('milestone/task/{id}/{type}', 'MilestoneTasks\MilestoneTaskOrderController@update')->name('milestone.task.order');
|
||||
|
||||
require __DIR__ . '/crud.php';
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user