mirror of
https://github.com/snipe/snipe-it.git
synced 2024-12-26 06:04:08 -08:00
Rough refactor of the acceptance controller
Signed-off-by: snipe <snipe@snipe.net>
This commit is contained in:
parent
afb3843fad
commit
b7eb72fe49
|
@ -106,87 +106,92 @@ class AcceptanceController extends Controller
|
||||||
Storage::makeDirectory('private_uploads/signatures', 775);
|
Storage::makeDirectory('private_uploads/signatures', 775);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check for the eula-pdfs directory
|
||||||
|
*/
|
||||||
|
if (! Storage::exists('private_uploads/eula-pdfs')) {
|
||||||
|
Storage::makeDirectory('private_uploads/eula-pdfs', 775);
|
||||||
|
}
|
||||||
|
|
||||||
$sig_filename = '';
|
$sig_filename = '';
|
||||||
|
$item = $acceptance->checkoutable_type::find($acceptance->checkoutable_id);
|
||||||
|
$display_model = '';
|
||||||
|
$pdf_view_route = '';
|
||||||
|
$pdf_filename = 'accepted-eula-'.date('Y-m-d-h-i-s').'.pdf';
|
||||||
|
|
||||||
|
if ($request->input('asset_acceptance') == 'accepted') {
|
||||||
|
|
||||||
|
// The item was accepted, check for a signature
|
||||||
if ($request->filled('signature_output')) {
|
if ($request->filled('signature_output')) {
|
||||||
$sig_filename = 'siglog-'.Str::uuid().'-'.date('Y-m-d-his').'.png';
|
$sig_filename = 'siglog-'.Str::uuid().'-'.date('Y-m-d-his').'.png';
|
||||||
$data_uri = e($request->input('signature_output'));
|
$data_uri = e($request->input('signature_output'));
|
||||||
$encoded_image = explode(',', $data_uri);
|
$encoded_image = explode(',', $data_uri);
|
||||||
$decoded_image = base64_decode($encoded_image[1]);
|
$decoded_image = base64_decode($encoded_image[1]);
|
||||||
$acceptance->stored_eula_file = 'accepted-eula-'.date('Y-m-d-h-i-s').'.pdf';
|
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);
|
|
||||||
|
|
||||||
event(new CheckoutDeclined($acceptance));
|
|
||||||
|
|
||||||
$return_msg = trans('admin/users/message.declined');
|
|
||||||
}
|
|
||||||
|
|
||||||
$item = $acceptance->checkoutable_type::find($acceptance->checkoutable_id);
|
|
||||||
|
|
||||||
|
// this is horrible
|
||||||
if ($acceptance->checkoutable_type== 'App\Models\Asset') {
|
if ($acceptance->checkoutable_type== 'App\Models\Asset') {
|
||||||
$assigned_to = User::find($item->assigned_to);
|
$pdf_view_route ='account.accept.accept-asset-eula';
|
||||||
$asset_model = AssetModel::find($item->model_id);
|
$asset_model = AssetModel::find($item->model_id);
|
||||||
|
$display_model = $asset_model->name;
|
||||||
|
|
||||||
|
|
||||||
|
// } elseif ($acceptance->checkoutable_type== 'App\Models\License') {
|
||||||
|
// $pdf_view_route ='account.accept.accept-license-eula';
|
||||||
|
// $license = License::find($item->id);
|
||||||
|
// $display_model = $license->name;
|
||||||
|
|
||||||
|
} elseif ($acceptance->checkoutable_type== 'App\Models\Accessory') {
|
||||||
|
$pdf_view_route ='account.accept.accept-accessory-eula';
|
||||||
|
$accessory = Accessory::find($item->id);
|
||||||
|
$display_model = $accessory->name;
|
||||||
|
$assigned_to = User::find($item->assigned_to);
|
||||||
|
|
||||||
|
// } elseif ($acceptance->checkoutable_type== 'App\Models\Consumable') {
|
||||||
|
// $pdf_view_route ='account.accept.accept-consumable-eula';
|
||||||
|
// $consumable = Consumable::find($item->id);
|
||||||
|
// $display_model = $consumable->name;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gather the data for the PDF
|
||||||
|
*/
|
||||||
$branding_settings = SettingsController::getPDFBranding();
|
$branding_settings = SettingsController::getPDFBranding();
|
||||||
$data = [
|
$data = [
|
||||||
'item_tag' => $item->asset_tag,
|
'item_tag' => $item->asset_tag,
|
||||||
'item_model' => $asset_model->name,
|
'item_model' => $display_model,
|
||||||
'item_serial' => $item->serial,
|
'item_serial' => $item->serial,
|
||||||
'eula' => $item->getEula(),
|
'eula' => $item->getEula(),
|
||||||
'check_out_date' => Carbon::parse($acceptance->created_at)->format($branding_settings->date_display_format),
|
'check_out_date' => Carbon::parse($acceptance->created_at)->format($branding_settings->date_display_format),
|
||||||
'accepted_date' => Carbon::parse($acceptance->accepted_at)->format($branding_settings->date_display_format),
|
'accepted_date' => Carbon::parse($acceptance->accepted_at)->format($branding_settings->date_display_format),
|
||||||
'assigned_to' => $assigned_to->first_name . ' ' . $assigned_to->last_name,
|
'assigned_to' => $assigned_to,
|
||||||
'company_name' => $branding_settings->site_name,
|
'company_name' => $branding_settings->site_name,
|
||||||
'signature' => storage_path() . '/private_uploads/signatures/' . $sig_filename,
|
'signature' => storage_path() . '/private_uploads/signatures/' . $sig_filename,
|
||||||
'logo' => public_path() . '/uploads/' . $branding_settings->logo,
|
'logo' => public_path() . '/uploads/' . $branding_settings->logo,
|
||||||
'date_settings' => $branding_settings->date_display_format,
|
'date_settings' => $branding_settings->date_display_format,
|
||||||
];
|
];
|
||||||
$pdf = Pdf::loadView('account.accept.accept-asset-eula', $data);
|
|
||||||
Storage::put('private_uploads/eula-pdfs/' . $acceptance->stored_eula_file, $pdf->output());
|
|
||||||
|
|
||||||
$a = new Actionlog();
|
if ($pdf_view_route!='') {
|
||||||
$a->stored_eula = $item->getEula();
|
$pdf = Pdf::loadView($pdf_view_route, $data);
|
||||||
$a->stored_eula_file = $acceptance->stored_eula_file;
|
Storage::put('private_uploads/eula-pdfs/' .$pdf_filename, $pdf->output());
|
||||||
$a->save();
|
}
|
||||||
|
|
||||||
return redirect()->to('account/accept')->with('success', $return_msg);
|
$acceptance->accept($sig_filename, $item->getEula(), $pdf_filename);
|
||||||
|
event(new CheckoutAccepted($acceptance));
|
||||||
|
|
||||||
|
$return_msg = trans('admin/users/message.accepted');
|
||||||
|
|
||||||
|
} else {
|
||||||
|
$acceptance->decline($sig_filename);
|
||||||
|
event(new CheckoutDeclined($acceptance));
|
||||||
|
$return_msg = trans('admin/users/message.declined');
|
||||||
}
|
}
|
||||||
//
|
|
||||||
$accessory_user= DB::table('checkout_acceptances')->find($acceptance->assigned_to_id);
|
|
||||||
$assigned_to = User::find($accessory_user->assigned_to_id);
|
|
||||||
$accessory_model = Accessory::find($item->id);
|
|
||||||
$branding_settings = SettingsController::getPDFBranding();
|
|
||||||
$data = [
|
|
||||||
'item_tag' => $item->model_number,
|
|
||||||
'item_model' => $accessory_model->name,
|
|
||||||
'eula' => $item->getEula(),
|
|
||||||
'check_out_date' => Carbon::parse($acceptance->created_at)->format($branding_settings->date_display_format),
|
|
||||||
'accepted_date' => Carbon::parse($acceptance->accepted_at)->format($branding_settings->date_display_format),
|
|
||||||
// 'assigned_by' => self
|
|
||||||
'assigned_to' => $assigned_to->first_name . ' ' . $assigned_to->last_name,
|
|
||||||
'company_name' => $branding_settings->site_name,
|
|
||||||
'signature' => storage_path() . '/private_uploads/signatures/' . $sig_filename,
|
|
||||||
'logo' => public_path() . '/uploads/' . $branding_settings->logo,
|
|
||||||
'date_settings' => $branding_settings->date_display_format,
|
|
||||||
];
|
|
||||||
$pdf = Pdf::loadView('account.accept.accept-accessory-eula', $data);
|
|
||||||
Storage::put('private_uploads/eula-pdfs/' . $acceptance->stored_eula_file, $pdf->output());
|
|
||||||
|
|
||||||
$a = new Actionlog();
|
|
||||||
$a->stored_eula = $item->getEula();
|
|
||||||
$a->stored_eula_file = $acceptance->stored_eula_file;
|
|
||||||
$a->save();
|
|
||||||
|
|
||||||
return redirect()->to('account/accept')->with('success', $return_msg);
|
return redirect()->to('account/accept')->with('success', $return_msg);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in a new issue