]> _ Git - psq.git/commitdiff
wait #8046 @2.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 9 Mar 2026 18:21:31 +0000 (19:21 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 9 Mar 2026 18:21:31 +0000 (19:21 +0100)
app/Console/Commands/Migration.php [deleted file]
app/Console/Commands/SendMailCampaign.php [new file with mode: 0644]
app/Http/Controllers/Admin/PublishController.php
routes/web.php

diff --git a/app/Console/Commands/Migration.php b/app/Console/Commands/Migration.php
deleted file mode 100644 (file)
index 9618f56..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-<?php
-
-namespace App\Console\Commands;
-
-use Cubist\Util\CommandLine;
-use Cubist\Util\Files\Files;
-use Illuminate\Console\Command;
-use Illuminate\Support\Facades\Artisan;
-
-class Migration extends Command
-{
-    /**
-     * The name and signature of the console command.
-     *
-     * @var string
-     */
-    protected $signature = 'psq:migration';
-
-    /**
-     * The console command description.
-     *
-     * @var string
-     */
-    protected $description = 'Migration of old site to new one';
-
-    /**
-     * Create a new command instance.
-     *
-     * @return void
-     */
-    public function __construct()
-    {
-        parent::__construct();
-    }
-
-
-    public function handle()
-    {
-        $ignore = ['settings', 'setting_translations'];
-
-        $tmp = '/tmp/dump' . rand(100000, 999999) . '.sql';
-
-        Artisan::call('optimize:clear');
-
-        // Get dump from old server
-        $mysqldump = new CommandLine('mysqldump', $tmp, false);
-        $mysqldump->setArg('h', env('OLD_DB_HOST'));
-        $mysqldump->setManualArg('-u' . env('OLD_DB_USERNAME') . ' -p' . env('OLD_DB_PASSWORD'));
-        foreach ($ignore as $i) {
-            $mysqldump->setArg('ignore-table', env('OLD_DB_DATABASE') . '.' . $i);
-        }
-        $mysqldump->setArg(null, env('OLD_DB_DATABASE'));
-        $mysqldump->execute();
-
-        // Make backup of new server
-        $backup = Files::mkdir(storage_path('database/migrationbackup/')) . time() . '.sql';
-        $mysqldump = new CommandLine('mysqldump', $backup, false);
-        $mysqldump->setArg('h', env('DB_HOST'));
-        $mysqldump->setManualArg('-u' . env('DB_USERNAME') . ' -p' . env('DB_PASSWORD'));
-        $mysqldump->setArg(null, env('DB_DATABASE'));
-        $mysqldump->execute();
-        `gzip $backup`;
-
-        //Import dump from old server
-        $mysql = 'mysql -h ' . env('DB_HOST') . ' -u' . env('DB_USERNAME') . ' -p' . env('DB_PASSWORD') . ' ' . env('DB_DATABASE') . ' < ' . $tmp;
-        `$mysql`;
-        unlink($tmp);
-
-        // Sync S3
-        `rclone sync olds3:prescription-sante s3:presquot`;
-        `rclone sync olds3:prescription-sante/flowpaper/ /application/storage/app/flowpaper/`;
-        `rclone sync olds3:prescription-sante /application/storage/s3/`;
-
-        Artisan::call('psq:fluidbook:archives');
-        Artisan::call('migrate', ['--force' => true]);
-        Artisan::call('optimize:clear');
-    }
-}
diff --git a/app/Console/Commands/SendMailCampaign.php b/app/Console/Commands/SendMailCampaign.php
new file mode 100644 (file)
index 0000000..da60b6b
--- /dev/null
@@ -0,0 +1,25 @@
+<?php
+
+namespace App\Console\Commands;
+
+
+use App\Http\Controllers\Admin\PublishController;
+use App\PdfFile;
+use Illuminate\Console\Command;
+
+class SendMailCampaign extends Command
+{
+    public $signature = 'psq:letter:mailing {id} {group=cube}';
+
+    public function handle()
+    {
+        $id = $this->argument('id');
+        $pdf = PdfFile::where('slug', $id)->first();
+        $data = [
+            'file' => $pdf,
+            'recipient_group' => ['slug' => $this->argument('group')],
+        ];
+
+        dd(PublishController::sendMailing($data, true));
+    }
+}
index df373d7b6abe67da582d850ea0182b75fef36f56..d9e8bc72cbcf10460ac1b6830709beece7fcb315 100644 (file)
@@ -43,6 +43,11 @@ class PublishController extends Controller
     public function publish(Request $request)
     {
         $data = $request->input('data');
+        return self::sendMailing($data);
+    }
+
+    public static function sendMailing($data, $sync = false)
+    {
         $default = ['email' =>
             [
                 'subject' => "L'édition du jour [" . $data['file']['title'] . "]",
@@ -58,7 +63,6 @@ class PublishController extends Controller
 
         $data = ArrayUtil::mergeOverwriteNull($default, $data);
 
-
         $recipientGroup = Arr::get($data, 'recipient_group');
 
         /** @var Builder $usersBuilder */
@@ -66,13 +70,18 @@ class PublishController extends Controller
             User::receivesEmails() :
             PublishController::sendGroups()['groups'][$recipientGroup['slug']]['builder'];
 
-        $userReceivesPdfBuilder = clone $usersBuilder;
 
         $batch = EmailBatch::createFromRequest($data);
         $processEmailBatch = new ProcessEmailBatch($batch, $usersBuilder);
-        dispatch($processEmailBatch);
+        if (!$sync) {
+            dispatch($processEmailBatch);
+        } else {
+            dispatch_sync($processEmailBatch);
+        }
 
 //        if ($pdfBatch = EmailBatch::createAttachmentMailFromRequest($data)) {
+//
+//        $userReceivesPdfBuilder = clone $usersBuilder;
 //            $userReceivesPdfBuilder->subscriber()->receivesPdf();
 //            $pdfProcessEmailBatch = new ProcessEmailBatch($pdfBatch, $userReceivesPdfBuilder);
 //            dispatch($pdfProcessEmailBatch->withFile());
index d626808867ca60e6bc75cc70725a8f3d00a1d3fb..1e36103c7b2926b3431551fcf5f854110640d6ec 100644 (file)
@@ -80,7 +80,7 @@ Route::domain(env('CLIENT_DOMAIN_NAME'))->group(function () {
     /** For admin preview */
     Route::get('preview/{file:slug}', 'FluidbookController@preview')->name('fluidbook.preview');
     /** Download file */
-    Route::get('download/{file:slug}', 'FluidbookController@download')->name('pdf.download');
+    //Route::get('download/{file:slug}', 'FluidbookController@download')->name('pdf.download');
 
 
     Route::get('archives', 'ArchiveController@index')->name('archives.index');