]> _ Git - ccv-wordpress.git/commitdiff
wip #3462 @2.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 30 Jun 2020 14:17:01 +0000 (16:17 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 30 Jun 2020 14:17:01 +0000 (16:17 +0200)
wp-content/themes/CCV/resources/views/forms/common/wrapper.blade.php
wp-content/themes/CCV/resources/views/forms/consultation.blade.php

index eecb3d4a09caa916ac46f66070a693b7782587f0..6790600bad1f8d3b3dbb1878f9a0bcddba987f12 100644 (file)
@@ -17,3 +17,4 @@
   <div class="cube-form-messages hidden @stack('message_class')"></div>
 
 </form>
+@stack("afterform")
index a251eeb4dae6f431d1179530305c8ad793d9b9a8..f5e503fd2f1c4deba11215478240d4a1cb9d6360 100644 (file)
@@ -49,7 +49,8 @@
               @foreach ($form->get_field('pain-arms-legs-detail')->get_options() as $option)
                 <label title="{{ $option }}">
                   <input type="checkbox" name="pain-arms-legs-detail[]" value="{{ $option }}">
-                  <span class="form-label">{{-- No label here but the element is needed so custom checkboxes work --}}</span>
+                  <span
+                    class="form-label">{{-- No label here but the element is needed so custom checkboxes work --}}</span>
                 </label>
               @endforeach
             </div>
           {{ __("Envoyez-nous l'ensemble des fichiers contenus sur votre CD :", "ccv") }}
         </p>
 
-        <a href="#purview_uploader" target="_blank" class="btn mt-6" data-lity data-update-imagery-type>{{ __('Parcourir', 'ccv') }}</a>
+        <a href="#purview_uploader" target="_blank" class="btn mt-6" data-lity
+           data-update-imagery-type>{{ __('Parcourir', 'ccv') }}</a>
 
         {{-- IMAGE UPLOAD POPUP --}}
         <div id="purview_uploader" class="lity-hide spaced">
             {{ __('Les fichiers de scanner et IRM comportent souvent de nombreuses images et le téléchargement peut prendre plusieurs minutes, c’est normal.', 'ccv') }}
           </p>
 
-          <iframe class="block w-full overflow-hidden" height="320" src="https://uploader.purview.net/client/scmgeneste/" scrolling="no" data-service="uploader.purview"></iframe>
+          <iframe class="block w-full overflow-hidden" height="320"
+                  src="https://uploader.purview.net/client/scmgeneste/" scrolling="no"
+                  data-service="uploader.purview"></iframe>
 
           <p>
             {{ __('3. Une fois vos images envoyées, la barre de chargement disparait et le descriptif des images apparaît. Le CCV Montpellier aura accès de son côté à vos images.', 'ccv') }}
     </div>
 
     {{-- IMAGES ONLINE --}}
+    @php $phonetoken=bin2hex(random_bytes(5)); @endphp
+
     <div class="imagery-type-wrapper flex mb-8">
       <input type="radio" id="imagery_web" name="imagery-type" value="{{ __('Images en ligne', 'ccv') }}">
+      <input type="hidden" name="imagery-phone-token" value="{{ $phonetoken }}">
       <label for="imagery_web" class="imagery-icon">@svg('imagery-web', 'w-22 md:w-20 sm:w-16')</label>
       <div class="ml-4">
         <div class="text-lg sm:text-base font-normal leading-tight mb-1">
         <p class="mt-0 sm:text-sm">
           {{ __('Prenez vos images en photo et envoyez-les directement depuis votre téléphone :', 'ccv') }}
         </p>
-        <a href="javascript://" class="btn mt-6" data-update-imagery-type>{{ __('Parcourir') }}</a>
+        <a href="#" class="btn mt-6" data-update-imagery-type id="phone-image-browse">{{ __('Parcourir') }}</a>
       </div>
     </div>
 
         <div class="custom-checkbox mt-6">
           <label>
             <input type="checkbox" id="images_sent_by_post">
-            <span class="form-label text-xs">{{ __('Cochez cette case si vous envoyez vos images par courrier', 'ccv') }}</span>
+            <span
+              class="form-label text-xs">{{ __('Cochez cette case si vous envoyez vos images par courrier', 'ccv') }}</span>
           </label>
         </div>
       </div>
 
 </div>
 
+@push('afterform')
+  <form action="https://upload.ccv-montpellier.fr/upload.php" id="phone-file-upload-form" method="post"
+        enctype="multipart/form-data" style="visibility:hidden;height:1px;position:absolute;top:0;">
+    <input type="file" multiple="multiple" name="files[]" id="phone-file-upload-field" accept="image/*;capture=camera"/>
+  </form>
+  <script>
+    jQuery(function () {
+      // Click browse triggers the file form. It opens the dialog to capture images or browse files
+      jQuery("#phone-image-browse").on('click touchend', function () {
+        jQuery("#phone-file-upload-field").click();
+        return false;
+      });
+      // If the field has been updated (e.g not canceled), submit the form
+      jQuery("#phone-file-upload-field").on('change', function () {
+        var form_data = new FormData();
+        var fileInput = document.getElementById('phone-file-upload-field');
+
+        // Read selected files
+        var totalfiles = fileInput.files.length;
+        for (var index = 0; index < totalfiles; index++) {
+          form_data.append("files[]", fileInput.files[index]);
+        }
+        form_data.append('token', '{{ $phonetoken }}');
+
+        var form = jQuery("#phone-file-upload-form");
+        var field = jQuery("#phone-file-upload-field");
+        var button = jQuery("#phone-image-browse");
+
+        button.text("{{ __("Chargement des fichiers", 'ccv') }}");
+
+        // AJAX request
+        jQuery.ajax({
+          url: form.attr('action'),
+          type: form.attr('method'),
+          data: form_data,
+          dataType: 'json',
+          contentType: false,
+          processData: false,
+          success: function (response) {
+            setTimeout(function () {
+              console.log('reset button');
+              button.text("{{ __("Parcourir", 'ccv') }}");
+            }, 2000);
+            button.text("{{ __("Chargement terminé", 'ccv') }}");
+          }
+        });
+
+        return true;
+      });
+    });
+  </script>
+@endpush
+
 {{-- Custom classes for form message container --}}
 @push('message_class')
   py-2v pl-4v pr-3v xs:px-2v