mirror of
				https://github.com/invoiceninja/invoiceninja.git
				synced 2025-10-30 22:37:29 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			180 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			180 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * Invoice Ninja (https://invoiceninja.com)
 | |
|  *
 | |
|  * @link https://github.com/invoiceninja/invoiceninja source repository
 | |
|  *
 | |
|  * @copyright Copyright (c) 2020. Invoice Ninja LLC (https://invoiceninja.com)
 | |
|  *
 | |
|  * @license https://opensource.org/licenses/AAL
 | |
|  */
 | |
| 
 | |
| namespace App\DataMapper;
 | |
| 
 | |
| use App\DataMapper\CompanySettings;
 | |
| use App\Utils\Traits\MakesHash;
 | |
| 
 | |
| /**
 | |
|  * 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  				    = -1;
 | |
|     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'                      => 'integer',
 | |
|         '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
 | |
|      *
 | |
|      * @return \stdClass
 | |
|      */
 | |
|     public function __construct($obj)
 | |
|     {
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Provides class defaults on init
 | |
|      * @return object
 | |
|      */
 | |
|     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);
 | |
|     }
 | |
| 
 | |
| 
 | |
| }
 |