middleware('auth'); $this->_service = 'ums'; $this->_module = 'team'; $this->_viewname = 'team'; $this->_title = 'Teams'; $this->_base_url = '/team'; } protected function get_list_fields(){ return [ 'actions' => ['title' => 'Actions', 'buttons' => [ 'edit', 'delete', 'players' => ['icon' => 'account-multiple', 'querystring' => 'id={ID}'] ] ], 'name' => ['title' => 'Team Name', 'type' => 'text'], 'status' => ['title' => 'Status', 'type' => 'select'], ]; } protected function get_form_fields($type, $values){ $users = $this->getlambda('get', 'ums', 'hierarchy', 'dropdown'); $users_dd = []; foreach($users->data->items as $user){ $users_dd[$user->id] = $user->name . ' (' . $user->code . ')'; } return [ 'name' => ['title' => 'Team Name', 'type' => 'text', 'required' => true], 'status' => ['title' => 'Status', 'type' => 'select', 'required' => true, 'values' => ['active' => 'Active', 'disabled' => 'Disabled'] ], 'description' => ['title' => 'Description', 'type' => 'textarea', 'required' => true], 'slogal' => ['title' => 'Slogal', 'type' => 'textarea', 'required' => true], 'image' => ['title' => 'Team Image or Icon', 'type' => 'image', 'required' => true], 'mode' => ['title' => 'Team Mode', 'type' => 'select', 'required' => true, 'values' => ['normal' => 'Normal', 'hierarchical' => 'Hierarchical']], 'mapped_top_position' => ['title' => 'Team top position', 'type' => 'select', 'values' => $users_dd], ]; } protected function _beforesave($type, $request) { $data = $request->except('_token'); if( $request->file('image') ) { $data['image'] = $this->_uploadMedia($request, 'image', 'teams'); } return $data; } public function players(Request $request) { $id = $request->input('id'); $response = LambdaRequest::signedrequest('get', $this->_service, $this->_module.'/get_one', ['id' => $id, 'players' => true]); $players = []; foreach($response->data->players as $player) { $players[$player->parent_id][] = $player; } $users = $this->getlambda('get', 'ums', 'users', 'dropdown'); $users_dd = []; foreach($users->data->items as $user){ $users_dd[$user->id] = $user->firstname . ' ' . $user->lastname . ' (' . $user->employee_code . ')'; } //echo '
'; print_r($players); exit;
        return $this->view('players')->with([
            'title' => 'Team Players for Team: '.$response->data->item->name,
            'base_url' => $this->_base_url,
            'players' => $players,
            'team' => $response->data->item,
            'users' => $users_dd,
        ]);
    }

    public function postaddchild(Request $request) {
        $data = $request->except('_token');
        if($data['id'] != '') {
            $response = LambdaRequest::signedrequest('post', $this->_service, 'team/player_update', $data);
        } else {
            $response = LambdaRequest::signedrequest('post', $this->_service, 'team/player_create', $data);
        }
        if($response->statusCode == 200 && $response->status == "success") {
            return redirect('/team/players?id='.$data['team_id'])->withMessage('Successfully Saved !!!');
        } else {
            return \Redirect::back()->withMessage('Some Error occured!');
        }
    }

    public function player_delete(Request $request) {
        $id = $request->input('id', '');
        $response = LambdaRequest::signedrequest('get', $this->_service, 'team/player_delete', ['id' => $id]);
        //echo '
'; print_r($response); exit;
        if($response->statusCode == 200 && $response->status == "success") {
            //echo '
'; print_r($response); exit;
            return redirect($this->_base_url.'/players?id='.$response->data->item->team_id)->withMessage('Successfully Marked Deleted !!!');
        } else {
            return redirect($this->_base_url.'/players?id='.$response->data->item->team_id)->withError('Some Error occured! '. $response->body->message);
            //return \Redirect::back()->withMessage('Some Error occured!');
        }
    }
    
}