Update supplier details to use form helpers, and added in api settings

This commit is contained in:
Deon George 2022-08-06 00:22:22 +10:00
parent ae3f97d890
commit a1fd36aa6f
7 changed files with 128 additions and 128 deletions

View File

@ -19,7 +19,7 @@ class SupplierController extends Controller
{
$this->middleware(['auth','wholesaler']);
foreach ($request->except(['_token','supplier_details','submit']) as $key => $item)
foreach ($request->except(['_token','supplier_details','api_key','api_secret','submit']) as $key => $item)
$o->{$key} = $item;
$o->active = (bool)$request->active;
@ -37,10 +37,14 @@ class SupplierController extends Controller
foreach ($request->get('supplier_details',[]) as $key => $item)
$oo->{$key} = $item;
$oo->connections = $oo->connections->merge([
'api_key'=>$request->get('api_key'),
'api_secret'=>$request->get('api_secret'),
])->filter();
$o->detail()->save($oo);
return redirect()->back()
->with('success','Supplier saved');
->with('success','Supplier Saved');
}
/**

View File

@ -39,6 +39,8 @@ class SupplierAddEdit extends FormRequest
'supplier_details.accounts' => 'nullable|email',
'supplier_details.support' => 'nullable|email',
'supplier_details.payments' => 'nullable|string|min:3',
'api_key' => 'nullable|string|min:3',
'api_secret' => 'nullable|string|min:3',
];
}
}

22
composer.lock generated
View File

@ -3377,11 +3377,11 @@
},
{
"name": "leenooks/laravel",
"version": "9.2.4",
"version": "9.2.5",
"source": {
"type": "git",
"url": "https://dev.leenooks.net/leenooks/laravel",
"reference": "61f38aefe78b4d8af630aee8c50271e50084d63c"
"reference": "d494400e7eae16626016c6165acf89c18333ff1b"
},
"require": {
"creativeorange/gravatar": "^1.0",
@ -3420,7 +3420,7 @@
"laravel",
"leenooks"
],
"time": "2022-08-03T06:32:38+00:00"
"time": "2022-08-05T14:19:20+00:00"
},
{
"name": "leenooks/laravel-theme",
@ -5596,16 +5596,16 @@
},
{
"name": "stella-maris/clock",
"version": "0.1.4",
"version": "0.1.5",
"source": {
"type": "git",
"url": "https://gitlab.com/stella-maris/clock.git",
"reference": "8a0a967896df4c63417385dc69328a0aec84d9cf"
"url": "git@gitlab.com:stella-maris/clock.git",
"reference": "447879c53ca0b2a762cdbfba5e76ccf4deca9158"
},
"dist": {
"type": "zip",
"url": "https://gitlab.com/api/v4/projects/stella-maris%2Fclock/repository/archive.zip?sha=8a0a967896df4c63417385dc69328a0aec84d9cf",
"reference": "8a0a967896df4c63417385dc69328a0aec84d9cf",
"url": "https://gitlab.com/api/v4/projects/stella-maris%2Fclock/repository/archive.zip?sha=447879c53ca0b2a762cdbfba5e76ccf4deca9158",
"reference": "447879c53ca0b2a762cdbfba5e76ccf4deca9158",
"shasum": ""
},
"require": {
@ -5635,11 +5635,7 @@
"point in time",
"psr20"
],
"support": {
"issues": "https://gitlab.com/stella-maris/clock/-/issues",
"source": "https://gitlab.com/stella-maris/clock/-/tree/0.1.4"
},
"time": "2022-04-17T14:12:26+00:00"
"time": "2022-08-05T07:21:25+00:00"
},
{
"name": "symfony/console",

View File

@ -42,4 +42,10 @@ return [
'client_secret' => env('AUTH_GOOGLE_SECRET'),
'redirect' => '/auth/google/callback',
],
'supplier' => [
'crazydomain' => [
'api'=> \Dreamscape\API::class,
]
],
];

View File

@ -11,7 +11,6 @@
{{ $o->name ?: 'New Supplier' }}
@endsection
@section('contentheader_description')
@include('adminlte::widget.status')
@endsection
@section('main-content')

View File

@ -26,29 +26,17 @@
@csrf
<div class="row">
<div class="col-4">
<div class="form-group has-validation">
<label for="name">Supplier Name</label>
<select class="form-control form-control-border" id="name" name="supplier_id">
<option value=""></option>
<option value="">Add New</option>
@foreach(\App\Models\Supplier::orderBy('active','DESC')->orderBy('name')->get()->groupBy('active') as $o)
<optgroup label="{{ $o->first()->active ? 'Active' : 'Not Active' }}">
@foreach($o as $oo)
<option value="{{ $oo->id }}">{{ $oo->name }}</option>
@endforeach
</optgroup>
@endforeach
</select>
<span class="invalid-feedback" role="alert">
@error('name')
{{ $message }}
@else
Supplier Name is required.
@enderror
</span>
<span class="input-helper">Suppliers Name</span>
</div>
<div class="col-12 col-sm-9 col-md-6 col-xl-5">
@include('adminlte::widget.form_select',[
'label'=>'Supplier',
'icon'=>'fas fa-handshake',
'id'=>'supplier_id',
'old'=>'supplier_id',
'name'=>'supplier_id',
'groupby'=>'active',
'options'=>\App\Models\Supplier::orderBy('active','DESC')->orderBy('name')->get()->transform(function($item) { return ['id'=>$item->id,'value'=>$item->name,'active'=>$item->active]; }),
'value'=>'',
])
</div>
</div>
</form>
@ -64,10 +52,10 @@
<script type="text/javascript">
$(document).ready(function() {
$('#name').select2()
$('#supplier_id')
.on('change',function(item) {
window.location.href = '{{ url('a/supplier/details') }}'+(item.target.value ? '/'+item.target.value : '');
});
});
</script>
@endsection
@append

View File

@ -1,11 +1,8 @@
<!-- $o = Supplier::class -->
<div class="row">
<div class="col-12">
<h3>Supplier Details</h3>
<h3>Supplier Details @include('adminlte::widget.success_button')</h3>
<hr>
@if(session()->has('success'))
<span class="ml-3 pt-0 pb-0 pr-1 pl-1 btn btn-outline-success"><small>{{ session()->get('success') }}</small></span>
@endif
<form class="g-0 needs-validation" method="POST" enctype="multipart/form-data" role="form">
@csrf
@ -13,39 +10,35 @@
<div class="row">
<div class="col-4">
<div class="row">
<!-- Supplier Name -->
<div class="col-9">
<div class="form-group has-validation">
<label for="name">Supplier Name</label>
<input type="text" class="form-control form-control-border @error('name') is-invalid @enderror" id="name" name="name" placeholder="Supplier Name" value="{{ old('name',$o->name) }}" required>
<span class="invalid-feedback" role="alert">
@error('name')
{{ $message }}
@else
Supplier Name required.
@enderror
</span>
</div>
</div>
<!-- Supplier Active -->
<div class="col-3">
<div class="form-group">
<div class="col-12 col-sm-3">
<div class="form-group left">
<div class="custom-control custom-switch custom-switch-off-danger custom-switch-on-success">
<input type="checkbox" class="custom-control-input" id="active" name="active" {{ old('active',$o->active) ? 'checked' : '' }}>
<label class="custom-control-label" for="active">Active</label>
</div>
</div>
</div>
<!-- Supplier Name -->
<div class="col-12 col-sm-9">
@include('adminlte::widget.form_text',[
'label'=>'Supplier Name',
'id'=>'name',
'old'=>'name',
'name'=>'name',
'value'=>$o->name ?? '',
])
</div>
</div>
<div class="row">
<!-- Address Lines -->
<div class="col-12">
<div class="form-group has-validation">
<div class="form-group">
<label for="address1">Address Lines</label>
<input type="text" class="form-control form-control-border @error('address1') is-invalid @enderror" id="address1" name="address1" placeholder="Address1" value="{{ old('address1',$o->address1) }}" required>
<input type="text" class="form-control form-control-border" id="address2" name="address2" placeholder="Address2" value="{{ old('address2',$o->address2) }}">
<input type="text" style="border-bottom-left-radius:0;border-bottom-right-radius:0;" class="form-control @error('address1') is-invalid @enderror" id="address1" name="address1" value="{{ old('address1',$o->address1) }}">
<input type="text" style="border-top-left-radius:0;border-top-right-radius:0;" class="form-control" id="address2" name="address2" value="{{ old('address2',$o->address2) }}">
<span class="invalid-feedback" role="alert">
@error('address1')
{{ $message }}
@ -60,49 +53,37 @@
<div class="row">
<!-- City -->
<div class="col-12">
<div class="form-group has-validation">
<label for="city">City</label>
<input type="text" class="form-control form-control-border @error('city') is-invalid @enderror" id="city" name="city" placeholder="City" value="{{ old('city',$o->city) }}">
<span class="invalid-feedback" role="alert">
@error('city')
{{ $message }}
@else
City is required.
@enderror
</span>
</div>
@include('adminlte::widget.form_text',[
'label'=>'City',
'id'=>'city',
'old'=>'city',
'name'=>'city',
'value'=>$o->city ?? '',
])
</div>
</div>
<div class="row">
<!-- State -->
<div class="col-9">
<div class="form-group has-validation">
<label for="state">State</label>
<input type="text" class="form-control form-control-border @error('state') is-invalid @enderror" id="state" name="state" placeholder="State" value="{{ old('state',$o->state) }}">
<span class="invalid-feedback" role="alert">
@error('state')
{{ $message }}
@else
State is required.
@enderror
</span>
</div>
<div class="col-12 col-sm-9">
@include('adminlte::widget.form_text',[
'label'=>'State',
'id'=>'state',
'old'=>'state',
'name'=>'state',
'value'=>$o->state ?? '',
])
</div>
<!-- Postal Code -->
<div class="col-3">
<div class="form-group has-validation">
<label for="postcode">Postal Code</label>
<input type="text" class="form-control form-control-border @error('postcode') is-invalid @enderror" id="postcode" name="postcode" placeholder="Postal Code" value="{{ old('postcode',$o->postcode) }}">
<span class="invalid-feedback" role="alert">
@error('postcode')
{{ $message }}
@else
Postcode is required.
@enderror
</span>
</div>
<div class="col-12 col-sm-3">
@include('adminlte::widget.form_text',[
'label'=>'Post Code',
'id'=>'postcode',
'old'=>'postcode',
'name'=>'postcode',
'value'=>$o->postcode ?? '',
])
</div>
</div>
</div>
@ -111,48 +92,73 @@
<div class="row">
<!-- Accounts Email -->
<div class="col-12">
<div class="form-group has-validation">
<label for="accounts">Accounts Email</label>
<input type="text" class="form-control form-control-border @error('supplier_details.accounts') is-invalid @enderror" id="accounts" name="supplier_details[accounts]" placeholder="Accounts Email" value="{{ old('supplier_details.accounts',($o->detail ? $o->detail->accounts : '')) }}">
<span class="invalid-feedback" role="alert">
@error('supplier_details.accounts')
{{ $message }}
@enderror
</span>
</div>
@include('adminlte::widget.form_text',[
'label'=>'Accounts Email',
'id'=>'supplier_details.accounts',
'old'=>'supplier_details.accounts',
'name'=>'supplier_details[accounts]',
'value'=>($o->detail ? $o->detail->accounts : ''),
])
</div>
</div>
<div class="row">
<!-- Support Email -->
<div class="col-12">
<div class="form-group has-validation">
<label for="support">Support Email</label>
<input type="text" class="form-control form-control-border @error('supplier_details.support') is-invalid @enderror" id="support" name="supplier_details[support]" placeholder="Support Email" value="{{ old('supplier_details.support',($o->detail ? $o->detail->support : '')) }}">
<span class="invalid-feedback" role="alert">
@error('supplier_details.support')
{{ $message }}
@enderror
</span>
</div>
@include('adminlte::widget.form_text',[
'label'=>'Support Email',
'id'=>'supplier_details.support',
'old'=>'supplier_details.support',
'name'=>'supplier_details[support]',
'value'=>($o->detail ? $o->detail->support : ''),
])
</div>
</div>
<div class="row">
<!-- Payment Details -->
<div class="col-12">
<div class="form-group has-validation">
<label for="payments">Payment Details</label>
<input type="text" class="form-control form-control-border @error('supplier_details.payments') is-invalid @enderror" id="payments" name="supplier_details[payments]" placeholder="Payment Details" value="{{ old('supplier_details.payments',($o->detail ? $o->detail->payments : '')) }}">
<span class="invalid-feedback" role="alert">
@error('supplier_details.payments')
{{ $message }}
@enderror
</span>
@include('adminlte::widget.form_text',[
'label'=>'Payment Details',
'id'=>'supplier_details.payments',
'old'=>'supplier_details.payments',
'name'=>'supplier_details[payments]',
'value'=>($o->detail ? $o->detail->support : ''),
])
</div>
</div>
@if($x=config('services.supplier.'.$o->name.'.api'))
<hr>
<p class="h6"><i class="fa-fw fas fa-sitemap"></i> <strong>{{ $x }}</strong></p>
<div class="row">
<!-- API Details -->
<div class="col-12">
@include('adminlte::widget.form_text',[
'label'=>'API Key',
'id'=>'api_key',
'old'=>'api_key',
'name'=>'api_key',
'value'=>($o->detail ? Arr::get($o->detail->connections,'api_key') : ''),
])
</div>
</div>
<div class="row">
<!-- API Details -->
<div class="col-12">
@include('adminlte::widget.form_text',[
'label'=>'API Secret',
'id'=>'api_secret',
'old'=>'api_secret',
'name'=>'api_secret',
'value'=>($o->detail ? Arr::get($o->detail->connections,'api_secret') : ''),
])
</div>
</div>
@endif
</div>
</div>
<div class="row">
@ -161,7 +167,6 @@
<div class="form-group has-validation">
<label for="notes">Notes</label>
<textarea class="form-control @error('supplier_details.notes') is-invalid @enderror" id="notes" name="supplier_details[notes]" placeholder="Notes...">{{ old('supplier_details.notes',($o->detail ? $o->detail->notes : '')) }}</textarea>
<span class="input-helper">Notes.</span>
<span class="invalid-feedback" role="alert">
@error('supplier_details.notes')
{{ $message }}