diff --git a/app/Listeners/Module/InstallExtraModules.php b/app/Listeners/Module/InstallExtraModules.php index 1a6328ba2..3af0a9695 100644 --- a/app/Listeners/Module/InstallExtraModules.php +++ b/app/Listeners/Module/InstallExtraModules.php @@ -6,11 +6,12 @@ use App\Events\Module\Installed as Event; use App\Jobs\Install\DownloadModule; use App\Jobs\Install\InstallModule; use App\Traits\Jobs; +use App\Traits\Modules; use Illuminate\Support\Facades\App; class InstallExtraModules { - use Jobs; + use Jobs, Modules; /** * Handle the event. @@ -40,8 +41,15 @@ class InstallExtraModules continue; } + // Check if module is already installed + if ($this->moduleIsEnabled($alias)) { + continue; + } + try { - $this->dispatch(new DownloadModule($alias, $event->company_id)); + if (!$this->moduleExists($alias)) { + $this->dispatch(new DownloadModule($alias, $event->company_id)); + } $this->dispatch(new InstallModule($alias, $event->company_id, $event->locale)); } catch (\Exception $e) { diff --git a/app/Traits/Modules.php b/app/Traits/Modules.php index a714747e1..cc28ba09b 100644 --- a/app/Traits/Modules.php +++ b/app/Traits/Modules.php @@ -4,13 +4,9 @@ namespace App\Traits; use App\Models\Module\Module; use App\Traits\SiteApi; -use App\Utilities\Console; use App\Utilities\Info; use Cache; use Date; -use File; -use Illuminate\Support\Str; -use ZipArchive; trait Modules {