HEX
Server: Apache
System: Linux WWW 6.1.0-40-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.153-1 (2025-09-20) x86_64
User: web11 (1011)
PHP: 8.2.29
Disabled: NONE
Upload Files
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