diff --git a/.travis.yml b/.travis.yml index 801c8f0667d1..a3d2432b86dc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,8 +13,8 @@ group: deprecated-2017Q4 php: - 7.3 - - 7.4snapshot - - nightly +# - 7.4snapshot +# - nightly addons: apt: diff --git a/app/Http/Controllers/CompanyController.php b/app/Http/Controllers/CompanyController.php index 61749012f6c5..03593d9367e7 100644 --- a/app/Http/Controllers/CompanyController.php +++ b/app/Http/Controllers/CompanyController.php @@ -106,11 +106,14 @@ class CompanyController extends BaseController if($request->file('logo')) { - \Log::error('logo exists'); + $path = UploadAvatar::dispatchNow($request->file('logo'), $company->company_key); if($path){ - $company->logo = $path; + + $settings = $company->settings; + $settings->logo_url = config('ninja.site_url').$path; + $company->settings = $settings; $company->save(); } @@ -186,11 +189,15 @@ class CompanyController extends BaseController if($request->file('logo')) { - \Log::error('logo exists'); + $path = UploadAvatar::dispatchNow($request->file('logo'), $company->company_key); if($path){ - $company->logo = $path; + // $company->logo = $path; + // + $settings = $company->settings; + $settings->logo_url = config('ninja.site_url').$path; + $company->settings = $settings; $company->save(); } diff --git a/app/Http/Requests/Product/StoreProductRequest.php b/app/Http/Requests/Product/StoreProductRequest.php index 2002b8f4ae11..4baf5afc44b9 100644 --- a/app/Http/Requests/Product/StoreProductRequest.php +++ b/app/Http/Requests/Product/StoreProductRequest.php @@ -43,7 +43,7 @@ class StoreProductRequest extends Request { $input = $this->all(); - if($input['quantity'] < 1) + if(!isset($input['quantity']) || $input['quantity'] < 1) $input['quantity'] = 1; $this->replace($input); diff --git a/app/Http/Requests/Product/UpdateProductRequest.php b/app/Http/Requests/Product/UpdateProductRequest.php index 07ca4b604821..1e155fa89fb4 100644 --- a/app/Http/Requests/Product/UpdateProductRequest.php +++ b/app/Http/Requests/Product/UpdateProductRequest.php @@ -48,7 +48,7 @@ class UpdateProductRequest extends Request { $input = $this->all(); - if($input['quantity'] < 1) + if(!isset($input['quantity']) || $input['quantity'] < 1) $input['quantity'] = 1; $this->replace($input); diff --git a/app/Jobs/Company/CreateCompany.php b/app/Jobs/Company/CreateCompany.php index 1e5b24e5ed44..07f922f56fc2 100644 --- a/app/Jobs/Company/CreateCompany.php +++ b/app/Jobs/Company/CreateCompany.php @@ -49,13 +49,15 @@ class CreateCompany */ public function handle() : ?Company { + $settings = CompanySettings::defaults(); + $settings->name = isset($this->request['name']) ? $this->request['name'] : $this->request['first_name'] . ' ' . $this->request['last_name']; $company = new Company(); - $company->name = isset($this->request['name']) ? $this->request['name'] : $this->request['first_name'] . ' ' . $this->request['last_name']; + //$company->name = isset($this->request['name']) ? $this->request['name'] : $this->request['first_name'] . ' ' . $this->request['last_name']; $company->account_id = $this->account->id; $company->company_key = $this->createHash(); $company->ip = request()->ip(); - $company->settings = CompanySettings::defaults(); + $company->settings = $settings; $company->db = config('database.default'); $company->save(); diff --git a/app/Models/BaseModel.php b/app/Models/BaseModel.php index b4ab1aa7fded..6949830b95e4 100644 --- a/app/Models/BaseModel.php +++ b/app/Models/BaseModel.php @@ -112,7 +112,7 @@ class BaseModel extends Model return $this->getSettings()->{$key}; } else { - Log::error(print_r(new CompanySettings($this->company->settings),1)); + //Log::error(print_r(new CompanySettings($this->company->settings),1)); return (new CompanySettings($this->company->settings))->{$key}; } diff --git a/app/Models/Company.php b/app/Models/Company.php index 34ecb4340645..c0d5881b5dcb 100644 --- a/app/Models/Company.php +++ b/app/Models/Company.php @@ -189,7 +189,7 @@ class Company extends BaseModel public function getLogo() { - return $this->logo ? config('ninja.site_url').$this->logo : null; + return $this->settings->logo ? config('ninja.site_url').$this->settings->logo : null; } /** diff --git a/app/Models/GroupSetting.php b/app/Models/GroupSetting.php index 8b9fe969e74f..ff4ead4a24a1 100644 --- a/app/Models/GroupSetting.php +++ b/app/Models/GroupSetting.php @@ -34,7 +34,7 @@ class GroupSetting extends StaticModel protected $fillable = [ 'settings' - ] + ]; public function company() { diff --git a/app/Models/User.php b/app/Models/User.php index 4c266520c170..6b6d32a65d55 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -318,7 +318,7 @@ class User extends Authenticatable implements MustVerifyEmail public function getEmailVerifiedAt() { if($this->email_verified_at) - return Carbon::parse($user->email_verified_at)->timestamp; + return Carbon::parse($this->email_verified_at)->timestamp; else return null; diff --git a/phpunit.xml b/phpunit.xml index e0efb4ff5a55..8c949a4ab873 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -7,7 +7,7 @@ convertNoticesToExceptions="true" convertWarningsToExceptions="true" processIsolation="false" - stopOnFailure="false"> + stopOnFailure="true"> ./tests/Unit diff --git a/tests/Integration/UploadLogoTest.php b/tests/Integration/UploadLogoTest.php index 7ea52308d61b..a34e3c62b35d 100644 --- a/tests/Integration/UploadLogoTest.php +++ b/tests/Integration/UploadLogoTest.php @@ -15,6 +15,7 @@ use App\Models\Invoice; use App\Models\Payment; use App\Models\User; use App\Utils\Traits\MakesHash; +use Illuminate\Database\Eloquent\Model; use Illuminate\Foundation\Testing\Concerns\InteractsWithDatabase; use Illuminate\Foundation\Testing\DatabaseTransactions; use Illuminate\Http\UploadedFile; @@ -37,6 +38,8 @@ class UploadLogoTest extends TestCase parent::setUp(); $this->makeTestData(); + + Company::reguard(); } @@ -58,7 +61,7 @@ class UploadLogoTest extends TestCase $response->assertStatus(200); $acc = $response->json(); - $logo = $acc['data']['logo_url']; + $logo = $acc['data']['settings']['logo_url']; $logo_file = Storage::url($logo); @@ -82,11 +85,11 @@ class UploadLogoTest extends TestCase 'X-API-TOKEN' => $this->token, ])->put('/api/v1/companies/'.$this->encodePrimaryKey($this->company->id), $data); - $response->assertStatus(302); - //$acc = $response->json(); - //\Log::error(print_r($acc,1)); + $response->assertStatus(302); + + }