bug fixes on activity log and array_key_first alt using reset
This commit is contained in:
@@ -82,14 +82,14 @@ class ClientsController extends Controller
|
||||
public function getClientJsonRawJs(Request $request){
|
||||
#$client_arr = new Models\Client;
|
||||
#$client_arr = $client_arr->with('auth_user_info','country_info', 'created_by_info', 'modified_by_info')->orderBy('name', 'ASC')->paginate(20);
|
||||
|
||||
//$this->log_query();
|
||||
$client_arr = \DB::table('clients')
|
||||
->join('auth_users AS aumngr', 'aumngr.id', '=', 'clients.auth_user_id')
|
||||
->join('auth_users AS aumodify', 'aumodify.id', '=', 'clients.last_modified_by')
|
||||
->select('clients.id', 'clients.name', 'clients.status', 'clients.country', 'aumngr.name As accountMgr', 'aumodify.name AS modifiedBy')
|
||||
->paginate(10);
|
||||
|
||||
if($request->has('keyword')){ // != ''
|
||||
if($request->has('keyword')){
|
||||
$keyword = $request->keyword;
|
||||
$client_arr = \DB::table('clients')
|
||||
->join('auth_users AS aumngr', 'aumngr.id', '=', 'clients.auth_user_id')
|
||||
@@ -156,6 +156,7 @@ class ClientsController extends Controller
|
||||
'industry' => 'required',
|
||||
'auth_user_id' => 'required', // account manager
|
||||
]);
|
||||
|
||||
$onboarding_stages = Models\ClientOnboardingMainStage::orderBy('stage_id')->get();
|
||||
// dd($onboarding_stages);
|
||||
$client_current_stages = [];
|
||||
@@ -219,7 +220,8 @@ class ClientsController extends Controller
|
||||
];
|
||||
$clients_onboarding_progress = Models\ClientOnboardingProgress::create($progress_arr);
|
||||
}
|
||||
if (in_array('3', $request->services)) {
|
||||
|
||||
if (in_array('USSD', $request->services)) {
|
||||
\Log::info('ussd client detected');
|
||||
$ussd_client_payment_arr = [
|
||||
'client_id' => $result->id,
|
||||
@@ -263,7 +265,7 @@ class ClientsController extends Controller
|
||||
|
||||
//dd($notes_arr);
|
||||
$result = Models\ClientNote::create($notes_arr);
|
||||
|
||||
// dd($result);
|
||||
$notes = Models\ClientNote::with('client_info', 'created_by_info')->find($result->id);
|
||||
//todo : send emails
|
||||
dispatch(new SendNewNotesEmailAlert($notes));
|
||||
@@ -606,6 +608,8 @@ class ClientsController extends Controller
|
||||
}
|
||||
|
||||
sort($networks_raw);
|
||||
|
||||
|
||||
$data = [
|
||||
'page_title' => 'Client Profile',
|
||||
'showclient' => $showclient,
|
||||
@@ -752,26 +756,30 @@ class ClientsController extends Controller
|
||||
|
||||
}
|
||||
|
||||
public function getShortCodes(){
|
||||
public function getShortCodes($type){
|
||||
//$auth_users = Models\SystemUser::pluck('name', 'id');
|
||||
|
||||
$voice_codes = Models\ClientShortCode::with('client_info', 'client_info', 'update_info')->where('code_type', 'voice')->get();
|
||||
$sms_codes = Models\ClientShortCode::with('client_info','client_info', 'update_info')->where('code_type', 'sms')->get();
|
||||
$ussd_codes = Models\ClientShortCode::with('client_info', 'client_info', 'update_info')->where('code_type', 'ussd')->get();
|
||||
//dd($voice_codes);
|
||||
|
||||
// dump($sms_codes[0]->last_updaed_by);
|
||||
// dd($auth_users[$sms_codes[0]->last_updaed_by]);
|
||||
|
||||
//todo : separate the short codes into individual pages
|
||||
switch ($type) {
|
||||
case 'sms':
|
||||
$codes_data = Models\ClientShortCode::with('client_info','client_info', 'update_info')->where('code_type', 'sms')->get();
|
||||
break;
|
||||
case 'ussd':
|
||||
$codes_data = Models\ClientShortCode::with('client_info', 'client_info', 'update_info')->where('code_type', 'ussd')->get();
|
||||
break;
|
||||
case 'voice':
|
||||
$codes_data = Models\ClientShortCode::with('client_info', 'client_info', 'update_info')->where('code_type', 'voice')->get();
|
||||
break;
|
||||
default:
|
||||
// code... show 404
|
||||
break;
|
||||
}
|
||||
$codes = Models\ClientShortCode::with('update_info')->get();
|
||||
|
||||
$data = [
|
||||
'page_title' => 'Client Short Codes',
|
||||
'voice_codes' => $voice_codes,
|
||||
'sms_codes' => $sms_codes,
|
||||
'ussd_codes' => $ussd_codes,
|
||||
'codes_data' => $codes_data,
|
||||
'type' => $type
|
||||
];
|
||||
// dd($data);
|
||||
return view('client.shortcodes', $data);
|
||||
}
|
||||
/**
|
||||
@@ -783,7 +791,6 @@ class ClientsController extends Controller
|
||||
public function edit($id)
|
||||
{
|
||||
$client = Models\Client::find($id);
|
||||
|
||||
$service_type = Models\Service::orderBy('name', 'ASC')->pluck('name', 'name');
|
||||
|
||||
$countries = Models\Country::orderBy('en_short_name', 'ASC')->pluck('en_short_name','en_short_name');
|
||||
@@ -977,8 +984,11 @@ class ClientsController extends Controller
|
||||
$pending_stage = Arr::where($onboarding_progress_stage, function ($value, $key) {
|
||||
return $value == "PENDING";
|
||||
});
|
||||
$pending_stage = array_key_first($pending_stage);
|
||||
|
||||
#$pending_stage = array_key_first($pending_stage);
|
||||
reset($pending_stage);
|
||||
$pending_stage = key($pending_stage);
|
||||
|
||||
if ($pending_stage == true) {
|
||||
//Pending Exist
|
||||
$client_update->progress_indicator = $pending_stage;
|
||||
@@ -1215,10 +1225,12 @@ class ClientsController extends Controller
|
||||
public function showOnboardingForm($client_id){
|
||||
$client = Models\Client::findOrFail($client_id);
|
||||
|
||||
|
||||
$onboarding_stages = Models\ClientOnboardingProgress::where('client_id', $client_id)->orderBy('stage_id')->get();
|
||||
//dd($onboarding_stages);
|
||||
$data = [
|
||||
'page_title' => 'Clients | Onboarding Checklist',
|
||||
'client' => $client
|
||||
'client' => $client,
|
||||
'onboarding_stages' => $onboarding_stages
|
||||
];
|
||||
return view('client.onboarding_show', $data);
|
||||
}
|
||||
|
||||
@@ -47,8 +47,10 @@ class Controller extends BaseController
|
||||
return $response;
|
||||
|
||||
}
|
||||
public function logUsersActivity($type, $content){
|
||||
$user_id = session('current_user.id');
|
||||
public function logUsersActivity($type, $content, $user_id = null){
|
||||
if($user_id == null){
|
||||
$user_id = session('current_user.id');
|
||||
}
|
||||
$activity_arr = [
|
||||
'type' => $type,
|
||||
'content' => $content,
|
||||
|
||||
17
app/Http/Controllers/Finance/DashboardController.php
Normal file
17
app/Http/Controllers/Finance/DashboardController.php
Normal file
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Finance;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
class DashboardController extends Controller
|
||||
{
|
||||
public function index(){
|
||||
$data = [
|
||||
'page_title' => 'Finance | Dashboard'
|
||||
];
|
||||
|
||||
return view('finance.dashboard', $data);
|
||||
}
|
||||
}
|
||||
@@ -12,7 +12,6 @@ class LoginController extends Controller
|
||||
$data = [
|
||||
'designation' => $designation
|
||||
];
|
||||
|
||||
return view('login.index', $data);
|
||||
}
|
||||
|
||||
@@ -35,10 +34,19 @@ class LoginController extends Controller
|
||||
\Log::info($logged_in->name . ' Successfully logged in at : ' . date('Y-m-d H:i:s'));
|
||||
$content = $logged_in->name . " Successfully Logged In";
|
||||
|
||||
$this->logUsersActivity($type = 'staff', $content);
|
||||
$this->logUsersActivity($type = 'staff', $content, $logged_in->id);
|
||||
$this->deleteLoggedUser();
|
||||
$this->storeLoggedUser();
|
||||
return redirect(url('/'));
|
||||
|
||||
switch ($logged_in->designation_info->name) {
|
||||
case 'Accounts & Finance':
|
||||
return redirect(url('finance'));
|
||||
break;
|
||||
|
||||
default:
|
||||
return redirect(url('/'));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public function handle_logout(Request $request) {
|
||||
@@ -51,7 +59,7 @@ class LoginController extends Controller
|
||||
$request->session()->flush();
|
||||
$request->session()->regenerate(true);
|
||||
|
||||
$this->logUsersActivity($type = 'staff', $content);
|
||||
$this->logUsersActivity($type = 'staff', $content, $user_id);
|
||||
|
||||
return redirect("/");
|
||||
}
|
||||
|
||||
10
app/Http/Controllers/TestingController.php
Normal file
10
app/Http/Controllers/TestingController.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class TestingController extends Controller
|
||||
{
|
||||
//
|
||||
}
|
||||
@@ -36,7 +36,41 @@ class UtilityController extends Controller
|
||||
$all_clients = Models\Client::get();
|
||||
$count_cl = 0;
|
||||
foreach ($all_clients as $row) {
|
||||
|
||||
$get_stage_subs_items = Models\ClientOnboardingSubItem::get();
|
||||
foreach ($get_stage_subs_items as $value) {
|
||||
$stage_id = ['stage_id' => $value->stage_id, 'client_id' => $row->id, 'name' => $value->name ];
|
||||
$progress_arr = [
|
||||
'status' => 'PENDING'
|
||||
];
|
||||
$clients_onboarding_progress = Models\ClientOnboardingProgress::updateOrCreate($stage_id, $progress_arr);
|
||||
}
|
||||
$count_cl++;
|
||||
}
|
||||
dump($count_cl);
|
||||
}
|
||||
function massOnboardingProgress($client_id){
|
||||
//todo : update
|
||||
/*
|
||||
-- client_onboarding_sub_items -- this holds all sub items
|
||||
-- client_onboarding_progress -- update to completed
|
||||
-- in the clients table
|
||||
-- onboarding_progress_stage == update to complete,
|
||||
-- progress_indicator to complete,
|
||||
-- progress_indicator_score to 100
|
||||
*/
|
||||
$get_stage_subs_items = Models\ClientOnboardingSubItem::get();
|
||||
foreach ($get_stage_subs_items as $value) {
|
||||
$progress_arr = [
|
||||
'stage_id' => $value->stage_id,
|
||||
'client_id' => $client_id,
|
||||
'name' => $value->name,
|
||||
'status' => 'COMPLETE'
|
||||
];
|
||||
$clients_onboarding_progress = Models\ClientOnboardingProgress::create($progress_arr);
|
||||
}
|
||||
$all_clients = Models\Client::get();
|
||||
$count_cl = 0;
|
||||
foreach ($all_clients as $row) {
|
||||
$get_stage_subs_items = Models\ClientOnboardingSubItem::get();
|
||||
foreach ($get_stage_subs_items as $value) {
|
||||
$stage_id = ['stage_id' => $value->stage_id, 'client_id' => $row->id, 'name' => $value->name ];
|
||||
@@ -50,3 +84,4 @@ class UtilityController extends Controller
|
||||
dump($count_cl);
|
||||
}
|
||||
}
|
||||
// https://www.tokyvideo.com/video/sheena-the-queen-of-the-jungle-1984-movie-with-tanya-roberts-ted-wass-donovan-scott
|
||||
21
app/Http/Middleware/CheckDesignation.php
Normal file
21
app/Http/Middleware/CheckDesignation.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
|
||||
class CheckDesignation
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure $next
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle($request, Closure $next)
|
||||
{
|
||||
//this idea is on hold ... i will put the logic in the login handler function
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
@@ -30,6 +30,7 @@ class NewMnoNotesEmailAlerts implements ShouldQueue
|
||||
*/
|
||||
public function handle(Mailer $mailer)
|
||||
{
|
||||
|
||||
$note = $this->note;
|
||||
$emails = ['samuel@click-mobile.com'];
|
||||
|
||||
@@ -39,6 +40,7 @@ class NewMnoNotesEmailAlerts implements ShouldQueue
|
||||
'services' => $note->services,
|
||||
'notes_body' => $note->notes_body
|
||||
];
|
||||
\Log::info($note->notes_body);
|
||||
$mailer->send('emails.new-mno-notes', $data, function ($message) use ($data, $emails) {
|
||||
$message->from('support@click-mobile.com', 'Click Mobile ERP');
|
||||
$message->to($emails)->subject('New Notes on Mobile Operators');
|
||||
|
||||
@@ -42,6 +42,10 @@ class SendNewNotesEmailAlert implements ShouldQueue
|
||||
'services' => $note->services,
|
||||
'notes_body' => $note->notes_body
|
||||
];
|
||||
|
||||
\Log::info("New notes for : " . $note->client_info->name);
|
||||
\Log::info("New notes triggered by : " . $note->created_by_info->name);
|
||||
\Log::info($note->notes_body);
|
||||
$mailer->send('emails.new-notes', $data, function ($message) use ($data, $emails) {
|
||||
$message->from('support@click-mobile.com', 'Click Mobile ERP');
|
||||
$message->to($emails)->subject('New Notes');
|
||||
|
||||
Reference in New Issue
Block a user