diff --git a/app/Http/Controllers/Api/ImportController.php b/app/Http/Controllers/Api/ImportController.php index e9d15198b2..1cda09c20e 100644 --- a/app/Http/Controllers/Api/ImportController.php +++ b/app/Http/Controllers/Api/ImportController.php @@ -13,6 +13,7 @@ use Illuminate\Support\Facades\Input; use Illuminate\Support\Facades\Session; use League\Csv\Reader; use Symfony\Component\HttpFoundation\File\Exception\FileException; +use Artisan; class ImportController extends Controller { @@ -94,6 +95,8 @@ class ImportController extends Controller public function process(ItemImportRequest $request, $import_id) { $this->authorize('create', Asset::class); + // Run a backup immediately before processing + Artisan::call('backup:run'); $errors = $request->import(Import::find($import_id)); $redirectTo = "hardware.index"; switch ($request->get('import-type')) { diff --git a/app/Http/Controllers/SettingsController.php b/app/Http/Controllers/SettingsController.php index 686c283b1a..672c5488fe 100755 --- a/app/Http/Controllers/SettingsController.php +++ b/app/Http/Controllers/SettingsController.php @@ -995,6 +995,8 @@ class SettingsController extends Controller { if (!config('app.lock_passwords')) { if (Input::get('confirm_purge')=='DELETE') { + // Run a backup immediately before processing + Artisan::call('backup:run'); Artisan::call('snipeit:purge', ['--force'=>'true','--no-interaction'=>true]); $output = Artisan::output(); return view('settings/purge')