]> _ Git - fluidbook-toolbox.git/commitdiff
wip #5990 @0.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 16 Nov 2023 16:01:17 +0000 (17:01 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 16 Nov 2023 16:01:17 +0000 (17:01 +0100)
app/Http/Controllers/Admin/Operations/FluidbookPublication/AuditOperation.php [new file with mode: 0644]
app/Models/FluidbookPublication.php
public/images/icons/icon-audit.svg [new file with mode: 0644]
resources/views/vendor/backpack/crud/buttons/fluidbook_publication/audit.blade.php [new file with mode: 0644]

diff --git a/app/Http/Controllers/Admin/Operations/FluidbookPublication/AuditOperation.php b/app/Http/Controllers/Admin/Operations/FluidbookPublication/AuditOperation.php
new file mode 100644 (file)
index 0000000..24b584c
--- /dev/null
@@ -0,0 +1,36 @@
+<?php
+
+namespace App\Http\Controllers\Admin\Operations\FluidbookPublication;
+
+use App\Fluidbook\Compiler\Compiler;
+use App\Http\Controllers\Admin\Operations\FluidbookPreviewOperation;
+use App\Http\Middleware\CheckIfAdmin;
+use App\Models\FluidbookHealthIssues;
+use App\Models\FluidbookPublication;
+use App\Models\FluidbookTheme;
+use Cubist\Backpack\Http\Controllers\Base\XSendFileController;
+use Cubist\Util\PHP;
+use Illuminate\Support\Facades\Auth;
+use Illuminate\Support\Facades\Route;
+
+// __('!!Paramètres des fluidbooks')
+trait AuditOperation
+{
+    protected function setupAuditRoutes($segment, $routeName, $controller)
+    {
+        Route::match(['get'], $segment . '/{id}/audit', $controller . '@audit');
+
+    }
+
+    protected function setupAuditDefaults()
+    {
+        $this->crud->addButtonFromView('line', 'audit', 'fluidbook_publication.audit', 'end');
+    }
+
+    protected function audit($id)
+    {
+        if (!FluidbookPublication::hasPermission($id, 'admin')) {
+            abort(401);
+        }
+    }
+}
index d3b286d20b0eac1222e0b16fef804c7765fa44df..317425812d77422eea8c630de83fc15d3de774c0 100644 (file)
@@ -15,6 +15,7 @@ use App\Fluidbook\Farm;
 use App\Fluidbook\Link\Link;
 use App\Fluidbook\Link\LinksData;
 use App\Http\Controllers\Admin\Operations\ChangeownerOperation;
+use App\Http\Controllers\Admin\Operations\FluidbookPublication\AuditOperation;
 use App\Http\Controllers\Admin\Operations\FluidbookPublication\CloneOperation;
 use App\Http\Controllers\Admin\Operations\FluidbookPublication\CompositionOperation;
 use App\Http\Controllers\Admin\Operations\FluidbookPublication\DeletefbOperation;
@@ -89,6 +90,7 @@ class FluidbookPublication extends ToolboxSettingsModel
         LinksOperation::class,
         CompositionOperation::class,
         UpgradeOperation::class,
+        AuditOperation::class,
         StatsOperation::class,
         DownloadOperation::class,
         CloneOperation::class,
@@ -284,7 +286,7 @@ class FluidbookPublication extends ToolboxSettingsModel
     public function onRetrieved(): bool
     {
         $res = parent::onRetrieved();
-        $fields = ['imageFormat','secureClientSidePassword','relay_url_params'];
+        $fields = ['imageFormat', 'secureClientSidePassword', 'relay_url_params'];
         foreach ($fields as $n) {
             $f = $this->getField($n);
             if (!isset($this->{$n}) || null === $this->{$n}) {
@@ -708,6 +710,11 @@ class FluidbookPublication extends ToolboxSettingsModel
         return $this->allowsUpdate();
     }
 
+    public function allowsAudit()
+    {
+        return $this->allowsUpdate();
+    }
+
     public function allowsUpgrade()
     {
         if (!can('fluidbook-publication:write')) {
diff --git a/public/images/icons/icon-audit.svg b/public/images/icons/icon-audit.svg
new file mode 100644 (file)
index 0000000..7804ac7
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 28.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+        viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve">
+<style type="text/css">
+       .st0{fill:#467FCF;}
+</style>
+<g id="Calque_1">
+       <path class="st0" d="M28.1,16.7c0-0.6-0.4-1-1-1h-4.8c0.5-2.2,2.4-3.9,4.8-3.9c0.6,0,1-0.4,1-1c0-0.6-0.4-1-1-1
+               c-1.9,0-3.7,0.8-4.9,2.1v-0.3c0-0.7-0.1-1.4-0.4-2c1.6-1,2.6-2.7,2.6-4.6c0-0.6-0.4-1-1-1c-0.6,0-1,0.4-1,1c0,1.2-0.6,2.2-1.5,2.8
+               C19.7,6.3,18,5.4,16,5.4c-2,0-3.7,0.9-4.9,2.4c-0.9-0.6-1.5-1.7-1.5-2.8c0-0.6-0.4-1-1-1c0,0,0,0,0,0c-0.6,0-1,0.4-1,1
+               c0,1.9,1,3.6,2.6,4.6c-0.2,0.6-0.4,1.3-0.4,2v0.3c-1.3-1.3-3-2.1-4.9-2.1c-0.6,0-1,0.4-1,1c0,0.6,0.4,1,1,1c2.4,0,4.3,1.7,4.8,3.9
+               H4.9c-0.6,0-1,0.4-1,1c0,0.6,0.4,1,1,1h4.8c-0.5,2.2-2.4,3.9-4.8,3.9c-0.6,0-1,0.4-1,1c0,0.6,0.4,1,1,1c1.9,0,3.7-0.8,4.9-2.1v0.3
+               c0,3.4,2.8,6.2,6.2,6.2c3.4,0,6.2-2.8,6.2-6.2v-0.3c1.3,1.3,3,2.1,4.9,2.1c0.6,0,1-0.4,1-1c0-0.6-0.4-1-1-1c-2.4,0-4.3-1.7-4.8-3.9
+               h4.8C27.6,17.7,28.1,17.3,28.1,16.7z M16,7.4c2.2,0,4,1.7,4.2,3.9h-8.3C12,9.1,13.8,7.4,16,7.4z M20.2,21.9c0,2.3-1.9,4.2-4.2,4.2
+               s-4.2-1.9-4.2-4.2v-8.6h8.3V21.9z"/>
+</g>
+<g id="Calque_2">
+</g>
+</svg>
diff --git a/resources/views/vendor/backpack/crud/buttons/fluidbook_publication/audit.blade.php b/resources/views/vendor/backpack/crud/buttons/fluidbook_publication/audit.blade.php
new file mode 100644 (file)
index 0000000..e8cd8bf
--- /dev/null
@@ -0,0 +1,8 @@
+{{-- __('!! Paramètres des fluidbooks') --}}
+@if( $entry->allowsAudit())
+    <a class="btn btn-sm btn-link" href="/fluidbook-publication/{{ $entry->id }}/audit"
+       data-toggle="tooltip"
+       title="{{__('Audit de la publication')}}"><img class="la" style="height: 25px;vertical-align: baseline;top:8px" src="/images/icons/icon-audit.svg"> {{__('Audit')}}
+    </a>
+@endif
+