%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\Admin\TaskLabel\StoreRequest;
use App\Models\Project;
use App\Models\Task;
use App\Models\TaskLabelList;
use Illuminate\Http\Request;
class TaskLabelController extends AccountBaseController
{
public function __construct()
{
parent::__construct();
$this->pageTitle = 'app.menu.taskLabel';
}
public function create()
{
$this->taskLabels = TaskLabelList::all();
$this->projects = Project::all();
$this->taskId = request()->task_id;
$this->projectId = request()->project_id;
return view('tasks.create_label', $this->data);
}
public function store(StoreRequest $request)
{
abort_403(user()->permission('task_labels') !== 'all');
$taskLabel = new TaskLabelList();
$this->storeLabel($request, $taskLabel);
if ($request->parent_project_id != '') {
$allTaskLabels = TaskLabelList::whereNull('project_id')->orWhere('project_id', $request->parent_project_id)->get();
} else {
$allTaskLabels = TaskLabelList::all();
}
if($request->task_id){
$task = Task::with('label')->findOrFail($request->task_id);
$currentTaskLable = $task->label;
}
else {
$currentTaskLable = collect([]);
}
$labels = '';
foreach ($allTaskLabels as $key => $value) {
$selected = '';
foreach ($currentTaskLable as $item){
if ($item->label_id == $value->id){
$selected = 'selected';
}
}
$labels .= '<option value="' . $value->id . '" data-content="<span class=\'badge badge-secondary\' style=\'background-color: ' . $value->label_color . '\'>' . $value->label_name . '</span>" '.$selected.'>' . $value->label_name . '</option>';
}
return Reply::successWithData(__('messages.recordSaved'), ['data' => $labels]);
}
public function update(Request $request, $id)
{
abort_403(user()->permission('task_labels') !== 'all');
$taskLabel = TaskLabelList::findOrFail($id);
$this->storeUpdate($request, $taskLabel);
if ($request->parent_project_id != '') {
$allTaskLabels = TaskLabelList::whereNull('project_id')->orWhere('project_id', $request->parent_project_id)->get();
} else {
$allTaskLabels = TaskLabelList::all();
}
$labels = '';
foreach ($allTaskLabels as $key => $value) {
$labels .= '<option value="' . $value->id . '" data-content="<span class=\'badge badge-secondary\' style=\'background-color: ' . $value->label_color . '\'>' . $value->label_name . '</span>">' . $value->label_name . '</option>';
}
return Reply::successWithData(__('messages.recordSaved'), ['data' => $labels]);
}
private function storeLabel($request, $taskLabel)
{
$taskLabel->label_name = trim($request->label_name);
$taskLabel->description = trim_editor($request->description);
$taskLabel->project_id = $request->project_id;
if ($request->has('color')) {
$taskLabel->color = $request->color;
}
$taskLabel->save();
return $taskLabel;
}
private function storeUpdate($request, $taskLabel)
{
if($request->label_name != null && $request->description != null)
{
$taskLabel->label_name = trim($request->label_name);
$taskLabel->description = trim_editor($request->description);
}
$taskLabel->project_id = $request->project_id;
if ($request->has('color')) {
$taskLabel->color = $request->color;
}
$taskLabel->save();
return $taskLabel;
}
public function destroy($id)
{
abort_403(user()->permission('task_labels') !== 'all');
TaskLabelList::destroy($id);
$allTaskLabels = TaskLabelList::all();
if(request()->taskId){
$task = Task::with('label')->findOrFail(request()->taskId);
$currentTaskLable = $task->label;
} else {
$currentTaskLable = collect([]);
}
$labels = '';
foreach ($allTaskLabels as $key => $value) {
$selected = '';
foreach ($currentTaskLable as $item){
if ($item->label_id == $value->id){
$selected = 'selected';
}
}
$labels .= '<option value="' . $value->id . '" data-content="<span class=\'badge badge-secondary\' style=\'background-color: ' . $value->label_color . '\'>' . $value->label_name . '</span>" '.$selected.'>' . $value->label_name . '</option>';
}
return Reply::successWithData(__('messages.recordSaved'), ['data' => $labels]);
}
public function labels($id)
{
$options = '';
if ($id == 0) {
$labels = TaskLabelList::whereNull('project_id')->get();
}
else{
$labels = TaskLabelList::where('project_id', $id)->orWhereNull('project_id')->get();
}
foreach ($labels as $item) {
$options .= '<option value="' . $item->id . '" data-content="<span class=\'badge badge-secondary\' style=\'background-color: ' . $item->label_color . '\'>' . $item->label_name . '</span>" >' . $item->label_name . '</option>';
}
return Reply::dataOnly(['status' => 'success', 'data' => $options]);
}
}