mivita/resources/views/user/wizard/register.blade.php
Kevin Adametz bfa3bb1df4 08 2024
2024-08-05 12:05:24 +02:00

380 lines
No EOL
21 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@extends('layouts.layout-2')
@section('content')
@if ($errors->any())
<div class="row">
<div class="col-sm-12">
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
</div>
</div>
@endif
<h4 class="font-weight-bold py-2 mb-2">
{{__('register.complete_registration')}}
</h4>
<div id="smartwizard-3" class="smartwizard-register">
<ul class="card px-4 pt-3 mb-3">
<li>
<a href="#smartwizard-3-step-1" class="mb-3">
<span class="sw-done-icon ion ion-md-checkmark"></span>
<span class="sw-number">1</span>
{{__('register.contract')}}
<div class="text-muted small">{{__('register.agree')}}</div>
</a>
</li>
<li>
<a href="#smartwizard-3-step-2" class="mb-3">
<span class="sw-done-icon ion ion-md-checkmark"></span>
<span class="sw-number">2</span>
{{__('register.data')}}
<div class="text-muted small">{{__('register.adjust')}}</div>
</a>
</li>
<li>
<a href="#smartwizard-3-step-3" class="mb-3">
<span class="sw-done-icon ion ion-md-checkmark"></span>
<span class="sw-number">3</span>
{{__('register.badge')}}
<div class="text-muted small">{{__('register.upload')}}</div>
</a>
</li>
<li>
<a href="#smartwizard-3-step-4" class="mb-3">
<span class="sw-done-icon ion ion-md-checkmark"></span>
<span class="sw-number">4</span>
{{__('register.trade_licence')}}
<div class="text-muted small">{{__('register.upload')}}</div>
</a>
</li>
<li>
<a href="#smartwizard-3-step-5" class="mb-3">
<span class="sw-done-icon ion ion-md-checkmark"></span>
<span class="sw-number">5</span>
{{__('register.registration')}}
<div class="text-muted small">{{__('register.complete')}}</div>
</a>
</li>
</ul>
<div class="mb-3">
<div id="smartwizard-3-step-1" class="card animated fadeIn">
<div class="card-body">
{!! Form::open(['url' => route('wizard_store_register', [0]), 'class' => 'form-horizontal', 'id'=>'lead-form-validation-confirm']) !!}
@include('user.data_confirm')
<div class="text-left mt-3">
<button type="submit" class="btn btn-secondary">{{__('register.agree_and_continue')}}</button>&nbsp;
</div>
{!! Form::close() !!}
</div>
</div>
<div id="smartwizard-3-step-2" class="card animated fadeIn">
<div class="card-body">
{!! Form::open(['url' => route('wizard_store_register', [1]), 'class' => 'form-horizontal', 'id'=>'lead-form-validation']) !!}
@include('user.user_form')
<div class="text-left mt-3">
<button type="submit" class="btn btn-secondary">{{ __('register.save_and_continue') }}</button>&nbsp;
</div>
{!! Form::close() !!}
</div>
</div>
<div id="smartwizard-3-step-3" class="card animated fadeIn">
<div class="card-body">
<div class="card mb-4">
<h5 class="card-header">
{{ __('register.wizard_verification_hl') }}
</h5>
<div class="card-body">
<div class="row">
<div class="col-sm-6">
<div class="mt-4">
{!! Form::open([ 'url' => route('wizard_store_register', [2]), 'method' => 'post', 'files' => true, 'enctype' => 'multipart/form-data', 'class' => 'dropzone', 'id' => 'idcardDropzone' ]) !!}
<input type="hidden" name="redirect" value="{{ route('wizard_register') }}">
<div class="fallback">
<input name="file" type="file" multiple>
</div>
{!! Form::close() !!}
<br>
<div class="alert alert-danger alert-dismissable" style="display:none;"></div>
<p>{{ __('register.wizard_verification_line_1') }}</p>
</div>
</div>
<div class="col-sm-6">
@if($user->files->count())
<div class="row">
@foreach($user->files()->whereIdentifier('id_card')->get() as $file)
<div class="col-md-12 col-xl-6">
<div class="card mb-3">
<div class="card-body">
<h6 class="card-title"><a target="_blank" href="{{ route('storage_file', [$file->id, 'user']) }}">{{ $file->original_name }}</a></h6>
<p class="card-text">{{ $file->formatBytes() }}
<a href="{{ route('wizard_delete_file', [$file->id, 'upload']) }}" class="btn btn-sm btn-default float-right" onclick="return confirm('{{__('register.really_delete_the_file')}}');">
<span class="ion ion-md-trash text-danger"></span>
</a>
</p>
</div>
@if(strtolower($file->ext ) == 'pdf')
<object data="{{ route('storage_file', [$file->id, 'user']) }}" type="application/pdf" class="card-img-bottom"></object>
@else
<img src="{{ route('storage_file', [$file->id, 'user']) }}" alt="" class="card-img-bottom">
@endif
</div>
</div>
@endforeach
</div>
@endif
</div>
</div>
</div>
</div>
<div class="text-left mt-3">
{!! Form::open(['url' => route('wizard_store_register', [2])]) !!}
<button type="submit" name="submit" value="do" class="btn btn-secondary">{{ __('register.save_and_continue') }}</button>&nbsp;
{!! Form::close() !!}
</div>
</div>
</div>
<div id="smartwizard-3-step-4" class="card animated fadeIn">
<div class="card-body">
<div class="card mb-4">
<h5 class="card-header">
{{ __('register.wizard_business_license_hl') }}
</h5>
<div class="card-body pb-0">
<div class="row">
<div class="col-sm-6">
<div class="mt-4">
{!! Form::open([ 'url' => route('wizard_store_register', [3]), 'method' => 'post', 'files' => true, 'enctype' => 'multipart/form-data', 'class' => 'dropzone', 'id' => 'businesslDropzone' ]) !!}
<input type="hidden" name="redirect" value="{{ route('wizard_register') }}">
<div class="fallback">
<input name="file" type="file" multiple>
</div>
{!! Form::close() !!}
<br>
<div class="alert alert-danger alert-dismissable" style="display:none;"></div>
<p>{{ __('register.wizard_business_license_line_1') }}</p>
</div>
</div>
<div class="col-sm-6">
@if($user->files->count())
<div class="row">
@foreach($user->files()->whereIdentifier('business_license')->get() as $file)
<div class="col-md-12 col-xl-6">
<div class="card mb-3">
<div class="card-body">
<h6 class="card-title"><a target="_blank" href="{{ route('storage_file', [$file->id, 'user']) }}">{{ $file->original_name }}</a></h6>
<p class="card-text">{{ $file->formatBytes() }}
<a href="{{ route('wizard_delete_file', [$file->id, 'upload']) }}" class="btn btn-sm btn-default float-right" onclick="return confirm('{{__('register.really_delete_the_file')}}');">
<span class="ion ion-md-trash text-danger"></span>
</a>
</p>
</div>
@if(strtolower($file->ext ) == 'pdf')
<object data="{{ route('storage_file', [$file->id, 'user']) }}" type="application/pdf" class="card-img-bottom"></object>
@else
<img src="{{ route('storage_file', [$file->id, 'user']) }}" alt="" class="card-img-bottom">
@endif
</div>
</div>
@endforeach
</div>
@endif
</div>
</div>
</div>
{!! Form::open(['url' => route('wizard_store_register', [3])]) !!}
@php($business_license_choose = $user->account->getNotice('business_license'))
<div class="card-body pt-0">
<div class="row">
<div class="col-12">
</div>
<div class="col-12">
<label class="custom-control custom-radio">
{{ Form::radio('business_license_choose', 'now' , (($business_license_choose === 'now' || !$business_license_choose) ? true : false), array('class'=>'custom-control-input')) }}
<span class="custom-control-label">{{__('register.business_license_now')}}</span>
</label>
</div>
<div class="col-12">
<hr>
<label class="custom-control custom-radio">
{{ Form::radio('business_license_choose', 'later' , (($business_license_choose === 'later') ? true : false), array('class'=>'custom-control-input')) }}
<span class="custom-control-label">{{__('register.business_license_later')}}</span>
</label>
</div>
<div class="col-12">
<hr>
<label class="custom-control custom-radio">
{{ Form::radio('business_license_choose', 'non' , (($business_license_choose === 'non') ? true : false), array('class'=>'custom-control-input')) }}
<span class="custom-control-label">{{__('register.business_license_non')}}</span>
</label>
<p>{{__('register.business_license_non_text')}}</p>
{{ Form::textarea('non_business_license_reason', $user->account->getNotice('business_license_reason'), array('placeholder'=>__('Begründung'), 'class'=>'form-control', 'rows'=>' 2')) }}
</div>
<div class="col-12 mt-2">
<hr>
<button type="submit" name="submit" value="do" class="btn btn-secondary">{{ __('register.save_and_continue') }}</button>&nbsp;
</div>
</div>
</div>
{!! Form::close() !!}
</div>
</div>
</div>
<div id="smartwizard-3-step-5" class="card animated fadeIn">
<div class="card-body">
<h4>{{ __('register.wizard_finish_hl') }}</h4>
<p>{{ __('register.wizard_finish_line_1') }}.</p>
{!! Form::open(['url' => route('wizard_store_register', [4])]) !!}
<button type="submit" name="submit" value="do" class="btn btn-secondary">{{ __('register.complete_registration') }}</button>&nbsp;
{!! Form::close() !!}
</div>
</div>
</div>
</div>
<!-- Modal template -->
<div class="modal fade" id="modal-user-vat-validation">
<div class="modal-dialog">
{!! Form::open(['url' => route('wizard_store_register', [1]), 'class' => 'modal-content']) !!}
<div class="modal-header">
<h5 class="modal-title">{{ __('account.new_vat_validate') }}</span></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
</div>
<div class="modal-body">
<div class="form-row">
<div class="form-group col-12">
<p>{{ __('account.reverse_charge_copy_1') }}</p>
<p>{{ __('account.reverse_charge_note_1') }}</p>
</div>
<div class="form-group col-sm-12 {{ $errors->has('reverse_charge') ? 'has-error' : '' }}">
<label class="form-label" for="tax_identification_number">{{ __('account.VAT_ID_number') }} *</label>
{{ Form::text('tax_identification_number', $user->account-> tax_identification_number, array('placeholder'=>__('account.VAT_ID_number'), 'class'=>'form-control', 'id'=>'tax_identification_number', 'required'=>true)) }}
@if ($errors->has('reverse_charge'))
<span class="help-block">
<strong>{{ $errors->first('reverse_charge') }}</strong>
</span>
@endif
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
<button type="submit" class="btn btn-primary" name="action" value="reverse_charge_validate">{{ __('account.btn_vat_validate') }}n</button>
</div>
{!! Form::close() !!}
</div>
</div>
<div class="hidden">
{!! Form::open(['url' => route('wizard_store_register', [7]), 'id' => 'user-change-country']) !!}
<input type="hidden" name="user_country_id" id="user_country_id" value="">
{!! Form::close() !!}
</div>
@endsection
@section('scripts')
<link rel="stylesheet" href="{{ mix('/vendor/libs/smartwizard/smartwizard.css') }}">
<script src="{{ mix('/vendor/libs/smartwizard/smartwizard.js') }}"></script>
<script type="text/javascript">
$(document).ready(function() {
$('.smartwizard-register').smartWizard({
autoAdjustHeight: true,
backButtonSupport: true,
useURLhash: false,
showStepURLhash: false,
selected: '{{$step}}',
toolbarSettings: {
showNextButton: false,
showPreviousButton: false,
}
});
$('#lead-form-validation #country_id').on('change', function(e) {
var $country_id = $(this).val();
$('#user-change-country #user_country_id').val($country_id);
$('#user-change-country').submit();
});
});
var real_dropzone = {
uploadMultiple: false,
parallelUploads: 1,
maxFilesize: 32,
addRemoveLinks: true,
dictDefaultMessage: "{{ __('actions.dictDefaultMessage') }}",
dictFallbackMessage: "{{ __('actions.dictFallbackMessage') }}",
dictFallbackText:"{{ __('actions.dictFallbackText') }}",
dictFileTooBig: "{{ __('actions.dictFileTooBig') }}",
dictInvalidFileType: "{{ __('actions.dictInvalidFileType') }}",
dictResponseError: "{{ __('actions.dictResponseError') }}",
dictCancelUpload: "{{ __('actions.dictCancelUpload') }}",
dictCancelUploadConfirmation: null,
dictRemoveFile: "{{ __('actions.dictRemoveFile') }}",
dictMaxFilesExceeded: "{{ __('actions.dictMaxFilesExceeded') }}",
acceptedFiles: "image/jpeg,image/pjpeg,image/png,image/gif,application/pdf,text/plain,.pdf",
// The setting up of the dropzone
init:function() {
this.on("removedfile", function(file) {
var _ele = $('.alert-danger');
_ele.fadeOut();
} );
this.on("addedfile", function (file) {
var _ele = $('.alert-danger');
_ele.fadeOut();
});
},
error: function(file, response) {
var message;
if($.type(response) === "string")
message = response; //dropzone sends it's own error messages in string
else
message = response.message;
var _ele = $('.alert-danger');
_ele.fadeIn();
_ele.text(message);
},
success: function(file,response) {
console.log(file);
console.log(response.filename);
console.log(response.filedata);
console.log(response);
if(response.redirect){
window.location.href = response.redirect;
}else{
if(response.error === false){
//true
window.location.href = window.location.href;
}
}
}
};
Dropzone.options.idcardDropzone = real_dropzone;
Dropzone.options.businesslDropzone = real_dropzone;
</script>
@endsection