Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 12
CRAP
0.00% covered (danger)
0.00%
0 / 277
UserDetailController
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 12
5112
0.00% covered (danger)
0.00%
0 / 277
 index
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 7
 userlistdata
0.00% covered (danger)
0.00%
0 / 1
1482
0.00% covered (danger)
0.00%
0 / 148
 create
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 1
 store
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 1
 show
0.00% covered (danger)
0.00%
0 / 1
342
0.00% covered (danger)
0.00%
0 / 80
 edit
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 1
 update
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 1
 destroy
0.00% covered (danger)
0.00%
0 / 1
20
0.00% covered (danger)
0.00%
0 / 15
 updateCheckbox
0.00% covered (danger)
0.00%
0 / 1
12
0.00% covered (danger)
0.00%
0 / 11
 showoptions
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 1
 profile
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 9
 getReportingManagerName
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 2
<?php
namespace App\Http\Controllers\Admin\UserDetails;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Models\Admin\attendanceRequest;
use App\Models\Auth\User;
use App\Models\Admin\UserDetail;
use App\Models\Admin\Department;
use App\Models\Admin\Organisation;
use App\Models\Admin\Team;
use App\Models\Admin\Shift;
use App\Models\Admin\UserAddress;
use App\Models\Admin\UserBankDetail;
use App\Models\Admin\UserDocumentDetail;
use Spatie\Permission\Models\Role;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Storage;
use Intervention\Image\Facades\Image;
use Session;
use Illuminate\Support\Facades\Crypt;
use App\Notifications\AppNotifications;
use Illuminate\Support\Facades\Auth;
use DB;
use Carbon\Carbon;
use App\Models\Leave\LeaveEntitlement;
use App\Helpers\GetShiftDetailHelper;
use App\Helpers\AttendanceHelper;
use App\Models\Admin\UserDetailUser;
use App\Models\Admin\UserDetailTeam;
class UserDetailController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index(request $request)
    {
        //dd();
        $title = '/Setup/Users';
        $backurl = route('home');
        /*$users = User::all();*/
        // For Attendance Marking
        $val = AttendanceHelper::getAttendanceMarkValue();
        $valTeam = AttendanceHelper::getAttendanceTeam($request);
        $valUser = AttendanceHelper::getAttendanceUser($request);
        return view('administrationForms.UserDetail.User.UserDetailTable', compact('title','backurl',
                    'val','valTeam','valUser'));
    }
    public function userlistdata(Request $request)
    {
        $requestType = "web";
        if($request->requestType){
            $requestType = $request->requestType;
        }
        $apiResponse = [];  
        $column_key = array("1"=>"user_details.employee_id","2"=>"name","3"=>"","4" =>"","5"=>"","6"=>"");
        $where_condition = "1 = 1";
        $order_key              =   $request->input('order')[0]['column'];
        $order                  =   $column_key[$order_key];
        $dir                    =   $request->input('order')[0]['dir'];
        if(trim($dir)==''){
            $dir = 'desc';
        }
        if ($order != '') {
            $orderBy = " ORDER BY ".$order." ".$dir;
        }
        if(null !==($request->input('search.value')) && trim($request->input('search.value'))!=''){
            $search = trim($request->input('search.value'));
            $ser_array = explode(" ",$search);
            if(count($ser_array) >=2){
                $where_condition .= " AND ((name Like '$ser_array[0]%') AND (lastName Like '%$ser_array[1]%') )";
            }else{
                $where_condition .= " AND ((name Like '$ser_array[0]%') OR (employee_id LIKE '$ser_array[0]%'))";
            }
            
        } 
        $count_model = User::join('user_details', 'users.id','=','user_details.user_id')->whereRaw($where_condition)->count();
        //dd($count_model);
        $total_app_count        =   $count_model;
        $totalFiltered          =   $count_model;
        $data_model = User::join('user_details', 'users.id','=','user_details.user_id')->whereRaw($where_condition)
              ->orderBy($order , $dir)
              ->offset( intval($request->input('start')))->limit(intval($request->input('length')))
              ->get();
         //dd($data_model->pluck('name'));
        $data = array();
        $nestedData = array();
         //for reporting_to column
        $userdetails = UserDetail::select('id', 'user_id','primary_reporting_manager_id')->get();
        $matchingUserIds = [];
        foreach ($userdetails as $userdetail) {
            $id = $userdetail->id;
            $userid = $userdetail->user_id;
            $primary_reporting_manager_id = $userdetail->primary_reporting_manager_id;
        
            $matchingUserIds[$userid] = UserDetailUser::where('user_detail_id', $id)
                ->pluck('user_id')
                ->toArray();
        
            if (isset($matchingUserIds[$userid])) {
                $matchingUserIds[$userid] = User::whereIn('id', $matchingUserIds[$userid])
                    ->pluck('name', 'id')
                    ->toArray();
                    //dd($matchingUserIds);
                if (isset($matchingUserIds[$userid][$primary_reporting_manager_id])) {
                    $matchingValue = $matchingUserIds[$userid][$primary_reporting_manager_id];
                    unset($matchingUserIds[$userid][$primary_reporting_manager_id]);
                    $matchingUserIds[$userid] = [$primary_reporting_manager_id => $matchingValue] + $matchingUserIds[$userid];
                }
            }
        
           // dd($matchingUserIds);
        }
        //dd($matchingValue);
        //for team
        
        $matchingUserIdss = [];
        foreach ($userdetails as $userdetail) {
            $id = $userdetail->id;
            $userid = $userdetail->user_id;
            
            $matchingUserIdss[$userid] = UserDetailTeam::where('user_detail_id', $id)
           ->pluck('team_id')
           ->toArray();
           if (isset($matchingUserIdss[$userid])) {
            $matchingUserIdss[$userid] = Team::whereIn('id', $matchingUserIdss[$userid])
                ->pluck('team')
                ->toArray();
            }
        }
        // $currentDate = '2023-06-11';
        // $usershift[$userId] = UserShift::where('user_id', $userId)
        // ->where('date', $currentDate)
        // ->pluck('shift_start')
        // ->toArray();
        //dd($matchingUserIds);
        if(count($data_model)>0){
            foreach($data_model as $database_model){
                $userApiResponse = [];
                $userApiResponse["user_id"] = $database_model->user_id;
                $userApiResponse["name"] = $database_model->name;
               // dd($database_model->user_id);
                $view_route =  route('user-details.show',$database_model->user_id);
                $userId = $database_model->user_id;
                $isChecked = User::select('is_checked')
                                    ->where('id', $userId)
                                    ->get();
                if ($isChecked[0]->is_checked == "1") {
                    $userStatus = 'Activate User'; 
                }else if($isChecked[0]->is_checked == "0"){
                    $userStatus = 'Deactivate User'; 
                }
                if(auth()->user()->can('Delete Users module'))
                {
                    $isused = '0';
                    $userIsPrimaryReportingManager = UserDetail::where('primary_reporting_manager_id',$database_model->user_id)->where('deleted_at',NULL)->get();
        
                    $userIsScondaryManager = GetShiftDetailHelper::checkUserIsSecondaryManager($database_model->user_id);
                     
                    if( count($userIsPrimaryReportingManager) > 0 || count($userIsScondaryManager) > 0)
                    {
                        $isused = '1';
                    }
                     $del = '<a href="#" onclick="deleteUser('.$database_model->user_id.','.$isused.')" style="color: #151414;">' . 'Delete User' . '</a>';
                }
                $edit =  route('user-tab.edit',$database_model->user_id);
                $delete = route('deleteuser',$database_model->user_id);
                // $delete_link=  onclick="'deleteUser',$database_model->user_id,$isused);
                // $tooltipText = @if(auth()->user()->can('Edit Users module'))'<a href="' . $edit . '" style="color: #151414;">' . 'Edit User' . '</a>'@endif .@if(auth()->user()->can('Delete Users module')) '<br>' . $del . '<br>'@endif . @if(auth()->user()->can('Activate/Deactivate Users module'))'<a class="checkboxroute" id="'.$database_model->user_id.'_status" onclick="updateCheckbox(' . $database_model->user_id . ');">' . $userStatus . '</a>'@endif;
                $tooltipText = '';
                if(auth()->user()->can('Edit Users module')) {
                    $tooltipText .= '<a href="' . $edit . '" style="color: #151414;">Edit User</a>';
                }
                if(auth()->user()->can('Delete Users module')) {
                    $tooltipText .= '<br>' . $del . '<br>';
                }
                if(auth()->user()->can('Activate/Deactivate Users module')) {
                    $tooltipText .= '<a class="checkboxroute" id="' . $database_model->user_id . '_status" onclick="updateCheckbox(' . $database_model->user_id . ');">' . $userStatus . '</a>';
                }
                $nestedData['name'] = '<a href="#users_view_modal" class="edit_tool" data-toggle="modal" title="View" data-href="'.$view_route.'">'.$database_model->name.' '.$database_model->lastName.'</a>
                <a class="ellipsis-button" style="float: right; font-weight: 900; cursor: pointer" onclick="showoptions(' . $database_model->user_id . ');">...</a>
                <span class="tooltiptexts ellipsis-button_'.$database_model->user_id.'" style="width: 60%; cursor: pointer; z-index: 1;">' . $tooltipText . '</span>';
                $role = Role::where('id','=',$database_model->role_id)->first();
                $nestedData['role'] = '-';
                $userDetails = UserDetail::select('id', 'user_id')->get();
                
                // $userIds = [];
                // foreach ($userDetails as $userDetail) {
                //     $userIds[] = $userDetail->id;
                // }
                // //dd($userIds);
                // $userDetails = UserDetailUser::where(function ($query) use ($userIds) {
                //     foreach ($userIds as $userId) {
                //         $query->orWhereIn('user_detail_id', [$userId]);
                //     }
                // })->get();
                //dd($userDetails);
                //$nestedData['reporting_to'] = $matchingUserIds;
                
                if(!empty($role)){
                    $nestedData['role'] = $role->name;
                }   
                if (isset($matchingUserIds[$database_model->user_id])) {
                    $names = array_values($matchingUserIds[$database_model->user_id]);
                    if (count($names) == 2) {
                        $managerNames = '<b>' . $names[0] . '</b>/' . $names[1];
                    } elseif (count($names) > 2) {
                        $limitedNames = array_slice($names, 0, 2);
                        $managerNames = '<b>' . $limitedNames[0] . '</b>/' . $limitedNames[1] . '/..';
                    }elseif (count($names) == 1) {
                        $managerNames = $names[0];
                    }  else {
                        $managerNames = '';
                    }
                    $nestedData['reporting_to'] = '<div class="tooltips">' . $managerNames . '<span class="tooltiptext">' . implode('/ ', $names) . '</span></div>';
                    
                }
                
                $userDetail = UserDetail::where('user_id','=',$database_model->user_id)->first();
               // $teams = Team::select('team')->leftJoin('team_user_detail','teams.id','=','team_user_detail.team_id')->where('team_user_detail.user_detail_id','=',$userDetailId->id)->first();
               //print_r($userDetail);
               //get user detail
               
               
               
            if(!empty($userDetail)){
                //primary team id
                $teamId = $userDetail->primary_team_id;
                $userData = User::where('id','=',$database_model->user_id)->first();
                //dd($teamId);
                $nestedData['team'] =  '-';
               // if(isset($teams) && !empty($teams))
                if($teamId != 0)
                {
                    //primary team name
                    if (isset($matchingUserIdss[$database_model->user_id])) {
                        $namess = $matchingUserIdss[$database_model->user_id];
                        $userInTeam = $userDetail->primaryTeamName->team;
                        $teamMembers = implode('/ ', $namess);
                        $tooltipText = $userInTeam;
                        $firstName = '';
                        if (!empty($teamMembers)) {
                          $names = explode(' ', $teamMembers);
                          $firstName = isset($names[0]) ? $names[0] : '';
                          $tooltipText .= '/ ' . $teamMembers;
                          if (count($names) > 1){
                            $nestedData['team'] = '<div class="tooltips"><b>' . $userInTeam . '</b>/' . $firstName . '<b>..</b><span class="tooltiptext">' . $tooltipText . '</span></div>';
                          }else{
                            $nestedData['team'] = '<div class="tooltips"><b>' . $userInTeam . '</b>/' . $firstName . '<span class="tooltiptext">' . $tooltipText . '</span></div>';
                          }
                        }
                        else{
                            $nestedData['team'] = '<div class="tooltips">' . $userInTeam . '<span class="tooltiptext">' . $tooltipText . '</span></div>';
                        }
                        
                        
                       // $nestedData['team'] = '<div class="tooltips">' . $userInTeam .'..'. '<span class="tooltiptext">' . $tooltipText . '</span></div>';
                                                                    } 
                //     $userInTeam = $userDetail->primaryTeamName->team;
                //    // dd($userInTeam);
                //     $nestedData['team'] =  $userInTeam;
                    //$nestedData['team'] = $teams->team;
                }
                // $nestedData['action'] = '-';
                // $edit_link = '';
                // if(auth()->user()->can('Edit Users module'))
                // {
                //     $edit_route =  route('user-tab.edit',$database_model->user_id);
                //     $edit_link = '<a href="'.$edit_route.'" data-original-title="Edit"> <i class="icon-pencil7" title="edit" style="color:#3699FF !important;"></i> </a>';
                //     $nestedData['action'] = $edit_link;
                // }
                // if(auth()->user()->can('Delete Users module'))
                // {
                //     $isused = '0';
                //     $userIsPrimaryReportingManager = UserDetail::where('primary_reporting_manager_id',$database_model->user_id)->where('deleted_at',NULL)->get();
                //     //print_r($userIsPrimaryReportingManager);
                //     $userIsScondaryManager = GetShiftDetailHelper::checkUserIsSecondaryManager($database_model->user_id);
                     
                //     if( count($userIsPrimaryReportingManager) > 0 || count($userIsScondaryManager) > 0)
                //     {
                //         $isused = '1';
                //     }
                //      $delete_route = route('deleteuser',$database_model->user_id);
                //      $delete_link = '<a href="#" title="Delete" data-original-title="Delete" style="padding-left: 5px"; onclick="deleteUser('.$database_model->user_id.','.$isused.');"><i class="icon-bin" style="color:#dc3545 !important;"></i></a>';
                //      $nestedData['action'] = $edit_link.'&nbsp;'.$delete_link;
                // }
                // if (auth()->user()->can('Edit Users module')) {
                //     $userId = $database_model->user_id;
                //     $isChecked = User::select('is_checked')
                //            ->where('id', $userId)
                //            ->get();
                //     $checkBox_link = '<a href="#" title="checkBox" data-original-title="checkBox" style="padding-left: 5px;">';
                //     $checkBox_link .= '<input type="checkbox" name="user_checkbox[]" value="' . $database_model->user_id . '" onclick="updateCheckbox(' . $database_model->user_id . ');"';
                
                //     if ($isChecked[0]->is_checked == "1") {
                //         $checkBox_link .= ' checked'; 
                //     }
                
                //     $checkBox_link .= '>';
                //     $checkBox_link .= '</a>';
                
                //     $nestedData['action'] = $edit_link . '&nbsp;' . $delete_link . '&nbsp;' . $checkBox_link;
                // }
                if($database_model->profile_pic){
                    $user_image = url('storage/'. $database_model->profile_pic);
                }else{
                    if($database_model->gender == 'Male') {
                        $user_image = url("global_assets/images/favicon_io/default-avatar-boy.png");
                    } else {
                        $user_image = url("global_assets/images/favicon_io/default-avatar-girl.jpg");
                    }
                }
                if(!empty($userDetail)){
                    $startDate = $userData->DOJ;
                    $endDate = $userData->DOE;
                }
                $show_image_container = '<span style="width: 110px;"><div class="img-screen"><img class="rounded-circle" src="'.$user_image.'" alt="No Image" style="width:50px;height:50px;overflow:hidden;"></div></span>';
                $nestedData['profile_image'] = $show_image_container;
                $nestedData['employee_id'] = $database_model->employee_id ? $database_model->employee_id: '--' ;
                $nestedData['where'] = $where_condition;
                $nestedData['DOJ'] = $userData->DOJ;
                $nestedData['DOE'] = $userData->DOE;
 
                $data[] = $nestedData;
                //print_r($data);
            }
            $apiResponse[] = $userApiResponse;
        }
       $json_data = array(
        "draw"            => intval( $request->input('draw')),
        "recordsTotal"    => intval( $total_app_count ),
        "recordsFiltered" => intval($total_app_count ),
        "data"            => $data,   // total data array
      );
      if($requestType=="web"){
        echo json_encode($json_data);exit;
      }
    }
    return $apiResponse;
    }
    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
    }
    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
    }
    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show(Request $request,$id)
    {
        $tab = 'user';
        $title = '/Setup/Edit Users';
        $user = User::find($id);
        $userPassword = $user->password;
        $userdetail = $user->userdetail;
        $user_addresses = $userdetail->userAddress;
        $user_bank_details = $userdetail->userBankdetail;
        $user_document_details = $userdetail->userDocumentdetail;
        //$departments = Department::all();
        // $departmentArr = $userdetail->departments;
        $departmentArr[0] = $userdetail->departments;
        $dname="";
        // Check if the collection is not empty before accessing its elements
        if (!$departmentArr[0]->isEmpty()) {
            $dname= $departmentArr[0]->first()->department;
        } 
        //$teams = Team::all();
        $teamArr =$userdetail->teams;
        //$roles = Role::all();
       // $roleArr = $userdetail->roles;
        //$shifts= Shift::all();
        $selectShift = $userdetail->shifts;
        //$attendances = attendanceRequest::all();
        $attendanceArr = $userdetail->attendanceRequests;
        //$organisations = Organisation::all();
        $editUserdetail = true;
        $users = User::all();
        $secondaryManagerArr = $userdetail->secondaryManager;
        //$employeeTeam = $user->userdetailWithTeam()->first() != null ? (count($user->userdetailWithTeam()->first()->teams) > 0 ? $user->userdetailWithTeam()->first()->teams[0]['team'] : ''): '-' ;
        $employeeTeam = !empty($user->userdetail->primaryTeamName->team)  ? $user->userdetail->primaryTeamName->team : '-';
        $leaves = DB::table('leaves')->whereNull('deleted_at')->get();
        $leaveBalances = [];
        foreach ($leaves as $leave) {
            $leaveEntitlementQuery = array(
                'user_id' => $user->id,
                'year' => Carbon::now()->year,
                'leave_id' => $leave->id
            );
            $leaveEntitlementArr = LeaveEntitlement::where($leaveEntitlementQuery)->get();
            $leaveBalance = null;
            foreach ($leaveEntitlementArr as $leaveEntitlement) {
                $leaveBalance = $leaveEntitlement->leave_balance;
            }
            if ($leaveBalance == null) {
                $leaveBalance = 0;
            }
            $leaveBalances[] = array(
                'id' => $leave->id,
                'name' => $leave->name,
                'abbr' => $leave->abbr,
                'leave_balance' => $leaveBalance
            );
            // $leaveBalances[$leave->id] =  $leaveBalance;
        }
        $employee_id = '';
        if(config('settings.default_employee_id') == 'automatic')
        {
            $startId = config('settings.id_starts_from');
            $prefix = config('settings.default_id');
            for ($i=$startId; $employee_id == '' ; $i++) {
                if (UserDetail::where('employee_id', '=', $prefix.$i)->exists())
                {
                }
                else
                {
                    $employee_id = $prefix.$i;
                    break;
                }
            }
        }
        $organisations = Organisation::where('id','=',$userdetail->organisation_id)->first();
        $orgname = '';
        if(!empty($organisations)){
            $orgname = $organisations->organisation;
        }
        
        // $teamname = array();
        // foreach($teamArr as $teamselect)
        // {
        //     $team = Team::where('id','=',$teamselect->id)->first();
        //     array_push($teamname, $team->team);
        // }
        // $teamname = implode(',', $teamname);
        $teamname = '';
        if(!empty($userdetail->primary_team_id)){
            $teamname = $userdetail->primaryTeamName->team;
        }
        $rolename = '';
        if(!empty($user->getRoleNames()->first())){
        $rolename = $user->getRoleNames()->first();
        }
        $shiftname = array();
        foreach($selectShift as $shiftelect)
        {
            $shift = Shift::where('id','=',$shiftelect->id)->first();
            array_push($shiftname, $shiftelect->shift);
        }
        $shiftname = implode(',', $shiftname);
        $attendancename = array();
        foreach($attendanceArr as $sattendanceselect)
        {
            $attendance = attendanceRequest::where('id','=',$sattendanceselect->id)->first();
            array_push($attendancename, $attendance->name);
        }
        $attendancename = implode(',', $attendancename);
        $reportingmanager = array();
        $primaryManager = $userdetail->primary_reporting_manager_id;
        $primaryReportingManager = '';
        if($primaryManager != 0 || $primaryManager != NULL){
            $primaryReportingManager = $userdetail->primaryReportingManager->name.' '.$userdetail->primaryReportingManager->lastName;
        }
        foreach($secondaryManagerArr as $secondaryManager)
        {
            if($primaryManager != $secondaryManager->id){
            $username = User::where('id','=',$secondaryManager->id)->first();
            $name = $username->name.' '.$username->lastName;
            array_push($reportingmanager, $name);
            }
        }
        $reportingmanager = implode(',', $reportingmanager);
        $val = AttendanceHelper::getAttendanceMarkValue();
        $valTeam = AttendanceHelper::getAttendanceTeam($request);
        $valUser = AttendanceHelper::getAttendanceUser($request);
        
        // return $leaveBalances;
       
        return view('administrationForms.UserDetail.User.ViewUserDetail', compact('user','userdetail','user_addresses','user_bank_details','orgname','editUserdetail','shiftname','teamname','dname','rolename','attendancename','reportingmanager','user_document_details','tab','leaveBalances','employee_id','employeeTeam','primaryReportingManager','val','valTeam','valUser'));
    }
    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
    }
    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
    }
    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy(Request $request)
    {
        $id = $request->id;
        $user= User::find($id);
        $userDetail= UserDetail::where('user_id', $user->id)->delete();
        $user_delete = $user->delete();
        if($user_delete){
            $title = "Account deactivated";
            $message = $user->name . ' ' . $user->lastName."'s account deactivated by ".Auth::user()->name . ' ' . Auth::user()->lastName;
            $actionUrl = null;
            $arr = null;
            $arr = [$title, $message, $actionUrl];
            $users = User::all();
            foreach ($users as $user) {
                if($user->can('Administration Module')){
                        $user->notify(new AppNotifications($arr));
               }
            }
        }
        return response()->json(['success_flag'=>1,'success_message'=>'User Deleted Successfully']); 
    }
    public function updateCheckbox(Request $request) {
        $userId = $request->input('id');
        $isChecked = User::select('is_checked')
                           ->where('id', $userId)
                           ->get();
        if ($isChecked[0]->is_checked == "0") {
            User::where('id', $userId)
                ->update(['is_checked' => "1"]);
        } else if($isChecked[0]->is_checked == "1") {
            User::where('id', $userId)
                ->update(['is_checked' => "0"]);
        }
        return response()->json(['message' => 'Checkbox updated successfully']);
    }
    public function showoptions(Request $request){
    }
    public function profile(Request $request)
    {
        $user =  $request->user();
        $data_model = User::join('user_details', 'users.id','=','user_details.user_id')->whereRaw("user_id=$user->id")
            ->join('teams','user_details.primary_team_id','=','teams.id')
            ->get();
        $data_model[0]["id"] = $user->id;
        $data_model[0]["primary_reporting_manager_id"] = 2;
        $data_model[0]["status"] = 200;
        $data_model[0]['reporting_manager_name'] = $this->getReportingManagerName((int)$data_model[0]["primary_reporting_manager_id"]);
        return json_encode($data_model[0]);
    }
    public function getReportingManagerName($userid)
    {
        $data_model = User::find($userid);
        return $data_model->name.' '.$data_model->lastName;
    }
}