updated client payment, file upload and notes
This commit is contained in:
@@ -11,6 +11,8 @@ use Illuminate\Support\Facades\Log;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Support\Facades\Config;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
class ClientsController extends Controller
|
||||
{
|
||||
@@ -363,14 +365,15 @@ class ClientsController extends Controller
|
||||
Log::info('ussd client detected');
|
||||
Models\UssdClientPayment::create([
|
||||
'client_id' => $result->id,
|
||||
'last_modified_by_id' => session('current_user.id')
|
||||
'last_modified_by_id' => Auth::user()->id
|
||||
]);
|
||||
}
|
||||
|
||||
$user_id = $auth_user->id;
|
||||
|
||||
Models\UserActivity::create([
|
||||
'type' => 'staff',
|
||||
'content' => session('current_user.name') . " added a new client ({$result->name}) successfully!",
|
||||
'user_id' => session('current_user.id'),
|
||||
'content' => Auth::user()->name . " added a new client ({$result->name}) successfully!",
|
||||
'user_id' => Auth::user()->id,
|
||||
'ip_address' => request()->ip(),
|
||||
'device' => $request->header('User-Agent')
|
||||
]);
|
||||
@@ -402,7 +405,7 @@ class ClientsController extends Controller
|
||||
$client = Models\Client::find($request->client_id);
|
||||
$document_arr['file_extension'] = $request->document->extension();
|
||||
$document_arr['file_reff'] = time() . uniqid();
|
||||
$document_arr['last_modified_by'] = session('current_user.id');
|
||||
$document_arr['last_modified_by'] = Auth::user()->id;
|
||||
|
||||
$result = Models\ClientFile::create($document_arr);
|
||||
|
||||
@@ -412,13 +415,64 @@ class ClientsController extends Controller
|
||||
else{
|
||||
$data = ['code' => 3, 'msg' => 'Your request could not be handled at this time'];
|
||||
}
|
||||
$user_id = session('current_user.id');
|
||||
$username = session('current_user.name');
|
||||
$user_id = Auth::user()->id;
|
||||
$username = Auth::user()->name;
|
||||
$content = "User ID : " . $user_id . " (" . $username . ") Document successfully uploaded for " . $client->name;
|
||||
$this->logUsersActivity($type = 'staff', $content);
|
||||
#$this->logUsersActivity($type = 'staff', $content);
|
||||
return response()->json($data, 200);
|
||||
|
||||
}
|
||||
public function storeDocument(Request $request)
|
||||
{
|
||||
$request->validate([
|
||||
'client_id' => 'required|exists:clients,id',
|
||||
'names' => 'required|array',
|
||||
'names.*' => 'required|string|max:255',
|
||||
'files' => 'required|array',
|
||||
'files.*' => 'required|file|mimes:pdf,doc,docx,jpg,png,xlsx|max:15360',
|
||||
]);
|
||||
// return response()->json(['message' => 'check check', 'data' => $request->all()]);
|
||||
foreach ($request->file('files') as $index => $file) {
|
||||
$customName = $request->names[$index];
|
||||
$filename = time() . '_' . uniqid() . '.' . $file->getClientOriginalExtension();
|
||||
|
||||
$file->storeAs('', $filename, 'client_files');
|
||||
Models\ClientFile::create([
|
||||
'client_id' => $request->client_id,
|
||||
'created_by' => Auth::user()->id,
|
||||
'name' => $customName,
|
||||
'file_path' => $filename,
|
||||
'file_extension' => $file->getClientOriginalExtension(),
|
||||
]);
|
||||
}
|
||||
|
||||
return response()->json(['message' => 'Documents uploaded successfully!']);
|
||||
}
|
||||
public function clientFiledownload($id)
|
||||
{
|
||||
$file = Models\ClientFile::findOrFail($id);
|
||||
|
||||
|
||||
$filePath = 'public/client_files/' . $file->file_path;
|
||||
$filename = basename($file->file_path);
|
||||
// dd($filePath);
|
||||
if (!Storage::disk('client_files')->exists($filename)) {
|
||||
abort(404, 'Document not found.');
|
||||
}
|
||||
|
||||
// This forces a download and names the file neatly for the user
|
||||
// $downloadName = $file->name . '.' . $file->file_extension;
|
||||
// dd($downloadName);
|
||||
|
||||
// 4. Construct a download name using the custom user title + the original extension
|
||||
$downloadName = Str::slug($file->name) . '.' . $file->file_extension;
|
||||
|
||||
// 5. Securely stream the file payload back to the browser
|
||||
return Storage::disk('client_files')->download($filename, $downloadName);
|
||||
|
||||
|
||||
return Storage::download($filePath, $downloadName);
|
||||
}
|
||||
public function getClientFile($id){
|
||||
$client_file = Models\ClientFile::with('client_info')->findOrFail($id);
|
||||
$file = public_path('documents/client_files/') . $client_file->file_path;
|
||||
@@ -438,7 +492,7 @@ class ClientsController extends Controller
|
||||
'invoice_date' => 'required',
|
||||
'invoice_status' => 'required',
|
||||
]);
|
||||
$auth_user = session('current_user');
|
||||
$auth_user = Auth::user();
|
||||
|
||||
if ($request->short_code !== null) {
|
||||
$check = is_numeric($request->short_code);
|
||||
@@ -447,14 +501,13 @@ class ClientsController extends Controller
|
||||
return response()->json($data, 200);
|
||||
}
|
||||
}
|
||||
|
||||
$finance_arr = [
|
||||
'invoice_number' => $request->invoice_number,
|
||||
'invoice_amount' => $request->invoice_amount,
|
||||
'invoice_date' => $request->invoice_date,
|
||||
'invoice_status' => $request->invoice_status,
|
||||
'short_code' => ($request->short_code) ? $request->short_code : "",
|
||||
'services' => implode(',', $request->services),
|
||||
'services' => $request->services, //implode(',', $request->services),
|
||||
'user_id' => $auth_user['id'],
|
||||
'client_id' => $request->client_id
|
||||
];
|
||||
@@ -478,10 +531,11 @@ class ClientsController extends Controller
|
||||
else{
|
||||
$data = ['code' => 3, 'msg' => 'Your request could not be handled at this time'];
|
||||
}
|
||||
$user_id = session('current_user.id');
|
||||
$username = session('current_user.name');
|
||||
$user_id = $auth_user->id;
|
||||
$username = $auth_user->name;
|
||||
|
||||
$content = "User ID : " . $user_id . " (" . $username . ") Added a payment record for : " . $client->name;
|
||||
$this->logUsersActivity($type = 'staff', $content);
|
||||
#$this->logUsersActivity($type = 'staff', $content);
|
||||
return response()->json($data, 200);
|
||||
}
|
||||
public function financeUpdate(Request $request){
|
||||
@@ -495,7 +549,7 @@ class ClientsController extends Controller
|
||||
'invoice_status' => 'required'
|
||||
]);
|
||||
|
||||
$auth_user = session('current_user');
|
||||
$auth_user = Auth::user();
|
||||
$payment = Models\ClientPayment::findOrFail($request->payment_id);
|
||||
|
||||
$payment->invoice_number = $request->invoice_number;
|
||||
@@ -516,7 +570,7 @@ class ClientsController extends Controller
|
||||
'invoice_date' => $request->invoice_date,
|
||||
'invoice_status' => $request->invoice_status,
|
||||
'short_code' => ($request->short_code) ? $request->short_code : "",
|
||||
'services' => implode(',', $request->services),
|
||||
'services' => $request->services, //implode(',', $request->services),
|
||||
'user_id' => $auth_user['id'],
|
||||
'client_id' => $request->client_id
|
||||
];
|
||||
@@ -533,10 +587,10 @@ class ClientsController extends Controller
|
||||
else{
|
||||
$data = ['code' => 3, 'msg' => 'Your request could not be handled at this time'];
|
||||
}
|
||||
$user_id = session('current_user.id');
|
||||
$username = session('current_user.name');
|
||||
$user_id = $auth_user->id;
|
||||
$username = $auth_user->name;
|
||||
$content = "User ID : " . $user_id . " (" . $username . ") updated an existing payment record for " . $client->name;
|
||||
$this->logUsersActivity($type = 'staff', $content);
|
||||
#$this->logUsersActivity($type = 'staff', $content);
|
||||
|
||||
|
||||
|
||||
@@ -546,7 +600,7 @@ class ClientsController extends Controller
|
||||
$request->validate([
|
||||
'client_id' => 'required',
|
||||
'network' => 'required',
|
||||
'shortcode' => 'required',
|
||||
'shortcode' => 'required|numeric|digits_between:3,7',
|
||||
'code_type' => 'required',
|
||||
'toll_free' => 'required',
|
||||
'status' => 'required',
|
||||
@@ -555,7 +609,7 @@ class ClientsController extends Controller
|
||||
'expiry_date' => 'required',
|
||||
'monthly_fee' => 'sometimes'
|
||||
]);
|
||||
$auth_user = session('current_user');
|
||||
$auth_user = Auth::user();
|
||||
|
||||
$shortcode_arr = [
|
||||
'name' => $request->name,
|
||||
@@ -565,7 +619,7 @@ class ClientsController extends Controller
|
||||
'shortcode' => $request->shortcode,
|
||||
'code_type' => $request->code_type,
|
||||
'toll_free' => $request->toll_free,
|
||||
'last_updated_by' => $auth_user['id'],
|
||||
'last_updated_by' => $auth_user->id,
|
||||
'launch_date' => $request->launch_date,
|
||||
'expiry_date' => $request->expiry_date,
|
||||
'status' => $request->status
|
||||
@@ -588,10 +642,11 @@ class ClientsController extends Controller
|
||||
else{
|
||||
$data = ['code' => 3, 'msg' => 'Your request could not be handled at this time'];
|
||||
}
|
||||
$user_id = session('current_user.id');
|
||||
$username = session('current_user.name');
|
||||
$user_id = $auth_user->id;
|
||||
$username = $auth_user->name;
|
||||
$content = "User ID : " . $user_id . " (" . $username . ") Added new short code for " . $client->name;
|
||||
$this->logUsersActivity($type = 'staff', $content);
|
||||
# active this later
|
||||
#$this->logUsersActivity($type = 'staff', $content);
|
||||
return response()->json($data, 200);
|
||||
}
|
||||
public function shortCodeUpdate(Request $request){
|
||||
@@ -607,7 +662,7 @@ class ClientsController extends Controller
|
||||
'launch_date' => 'required',
|
||||
'expiry_date' => 'required'
|
||||
]);
|
||||
$auth_user = session('current_user');
|
||||
$auth_user = Auth::user();
|
||||
$mnoCountry = $this->getMnoCountry($request->network);
|
||||
if ($mnoCountry == false) {
|
||||
$data = ['code' => 3, 'msg' => 'Your request could not be handled at this time'];
|
||||
@@ -641,11 +696,22 @@ class ClientsController extends Controller
|
||||
else{
|
||||
$data = ['code' => 3, 'msg' => 'Your request could not be handled at this time'];
|
||||
}
|
||||
$user_id = session('current_user.id');
|
||||
$username = session('current_user.name');
|
||||
$user_id = $auth_user->id;
|
||||
$username = $auth_user->name;
|
||||
$content = "User ID : " . $user_id . " (" . $username . ") updated short code enty for " . $request->short_code;
|
||||
$this->logUsersActivity($type = 'staff', $content);
|
||||
#$this->logUsersActivity($type = 'staff', $content);
|
||||
return response()->json($data, 200);
|
||||
}
|
||||
public function storeNote(Request $request)
|
||||
{
|
||||
$request->validate(['note' => 'required|string', 'client_id' => 'required|exists:clients,id']);
|
||||
|
||||
\App\Models\ClientNote::create($request->all());
|
||||
|
||||
return response()->json(['message' => 'Note added successfully!']);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
27
app/Http/Controllers/ServicesController.php
Normal file
27
app/Http/Controllers/ServicesController.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Support\Facades\Config;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class ServicesController extends Controller
|
||||
{
|
||||
|
||||
|
||||
|
||||
public function getServicesJson()
|
||||
{
|
||||
|
||||
$services = Models\Service::select('id', 'name')->get();
|
||||
|
||||
return response()->json($services);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user