198 lines
9.5 KiB
PHP
198 lines
9.5 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
use Illuminate\Http\Request;
|
|
use App\Http\Requests\LambdaRequest;
|
|
use DB;
|
|
use Auth;
|
|
use Log;
|
|
|
|
class NebmitratmmappingController extends Controller
|
|
{
|
|
public function __construct()
|
|
{
|
|
$this->middleware('auth');
|
|
$this->_service = 'ums';
|
|
$this->_module = 'hierarchy';
|
|
$this->_viewname = 'nebmitratmmapping';
|
|
$this->_title = 'Educator Manager to TM / RBM Mapping';
|
|
$this->_base_url = '/nebmitratmmapping';
|
|
|
|
$this->_table = 'nebmitratmmapping_to_tm_rbm_mappings';
|
|
}
|
|
|
|
protected function get_list_fields(){
|
|
return [
|
|
'actions' => ['title' => 'Actions', 'buttons' => [ 'edit', 'delete' ] ],
|
|
'nebmitra_name' => ['title' => 'Neb Mitra Name', 'type' => 'text'],
|
|
'nebmitra_employee_code' => ['title' => 'Neb Mitra Employee Code', 'type' => 'text'],
|
|
|
|
'tm_rbm_name' => ['title' => 'TM/ RBM Name', 'type' => 'text'],
|
|
'tm_rbm_employee_code' => ['title' => 'TM/ RBM Employee Code', 'type' => 'text'],
|
|
'position_name' => ['title' => 'Position Name', 'type' => 'text'],
|
|
'position_code' => ['title' => 'Position Code', 'type' => 'text'],
|
|
'manager_name' => ['title' => 'Manager Name', 'type' => 'text'],
|
|
|
|
//'status' => ['title' => 'Status', 'type' => 'select'],
|
|
];
|
|
}
|
|
|
|
public function list(Request $request) {
|
|
$role = json_decode(auth()->user()->roles);
|
|
Log::debug(print_r(auth()->user(), true));
|
|
$items = [];
|
|
// if(in_array("1650360330-5bf35594-674a-4f21-breathefree-4e23r8d213emanager", $role)) {
|
|
// $items = DB::table($this->_table)->select("id", "tm_name", "tm_employee_code", "em_name", "em_employee_code", "position_name", "position_code", "manager_name")->where('bf_em_user_id', auth()->user()->user_id )->get();
|
|
// } elseif(in_array("1687320562-2dbf6c1c-b542-4ef9-8abc-293f6bd3025a", $role) || in_array("1687320562-2dbf6c1c-b542-4ef9-houser-293f6bd3025a", $role)) {
|
|
// $items = DB::table($this->_table)->select("id", "tm_name", "tm_employee_code", "em_name", "em_employee_code", "position_name", "position_code", "manager_name")->where('bf_em_user_id', auth()->user()->user_id )->get();
|
|
// }
|
|
$items = DB::table($this->_table)->select("id", "nebmitra_name", "nebmitra_employee_code", "tm_rbm_name", "tm_rbm_employee_code", "position_name", "position_code", "manager_name")->get();
|
|
|
|
$fields = $this->get_list_fields();
|
|
return $this->view($this->_listtype)->with([
|
|
'title' => $this->_title,
|
|
'fields' => $fields,
|
|
'base_url' => $this->_base_url,
|
|
'items' => $items,
|
|
'buttons' => $this->get_list_buttons()
|
|
]);
|
|
}
|
|
|
|
public function form($type, $id = null) {
|
|
$values = [];
|
|
if($type == 'edit') {
|
|
$values = DB::table($this->_table)->where('id', $id)->first();
|
|
}
|
|
//echo '<pre>'; print_r($values); exit;
|
|
$data = $this->_beforeform($type, $values);
|
|
//$fields = $this->get_form_fields($type, $values);
|
|
|
|
$fields = [];
|
|
$allusers = $this->getlambda('get', 'catalog', 'activity', 'getteam3userlist');
|
|
//echo '<pre>'; print_r($allusers); exit;
|
|
// if(!in_array('1650360330-5bf35594-674a-4f21-breathefree-4e23r8d213emanager', json_decode(Auth::user()->roles)) ) {
|
|
// $ems_dd = [];
|
|
// foreach($allusers->data->em_users as $user){
|
|
// $ems_dd[$user->id] = $user->name . ' ('.$user->employee_code.')';
|
|
// }
|
|
// $fields['nebmitra_user_id'] = ['title' => 'Select Neb Mitra', 'type' => 'select', 'values' => $ems_dd, 'required' => true];
|
|
// } else {
|
|
// $fields['nebmitra_user_id'] = ['title' => 'Select Neb Mitra', 'type' => 'hidden', 'value' => auth()->user()->user_id];
|
|
// }
|
|
|
|
$ems_dd = [];
|
|
foreach($allusers->data->em_users as $user){
|
|
$ems_dd[$user->id] = $user->name . ' ('.$user->employee_code.')';
|
|
}
|
|
$fields['nebmitra_user_id'] = ['title' => 'Select Neb Mitra', 'type' => 'select', 'values' => $ems_dd, 'required' => true];
|
|
|
|
$users_dd = [];
|
|
foreach($allusers->data->tm_users as $user){
|
|
$users_dd[$user->id] = $user->name . ' ('.$user->employee_code.')';
|
|
}
|
|
|
|
//echo '<pre>'; print_r($users); exit;
|
|
$fields['tm_rbm_user_id'] = ['title' => 'Select TM / RBM', 'type' => 'select', 'values' => $users_dd, 'required' => true];
|
|
$fields['status'] = ['title' => 'Status', 'type' => 'select', 'required' => true, 'values' => ['active' => 'Active', 'disabled' => 'Disabled']];
|
|
|
|
$fields['additional_info'] = ['title' => 'Additional Information (Auto Filled)', 'type' => 'seperator', 'fullwidth' => 'yes'];
|
|
|
|
$fields['position_name'] = ['title' => 'Position Name', 'type' => 'text'];
|
|
$fields['position_code'] = ['title' => 'Position Code', 'type' => 'text'];
|
|
$fields['manager_name'] = ['title' => 'Manager Name', 'type' => 'text'];
|
|
|
|
return $this->view('form')->with([
|
|
'title' => $this->_title,
|
|
'mode' => $type,
|
|
'fields' => $fields,
|
|
'base_url' => $this->_base_url,
|
|
'item' => $values,
|
|
'tm_users' => $allusers->data->tm_users
|
|
]);
|
|
}
|
|
|
|
protected function get_form_fields($type, $values){
|
|
$fields = [];
|
|
$allusers = $this->getlambda('get', 'catalog', 'activity', 'getbfuserlist');
|
|
|
|
//echo '<pre>'; print_r($allusers); exit;
|
|
if(!in_array('1650360330-5bf35594-674a-4f21-breathefree-4e23r8d213emanager', json_decode(Auth::user()->roles)) ) {
|
|
$ems_dd = [];
|
|
foreach($allusers->data->em_users as $user){
|
|
$ems_dd[$user->id] = $user->firstname . ' ' . $user->lastname . ' ('.$user->employee_code.')';
|
|
}
|
|
$fields['bf_em_user_id'] = ['title' => 'Select Educator Manager', 'type' => 'select', 'values' => $ems_dd, 'required' => true];
|
|
}
|
|
|
|
$users_dd = [];
|
|
foreach($allusers->data->tm_users as $user){
|
|
$users_dd[$user->id] = $user->firstname . ' ' . $user->lastname . ' ('.$user->employee_code.')';
|
|
}
|
|
|
|
//echo '<pre>'; print_r($users); exit;
|
|
$fields['bf_tm_user_id'] = ['title' => 'Select TM', 'type' => 'select', 'values' => $users_dd, 'required' => true];
|
|
$fields['status'] = ['title' => 'Status', 'type' => 'select', 'required' => true, 'values' => ['active' => 'Active', 'disabled' => 'Disabled']];
|
|
return $fields;
|
|
}
|
|
|
|
public function save($type, $request ) {
|
|
try {
|
|
$data = $this->_beforesave($type, $request);
|
|
//echo '<pre>'; print_r($data); exit;
|
|
$user_details = $this->getlambda('post', 'catalog', 'activity', 'getteam3userdetails', ["bf_em_user_id"=>$data['nebmitra_user_id'], "bf_tm_user_id"=>$data['tm_rbm_user_id']]);
|
|
$user_details = (array)$user_details->data->response;
|
|
$data = array_merge($data, ['nebmitra_employee_code' => $user_details['em_employee_code'],
|
|
'nebmitra_name' => $user_details['em_name'],
|
|
'nebmitra_hierarchy_id' => $user_details['bf_em_hierarchy_id'],
|
|
'tm_rbm_employee_code' => $user_details['tm_employee_code'],
|
|
'tm_rbm_name' => $user_details['tm_name'],
|
|
'tm_rbm_hierarchy_id' => $user_details['bf_tm_hierarchy_id'],
|
|
] );
|
|
|
|
//echo '<pre>'; print_r($data); exit;
|
|
|
|
if($type == 'edit') {
|
|
DB::table($this->_table)->where('id', $data['id'])->update($data);
|
|
} else {
|
|
DB::table($this->_table)->insert($data);
|
|
}
|
|
return redirect($this->_base_url.'s')->withMessage('Successfully Saved !!!');
|
|
} catch (Exception $e) {
|
|
return redirect($this->_base_url.'s')->withError('Some Error occured! '. $e->getMessage());
|
|
}
|
|
}
|
|
|
|
|
|
protected function get_import_fields($records){
|
|
$domain = LambdaRequest::signedrequest('get', $this->_service, 'domain/get_one');
|
|
$designations_dd = [];
|
|
foreach($domain->data->item->designations as $designation){
|
|
$designations_dd[$designation] = $designation;
|
|
}
|
|
$types_dd = [];
|
|
foreach($domain->data->item->territory_types as $type){
|
|
$types_dd[$type] = $type;
|
|
}
|
|
$response = LambdaRequest::signedrequest('get', $this->_service, $this->_module.'/dropdown');
|
|
//echo '<pre>'; print_r($types_dd); exit;
|
|
$items = [];
|
|
foreach($response->data->items as $item) {
|
|
$items[$item->code] = $item->code;
|
|
}
|
|
foreach($records as $record) {
|
|
$items[$record['code']] = $record['code'];
|
|
}
|
|
|
|
return [
|
|
'type' => ['title' => 'Type', 'type' => 'select', 'values' => $types_dd, 'required' => true],
|
|
'name' => ['title' => 'Name', 'type' => 'text'],
|
|
'code' => ['title' => 'Code', 'type' => 'text', 'required' => true],
|
|
'parent' => ['title' => 'Parent', 'type' => 'select', 'values' => $items, 'required' => true],
|
|
'designation' => ['title' => 'Designation', 'type' => 'select', 'values' => $designations_dd, 'required' => true],
|
|
'email' => ['title' => 'Email', 'type' => 'text'],
|
|
'reportee' => ['title' => 'Reportee Email', 'type' => 'text'],
|
|
'level' => ['title' => 'Level', 'type' => 'text'],
|
|
];
|
|
}
|
|
}
|