bug fixes, AM change feature, refactoring
This commit is contained in:
@@ -15,6 +15,7 @@ use App\Http\Requests;
|
||||
use Carbon\Carbon;
|
||||
use App\Libs\PaperLessNgx;
|
||||
use Spatie\Activitylog\Models\Activity;
|
||||
use Config;
|
||||
|
||||
class ClientsController extends Controller
|
||||
{
|
||||
@@ -23,7 +24,7 @@ class ClientsController extends Controller
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index(){
|
||||
public function index(){
|
||||
$data = [
|
||||
'page_title' => 'Clients',
|
||||
'current_user' => session('current_user')
|
||||
@@ -715,7 +716,7 @@ class ClientsController extends Controller
|
||||
$country_networks = \DB::table('network_operators')->Select(\DB::raw('id, concat(name, " (", country, ")") AS network'))->orderBy('network')->pluck('network', 'network');
|
||||
// $country_networks = \DB::table('network_operators')->Select(\DB::raw('concat(name, " (", country, ")") AS network)')->orderBy('network')->get()->toArray();
|
||||
// $country_networks = \DB::table('network_operators')->Select(\DB::raw('concat(name, " (", country, ")") AS network)'))->pluck('network', 'network');
|
||||
|
||||
$auth_users = Models\SystemUser::orderBy('name', 'ASC')->pluck('name', 'id');
|
||||
$networks_raw = [
|
||||
'AirtelTigo GH' => 'AirtelTigo GH',
|
||||
'MTN GH' => 'MTN GH',
|
||||
@@ -814,6 +815,8 @@ class ClientsController extends Controller
|
||||
sort($networks_raw);
|
||||
$recurring_arr = ['NO' => 'NO', 'Monthly' => 'Monthly', 'Quarterly' => 'Quarterly', 'Semiannual' => 'Semiannual', 'Yearly' => 'Yearly'];
|
||||
$sender_id_statuses = ['Pending' => 'Pending', 'Inactive' => 'Inactive', 'Approved' => 'Approved'];
|
||||
$change_account_mgr_permisson = Config::get('permissions.CHANGE_ACCOUNT_MANAGERS');
|
||||
$change_account_mgr_permisson = ($this->hasAnyAccess([$change_account_mgr_permisson])) ? 'YES' : 'NO';
|
||||
$data = [
|
||||
'page_title' => 'Client Profile',
|
||||
'showclient' => $showclient,
|
||||
@@ -839,6 +842,8 @@ class ClientsController extends Controller
|
||||
'recurring_arr' => $recurring_arr,
|
||||
// 'client_sender_ids' => $client_sender_ids,
|
||||
// 'sender_id_statuses' => $sender_id_statuses,
|
||||
'change_account_mgr_permisson' => $change_account_mgr_permisson,
|
||||
'am_list_arr' => $auth_users,
|
||||
'country_network_arr' => $country_networks,
|
||||
'mnos_arr' => ['' => '-- Select Country first --']
|
||||
];
|
||||
@@ -1198,26 +1203,29 @@ class ClientsController extends Controller
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Requests\UpdateClientRequest $request, $id){
|
||||
// dd($request->all());
|
||||
// dump($request->all());
|
||||
// \DB::connection()->enableQueryLog();
|
||||
$client_update = Models\Client::find($id);
|
||||
// dump($client_update->progress_indicator);
|
||||
$paperless = new PaperLessNgx();
|
||||
if ($client_update->progress_indicator != 'COMPLETED') {
|
||||
$current_pending_stage_details = Models\ClientOnboardingMainStage::where('stage', $request->current_pending_stage)->first();
|
||||
$get_stage_subs_items = Models\ClientOnboardingSubItem::where('stage_id', $current_pending_stage_details->stage_id)->get();
|
||||
#update the table for onboarding progress
|
||||
foreach ($request->onboarding_sub_items_progress as $value) {
|
||||
$stage_id = [
|
||||
'stage_id' => $current_pending_stage_details->stage_id,
|
||||
'client_id' => $id,
|
||||
'name' => $value
|
||||
];
|
||||
$progress_arr = [
|
||||
'status' => 'COMPLETED'
|
||||
];
|
||||
$clients_onboarding_progress = Models\ClientOnboardingProgress::updateOrCreate($stage_id, $progress_arr);
|
||||
// dump($request->onboarding_sub_items_progress);
|
||||
if ($request->onboarding_sub_items_progress) {
|
||||
foreach ($request->onboarding_sub_items_progress as $value) {
|
||||
$stage_id = [
|
||||
'stage_id' => $current_pending_stage_details->stage_id,
|
||||
'client_id' => $id,
|
||||
'name' => $value
|
||||
];
|
||||
$progress_arr = [
|
||||
'status' => 'COMPLETED'
|
||||
];
|
||||
$clients_onboarding_progress = Models\ClientOnboardingProgress::updateOrCreate($stage_id, $progress_arr);
|
||||
}
|
||||
}
|
||||
|
||||
//update the status of onboarding progress stage in clients
|
||||
$get_stage_onboarding_status = Models\ClientOnboardingProgress::where('client_id', $id)->where('stage_id', $current_pending_stage_details->stage_id)->where('status', 'COMPLETED')->get();
|
||||
$onboarding_progress_stage = json_decode($client_update->onboarding_progress_stage, true);
|
||||
@@ -1450,6 +1458,45 @@ class ClientsController extends Controller
|
||||
$result = Models\ClientCategory::create($client_arr);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
public function changeAccountManagers(Request $request){
|
||||
|
||||
$new_account_manager = Models\SystemUser::find($request->account_manager);
|
||||
|
||||
$client = Models\Client::with('auth_user_info')->find($request->client_id);
|
||||
$client->auth_user_id = $request->account_manager;
|
||||
$client->last_modified_by = session('current_user.id');
|
||||
$result = $client->save();
|
||||
|
||||
if ($result) {
|
||||
|
||||
$log_text = session('current_user.name') . " changed the account manager of ";
|
||||
$log_text .= " " . $client->name . " from " . $client->auth_user_info->name;
|
||||
$log_text .= " to " . $new_account_manager->name;
|
||||
|
||||
$activity_arr = [
|
||||
'type' => 'staff',
|
||||
'content' => $log_text,
|
||||
'user_id' => session('current_user.id'),
|
||||
'ip_address' => \Request::ip(),
|
||||
'device' => $request->header('User-Agent')
|
||||
];
|
||||
$retval = Models\UserActivity::create($activity_arr);
|
||||
|
||||
$user_id = session('current_user.id');
|
||||
$username = session('current_user.name');
|
||||
$content = $log_text;
|
||||
$this->logUsersActivity($type = 'staff', $content);
|
||||
|
||||
$data = ['code' => 1, $msg = 'success'];
|
||||
return response()->json($data, 200);
|
||||
}
|
||||
else{
|
||||
$data = ['code' => 3, $msg = 'fail'];
|
||||
return response()->json($data, 200);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
public function storeFiles(AddFilesRequest $request){
|
||||
$document_arr = $request->except('document');
|
||||
|
||||
Reference in New Issue
Block a user