mirror of
				https://github.com/invoiceninja/invoiceninja.git
				synced 2025-10-26 09:02:53 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			175 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			175 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * Invoice Ninja (https://invoiceninja.com).
 | |
|  *
 | |
|  * @link https://github.com/invoiceninja/invoiceninja source repository
 | |
|  *
 | |
|  * @copyright Copyright (c) 2022. Invoice Ninja LLC (https://invoiceninja.com)
 | |
|  *
 | |
|  * @license https://www.elastic.co/licensing/elastic-license
 | |
|  */
 | |
| 
 | |
| namespace App\DataMapper;
 | |
| 
 | |
| use App\Utils\Traits\MakesHash;
 | |
| use stdClass;
 | |
| 
 | |
| /**
 | |
|  * FreeCompanySettings.
 | |
|  */
 | |
| class FreeCompanySettings extends BaseSettings
 | |
| {
 | |
|     use MakesHash;
 | |
|     /*Group settings based on functionality*/
 | |
|     public $credit_design_id = 'VolejRejNm';
 | |
|     public $client_number_pattern = '';
 | |
|     public $client_number_counter = 1;
 | |
|     public $credit_number_pattern = '';
 | |
|     public $credit_number_counter = 1;
 | |
|     public $currency_id = '1';
 | |
|     public $custom_value1 = '';
 | |
|     public $custom_value2 = '';
 | |
|     public $custom_value3 = '';
 | |
|     public $custom_value4 = '';
 | |
|     public $date_format_id = '';
 | |
| //    public $enabled_item_tax_rates          = 0;
 | |
|     public $expense_number_pattern = '';
 | |
|     public $expense_number_counter = 1;
 | |
|     public $inclusive_taxes = false;
 | |
|     public $invoice_design_id = 'VolejRejNm';
 | |
|     public $invoice_number_pattern = '';
 | |
|     public $invoice_number_counter = 1;
 | |
|     public $invoice_taxes = 0;
 | |
|     public $language_id = '';
 | |
|     public $military_time = false;
 | |
|     public $payment_number_pattern = '';
 | |
|     public $payment_number_counter = 1;
 | |
|     public $payment_terms = '';
 | |
|     public $payment_type_id = '0';
 | |
|     public $portal_design_id = '1';
 | |
|     public $quote_design_id = 'VolejRejNm';
 | |
|     public $quote_number_pattern = '';
 | |
|     public $quote_number_counter = 1;
 | |
|     public $timezone_id = '';
 | |
|     public $show_currency_code = false;
 | |
|     public $company_gateway_ids = '';
 | |
|     public $task_number_pattern = '';
 | |
|     public $task_number_counter = 1;
 | |
|     public $tax_name1 = '';
 | |
|     public $tax_rate1 = 0;
 | |
|     public $tax_name2 = '';
 | |
|     public $tax_rate2 = 0;
 | |
|     public $tax_name3 = '';
 | |
|     public $tax_rate3 = 0;
 | |
|     public $ticket_number_pattern = '';
 | |
|     public $ticket_number_counter = 1;
 | |
|     public $translations;
 | |
|     public $vendor_number_pattern = '';
 | |
|     public $vendor_number_counter = 1;
 | |
| 
 | |
|     /* Company Meta data that we can use to build sub companies*/
 | |
| 
 | |
|     public $address1 = '';
 | |
|     public $address2 = '';
 | |
|     public $city = '';
 | |
|     public $company_logo = '';
 | |
|     public $country_id;
 | |
|     public $email = '';
 | |
|     public $id_number = '';
 | |
|     public $name = '';
 | |
|     public $phone = '';
 | |
|     public $postal_code = '';
 | |
|     public $state = '';
 | |
|     public $vat_number = '';
 | |
|     public $website = '';
 | |
| 
 | |
|     public static $casts = [
 | |
|         'portal_design_id'					 => 'string',
 | |
|         'currency_id'                        => 'string',
 | |
|         'task_number_pattern'                => 'string',
 | |
|         'task_number_counter'                => 'int',
 | |
|         'expense_number_pattern'             => 'string',
 | |
|         'expense_number_counter'             => 'int',
 | |
|         'vendor_number_pattern'              => 'string',
 | |
|         'vendor_number_counter'              => 'int',
 | |
|         'ticket_number_pattern'              => 'string',
 | |
|         'ticket_number_counter'              => 'int',
 | |
|         'payment_number_pattern'             => 'string',
 | |
|         'payment_number_counter'             => 'int',
 | |
|         'company_gateway_ids'                => 'string',
 | |
|         'address1'                           => 'string',
 | |
|         'address2'                           => 'string',
 | |
|         'city'                               => 'string',
 | |
|         'company_logo'                       => 'string',
 | |
|         'country_id'                         => 'string',
 | |
|         'currency_id'                        => 'string',
 | |
|         'custom_value1'                      => 'string',
 | |
|         'custom_value2'                      => 'string',
 | |
|         'custom_value3'                      => 'string',
 | |
|         'custom_value4'                      => 'string',
 | |
|         'inclusive_taxes'                    => 'bool',
 | |
|         'name'                               => 'string',
 | |
|         'payment_terms'                      => 'string',
 | |
|         'payment_type_id'                    => 'string',
 | |
|         'phone'                              => 'string',
 | |
|         'postal_code'                        => 'string',
 | |
|         'quote_design_id'                    => 'string',
 | |
|         'credit_design_id'                   => 'string',
 | |
|         'recurring_number_prefix'            => 'string',
 | |
|         'state'                              => 'string',
 | |
|         'email'                              => 'string',
 | |
|         'vat_number'                         => 'string',
 | |
|         'id_number'                          => 'string',
 | |
|         'tax_name1'                          => 'string',
 | |
|         'tax_name2'                          => 'string',
 | |
|         'tax_name3'                          => 'string',
 | |
|         'tax_rate1'                          => 'float',
 | |
|         'tax_rate2'                          => 'float',
 | |
|         'tax_rate3'                          => 'float',
 | |
|         'timezone_id'                        => 'string',
 | |
|         'date_format_id'                     => 'string',
 | |
|         'military_time'                      => 'bool',
 | |
|         'language_id'                        => 'string',
 | |
|         'show_currency_code'                 => 'bool',
 | |
|         'design'                             => 'string',
 | |
|         'website'                            => 'string',
 | |
|     ];
 | |
| 
 | |
|     /**
 | |
|      * Cast object values and return entire class
 | |
|      * prevents missing properties from not being returned
 | |
|      * and always ensure an up to date class is returned.
 | |
|      *
 | |
|      * @param $obj
 | |
|      */
 | |
|     public function __construct($obj)
 | |
|     {
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Provides class defaults on init.
 | |
|      * @return stdClass
 | |
|      */
 | |
|     public static function defaults(): stdClass
 | |
|     {
 | |
|         $config = json_decode(config('ninja.settings'));
 | |
| 
 | |
|         $data = (object) get_class_vars(CompanySettings::class);
 | |
| 
 | |
|         unset($data->casts);
 | |
|         unset($data->protected_fields);
 | |
| 
 | |
|         $data->timezone_id = (string) config('ninja.i18n.timezone_id');
 | |
|         $data->currency_id = (string) config('ninja.i18n.currency_id');
 | |
|         $data->language_id = (string) config('ninja.i18n.language_id');
 | |
|         $data->payment_terms = (int) config('ninja.i18n.payment_terms');
 | |
|         $data->military_time = (bool) config('ninja.i18n.military_time');
 | |
|         $data->date_format_id = (string) config('ninja.i18n.date_format_id');
 | |
|         $data->country_id = (string) config('ninja.i18n.country_id');
 | |
|         $data->translations = (object) [];
 | |
|         $data->pdf_variables = (object) self::getEntityVariableDefaults();
 | |
| 
 | |
|         return self::setCasts($data, self::$casts);
 | |
|     }
 | |
| }
 |