diff --git a/app/Models/CompanyGateway.php b/app/Models/CompanyGateway.php index b63a81502acd..ab036a407b59 100644 --- a/app/Models/CompanyGateway.php +++ b/app/Models/CompanyGateway.php @@ -201,6 +201,18 @@ class CompanyGateway extends BaseModel return floatval($this->fee_amount) || floatval($this->fee_percent); } + public function isTestMode() + { + $config = $this->getConfig(); + + if($this->gateway->provider == 'Stripe' && strpos($config->publishableKey, 'test')) + return true; + + if(property_exists($config, 'testMode') && $config->testMode) + return true; + + return false; + } /** * Get Publishable Key * Only works for STRIPE and PAYMILL diff --git a/app/Observers/CompanyGatewayObserver.php b/app/Observers/CompanyGatewayObserver.php index cecd724fb924..77e6d4e8e8cd 100644 --- a/app/Observers/CompanyGatewayObserver.php +++ b/app/Observers/CompanyGatewayObserver.php @@ -14,6 +14,8 @@ class CompanyGatewayObserver */ public function created(CompanyGateway $company_gateway) { + + /* Set company gateway if not exists*/ if(!$company_gateway->label){ $company_gateway->label = $company_gateway->gateway->name; $company_gateway->save(); diff --git a/app/Transformers/CompanyGatewayTransformer.php b/app/Transformers/CompanyGatewayTransformer.php index e14c9ffa0d81..234190f74966 100644 --- a/app/Transformers/CompanyGatewayTransformer.php +++ b/app/Transformers/CompanyGatewayTransformer.php @@ -64,6 +64,7 @@ class CompanyGatewayTransformer extends EntityTransformer 'custom_value4' => $company_gateway->custom_value4 ?: '', 'label' => (string)$company_gateway->label ?: '', 'token_billing' => (string)$company_gateway->token_billing, + 'test_mode' => (bool)$company_gateway->isTestMode(), ]; } diff --git a/database/migrations/2020_08_18_140557_add_is_public_to_documents_table.php b/database/migrations/2020_08_18_140557_add_is_public_to_documents_table.php index 1070bc305127..521a7375a6c5 100644 --- a/database/migrations/2020_08_18_140557_add_is_public_to_documents_table.php +++ b/database/migrations/2020_08_18_140557_add_is_public_to_documents_table.php @@ -43,6 +43,18 @@ class AddIsPublicToDocumentsTable extends Migration $table->timestamps(6); }); + Schema::table('recurring_invoices', function ($table) { + $table->string('auto_bill'); + }); + + Schema::table('recurring_expenses', function ($table) { + $table->table('auto_bill'); + }); + + Schema::table('companies', function ($table) { + $table->enum('default_auto_bill', ['off', 'always','optin','optout'])->default('off'); + }); + } /**