File: /var/www/ivs.kaunokolegija.lt/laravel/resources/views/admin/futureActivityPlannings/edit.blade.php
@extends('layouts.admin')
@section('content')
<div class="card">
<div class="card-header">
{{ trans('global.edit') }}
</div>
<div class="card-body">
<form method="POST" action="{{ route("admin.future-activity-plannings.update", [$futureActivityPlanning->id]) }}" enctype="multipart/form-data">
@method('PUT')
@csrf
<div class="form-group">
<label class="required" for="social_partner_id">{{ trans('cruds.futureActivityPlanning.fields.social_partner') }}</label>
<select class="form-control select2 {{ $errors->has('social_partner') ? 'is-invalid' : '' }}" name="social_partner_id" id="social_partner_id" required>
@foreach($social_partners as $id => $entry)
<option value="{{ $id }}" {{ (old('social_partner_id') ? old('social_partner_id') : $futureActivityPlanning->social_partner->id ?? '') == $id ? 'selected' : '' }}>{{ $entry }}</option>
@endforeach
</select>
@if($errors->has('social_partner'))
<span class="text-danger">{{ $errors->first('social_partner') }}</span>
@endif
<span class="help-block">{{ trans('cruds.futureActivityPlanning.fields.social_partner_helper') }}</span>
</div>
<div class="form-group">
<label class="required" for="activity_start">{{ trans('cruds.futureActivityPlanning.fields.activity_start') }}</label>
<input class="form-control datetime {{ $errors->has('activity_start') ? 'is-invalid' : '' }}" type="text" name="activity_start" id="activity_start" value="{{ old('activity_start', $futureActivityPlanning->activity_start) }}" required>
@if($errors->has('activity_start'))
<span class="text-danger">{{ $errors->first('activity_start') }}</span>
@endif
<span class="help-block">{{ trans('cruds.futureActivityPlanning.fields.activity_start_helper') }}</span>
</div>
<div class="form-group">
<label for="activity_end">{{ trans('cruds.futureActivityPlanning.fields.activity_end') }}</label>
<input class="form-control datetime {{ $errors->has('activity_end') ? 'is-invalid' : '' }}" type="text" name="activity_end" id="activity_end" value="{{ old('activity_end', $futureActivityPlanning->activity_end) }}">
@if($errors->has('activity_end'))
<span class="text-danger">{{ $errors->first('activity_end') }}</span>
@endif
<span class="help-block">{{ trans('cruds.futureActivityPlanning.fields.activity_end_helper') }}</span>
</div>
<div class="form-group">
<label for="description">{{ trans('cruds.futureActivityPlanning.fields.description') }}</label>
<textarea class="form-control ckeditor {{ $errors->has('description') ? 'is-invalid' : '' }}" name="description" id="description">{!! old('description', $futureActivityPlanning->description) !!}</textarea>
@if($errors->has('description'))
<span class="text-danger">{{ $errors->first('description') }}</span>
@endif
<span class="help-block">{{ trans('cruds.futureActivityPlanning.fields.description_helper') }}</span>
</div>
<div class="form-group">
<label for="additional_info">{{ trans('cruds.futureActivityPlanning.fields.additional_info') }}</label>
<textarea class="form-control ckeditor {{ $errors->has('additional_info') ? 'is-invalid' : '' }}" name="additional_info" id="additional_info">{!! old('additional_info', $futureActivityPlanning->additional_info) !!}</textarea>
@if($errors->has('additional_info'))
<span class="text-danger">{{ $errors->first('additional_info') }}</span>
@endif
<span class="help-block">{{ trans('cruds.futureActivityPlanning.fields.additional_info_helper') }}</span>
</div>
<div class="form-group">
<label for="accountable_id">{{ trans('cruds.futureActivityPlanning.fields.accountable') }}</label>
<select class="form-control select2 {{ $errors->has('accountable') ? 'is-invalid' : '' }}" name="accountable_id" id="accountable_id">
@foreach($accountables as $id => $entry)
<option value="{{ $id }}" {{ (old('accountable_id') ? old('accountable_id') : $futureActivityPlanning->accountable->id ?? '') == $id ? 'selected' : '' }}>{{ $entry }}</option>
@endforeach
</select>
@if($errors->has('accountable'))
<span class="text-danger">{{ $errors->first('accountable') }}</span>
@endif
<span class="help-block">{{ trans('cruds.futureActivityPlanning.fields.accountable_helper') }}</span>
</div>
<div class="form-group">
<label for="sharing_withs">{{ trans('cruds.futureActivityPlanning.fields.sharing_with') }}</label>
<div style="padding-bottom: 4px">
<span class="btn btn-info btn-xs select-all" style="border-radius: 0">{{ trans('global.select_all') }}</span>
<span class="btn btn-info btn-xs deselect-all" style="border-radius: 0">{{ trans('global.deselect_all') }}</span>
</div>
<select class="form-control select2 {{ $errors->has('sharing_withs') ? 'is-invalid' : '' }}" name="sharing_withs[]" id="sharing_withs" multiple>
@foreach($sharing_withs as $id => $sharing_with)
<option value="{{ $id }}" {{ (in_array($id, old('sharing_withs', [])) || $futureActivityPlanning->sharing_withs->contains($id)) ? 'selected' : '' }}>{{ $sharing_with }}</option>
@endforeach
</select>
@if($errors->has('sharing_withs'))
<span class="text-danger">{{ $errors->first('sharing_withs') }}</span>
@endif
<span class="help-block">{{ trans('cruds.futureActivityPlanning.fields.sharing_with_helper') }}</span>
</div>
<div class="form-group">
<label for="attachments">{{ trans('cruds.futureActivityPlanning.fields.attachments') }}</label>
<div class="needsclick dropzone {{ $errors->has('attachments') ? 'is-invalid' : '' }}" id="attachments-dropzone">
</div>
@if($errors->has('attachments'))
<span class="text-danger">{{ $errors->first('attachments') }}</span>
@endif
<span class="help-block">{{ trans('cruds.futureActivityPlanning.fields.attachments_helper') }}</span>
</div>
<div class="form-group">
<button class="btn btn-success" type="submit">
{{ trans('global.save') }}
</button>
</div>
</form>
</div>
</div>
@endsection
@section('scripts')
<script>
$(document).ready(function () {
function SimpleUploadAdapter(editor) {
editor.plugins.get('FileRepository').createUploadAdapter = function(loader) {
return {
upload: function() {
return loader.file
.then(function (file) {
return new Promise(function(resolve, reject) {
// Init request
var xhr = new XMLHttpRequest();
xhr.open('POST', '{{ route('admin.future-activity-plannings.storeCKEditorImages') }}', true);
xhr.setRequestHeader('x-csrf-token', window._token);
xhr.setRequestHeader('Accept', 'application/json');
xhr.responseType = 'json';
// Init listeners
var genericErrorText = `Couldn't upload file: ${ file.name }.`;
xhr.addEventListener('error', function() { reject(genericErrorText) });
xhr.addEventListener('abort', function() { reject() });
xhr.addEventListener('load', function() {
var response = xhr.response;
if (!response || xhr.status !== 201) {
return reject(response && response.message ? `${genericErrorText}\n${xhr.status} ${response.message}` : `${genericErrorText}\n ${xhr.status} ${xhr.statusText}`);
}
$('form').append('<input type="hidden" name="ck-media[]" value="' + response.id + '">');
resolve({ default: response.url });
});
if (xhr.upload) {
xhr.upload.addEventListener('progress', function(e) {
if (e.lengthComputable) {
loader.uploadTotal = e.total;
loader.uploaded = e.loaded;
}
});
}
// Send request
var data = new FormData();
data.append('upload', file);
data.append('crud_id', '{{ $futureActivityPlanning->id ?? 0 }}');
xhr.send(data);
});
})
}
};
}
}
var allEditors = document.querySelectorAll('.ckeditor');
for (var i = 0; i < allEditors.length; ++i) {
ClassicEditor.create(
allEditors[i], {
extraPlugins: [SimpleUploadAdapter]
}
);
}
});
</script>
<script>
var uploadedAttachmentsMap = {}
Dropzone.options.attachmentsDropzone = {
url: '{{ route('admin.future-activity-plannings.storeMedia') }}',
maxFilesize: 10, // MB
addRemoveLinks: true,
headers: {
'X-CSRF-TOKEN': "{{ csrf_token() }}"
},
params: {
size: 10
},
success: function (file, response) {
$('form').append('<input type="hidden" name="attachments[]" value="' + response.name + '">')
uploadedAttachmentsMap[file.name] = response.name
},
removedfile: function (file) {
file.previewElement.remove()
var name = ''
if (typeof file.file_name !== 'undefined') {
name = file.file_name
} else {
name = uploadedAttachmentsMap[file.name]
}
$('form').find('input[name="attachments[]"][value="' + name + '"]').remove()
},
init: function () {
@if(isset($futureActivityPlanning) && $futureActivityPlanning->attachments)
var files =
{!! json_encode($futureActivityPlanning->attachments) !!}
for (var i in files) {
var file = files[i]
this.options.addedfile.call(this, file)
file.previewElement.classList.add('dz-complete')
$('form').append('<input type="hidden" name="attachments[]" value="' + file.file_name + '">')
}
@endif
},
error: function (file, response) {
if ($.type(response) === 'string') {
var message = response //dropzone sends it's own error messages in string
} else {
var message = response.errors.file
}
file.previewElement.classList.add('dz-error')
_ref = file.previewElement.querySelectorAll('[data-dz-errormessage]')
_results = []
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
node = _ref[_i]
_results.push(node.textContent = message)
}
return _results
}
}
</script>
@endsection