From: Vincent Vanwaelscappel Date: Thu, 14 Dec 2023 14:54:25 +0000 (+0100) Subject: wip #6571 @2 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=49520fe511991fe286535ca4e1a5c53dda8a2fa8;p=fluidbook-toolbox.git wip #6571 @2 --- diff --git a/.env.alpha b/.env.alpha index 34cb41bcc..f6c4d4506 100644 --- a/.env.alpha +++ b/.env.alpha @@ -25,6 +25,7 @@ DB_USERNAME=root DB_PASSWORD=9xHw8nyRuphyTvqC DB_USER_DATABASE=extranet_users +DB_EXTRANET_DATABASE=extranet_clean BROADCAST_DRIVER=log CACHE_DRIVER=redis diff --git a/.env.dev b/.env.dev index c863c4a26..317e1cf0c 100644 --- a/.env.dev +++ b/.env.dev @@ -25,6 +25,7 @@ DB_USERNAME=root DB_PASSWORD=9xHw8nyRuphyTvqC DB_USER_DATABASE=extranet_users +DB_EXTRANET_DATABASE=extranet_clean BROADCAST_DRIVER=log CACHE_DRIVER=redis diff --git a/.env.prod b/.env.prod index 0257c08d3..8d0ca4017 100644 --- a/.env.prod +++ b/.env.prod @@ -25,6 +25,7 @@ DB_USERNAME=root DB_PASSWORD=9xHw8nyRuphyTvqC DB_USER_DATABASE=extranet_users +DB_EXTRANET_DATABASE=extranet_clean BROADCAST_DRIVER=log CACHE_DRIVER=redis diff --git a/app/Fields/FluidbookExtranetTask.php b/app/Fields/FluidbookExtranetTask.php new file mode 100644 index 000000000..4ab046e07 --- /dev/null +++ b/app/Fields/FluidbookExtranetTask.php @@ -0,0 +1,51 @@ + $tasks) { + if(!isset($projects[$project])){ + continue; + } + $t = []; + foreach ($tasks as $id => $task) { + $t[$id] = $task->nom; + } + // $res['project_' . $project] = ["text" => $projects[$project]->nom, 'children' => $t]; + } + + return $res; + } + + protected static function _getProjects() + { + $projects = []; + foreach (DB::connection('extranet')->table('projets')->orderBy('projet_id', 'DESC')->get()->all() as $project) { + $projects[$project->projet_id] = $project; + } + + return $projects; + } + + protected static function _getTasks() + { + $tasks = []; + foreach (DB::connection('extranet')->table('taches')->orderBy('tache_id', 'ASC')->get()->all() as $task) { + if (!isset($tasks[$task->projet])) { + $tasks[$task->projet] = []; + } + $tasks[$task->projet][$task->tache_id] = $task; + } + return $tasks; + } +} diff --git a/app/Http/Controllers/Admin/Operations/FluidbookPublication/InvoiceOperation.php b/app/Http/Controllers/Admin/Operations/FluidbookPublication/InvoiceOperation.php new file mode 100644 index 000000000..658a830c9 --- /dev/null +++ b/app/Http/Controllers/Admin/Operations/FluidbookPublication/InvoiceOperation.php @@ -0,0 +1,23 @@ +crud->addButtonFromView('line', 'invoice', 'fluidbook_publication.invoice', 'end'); + } + + protected function invoiceItem($id) + { + + } +} diff --git a/app/Models/FluidbookPublication.php b/app/Models/FluidbookPublication.php index d1a48db23..ebee1962b 100644 --- a/app/Models/FluidbookPublication.php +++ b/app/Models/FluidbookPublication.php @@ -6,6 +6,7 @@ namespace App\Models; use App\Console\Commands\WorkshopMigration; use App\Fields\FluidbookChapters; use App\Fields\FluidbookComposition; +use App\Fields\FluidbookExtranetTask; use App\Fields\FluidbookLocale; use App\Fields\FluidbookProjectManager; use App\Fields\FluidbookStatus; @@ -24,6 +25,7 @@ use App\Http\Controllers\Admin\Operations\FluidbookPublication\CreateOperation; use App\Http\Controllers\Admin\Operations\FluidbookPublication\DeletefbOperation; use App\Http\Controllers\Admin\Operations\FluidbookPublication\DownloadOperation; use App\Http\Controllers\Admin\Operations\FluidbookPublication\EditOperation; +use App\Http\Controllers\Admin\Operations\FluidbookPublication\InvoiceOperation; use App\Http\Controllers\Admin\Operations\FluidbookPublication\LinksOperation; use App\Http\Controllers\Admin\Operations\FluidbookPublication\PreviewOperation; use App\Http\Controllers\Admin\Operations\FluidbookPublication\Services\BastideOperation; @@ -100,6 +102,7 @@ class FluidbookPublication extends ToolboxStatusModel EditOperation::class, ChangeownerOperation::class, ChangestatusOperation::class, + InvoiceOperation::class, // Services SocialImageOperation::class, ExportPdfOperation::class, @@ -131,9 +134,9 @@ class FluidbookPublication extends ToolboxStatusModel $this->addField('hash', Hidden::class); $this->addField('cid', Hidden::class); - - $this->addField('extranet_task', Hidden::class, __('Tâche de l\'extranet')); $this->addField('export_data', Hidden::class, __('Paramètres d\'export')); + + // Composed fields $composed = [ 'c_title' => [ @@ -196,13 +199,18 @@ class FluidbookPublication extends ToolboxStatusModel ] ); + $this->addField('extranet_task', FluidbookExtranetTask::class, __('Tâche de l\'extranet'), [ + 'can' => 'fluidbook-publication:admin', + 'when' => ['status' => 3] + ]); + $this->addField('project_manager', FluidbookProjectManager::class, __('Chef de projet'), [ 'column' => true, 'filter' => true, 'searchLogic' => false, 'can' => 'fluidbook-publication:admin', ]); - + $this->addField('section_composition', FormBigSection::class, __('Composition')); $this->addField('composition_fluidbook', Checkbox::class, __('Utiliser la composition d\'un autre fluidbook'), ['default' => false]); $this->addField('composition_fluidbook_id', FluidbookV3ID::class, __('Utiliser la composition d\'un autre fluidbook'), ['excluded_options' => $this->id, 'when' => ['composition_fluidbook' => 1]]); diff --git a/config/database.php b/config/database.php index 39b0e3952..6a337a16e 100644 --- a/config/database.php +++ b/config/database.php @@ -103,6 +103,26 @@ return [ ]) : [], ], + 'extranet' => [ + 'driver' => 'mysql', + 'url' => env('DATABASE_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '3306'), + 'database' => env('DB_EXTRANET_DATABASE', 'extranet_clean'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'unix_socket' => env('DB_SOCKET', ''), + 'charset' => 'utf8mb4', + 'collation' => 'utf8mb4_unicode_ci', + 'prefix' => '', + 'prefix_indexes' => true, + 'strict' => true, + 'engine' => 'InnoDB ROW_FORMAT=DYNAMIC', + 'options' => extension_loaded('pdo_mysql') ? array_filter([ + PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), + ]) : [], + ], + 'pgsql' => [ 'driver' => 'pgsql', diff --git a/resources/views/vendor/backpack/crud/buttons/fluidbook_publication/create_us.blade.php b/resources/views/vendor/backpack/crud/buttons/fluidbook_publication/create_us.blade.php index e7968f767..8545f011b 100644 --- a/resources/views/vendor/backpack/crud/buttons/fluidbook_publication/create_us.blade.php +++ b/resources/views/vendor/backpack/crud/buttons/fluidbook_publication/create_us.blade.php @@ -1,3 +1,4 @@ @if ($crud->hasAccess('create')) - {{__('Créer une publication hébergée aux USA')}} + {{__('Créer une publication hébergée aux USA')}} @endif diff --git a/resources/views/vendor/backpack/crud/buttons/fluidbook_publication/invoice.blade.php b/resources/views/vendor/backpack/crud/buttons/fluidbook_publication/invoice.blade.php new file mode 100644 index 000000000..c33e5afc9 --- /dev/null +++ b/resources/views/vendor/backpack/crud/buttons/fluidbook_publication/invoice.blade.php @@ -0,0 +1,8 @@ +{{-- __('!! Paramètres des fluidbooks') --}} +@if($entry->status<3 && $entry->status>0 && $entry->canAdmin(backpack_user())) + + {{__('Facturer')}} + +@endif