142 lines
4.7 KiB
PHP
142 lines
4.7 KiB
PHP
<?php
|
|
|
|
namespace App\Controllers;
|
|
|
|
use CodeIgniter\HTTP\IncomingRequest;
|
|
use CodeIgniter\HTTP\RequestInterface;
|
|
use CodeIgniter\HTTP\ResponseInterface;
|
|
use Psr\Log\LoggerInterface;
|
|
|
|
|
|
use App\Models\UserModel;
|
|
use App\Models\RoleModel;
|
|
use App\Models\TeamModel;
|
|
use App\Models\UserTeamsModel;
|
|
|
|
|
|
class UserController extends AdminController
|
|
{
|
|
|
|
public function list()
|
|
{
|
|
$model = new UserModel();
|
|
$data['UserList'] = $model->where('is_active', 1)->orderBy('id', 'DESC')->findAll();
|
|
echo view('layout/header');
|
|
echo view('AddUser');
|
|
echo view('UserList', $data);
|
|
echo view('layout/footer');
|
|
}
|
|
|
|
|
|
public function create()
|
|
{
|
|
$teams = $this->request->getPost('team');
|
|
//if this is get method return to user creation page
|
|
if(!$this->request->getPost()){
|
|
return redirect()->to(base_url('/user/list'));
|
|
}else{
|
|
|
|
//else do user insert operation
|
|
$userModel = new UserModel();
|
|
$File = fileUpload($this->request->getFile('profile'));
|
|
$userData = $this->request->getPost();
|
|
if(!empty($File)){
|
|
$userData['profile'] = $File;
|
|
}
|
|
|
|
// Inserting data into the 'users' table
|
|
$userData['created_by'] = get_session_userid();
|
|
unset($userData['team']);
|
|
$insert = $userModel->insert($userData);
|
|
if($insert){
|
|
$teamData['user_id'] = $insert ;
|
|
$UserTeamsModel = new UserTeamsModel();
|
|
foreach ($teams as $value) {
|
|
$teamData['team_id'] = $value;
|
|
$teamData['created_by'] = get_session_userid();
|
|
$UserTeamsModel->insert($teamData);
|
|
}
|
|
}
|
|
}
|
|
return redirect()->to(base_url('/user/list'));
|
|
}
|
|
|
|
public function getuser($id = null){
|
|
|
|
$model = new UserModel();
|
|
$RoleModel = new RoleModel();
|
|
$TeamModal = new TeamModel();
|
|
$UserTeamsModel = new UserTeamsModel();
|
|
|
|
$roleData = $RoleModel->select('id, role')->findAll();
|
|
$teamData = $TeamModal->select('id, name')->findAll();
|
|
$userTeamData = $UserTeamsModel->where('user_id', $id)->findAll();
|
|
$data = $model->getUserById($id);
|
|
if($data){
|
|
echo json_encode(array("status" => true , 'data' => $data, 'roleData' => $roleData, 'teamData' => $teamData, 'userTeamData' => $userTeamData));
|
|
}else{
|
|
echo json_encode(array("status" => false));
|
|
}
|
|
|
|
}
|
|
|
|
public function edit()
|
|
{
|
|
$teams = $this->request->getPost('team');
|
|
// echo '<pre>';
|
|
// print_r($this->request->getPost()); die;
|
|
if(!$this->request->getPost()){
|
|
return redirect()->to(base_url('/user/list'));
|
|
}else{
|
|
$userModel = new UserModel();
|
|
$id = $this->request->getPost('PrimaryKey');
|
|
$imageDetails = $userModel->find($id);
|
|
$File = fileUpload($this->request->getFile('profile'), (isset($imageDetails['profile']) ? $imageDetails['profile'] : null));
|
|
$userData = $this->request->getPost();
|
|
if(!empty($File)){
|
|
$userData['profile'] = $File;
|
|
}
|
|
|
|
// Update data in the 'users' table based on the $id
|
|
$userData['updated_by'] = get_session_userid();
|
|
unset($userData['PrimaryKey']);
|
|
$update = $userModel->update($id, $userData);
|
|
if($update){
|
|
$UserTeamsModel = new UserTeamsModel();
|
|
$UserTeamsModel->where('user_id', $id)->delete();
|
|
$teamData['user_id'] = $id ;
|
|
foreach ($teams as $value) {
|
|
$teamData['team_id'] = $value;
|
|
$teamData['created_by'] = get_session_userid();
|
|
$UserTeamsModel->insert($teamData);
|
|
}
|
|
}
|
|
return redirect()->to(base_url('/user/list'));
|
|
}
|
|
|
|
}
|
|
|
|
public function deactive($id = null)
|
|
{
|
|
$model = new UserModel();
|
|
$deactive = $model->where('id', $id)->set(['is_active' => 0])->update();
|
|
if($deactive)
|
|
{
|
|
echo json_encode(array("status" => true));
|
|
}else{
|
|
echo json_encode(array("status" => false));
|
|
}
|
|
}
|
|
|
|
public function getRolesAndTeams(){
|
|
|
|
$RoleModel = new RoleModel();
|
|
$TeamModal = new TeamModel();
|
|
|
|
$roleData = $RoleModel->select('id, role')->findAll();
|
|
$teamData = $TeamModal->select('id, name')->findAll();
|
|
echo json_encode(array("status" => true , 'roleData' => $roleData, 'teamData' => $teamData,));
|
|
|
|
}
|
|
}
|