adds the ability to save eula pdfs to storage, still working on storing them in the DB and exposing them in the UI
This commit is contained in:
@@ -10,11 +10,11 @@ use App\Http\Controllers\Controller;
|
||||
use App\Models\CheckoutAcceptance;
|
||||
use App\Models\Company;
|
||||
use App\Models\Contracts\Acceptable;
|
||||
use Barryvdh\DomPDF\PDF;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use Illuminate\Support\Str;
|
||||
use Barryvdh\DomPDF\Facade\Pdf;
|
||||
|
||||
class AcceptanceController extends Controller
|
||||
{
|
||||
@@ -40,6 +40,7 @@ class AcceptanceController extends Controller
|
||||
{
|
||||
$acceptance = CheckoutAcceptance::find($id);
|
||||
|
||||
|
||||
if (is_null($acceptance)) {
|
||||
return redirect()->route('account.accept')->with('error', trans('admin/hardware/message.does_not_exist'));
|
||||
}
|
||||
@@ -96,20 +97,25 @@ class AcceptanceController extends Controller
|
||||
if (! Storage::exists('private_uploads/signatures')) {
|
||||
Storage::makeDirectory('private_uploads/signatures', 775);
|
||||
}
|
||||
|
||||
$sig_filename = '';
|
||||
|
||||
if ($request->filled('signature_output')) {
|
||||
$sig_filename = 'siglog-'.Str::uuid().'-'.date('Y-m-d-his').'.png';
|
||||
$data_uri = e($request->input('signature_output'));
|
||||
$encoded_image = explode(',', $data_uri);
|
||||
$decoded_image = base64_decode($encoded_image[1]);
|
||||
Storage::put('private_uploads/signatures/'.$sig_filename, (string) $decoded_image);
|
||||
$path = Storage::put('private_uploads/signatures/'.$sig_filename, (string) $decoded_image);
|
||||
}
|
||||
|
||||
if ($request->input('asset_acceptance') == 'accepted') {
|
||||
$acceptance->accept($sig_filename);
|
||||
|
||||
event(new CheckoutAccepted($acceptance));
|
||||
|
||||
$return_msg = trans('admin/users/message.accepted');
|
||||
|
||||
|
||||
} else {
|
||||
$acceptance->decline($sig_filename);
|
||||
|
||||
@@ -117,21 +123,24 @@ class AcceptanceController extends Controller
|
||||
|
||||
$return_msg = trans('admin/users/message.declined');
|
||||
}
|
||||
$sig_image=Storage::get('private_uploads/signatures/'.$sig_filename);
|
||||
$this->SignatureEulaPDF($acceptance, $sig_image );
|
||||
|
||||
$item = $acceptance->checkoutable_type::find($acceptance->checkoutable_id);
|
||||
|
||||
$data = [
|
||||
'item' => $item,
|
||||
'eula' => $item->getEula(),
|
||||
'signature' => storage_path().'/private_uploads/signatures/'.$sig_filename,
|
||||
'logo' => public_path().'/uploads/snipe-logo.png',
|
||||
];
|
||||
|
||||
\Log::error(storage_path().'/eula-pdfs/'.$sig_filename);
|
||||
|
||||
$pdf = Pdf::loadView('account.accept.accept-eula', $data);
|
||||
$stored_eula = Storage::put('private_uploads/eula-pdfs/accepted-eula-'.date('Y-m-d-h-i-s').'.pdf', $pdf->output());
|
||||
|
||||
//not sure what im doing here,but I think its something of this.
|
||||
route('log.storedeula.download', $stored_eula);
|
||||
|
||||
return redirect()->to('account/accept')->with('success', $return_msg);
|
||||
}
|
||||
|
||||
public function SignatureEulaPDF($acceptance, $sig_image)
|
||||
{
|
||||
// When I compact the $data I at least get back an ipsum string in the error message that is recognized as an
|
||||
// "unknown variable". 2nd param in load view should be the array of things you wanted rendered in the pdf.
|
||||
$data = [
|
||||
'eula'=> $acceptance->checkoutable->getEula(),
|
||||
'signature' => $sig_image,
|
||||
];
|
||||
$pdf = PDF::loadView('account.accept.create', compact($data));
|
||||
return $pdf->download('test.pdf');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -16,4 +16,11 @@ class ActionlogController extends Controller
|
||||
|
||||
return Response::make($contents)->header('Content-Type', $filetype);
|
||||
}
|
||||
|
||||
public function getStoredEula($filename){
|
||||
$this->authorize('view', \App\Models\Asset::class);
|
||||
$file = config('app.private_uploads').'/eula-pdfs/'.$filename;
|
||||
|
||||
return Response::download($file);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,6 +52,7 @@ class ReportsController extends Controller
|
||||
'accept_signature',
|
||||
'action_type',
|
||||
'note',
|
||||
'stored_eula_file',
|
||||
];
|
||||
|
||||
$sort = in_array($request->input('sort'), $allowed_columns) ? e($request->input('sort')) : 'created_at';
|
||||
|
||||
Reference in New Issue
Block a user