From a5b2dc9ac1b52b8a5dd7a8a25d94c4849335f678 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Thu, 11 Jul 2024 19:39:31 +0200 Subject: [PATCH] wip #7003 @3 --- app/Fields/BadgeIssuer.php | 18 ++++ app/Models/Badges/Assertion.php | 8 ++ app/Models/Badges/BadgeClass.php | 28 ++++++ app/Models/Badges/Base.php | 33 +++++++ app/Models/Badges/Issuer.php | 28 ++++++ resources/badge/translate.js | 4 + .../base/inc/sidebar_content.blade.php | 87 +++++++++++-------- 7 files changed, 168 insertions(+), 38 deletions(-) create mode 100644 app/Fields/BadgeIssuer.php create mode 100644 app/Models/Badges/Assertion.php create mode 100644 app/Models/Badges/BadgeClass.php create mode 100644 app/Models/Badges/Base.php create mode 100644 app/Models/Badges/Issuer.php create mode 100644 resources/badge/translate.js diff --git a/app/Fields/BadgeIssuer.php b/app/Fields/BadgeIssuer.php new file mode 100644 index 000000000..20f97956c --- /dev/null +++ b/app/Fields/BadgeIssuer.php @@ -0,0 +1,18 @@ + 'badge-class', + 'singular' => 'badge', + 'plural' => 'badges']; + + protected static $_permissionBase = 'badge-class'; + + public function setFields() + { + parent::setFields(); + $this->addField('issuer', BadgeIssuer::class, __('Émetteur'), ['column' => true]); + $this->addField('name', Text::class, __('Nom du certificat'), ['column' => true]); + $this->addField('area', Text::class, __('Domaine de formation')); + $this->addField('description', Textarea::class, __('Description du certificat'), ['hint' => __('Description de la formation. Sera intégré dans les métadonnées du certificat, mais invisible dans l\'image')]); + $this->addField('template', Files::class, __('Template du badge')); + } +} diff --git a/app/Models/Badges/Base.php b/app/Models/Badges/Base.php new file mode 100644 index 000000000..f8be909b4 --- /dev/null +++ b/app/Models/Badges/Base.php @@ -0,0 +1,33 @@ +addField('uid', HiddenVisible::class, __('UID'), ['column' => true, 'unique' => true]); + $this->addOwnerField(); + } + + public function onSaving(): bool + { + if (!$this->uid) { + $this->uid = substr(md5(uniqid()), 0, 12); + } + return parent::onSaving(); + } + +} diff --git a/app/Models/Badges/Issuer.php b/app/Models/Badges/Issuer.php new file mode 100644 index 000000000..ed96ff7cd --- /dev/null +++ b/app/Models/Badges/Issuer.php @@ -0,0 +1,28 @@ + 'badge-issuer', + 'singular' => 'issuer', + 'plural' => 'issuers']; + + protected static $_permissionBase = 'badge-issuer'; + + public function setFields() + { + parent::setFields(); + + $this->addField('name', Text::class, __('Nom de l\'émetteur'), ['column' => true]); + $this->addField('url', URL::class, __('URL')); + $this->addField('logo', Images::class, __('Logo')); + + + } +} diff --git a/resources/badge/translate.js b/resources/badge/translate.js new file mode 100644 index 000000000..1985c522f --- /dev/null +++ b/resources/badge/translate.js @@ -0,0 +1,4 @@ +/* +__('Réussi') + + */ diff --git a/resources/views/vendor/backpack/base/inc/sidebar_content.blade.php b/resources/views/vendor/backpack/base/inc/sidebar_content.blade.php index 9468153d3..c0e85b20b 100644 --- a/resources/views/vendor/backpack/base/inc/sidebar_content.blade.php +++ b/resources/views/vendor/backpack/base/inc/sidebar_content.blade.php @@ -59,51 +59,62 @@ }); @endpush -@if(config('app.env') !== 'ysl') - - + + - @can('files:read') - - @endcan - @canany(['quiz:read','quiztranslation:read','elearning_media:read']) -
  • {{__('e-Learning')}} - -
  • - @endcanany -@endif @canany(['fluidbook-quote:read','signature:read','fluidbook-theme:read','fluidbook-iconset:read','fluibook-translate:write','fluidbook-publication:read'])