mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2024-11-10 13:12:50 +01:00
eddb9adc73
* Clean up Client Show * Working on Show Client menu action * working on client view permissions * Finishing up Client Statement View * Workig on client settings * add mix manifest * css for client settings * Client Settings * Working on Client Settings * Implement StartupCheck and static seeders * Implement cached statics in view composers * Working on client settings * Payment Terms * Working on Payment Terms View Composer * Payment Terms builder * Client Settings * refactor companies table * Refactor for company settings, move settings to json * Set object cast on settings column of Company table * Fixes for refactor of companies and clients table * Test * Client Settings Datamapper * Client Settings * Default client language * Client Settings * Working on client settings options * Client Settings * Settings Json serialization/deserialization handling
30 lines
661 B
PHP
30 lines
661 B
PHP
<?php
|
|
|
|
namespace App\Factory;
|
|
|
|
use App\DataMapper\ClientSettings;
|
|
use App\Models\Client;
|
|
|
|
class ClientFactory
|
|
{
|
|
public static function create(int $company_id, int $user_id) :Client
|
|
{
|
|
$client = new Client;
|
|
$client->company_id = $company_id;
|
|
$client->user_id = $user_id;
|
|
$client->name = '';
|
|
$client->website = '';
|
|
$client->private_notes = '';
|
|
$client->balance = 0;
|
|
$client->paid_to_date = 0;
|
|
$client->country_id = 4;
|
|
$client->is_deleted = 0;
|
|
$client->settings = ClientSettings::defaults();
|
|
|
|
$client_contact = ClientContactFactory::create($company_id, $user_id);
|
|
$client->contacts->add($client_contact);
|
|
|
|
return $client;
|
|
}
|
|
}
|