diff --git a/app/DataMapper/ClientSettings.php b/app/DataMapper/ClientSettings.php index 5af29626981c..e9af24a4ddf8 100644 --- a/app/DataMapper/ClientSettings.php +++ b/app/DataMapper/ClientSettings.php @@ -82,6 +82,7 @@ class ClientSettings extends BaseSettings public $recurring_invoice_number_prefix; public $counter_padding; + public $default_gateway; /** * Settings which which are unique to client settings @@ -89,6 +90,7 @@ class ClientSettings extends BaseSettings public $industry_id; public $size_id; + /** * Cast object values and return entire class * prevents missing properties from not being returned diff --git a/app/DataMapper/CompanySettings.php b/app/DataMapper/CompanySettings.php index 55b611e2236c..6e4ebab712f1 100644 --- a/app/DataMapper/CompanySettings.php +++ b/app/DataMapper/CompanySettings.php @@ -111,6 +111,7 @@ class CompanySettings extends BaseSettings public $reset_counter_date; public $counter_padding; + public $default_gateway; /** * Cast object values and return entire class * prevents missing properties from not being returned diff --git a/app/Models/Company.php b/app/Models/Company.php index 113c2dc23aba..1b08c707244e 100644 --- a/app/Models/Company.php +++ b/app/Models/Company.php @@ -13,8 +13,8 @@ namespace App\Models; use App\DataMapper\CompanySettings; use App\Models\Account; -use App\Models\AccountGateway; use App\Models\Client; +use App\Models\CompanyGateway; use App\Models\CompanyUser; use App\Models\Country; use App\Models\Currency; @@ -122,9 +122,9 @@ class Company extends BaseModel /** * @return \Illuminate\Database\Eloquent\Relations\HasMany */ - public function account_gateways() + public function company_gateways() { - return $this->hasMany(AccountGateway::class); + return $this->hasMany(CompanyGateway::class); } /** diff --git a/app/Models/CompanyGateway.php b/app/Models/CompanyGateway.php index 5bedbed39d7c..cb3c6fc69117 100644 --- a/app/Models/CompanyGateway.php +++ b/app/Models/CompanyGateway.php @@ -12,6 +12,8 @@ namespace App\Models; use App\Models\Company; +use App\Models\Gateway; +use App\Models\GatewayType; use Illuminate\Database\Eloquent\Model; class CompanyGateway extends Model @@ -29,4 +31,14 @@ class CompanyGateway extends Model { return $this->belongsTo(Company::class); } + + public function gateway() + { + return $this->hasOne(Gateway::class); + } + + public function type() + { + return $this->hasOne(GatewayType::class); + } } diff --git a/app/Models/GatewayType.php b/app/Models/GatewayType.php index 09c9f8a4f0ae..6f5000e2935c 100644 --- a/app/Models/GatewayType.php +++ b/app/Models/GatewayType.php @@ -16,6 +16,7 @@ use Illuminate\Database\Eloquent\Model; class GatewayType extends Model { + public $timestamps = false; public function gateway() { diff --git a/database/migrations/2014_10_13_000000_create_users_table.php b/database/migrations/2014_10_13_000000_create_users_table.php index c5444960c1eb..6d2e293c91c5 100644 --- a/database/migrations/2014_10_13_000000_create_users_table.php +++ b/database/migrations/2014_10_13_000000_create_users_table.php @@ -879,6 +879,11 @@ class CreateUsersTable extends Migration $table->foreign('client_id')->references('id')->on('clients')->onDelete('cascade'); }); + Schema::create('gateway_types', function ($table) { + $table->increments('id'); + $table->string('alias'); + $table->string('name'); + }); } /** diff --git a/database/seeds/DatabaseSeeder.php b/database/seeds/DatabaseSeeder.php index 7c533b15ac12..48b1f962c8fa 100644 --- a/database/seeds/DatabaseSeeder.php +++ b/database/seeds/DatabaseSeeder.php @@ -29,7 +29,7 @@ class DatabaseSeeder extends Seeder $this->call('CountriesSeeder'); $this->call('IndustrySeeder'); $this->call('PaymentTypesSeeder'); - $this->call('GatewaySeeder'); + $this->call('GatewayTypesSeeder'); } } diff --git a/database/seeds/GatewayTypesSeeder.php b/database/seeds/GatewayTypesSeeder.php index 64c6c2172738..533d3a7f416a 100644 --- a/database/seeds/GatewayTypesSeeder.php +++ b/database/seeds/GatewayTypesSeeder.php @@ -1,6 +1,7 @@