diff --git a/app/Http/Controllers/SelfUpdateController.php b/app/Http/Controllers/SelfUpdateController.php index d25b056a0e1a..3c7caf650ed9 100644 --- a/app/Http/Controllers/SelfUpdateController.php +++ b/app/Http/Controllers/SelfUpdateController.php @@ -181,6 +181,9 @@ class SelfUpdateController extends BaseController public function checkVersion() { + if(Ninja::isHosted()) + return '5.10.SaaS'; + return trim(file_get_contents(config('ninja.version_url'))); } diff --git a/app/Repositories/VendorRepository.php b/app/Repositories/VendorRepository.php index a957c92a9074..de1b998b188f 100644 --- a/app/Repositories/VendorRepository.php +++ b/app/Repositories/VendorRepository.php @@ -53,12 +53,8 @@ class VendorRepository extends BaseRepository $vendor->saveQuietly(); - if ($vendor->number == '' || ! $vendor->number) { - $vendor->number = $this->getNextVendorNumber($vendor); - } - - $vendor->saveQuietly(); - + $vendor->service()->applyNumber(); + if (isset($data['contacts']) || $vendor->contacts()->count() == 0) { $this->contact_repo->save($data, $vendor); } diff --git a/app/Services/Client/ClientService.php b/app/Services/Client/ClientService.php index b792d44bf35f..e2a4eddfa44a 100644 --- a/app/Services/Client/ClientService.php +++ b/app/Services/Client/ClientService.php @@ -169,7 +169,7 @@ class ClientService } catch (QueryException $e) { $x++; - if ($x > 10) { + if ($x > 50) { $this->completed = false; } } diff --git a/app/Services/Vendor/VendorService.php b/app/Services/Vendor/VendorService.php index 4d319430ecac..5d4bb5bd6dee 100644 --- a/app/Services/Vendor/VendorService.php +++ b/app/Services/Vendor/VendorService.php @@ -12,10 +12,55 @@ namespace App\Services\Vendor; use App\Models\Vendor; +use App\Utils\Traits\GeneratesCounter; +use Illuminate\Database\QueryException; class VendorService { + + use GeneratesCounter; + + private bool $completed = true; + public function __construct(public Vendor $vendor) { } + + public function applyNumber(): self + { + $x = 1; + + if(isset($this->vendor->number)) { + return $this; + } + + do { + try { + $this->vendor->number = $this->getNextVendorNumber($this->vendor); + $this->vendor->saveQuietly(); + + $this->completed = false; + } catch (QueryException $e) { + $x++; + + if ($x > 50) { + $this->completed = false; + } + } + } while ($this->completed); + + return $this; + } + + /** + * Saves the vendor instance + * + * @return Vendor The Vendor Model + */ + public function save(): Vendor + { + $this->vendor->saveQuietly(); + + return $this->vendor->fresh(); + } }