Skip to content

Commit

Permalink
Validator form
Browse files Browse the repository at this point in the history
  • Loading branch information
eFrane committed Nov 24, 2017
1 parent 7703251 commit 8510892
Show file tree
Hide file tree
Showing 7 changed files with 94 additions and 17 deletions.
2 changes: 1 addition & 1 deletion app/Http/Controllers/ValidatorController.php
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public function scheduleValidation(ValidationRequest $response)
$this->dispatch(new ValidatorRunJob($endpoint, $email, $canSaveData));

// 3) success!
return redirect()->route('developers.index')->with('message',
return redirect()->route('validator.index')->with('message',
trans('app.validation.success', compact('endpoint')));
}

Expand Down
3 changes: 2 additions & 1 deletion app/Http/Requests/ValidationRequest.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

use GuzzleHttp\Client;
use GuzzleHttp\Exception\ConnectException;
use GuzzleHttp\Exception\RequestException;
use Illuminate\Contracts\Validation\Validator;
use Illuminate\Foundation\Http\FormRequest;

Expand Down Expand Up @@ -65,7 +66,7 @@ public function withValidator(Validator $validator)
if (!isset($json['name'])) {
$validator->errors()->add('endpoint', trans('app.validation.form.endpoint.no_oparl', compact('endpoint')));
}
} catch (ConnectException $e) {
} catch (RequestException $e) {
$validator->errors()->add('endpoint', trans('app.validation.form.endpoint.no_oparl', compact('endpoint')));
}
});
Expand Down
2 changes: 1 addition & 1 deletion app/Http/routes.php
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@
->where('image', '[a-zA-Z0-9-._]+');

$router->get('/validator')->uses('ValidatorController@validationForm')->name('validator.index');
$router->post('/validator', ['uses' => 'ValidatorController@scheduleValidation', 'as' => 'validator.validate']);
$router->post('/validator')->uses('ValidatorController@scheduleValidation')->name('validator.schedule');
$router->get('/validator/test', ['uses' => 'ValidatorController@resultTest', 'as' => 'validator.result.test']);
$router->get('/validator/{endpoint}', ['uses' => 'ValidatorController@result', 'as' => 'validator.result']);

Expand Down
8 changes: 8 additions & 0 deletions resources/assets/sass/app.scss
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,14 @@
border-radius: 50%;
}

.warning {
background: $brand-warning;
}

.success {
background: $brand-success;
}

@import '../../../node_modules/flexboxgrid/dist/flexboxgrid';
@import '../../../node_modules/prismjs/themes/prism';
@import '../../../node_modules/prismjs/themes/prism-okaidia';
Expand Down
26 changes: 13 additions & 13 deletions resources/lang/de/app.php
Original file line number Diff line number Diff line change
Expand Up @@ -59,17 +59,17 @@

'footer.disclaimer' => "macOS ist eine eingetragene Marke von Apple Inc, CA\n",

'validation.form.email' => 'E-Mail',
'validation.form.email.description' => 'Nach erfolgreicher Validierung erhalten Sie die Ergebnisse im ausgewählten Format an diese E-Mail-Adresse.',
'validation.form.email.required' => 'Sie müssen eine E-Mail-Adresse angeben, damit die Validierung durchgeführt wird.',
'validation.form.email.invalid' => 'Die angegebene E-Mail-Adresse ist ungültig.',
'validation.form.endpoint' => 'OParl-Endpunkt',
'validation.form.endpoint.label' => 'Tragen Sie hier den Endpunkt ein, den Sie validieren möchten.',
'validation.form.endpoint.required' => 'Sie müssen einen OParl-Endpunkt angeben, der validiert werden soll.',
'validation.form.endpoint.invalid' => 'Der angegebene Endpunkt ist keine gültige URL.',
'validation.form.endpoint.no_oparl' => 'Unter :endpoint konnte kein OParl-System gefunden werden, bitte überprüfen Sie Ihre Eingabe.',
'validation.form.save' => 'Dürfen wir Ihre Validierungsergebnisse zur weiteren Auswertung speichern?',
'validation.start' => 'Validierung beauftragen!',
'validation.success' => 'Die Validierung für :endpoint wurde gestartet.',
'validation.title' => 'Validator',
'validation.form.email' => 'E-Mail',
'validation.form.email.description' => 'Nach abgeschlossener Validierung erhalten Sie die Ergebnisse im ausgewählten Format an diese E-Mail-Adresse.',
'validation.form.email.required' => 'Sie müssen eine E-Mail-Adresse angeben, damit die Validierung durchgeführt wird.',
'validation.form.email.invalid' => 'Die angegebene E-Mail-Adresse ist ungültig.',
'validation.form.endpoint' => 'OParl-Endpunkt',
'validation.form.endpoint.description' => 'Tragen Sie hier den Endpunkt ein, den Sie validieren möchten.',
'validation.form.endpoint.required' => 'Sie müssen einen OParl-Endpunkt angeben, der validiert werden soll.',
'validation.form.endpoint.invalid' => 'Der angegebene Endpunkt ist keine gültige URL.',
'validation.form.endpoint.no_oparl' => 'Unter `:endpoint` konnte kein OParl-System gefunden werden, bitte überprüfen Sie Ihre Eingabe.',
'validation.form.save' => 'Dürfen wir Ihre Validierungsergebnisse zur weiteren Auswertung speichern?',
'validation.start' => 'Validierung beauftragen!',
'validation.success' => 'Die Validierung für :endpoint wurde gestartet.',
'validation.title' => 'Validator',
);
1 change: 1 addition & 0 deletions resources/views/base.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@

@include ('header')


<main id="content">
@yield('content')
</main>
Expand Down
69 changes: 68 additions & 1 deletion resources/views/developers/validation/form.blade.php
Original file line number Diff line number Diff line change
@@ -1 +1,68 @@
@extends ('base')
@extends ('base')

@section ('subheader')
@include('developers.partials.subheader')
@stop

@section ('content')
<form
action="{{ route('validator.schedule') }}"
method="post"
class="col-xs-12 pure-form"
>
<div class="row">
{{ csrf_field() }}

<div class="col-xs-12 col-sm-2">
<label for="endpoint">
{{ trans('app.validation.form.endpoint') }}
</label>
</div>
<div class="col-xs-12 col-sm-10">
<input type="url" name="endpoint" id="endpoint" style="width: 100%;">
</div>

<div class="pure-form-message col-xs-12">
{{ trans('app.validation.form.endpoint.description') }}
</div>

@if ($errors->has('endpoint'))
@foreach ($errors->get('endpoint') as $message )
<div class="pure-form-message warning col-xs-12">
{{ $message }}
</div>
@endforeach
@endif
</div>

<div class="row">
<div class="col-xs-12 col-sm-2">
<label for="email">
{{ trans('app.validation.form.email') }}
</label>
</div>
<div class="col-xs-12 col-sm-10">
<input type="email" name="email" id="email" style="width: 100%;">
</div>

<div class="pure-form-message col-xs-12">
{{ trans('app.validation.form.email.description') }}
</div>

@if ($errors->has('email'))
@foreach ($errors->get('email') as $message )
<div class="pure-form-message warning col-xs-12">
{{ $message }}
</div>
@endforeach
@endif

<label for="save">
{{ trans('app.validation.form.save') }}
<input type="checkbox" name="save">
</label>
</div>

<button type="submit" class="pure-button pure-button-primary">Submit</button>
</form>
@stop

0 comments on commit 8510892

Please sign in to comment.