diff --git a/app/Factory/CompanyFactory.php b/app/Factory/CompanyFactory.php index a15cd91d6d84..d38147780973 100644 --- a/app/Factory/CompanyFactory.php +++ b/app/Factory/CompanyFactory.php @@ -34,7 +34,7 @@ class CompanyFactory //$company->custom_fields = (object) ['invoice1' => '1', 'invoice2' => '2', 'client1'=>'3']; $company->custom_fields = (object) []; $company->subdomain = ''; - $company->enabled_modules = 2047; + $company->enabled_modules = 4096; return $company; } diff --git a/app/Http/Controllers/CompanyController.php b/app/Http/Controllers/CompanyController.php index f3bc71a03287..750564f72c7e 100644 --- a/app/Http/Controllers/CompanyController.php +++ b/app/Http/Controllers/CompanyController.php @@ -479,10 +479,10 @@ class CompanyController extends BaseController $company->delete(); //If we are deleting the default companies, we'll need to make a new company the default. - if($account->default_company == $company_id){ + if($account->default_company_id == $company_id){ - $account->fresh(); - $account->default_company = $account->companies->first()->id(); + $new_default_company = Company::whereAccountId($account->id)->first(); + $account->default_company_id = $new_default_company->id; $account->save(); } diff --git a/app/Models/Client.php b/app/Models/Client.php index 8d51d696c4a8..c1fee98679ee 100644 --- a/app/Models/Client.php +++ b/app/Models/Client.php @@ -41,7 +41,6 @@ use Hashids\Hashids; use Illuminate\Contracts\Translation\HasLocalePreference; use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Support\Facades\Cache; -use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\URL; use Laracasts\Presenter\PresentableTrait; @@ -272,10 +271,10 @@ class Client extends BaseModel implements HasLocalePreference */ public function getSetting($setting) { - /*Client Settings*/ - if ($this->settings && (property_exists($this->settings, $setting) !== false) && (isset($this->settings->{$setting}) !== false)) { - /*need to catch empty string here*/ + /*Client Settings*/ + if ($this->settings && property_exists($this->settings, $setting) && isset($this->settings->{$setting}) ) { + /*need to catch empty string here*/ if (is_string($this->settings->{$setting}) && (iconv_strlen($this->settings->{$setting}) >=1)) { return $this->settings->{$setting}; } @@ -287,7 +286,7 @@ class Client extends BaseModel implements HasLocalePreference } /*Company Settings*/ - if ((property_exists($this->company->settings, $setting) != false) && (isset($this->company->settings->{$setting}) !== false)) { + else if ((property_exists($this->company->settings, $setting) != false) && (isset($this->company->settings->{$setting}) !== false)) { return $this->company->settings->{$setting}; } @@ -468,10 +467,11 @@ class Client extends BaseModel implements HasLocalePreference public function setCompanyDefaults($data, $entity_name) { - if(isset($data['terms']) && strlen($data['terms']) == 0) + + if(!(array_key_exists('terms', $data) && strlen($data['terms']) > 1)) $data['terms'] = $this->getSetting($entity_name.'_terms'); - if(isset($data['footer']) && strlen($data['footer']) == 0) + if(!(array_key_exists('footer', $data) && strlen($data['footer']) > 1)) $data['footer'] = $this->getSetting($entity_name.'_footer'); if(strlen($this->public_notes) >=1) diff --git a/app/Models/Company.php b/app/Models/Company.php index ecf1e9488120..84eb41c2338a 100644 --- a/app/Models/Company.php +++ b/app/Models/Company.php @@ -60,8 +60,9 @@ class Company extends BaseModel const ENTITY_VENDOR = 'vendor'; const ENTITY_TICKET = 'ticket'; const ENTITY_PROPOSAL = 'proposal'; - const ENTITY_RECURRING_EXPENSE = 'expense'; + const ENTITY_RECURRING_EXPENSE = 'recurring_expense'; const ENTITY_RECURRING_TASK = 'task'; + const ENTITY_RECURRING_QUOTE = 'recurring_quote'; protected $presenter = 'App\Models\Presenters\CompanyPresenter'; @@ -124,6 +125,7 @@ class Company extends BaseModel self::ENTITY_PROPOSAL => 256, self::ENTITY_RECURRING_EXPENSE => 512, self::ENTITY_RECURRING_TASK => 1024, + self::ENTITY_RECURRING_QUOTE => 2048, ]; public function getCompanyIdAttribute() diff --git a/app/Models/CompanyUser.php b/app/Models/CompanyUser.php index f4cb7985d889..f225fc156115 100644 --- a/app/Models/CompanyUser.php +++ b/app/Models/CompanyUser.php @@ -34,6 +34,7 @@ class CompanyUser extends Pivot 'created_at' => 'timestamp', 'deleted_at' => 'timestamp', 'settings' => 'object', + 'notifications' => 'object', ]; protected $fillable = [ diff --git a/app/Transformers/AccountTransformer.php b/app/Transformers/AccountTransformer.php index f2ea3555bb84..83bc55e49d94 100644 --- a/app/Transformers/AccountTransformer.php +++ b/app/Transformers/AccountTransformer.php @@ -61,6 +61,7 @@ class AccountTransformer extends EntityTransformer 'default_url' => config('ninja.site_url'), 'plan' => $account->getPlan(), 'latest_version' => (string)$account->latest_version, + 'current_version' => (string)config('ninja.app_version'), 'updated_at' => (int)$account->updated_at, 'archived_at' => (int)$account->deleted_at, ]; diff --git a/composer.json b/composer.json index d63a94953ec2..fbb1a3f4c960 100644 --- a/composer.json +++ b/composer.json @@ -21,7 +21,7 @@ "php": ">=7.3", "anahkiasen/former": "^4.2", "asgrim/ofxparser": "^1.2", - "codedge/laravel-selfupdater": "^2.4", + "codedge/laravel-selfupdater": "^2.5.1", "dacastro4/laravel-gmail": "^3.2", "davejamesmiller/laravel-breadcrumbs": "5.x", "fideloper/proxy": "^4.0",