]> _ Git - fluidbook-toolbox.git/commitdiff
wip #5990 @0.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 17 Nov 2023 08:50:26 +0000 (09:50 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 17 Nov 2023 08:50:26 +0000 (09:50 +0100)
app/Http/Controllers/Admin/Operations/FluidbookPublication/LinksOperation.php
app/Models/FluidbookHealthIssues.php
app/Models/FluidbookPublication.php
public/packages/fluidbook/toolbox/css/audit.css
public/packages/fluidbook/toolbox/css/audit.css.map
public/packages/fluidbook/toolbox/css/audit.less
resources/views/fluidbook_publication/audit.blade.php

index 5c7e3036b5b380a6a5a1f49c27211b7771830e03..e83e2975d54042b210b6a39c21af9dde78a65e69 100644 (file)
@@ -18,7 +18,7 @@ trait LinksOperation
 
     protected function setupLinksRoutes($segment, $routeName, $controller)
     {
-        Route::match(['get'], $segment . '/{id}/edit/links', $controller . '@links');
+        Route::match(['get'], $segment . '/{id}/edit/links', $controller . '@links')->name('fluidbook_linkeditor');;
         Route::match(['get'], $segment . '/{id}/edit/links/versions', $controller . '@getLinkVersions');
         Route::match(['get'], $segment . '/{id}/edit/links/versions/export/{version}', $controller . '@exportLinks');
         Route::match(['post'], $segment . '/{id}/edit/links/import/merge', $controller . '@importLinksMerge');
index 4a236d37a361c5cee51258a9acfba3eff952574e..8ba729ba937c1b0b49825a87b3320f746459a2c2 100644 (file)
@@ -56,21 +56,40 @@ class FluidbookHealthIssues extends ToolboxModel
          */
 
         $d = [
-            static::TYPE_MISSING_FILE => ['summary' => __('Erreur 404'), 'criticality' => self::CRIT_ERROR, 'text' => 'Le chemin ":path" est introuvable'],
-            static::TYPE_QRCODE_NOT_READABLE => ['summary' => __('QRcode illisible'), 'criticality' => self::CRIT_ERROR, 'text' => 'Le QRcode du lien :uid (page :page) n\'a pas pu être décodé'],
+            static::TYPE_MISSING_FILE =>
+                [
+                    'summary' => __('Erreur 404'),
+                    'criticality' => self::CRIT_ERROR, 'text' => 'Le chemin ":path" est introuvable',
+
+                ],
+            static::TYPE_QRCODE_NOT_READABLE =>
+                [
+                    'summary' => __('QRcode illisible'),
+                    'criticality' => self::CRIT_ERROR,
+                    'text' => 'Le QRcode du lien :uid (page :page) n\'a pas pu être décodé',
+                    'fixText' => __('Aller sur l\'éditeur de liens'),
+                    'fixURL' => route('fluidbook_linkeditor', ['id' => $fluidbookId]) . '#:page',
+                ],
         ];
 
-        $issues = static::withoutGlobalScopes()->where('fluidbook', $fluidbookId)->get();
+        $issues = static::withoutGlobalScopes()->where('fluidbook', $fluidbookId)->orderBy('updated_at', 'DESC')->get();
         $res = [];
         foreach ($issues as $issue) {
             $data = $d[$issue->type];
 
             $replace = json_decode($issue->data, true);
+            $replaceRaw = $replace;
             foreach ($replace as $k => $r) {
                 $replace[$k] = '<strong>' . $r . '</strong>';
             }
 
-            $line = ['type' => $issue->type, 'criticality' => $data['criticality'], 'summary' => $data['summary'], 'text' => __($data['text'], $replace), 'count' => $issue->count, 'last' => $issue->updated_at];
+            if(!isset($data['fixText'])){
+                $fix='';
+            }else{
+                $fix='<a class="btn-link" href="' . __($data['fixURL'], $replaceRaw) . '">' . $data['fixText'] . '</a>';
+            }
+
+            $line = ['type' => $issue->type, 'criticality' => $data['criticality'], 'summary' => $data['summary'], 'text' => __($data['text'], $replace), 'count' => $issue->count, 'last' => $issue->updated_at, 'fix' => $fix];
             $res[] = $line;
         }
         return $res;
index b98331ce9f32488dd7fc81ef8ff36ca98d6d2b62..a90166995394994094b56ec0b4975aff0d309cfe 100644 (file)
@@ -1085,4 +1085,8 @@ class FluidbookPublication extends ToolboxSettingsModel
         rsort($list);
         return $list;
     }
+
+    public function hasIssue(){
+
+    }
 }
index bf31f35f44b2ceffe98c15a465a71e225c780e28..161d1991ad8ee7d26578315065a97282f364391d 100644 (file)
@@ -1,4 +1,14 @@
 h2 {
   margin-top: 30px;
 }
+.la-exclamation-circle,
+.la-exclamation-triangle {
+  font-size: 20px;
+}
+.la-exclamation-circle {
+  color: #c00;
+}
+.la-exclamation-triangle {
+  color: #F74D07;
+}
 /*# sourceMappingURL=audit.css.map */
\ No newline at end of file
index f70400439ff205a30041bf67d4bd00d4b7a7ec54..c6026795a1823bf2f9cac221c3ecc72c122e8925 100644 (file)
@@ -1 +1 @@
-{"version":3,"sources":["audit.less"],"names":[],"mappings":"AAAA;EACI,gBAAA","file":"audit.css"}
\ No newline at end of file
+{"version":3,"sources":["audit.less"],"names":[],"mappings":"AAAA;EACI,gBAAA;;AAGJ;AAAwB;EACpB,eAAA;;AAGJ;EACI,WAAA;;AAGJ;EACI,cAAA","file":"audit.css"}
\ No newline at end of file
index 0a7adf5858084f275d490e71f20ea39895d288be..2351407641133d691a4e74c8eab4fdf9f992b2a2 100644 (file)
@@ -1,3 +1,15 @@
-h2{
+h2 {
     margin-top: 30px;
 }
+
+.la-exclamation-circle, .la-exclamation-triangle {
+    font-size: 20px;
+}
+
+.la-exclamation-circle {
+    color: #c00;
+}
+
+.la-exclamation-triangle {
+    color: #F74D07;
+}
index dc462f770f09fe19a77f49c4a7d3a4c4bd824f30..9b6fa07821e575545d160f72bcc026ba0877f4d4 100644 (file)
@@ -7,6 +7,13 @@
     <link rel="stylesheet" href="/packages/fluidbook/toolbox/css/audit.css"/>
 @endsection
 
+@php
+    $icons=[
+        \App\Models\FluidbookHealthIssues::CRIT_ERROR=>'<i class="las la-exclamation-circle"></i>',
+        \App\Models\FluidbookHealthIssues::CRIT_WARNING=>'<i class="las la-exclamation-triangle"></i>'
+    ];
+@endphp
+
 @section('content')
     <h2>{{__('Audit du fluidbook :title - #:id',['title'=>$fluidbook->title,'id'=>$id])}}</h2>
     <table
             <th>{{__('Détails')}}</th>
             <th>{{__('Nombre')}}</th>
             <th>{{__('Date')}}</th>
+            <th>{{__('Corriger le problème')}}</th>
         </tr>
         </thead>
         <tbody>
 
         @foreach($issues as $issue)
             <tr>
-                <td></td>
+                <td sorttable_customkey="{{$issue['criticality']}}">{!! $icons[$issue['criticality']] !!}</td>
                 <td sorttable_customkey="{{$issue['type']}}">{{$issue['summary']}}</td>
                 <td>{!! $issue['text'] !!}</td>
                 <td>{{$issue['count']}}</td>
                 <td>{{$issue['last']}}</td>
+                <td>{!! $issue['fix'] !!}</td>
             </tr>
         @endforeach
         </tbody>