Backend for file uploads attached to any generic model, initially on aircraft and airports #226

This commit is contained in:
Nabeel Shahzad
2018-04-01 18:02:12 -05:00
parent 793b3e7134
commit e358b8706f
19 changed files with 437 additions and 38 deletions

View File

@@ -1,19 +1,28 @@
@extends('admin.app')
@section('title', "Edit \"$aircraft->name\"")
@section('content')
<div class="card border-blue-bottom">
<div class="content">
{{ Form::model($aircraft, ['route' => ['admin.aircraft.update', $aircraft->id], 'method' => 'patch']) }}
@include('admin.aircraft.fields')
{{ Form::close() }}
<div class="card border-blue-bottom">
<div class="content">
{{ Form::model($aircraft, ['route' => ['admin.aircraft.update', $aircraft->id], 'method' => 'patch']) }}
@include('admin.aircraft.fields')
{{ Form::close() }}
</div>
</div>
</div>
<div class="card border-blue-bottom">
<div class="content">
@include('admin.aircraft.expenses')
<div class="card border-blue-bottom">
<div class="content">
@include('admin.aircraft.expenses')
</div>
</div>
<div class="card border-blue-bottom">
<div class="content">
@include('admin.common.file_upload', [
'model' => $aircraft,
'redirect' => route('admin.aircraft.edit', ['id' => $aircraft->id])
])
</div>
</div>
</div>
@endsection
@include('admin.aircraft.script')

View File

@@ -18,5 +18,14 @@
@include('admin.airports.expenses')
</div>
</div>
<div class="card border-blue-bottom">
<div class="content">
@include('admin.common.file_upload', [
'model' => $airport,
'redirect' => route('admin.airports.edit', ['id' => $airport->id])
])
</div>
</div>
@endsection
@include('admin.airports.script')

View File

@@ -0,0 +1,75 @@
{{--
Pass in:
$model - The model instance this belongs to, e.g: ['model' => $airport]
$redirect - Where to go to
--}}
<div id="airport-files-wrapper">
<div class="header">
<h3>files</h3>
</div>
{{-- Show all the files here --}}
<table class="table table-hover table-responsive">
@if(count($model->files))
<thead>
<tr>
<td>Name</td>
<td>Current File</td>
<td class="text-right"></td>
</tr>
</thead>
@endif
<tbody>
@foreach($model->files as $file)
<tr>
<td>{{ $file->name }}</td>
<td><a href="{{ $file->url }}" target="_blank">Link to file</a></td>
<td class="text-right">
{{ Form::open(['route' => ['admin.files.delete', $file->id], 'method' => 'delete']) }}
{{ Form::hidden('id', $file->id) }}
{{ Form::hidden('redirect', $redirect) }}
{{ Form::button('<i class="fa fa-times"></i>', [
'type' => 'submit',
'class' => 'btn btn-sm btn-danger btn-icon',
'onclick' => "return confirm('Are you sure?')"])
}}
{{ Form::close() }}
</td>
</tr>
@endforeach
</tbody>
</table>
<hr>
<div class="row">
<div class="col-12">
<div class="text-right">
{{ Form::open([
'url' => route('admin.files.store'),
'method' => 'POST',
'class' => 'form-inline',
'files' => true
])
}}
{{-- Fields for the model --}}
{{ Form::hidden('ref_model', get_class($model)) }}
{{ Form::hidden('ref_model_id', $model->id) }}
{{ Form::hidden('redirect', $redirect) }}
{{ Form::label('name', 'Name:') }}&nbsp;<span class="required">*</span>
{{ Form::text('name', null, ['class' => 'form-control']) }}
{{ Form::file('file', ['class' => 'form-control']) }}
{{ Form::submit('Upload', ['class' => 'btn btn-success']) }}
<p class="text-danger">{{ $errors->first('name') }}</p>
<p class="text-danger">{{ $errors->first('file') }}</p>
{{ Form::close() }}
</div>
</div>
</div>
</div>