routes eula agreements for download correctly to the asset history

This commit is contained in:
Godfrey M 2022-03-16 11:51:40 -07:00
parent 6386fa1c5e
commit 5fcc3c39f3
6 changed files with 19 additions and 49 deletions

View file

@ -107,7 +107,7 @@ class AcceptanceController extends Controller
$data_uri = e($request->input('signature_output'));
$encoded_image = explode(',', $data_uri);
$decoded_image = base64_decode($encoded_image[1]);
$acceptance->stored_eula_file = 'private_uploads/eula-pdfs/accepted-eula-'.date('Y-m-d-h-i-s').'.pdf';
$acceptance->stored_eula_file = 'accepted-eula-'.date('Y-m-d-h-i-s').'.pdf';
$path = Storage::put('private_uploads/signatures/'.$sig_filename, (string) $decoded_image);
}
@ -136,10 +136,9 @@ class AcceptanceController extends Controller
'logo' => public_path().'/uploads/snipe-logo.png',
];
\Log::error(storage_path().'/eula-pdfs/'.$sig_filename);
$pdf = Pdf::loadView('account.accept.accept-eula', $data);
Storage::put($acceptance->stored_eula_file, $pdf->output());
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;

View file

@ -8,7 +8,6 @@ use Response;
class ActionlogController extends Controller
{
public function displaySig($filename)
{
$this->authorize('view', \App\Models\Asset::class);
@ -18,4 +17,10 @@ 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);
}
}

View file

@ -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,
'stored_eula_file' => ($actionlog->stored_eula_file) ? route('log.storedeula.download', ['filename' => $actionlog->stored_eula_file]) : null,
];
return $array;

View file

@ -1093,51 +1093,12 @@
<th class="col-sm-2" data-visible="true" data-field="item" data-formatter="polymorphicItemFormatter">{{ trans('general.item') }}</th>
<th class="col-sm-2" data-visible="true" data-field="target" data-formatter="polymorphicItemFormatter">{{ trans('general.target') }}</th>
<th class="col-sm-2" data-field="note">{{ trans('general.notes') }}</th>
<th class="col-sm-1" data-field="stored_eula_file" data-visible="true" data-formatter="fileDownloadFormatter">{{ trans('general.accept_eula') }}</th>
<th class="col-sm-1" data-field="stored_eula_file" data-visible="true" data-formatter="downloadFormatter">{{ trans('general.accept_eula') }}</th>
<th class="col-md-3" data-visible="false" data-field="file" data-visible="false" data-formatter="fileUploadFormatter">{{ trans('general.download') }}</th>
<th class="col-sm-2" data-field="log_meta" data-visible="true" data-formatter="changeLogFormatter">{{ trans('admin/hardware/table.changed')}}</th>
</tr>
</thead>
@foreach($asset->assetlog as $log)
<tr>
<td><i class="{{ Helper::filetype_icon($log->filename) }} icon-med" aria-hidden="true"></i></td>
<td>
@if($log->created_at)
{{ Helper::getFormattedDateObject($file->created_at, 'datetime', false) }}
@endif
</td>
<td>
{{$log->user_id}}
</td>
<td>
{{$log->action_type}}
</td>
<td>
{{$log->item_type}}
</td>
<td>
{{$log->item_type}}
</td>
<td>
@if($log->note)
{{$log->note}}
@endif
</td>
<td>
@if($log->stored_eula_file)
{{$log->stored_eula_file}}
@endif
</td>
<td>
@if($log->file)
{{$log->file}}
@endif
</td>
<td>
{{$log->log_meta}}
</td>
</tr>
@endforeach
{{-- --}}
</table>
</div>
</div> <!-- /.row -->

View file

@ -613,6 +613,11 @@
return '<a href="' + value + '" data-toggle="lightbox" data-type="image"><img src="' + value + '" style="max-height: {{ $snipeSettings->thumbnail_max_h }}px; width: auto;" class="img-responsive" alt="' + altName + '"></a>';
}
}
function downloadFormatter(value) {
if (value) {
return '<a href="' + value + '" target="_blank"><i class="fas fa-download"></i></a>';
}
}
function fileUploadFormatter(value) {
if ((value) && (value.url) && (value.inlineable)) {

View file

@ -125,8 +125,8 @@ Route::group(['middleware' => 'auth'], function () {
[ActionlogController::class, 'displaySig']
)->name('log.signature.view');
Route::get(
'stored-eula-file/{$filename}/',
[\App\Http\Controllers\Api\ReportsController::class, 'getStoredEula']
'stored-eula-file/{filename}/',
[ActionlogController::class, 'getStoredEula']
)->name('log.storedeula.download');
});