diff --git a/app/Http/Controllers/Account/AcceptanceController.php b/app/Http/Controllers/Account/AcceptanceController.php index 45b59f4ce2..bb5eaafe3d 100644 --- a/app/Http/Controllers/Account/AcceptanceController.php +++ b/app/Http/Controllers/Account/AcceptanceController.php @@ -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'); - } -} +} \ No newline at end of file diff --git a/app/Http/Controllers/ActionlogController.php b/app/Http/Controllers/ActionlogController.php index 31ac13dab5..2b3f6d6f5c 100644 --- a/app/Http/Controllers/ActionlogController.php +++ b/app/Http/Controllers/ActionlogController.php @@ -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); + } } diff --git a/app/Http/Controllers/Api/ReportsController.php b/app/Http/Controllers/Api/ReportsController.php index 1406dba791..815138654d 100644 --- a/app/Http/Controllers/Api/ReportsController.php +++ b/app/Http/Controllers/Api/ReportsController.php @@ -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'; diff --git a/app/Http/Transformers/ActionlogsTransformer.php b/app/Http/Transformers/ActionlogsTransformer.php index 7959157105..4e774ac581 100644 --- a/app/Http/Transformers/ActionlogsTransformer.php +++ b/app/Http/Transformers/ActionlogsTransformer.php @@ -112,7 +112,7 @@ class ActionlogsTransformer 'signature_file' => ($actionlog->accept_signature) ? route('log.signature.view', ['filename' => $actionlog->accept_signature ]) : null, 'log_meta' => ((isset($clean_meta)) && (is_array($clean_meta))) ? $clean_meta: null, 'action_date' => ($actionlog->action_date) ? Helper::getFormattedDateObject($actionlog->action_date, 'datetime'): Helper::getFormattedDateObject($actionlog->created_at, 'datetime'), - + 'stored_eula_file' => ($actionlog->stored_eula_file) ? route('log.storedeula.download', [ 'filename' => $actionlog->stored_eula_file]) : null, ]; return $array; diff --git a/resources/views/account/accept/accept-eula.blade.php b/resources/views/account/accept/accept-eula.blade.php new file mode 100644 index 0000000000..71a08169f2 --- /dev/null +++ b/resources/views/account/accept/accept-eula.blade.php @@ -0,0 +1,32 @@ + + +
+ + + +Date: {{ date('Y-m-d h:i') }}
+@if ($eula) + {!! $eula !!} +@endif + +