]> _ Git - odl.git/commitdiff
wip #4804 @0.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 19 Jan 2022 12:15:58 +0000 (13:15 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 19 Jan 2022 12:15:58 +0000 (13:15 +0100)
app/Http/Controllers/FrontController.php
app/Jobs/SearchIndex.php
app/Models/Asset.php
app/Models/Resource.php
resources/views/front/resources.blade.php

index b02bae18bf31f61032dc0023d87f52066f2b0059..db857553ce9c07b7b5ca9103bd4c404ea53a269c 100644 (file)
@@ -115,12 +115,12 @@ class FrontController extends Controller
 
     protected function _getMediaLibraryFromCMS()
     {
-        return ['themes' => PageData::fromEntities(AssetTheme::all()), 'assets' => PageData::fromEntities(Asset::whereNotNull('theme')->whereNotIn('theme', ['[null]', '[]', ''])->orderBy('code', 'ASC')->get())];
+        return ['themes' => PageData::fromEntities(AssetTheme::all()), 'assets' => PageData::fromEntities(Asset::getAssetsInMediaLibrary())];
     }
 
     protected function _getResourcesPDFFromCMS()
     {
-        return PageData::fromEntities(Asset::where('type', 'pdf')->get());
+        return PageData::fromEntities(Asset::getPDFInResources());
     }
 
     protected function _getResourcesFromCMS()
index 110d11000b8ce780810a0a47b9dd61e4b5d39e11..6d9f9adbcf474677ea2c875abb4715ed56f8985a 100644 (file)
@@ -22,7 +22,6 @@ class SearchIndex extends Index
         $this->indexHome();
         $this->indexLibrary();
         $this->indexResources();
-        $this->indexTour();
 
         parent::handle();
     }
@@ -34,7 +33,7 @@ class SearchIndex extends Index
 
     public function indexLibrary()
     {
-        $assets = Asset::createdok()->whereNotNull('theme')->whereIn('type', ['audio', 'video']);
+        $assets = Asset::getAssetsInMediaLibrary();
         foreach ($assets as $asset) {
             $data = $asset->getPageData();
             $doc = new Document();
@@ -42,8 +41,7 @@ class SearchIndex extends Index
             $doc->setId('media_' . $data->get('type') . '_' . $data->get('id'));
             $doc->setUrl($doc->getId());
             $doc->setTitle($data->get('title'));
-            $doc->setText(implode(' ', $data->get('keywords')));
-
+            $doc->setKeywords(implode(' ', $data->get('keywords')));
             $this->addDocument($doc);
         }
     }
@@ -53,70 +51,37 @@ class SearchIndex extends Index
      */
     public function indexResources()
     {
-        /** @var PageData $data */
-        $data = Resource::find('1')->getPageData();
-
-        $documents = $data->get('documents');
-        foreach ($documents as $i => $document) {
-            if (!$document['document_pdf']) {
-                continue;
-            }
-            foreach ($data->getMediaPathsByCollection($document['document_pdf']) as $pdf) {
-                $document = new PDF($pdf);
-                $document->setId('resources_documents_' . $i);
-                $document->setUrl($document->getId());
-                $document->setTitle($document['document_title']);
-                $document->setThumb($data->getImageURLbyCollection($document['document_image']));
-                $document->setType('pdf');
-                $this->addDocument($document);
-                break;
-            }
-        }
+//        /** @var PageData $data */
+//        $data = Resource::find('1')->getPageData();
 
-        $chapters = $data->get('chapters');
-        foreach ($chapters as $i => $chapter) {
-            foreach ($chapter['subchapters'] as $j => $subchapter) {
-                foreach ($subchapter['subchapter_memos'] as $k => $memo) {
-                    if (!$memo['memo_pdf']) {
-                        continue;
-                    }
-                    foreach ($data->getMediaPathsByCollection($memo['memo_pdf']) as $pdf) {
-                        $document = new PDF($pdf);
-                        $document->setId('resources_memos_' . $i . '_' . $j . '_' . $k);
-                        $document->setUrl($document->getId());
-                        $document->setTitle($memo['memo_title']);
-                        $document->setThumb($data->getImageURLbyCollection($memo['memo_image']));
-                        $document->setType('pdf');
-                        $this->addDocument($document);
-                        break;
-                    }
-                }
-            }
-        }
-    }
-
-    public function indexTour()
-    {
-        /** @var PageData $data */
-        $data = Tour::find('1')->getPageData();
+//        $documents = $data->get('documents');
+//        foreach ($documents as $i => $document) {
+//            if (!$document['document_pdf']) {
+//                continue;
+//            }
+//            foreach ($data->getMediaPathsByCollection($document['document_pdf']) as $pdf) {
+//                $document = new PDF($pdf);
+//                $document->setId('resources_documents_' . $i);
+//                $document->setUrl($document->getId());
+//                $document->setTitle($document['document_title']);
+//                $document->setThumb($data->getImageURLbyCollection($document['document_image']));
+//                $document->setType('pdf');
+//                $this->addDocument($document);
+//                break;
+//            }
+//        }
 
-        $themes = $data->get('tour_themes');
-        foreach ($themes as $i => $theme) {
-            foreach ($theme['theme_documents'] as $j => $doc) {
-                if (!$doc['memo_pdf']) {
-                    continue;
-                }
-                foreach ($data->getMediaPathsByCollection($doc['memo_pdf']) as $pdf) {
-                    $document = new PDF($pdf);
-                    $document->setId('tour_documents_' . $i . '_' . $j);
-                    $document->setUrl($document->getId());
-                    $document->setTitle($doc['memo_title']);
-                    $document->setThumb($data->getImageURLbyCollection($doc['memo_image']));
-                    $document->setType('pdf');
-                    $this->addDocument($document);
-                    break;
-                }
-            }
+        /** @var Asset[] $pdfs */
+        $pdfs=Asset::getPDFInResources();
+        foreach ($pdfs as $pdf) {
+            $document = new PDF($pdf->getFirstMediaInField('file_upload')->getPath());
+            $document->setId($pdf->id);
+            $document->setUrl('asset_'.$document->getId());
+            $document->setTitle($pdf->title);
+            $document->setKeywords(implode(' ',$pdf->keywords));
+            $document->setThumb($pdf->getThumbURL());
+            $document->setType('pdf');
+            $this->addDocument($document);
         }
     }
 }
index 10303d340aa3460732410689e2d6a8c1f96ee9d7..776e6696524d028d16d2360801c9d139141ae6c8 100644 (file)
@@ -80,5 +80,28 @@ class Asset extends CubistMagicAbstractModel
             ->nonQueued();
 
     }
+
+
+    public static function getAssetsInMediaLibrary()
+    {
+        return Asset::createdok()->whereNotNull('theme')->whereNotIn('theme', ['[null]', '[]', ''])->whereIn('type', ['audio', 'video'])->orderBy('code', 'ASC')->get();
+    }
+
+    public static function getPDFInResources()
+    {
+        return Asset::createdok()->where('type', 'pdf')->get();
+    }
+
+    public function getThumbURL()
+    {
+        return !$this->get('file_thumb') || !$this->getImageURLbyCollection($this->file_thumb)
+            ? $this->getImageURLbyCollection($this->file_upload, 'poster')
+            : $this->getImageURLbyCollection($this->file_thumb);
+    }
+
+    public function getAssetURL()
+    {
+        return $this->getImageURLbyCollection($this->file_upload);
+    }
 }
 
index 78dc01bb64c5ddc026fc96e27ee0826e2b1e1990..985c36b2500f282925f47232a7f45e1be4285894 100644 (file)
@@ -23,7 +23,7 @@ class Resource extends CubistMagicAbstractModel
 
         $this->addField('title', Text::class, 'Titre', ['tab' => 'Intro']);
         $this->addField('subtitle', Textarea::class, 'Sous-titre', ['tab' => 'Intro']);
-        $this->addField('documents', BunchOfFieldsMultiple::class, 'Offres', ['tab' => 'Intro', 'bunch' => ResourceDocument::class, 'add_label' => 'Ajouter un document']);
+        //$this->addField('documents', BunchOfFieldsMultiple::class, 'Offres', ['tab' => 'Intro', 'bunch' => ResourceDocument::class, 'add_label' => 'Ajouter un document']);
 
         $this->addField('chapters', BunchOfFieldsMultiple::class, 'Chapitres', ['tab' => 'Mémos', 'bunch' => ResourceChapter::class, 'add_label' => 'Ajouter un chapitre']);
     }
index cfa68674e6030415490f4ae07692f538a4835405..66f94da62ce71333bacf2d76aead9074b37e5456 100644 (file)
              x-show="shown"
              x-transition:enter-start="opacity-0 translate-y-[50px]">
 
-{{--            --}}{{-- DOCUMENTS --}}
-{{--            @if (count($resources->documents) > 0)--}}
-{{--                <div class="grid lg:grid-cols-2 gap-6">--}}
-{{--                    @foreach($resources->documents as $doc)--}}
-{{--                        @if (!$doc['document_pdf'] || !isset($resources_pdf[$doc['document_pdf']]))--}}
-{{--                            @continue--}}
-{{--                        @endif--}}
-{{--                        @php--}}
-{{--                            /** @var \Cubist\Backpack\Magic\PageData $pdf */--}}
-{{--                            $pdf = $resources_pdf[$doc['document_pdf']];--}}
-{{--                            $pdfurl = $pdf->getImageURLbyCollection($pdf->get('file_upload'));--}}
-{{--                            $thumb = null === $pdf->get('file_thumb')--}}
-{{--                                ? $pdf->getImageURLbyCollection($pdf->get('file_upload'),'poster')--}}
-{{--                                : $pdf->getImageURLbyCollection($pdf->get('file_thumb'));--}}
-{{--                        @endphp--}}
-{{--                        --}}{{--<a href="{{ $doc['document_pdf'] }}" @click.prevent="openPDF($el.attributes.href.value)" class="group">--}}
-{{--                        <a href="{{$pdfurl}}" @click.prevent="openPDF($el.attributes.href.value)"--}}
-{{--                           class="group">--}}
-{{--                            <div class="bg-blue h-full flex items-center p-10 text-white rounded-md">--}}
-{{--                                <img class="w-1/2 pr-6"--}}
-{{--                                     src="{{ $thumb }}"--}}
-{{--                                     alt="{{ $doc['document_title'] }}">--}}
-{{--                                --}}{{--<img class="w-1/2 pr-6" src="{{ $doc['document_image'] }}" alt="{{ $doc['document_title'] }}">--}}
-{{--                                <div class="-mr-5 space-y-4">--}}
-{{--                                    <h3 class="text-4xl font-semibold">{{ $doc['document_title'] }}</h3>--}}
-{{--                                    <p>{{ $doc['document_subtitle'] }}</p>--}}
-{{--                                    <span class="bg-blue-dark inline-block rounded-full--}}
-{{--                                             py-4 px-10--}}
-{{--                                             transform transition--}}
-{{--                                             group-hover:scale-105">--}}
-{{--                                        Visualiser--}}
-{{--                                    </span>--}}
-{{--                                </div>--}}
-{{--                            </div>--}}
-{{--                        </a>--}}
-{{--                    @endforeach--}}
-{{--                </div>--}}
-{{--            @endif--}}
+            {{--            --}}{{-- DOCUMENTS --}}
+            {{--            @if (count($resources->documents) > 0)--}}
+            {{--                <div class="grid lg:grid-cols-2 gap-6">--}}
+            {{--                    @foreach($resources->documents as $doc)--}}
+            {{--                        @if (!$doc['document_pdf'] || !isset($resources_pdf[$doc['document_pdf']]))--}}
+            {{--                            @continue--}}
+            {{--                        @endif--}}
+            {{--                        @php--}}
+            {{--                            /** @var \Cubist\Backpack\Magic\PageData $pdf */--}}
+            {{--                            $pdf = $resources_pdf[$doc['document_pdf']];--}}
+            {{--                            $pdfurl = $pdf->getImageURLbyCollection($pdf->get('file_upload'));--}}
+            {{--                            $thumb = null === $pdf->get('file_thumb')--}}
+            {{--                                ? $pdf->getImageURLbyCollection($pdf->get('file_upload'),'poster')--}}
+            {{--                                : $pdf->getImageURLbyCollection($pdf->get('file_thumb'));--}}
+            {{--                        @endphp--}}
+            {{--                        --}}{{--<a href="{{ $doc['document_pdf'] }}" @click.prevent="openPDF($el.attributes.href.value)" class="group">--}}
+            {{--                        <a href="{{$pdfurl}}" @click.prevent="openPDF($el.attributes.href.value)"--}}
+            {{--                           class="group">--}}
+            {{--                            <div class="bg-blue h-full flex items-center p-10 text-white rounded-md">--}}
+            {{--                                <img class="w-1/2 pr-6"--}}
+            {{--                                     src="{{ $thumb }}"--}}
+            {{--                                     alt="{{ $doc['document_title'] }}">--}}
+            {{--                                --}}{{--<img class="w-1/2 pr-6" src="{{ $doc['document_image'] }}" alt="{{ $doc['document_title'] }}">--}}
+            {{--                                <div class="-mr-5 space-y-4">--}}
+            {{--                                    <h3 class="text-4xl font-semibold">{{ $doc['document_title'] }}</h3>--}}
+            {{--                                    <p>{{ $doc['document_subtitle'] }}</p>--}}
+            {{--                                    <span class="bg-blue-dark inline-block rounded-full--}}
+            {{--                                             py-4 px-10--}}
+            {{--                                             transform transition--}}
+            {{--                                             group-hover:scale-105">--}}
+            {{--                                        Visualiser--}}
+            {{--                                    </span>--}}
+            {{--                                </div>--}}
+            {{--                            </div>--}}
+            {{--                        </a>--}}
+            {{--                    @endforeach--}}
+            {{--                </div>--}}
+            {{--            @endif--}}
 
-{{--            --}}{{-- MEMOS TITLE --}}
-{{--            <p class="my-15">--}}
-{{--                <span class="inline-block p-2.5--}}
-{{--                             font-secondary font-bold uppercase text-xs leading-none--}}
-{{--                             border border-current">--}}
-{{--                    Les mémos--}}
-{{--                </span>--}}
-{{--            </p>--}}
+            {{--            --}}{{-- MEMOS TITLE --}}
+            {{--            <p class="my-15">--}}
+            {{--                <span class="inline-block p-2.5--}}
+            {{--                             font-secondary font-bold uppercase text-xs leading-none--}}
+            {{--                             border border-current">--}}
+            {{--                    Les mémos--}}
+            {{--                </span>--}}
+            {{--            </p>--}}
 
             {{-- MAIN SECTION WITH SIDEBAR --}}
             <div class="flex">
                                         @php
                                             /** @var \Cubist\Backpack\Magic\PageData $pdf */
                                             $pdf = $resources_pdf[$memo['memo_pdf']];
-                                            $pdfurl = $pdf->getImageURLbyCollection($pdf->get('file_upload'));
-                                            $thumb = !$pdf->get('file_thumb') || !$pdf->getImageURLbyCollection($pdf->get('file_thumb'))
-                                                ? $pdf->getImageURLbyCollection($pdf->get('file_upload'),'poster')
-                                                : $pdf->getImageURLbyCollection($pdf->get('file_thumb'));
                                         @endphp
 
                                         {{--<a href="{{ $memo['memo_pdf'] }}" @click.prevent="openPDF($el.attributes.href.value)" class="group">--}}
-                                        <a href="{{ $pdfurl }}"
+                                        <a href="{{ $pdf->getEntity()->getAssetURL() }}"
                                            @click.prevent="openPDF($el.attributes.href.value)"
                                            class="group">
                                             <div class="bg-grey-50 flex items-start h-full p-[1.875rem] rounded-md">
                                                 <img class="w-1/4 mr-5 shadow-sm"
                                                      style="min-width: 105px; box-shadow: 2px 3px 3px 0 rgb(0 0 0 / 15%);"
-                                                     src="{{ $thumb }}"
+                                                     src="{{ $pdf->getEntity()->getThumbURL() }}"
                                                      alt="{{ $memo['memo_title'] }}">
                                                 <div class="space-y-2.5 pt-4">
                                                     @if ($memo['memo_number'])