%PDF- %GIF98; %PNG;
Server : ApacheSystem : Linux host.digitalbabaji.in 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64 User : addictionfreeind ( 1003) PHP Version : 7.2.34 Disable Function : exec,passthru,shell_exec,system Directory : /home/addictionfreeind/public_html/admin1/app/Http/Controllers/ |
Upload File : |
<?php
namespace App\Http\Controllers;
use App\Helper\Reply;
use App\Http\Requests\SubTask\StoreSubTask;
use App\Models\SubTask;
use App\Models\Task;
use Carbon\Carbon;
use Illuminate\Http\Request;
class SubTaskController extends AccountBaseController
{
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
$this->subTask = SubTask::with(['files'])->findOrFail($id);
return view('tasks.sub_tasks.edit', $this->data);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function show($id)
{
$this->subTask = SubTask::with(['files'])->findOrFail($id);
return view('tasks.sub_tasks.detail', $this->data);
}
/**
* @param StoreSubTask $request
* @return array
* @throws \Froiden\RestAPI\Exceptions\RelatedResourceNotFoundException
*/
public function store(StoreSubTask $request)
{
$this->addPermission = user()->permission('add_sub_tasks');
$task = Task::findOrFail($request->task_id);
$taskUsers = $task->users->pluck('id')->toArray();
abort_403(!(
$this->addPermission == 'all'
|| ($this->addPermission == 'added' && $task->added_by == user()->id)
|| ($this->addPermission == 'owned' && in_array(user()->id, $taskUsers))
|| ($this->addPermission == 'added' && (in_array(user()->id, $taskUsers) || $task->added_by == user()->id))
));
$subTask = new SubTask();
$subTask->title = $request->title;
$subTask->task_id = $request->task_id;
$subTask->description = trim_editor($request->description);
if ($request->start_date != '' && $request->due_date != '') {
$subTask->start_date = Carbon::createFromFormat($this->company->date_format, $request->start_date)->format('Y-m-d');
$subTask->due_date = Carbon::createFromFormat($this->company->date_format, $request->due_date)->format('Y-m-d');
}
$subTask->assigned_to = $request->user_id ? $request->user_id : null;
$subTask->save();
$task = $subTask->task;
$this->logTaskActivity($task->id, $this->user->id, 'subTaskCreateActivity', $task->board_column_id, $subTask->id);
return Reply::successWithData(__('messages.recordSaved'), [ 'subTaskID' => $subTask->id]);
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
$subTask = SubTask::findOrFail($id);
SubTask::destroy($id);
$this->task = Task::with(['subtasks', 'subtasks.files'])->findOrFail($subTask->task_id);
$view = view('tasks.sub_tasks.show', $this->data)->render();
return Reply::successWithData(__('messages.deleteSuccess'), ['view' => $view]);
}
public function changeStatus(Request $request)
{
$subTask = SubTask::findOrFail($request->subTaskId);
$subTask->status = $request->status;
$subTask->save();
$this->task = Task::with(['subtasks', 'subtasks.files'])->findOrFail($subTask->task_id);
$this->logTaskActivity($this->task->id, user()->id, 'subTaskUpdateActivity', $this->task ->board_column_id, $subTask->id);
$view = view('tasks.sub_tasks.show', $this->data)->render();
return Reply::successWithData('messages.updateSuccess', ['view' => $view]);
}
/**
* @param StoreSubTask $request
* @param int $id
* @return array
* @throws \Froiden\RestAPI\Exceptions\RelatedResourceNotFoundException
*/
public function update(StoreSubTask $request, $id)
{
$subTask = SubTask::findOrFail($id);
$subTask->title = $request->title;
$subTask->description = trim_editor($request->description);
$subTask->start_date = ($request->start_date != '') ? Carbon::createFromFormat($this->company->date_format, $request->start_date)->format('Y-m-d') : null;
$subTask->due_date = ($request->due_date != '') ? Carbon::createFromFormat($this->company->date_format, $request->due_date)->format('Y-m-d') : null;
$subTask->assigned_to = $request->user_id ? $request->user_id : null;
$subTask->save();
$task = $subTask->task;
$this->logTaskActivity($task->id, $this->user->id, 'subTaskUpdateActivity', $task->board_column_id, $subTask->id);
$this->task = Task::with(['subtasks', 'subtasks.files'])->findOrFail($subTask->task_id);
$view = view('tasks.sub_tasks.show', $this->data)->render();
return Reply::successWithData(__('messages.updateSuccess'), ['view' => $view]);
}
}