This commit is contained in:
David Bomba 2024-04-14 08:18:19 +10:00
commit 02af1b2e44
1960 changed files with 418740 additions and 303216 deletions

View File

@ -38,8 +38,6 @@ jobs:
sudo php artisan cache:clear sudo php artisan cache:clear
sudo find ./vendor/bin/ -type f -exec chmod +x {} \; sudo find ./vendor/bin/ -type f -exec chmod +x {} \;
sudo find ./ -type d -exec chmod 755 {} \; sudo find ./ -type d -exec chmod 755 {} \;
sudo rm -f public/main.*
sudo rm -f public/flutter*
- name: Prepare React FrontEnd - name: Prepare React FrontEnd
run: | run: |
@ -49,6 +47,7 @@ jobs:
npm i npm i
npm run build npm run build
cp -r dist/* ../public/ cp -r dist/* ../public/
cp dist/index.html ../resources/views/react/index.blade.php
- name: Prepare JS/CSS assets - name: Prepare JS/CSS assets
run: | run: |

View File

@ -50,6 +50,7 @@ jobs:
mkdir -p ../public/react/${{ github.event.release.tag_name }}/ mkdir -p ../public/react/${{ github.event.release.tag_name }}/
cp -r dist/react/* ../public/react/${{ github.event.release.tag_name }}/ cp -r dist/react/* ../public/react/${{ github.event.release.tag_name }}/
cp -r dist/react/* ../public/react/ cp -r dist/react/* ../public/react/
cp dist/index.html ../resources/views/react/index.blade.php
mkdir -p ../public/tinymce_6.4.2/tinymce/js/ mkdir -p ../public/tinymce_6.4.2/tinymce/js/
cp -r node_modules/tinymce ../public/tinymce_6.4.2/tinymce/js/ cp -r node_modules/tinymce ../public/tinymce_6.4.2/tinymce/js/

1
.gitignore vendored
View File

@ -40,3 +40,4 @@ _ide_helper_models.php
_ide_helper.php _ide_helper.php
/composer.phar /composer.phar
.tx/ .tx/
.phpunit.cache

View File

@ -1 +1 @@
5.8.34 5.8.48

View File

@ -13,5 +13,10 @@ namespace Illuminate\Contracts\Mail
{ {
return true; return true;
} }
public function brevo_config(string $key)
{
return true;
}
} }
} }

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */
@ -169,26 +169,21 @@ class CheckData extends Command
private function checkCompanyTokens() private function checkCompanyTokens()
{ {
// CompanyUser::whereDoesntHave('token', function ($query){
// return $query->where('is_system', 1);
// })->cursor()->each(function ($cu){
// if ($cu->user) {
// $this->logMessage("Creating missing company token for user # {$cu->user->id} for company id # {$cu->company->id}");
// (new CreateCompanyToken($cu->company, $cu->user, 'System'))->handle();
// } else {
// $this->logMessage("Dangling User ID # {$cu->id}");
// }
// });
CompanyUser::query()->cursor()->each(function ($cu) { CompanyUser::query()->cursor()->each(function ($cu) {
if (CompanyToken::where('user_id', $cu->user_id)->where('company_id', $cu->company_id)->where('is_system', 1)->doesntExist()) { if (CompanyToken::where('user_id', $cu->user_id)->where('company_id', $cu->company_id)->where('is_system', 1)->doesntExist()) {
$this->logMessage("Creating missing company token for user # {$cu->user_id} for company id # {$cu->company_id}");
if ($cu->company && $cu->user) { if ($cu->company && $cu->user) {
$this->logMessage("Creating missing company token for user # {$cu->user_id} for company id # {$cu->company_id}");
(new CreateCompanyToken($cu->company, $cu->user, 'System'))->handle(); (new CreateCompanyToken($cu->company, $cu->user, 'System'))->handle();
} else {
// $cu->forceDelete();
} }
if (!$cu->user) {
$this->logMessage("No user found for company user - removing company user");
$cu->forceDelete();
}
} }
}); });
} }
@ -482,6 +477,14 @@ class CheckData extends Command
} }
} else { } else {
$this->logMessage("No contact present, so cannot add invitation for {$entity_key} - {$entity->id}"); $this->logMessage("No contact present, so cannot add invitation for {$entity_key} - {$entity->id}");
try{
$entity->service()->createInvitations()->save();
}
catch(\Exception $e){
}
} }
try { try {
@ -891,7 +894,7 @@ class CheckData extends Command
$this->logMessage("Fixing country for # {$client->id}"); $this->logMessage("Fixing country for # {$client->id}");
}); });
Client::query()->whereNull("settings->currency_id")->cursor()->each(function ($client) { Client::query()->whereNull("settings->currency_id")->orWhereJsonContains('settings', ['currency_id' => ''])->cursor()->each(function ($client) {
$settings = $client->settings; $settings = $client->settings;
$settings->currency_id = (string)$client->company->settings->currency_id; $settings->currency_id = (string)$client->company->settings->currency_id;
$client->settings = $settings; $client->settings = $settings;
@ -933,7 +936,6 @@ class CheckData extends Command
}); });
Invoice::withTrashed() Invoice::withTrashed()
->where("partial", 0) ->where("partial", 0)
->whereNotNull("partial_due_date") ->whereNotNull("partial_due_date")
@ -967,7 +969,6 @@ class CheckData extends Command
}); });
CompanyUser::whereDoesntHave('user') CompanyUser::whereDoesntHave('user')
->cursor() ->cursor()
->when(Ninja::isHosted()) ->when(Ninja::isHosted())
@ -977,6 +978,14 @@ class CheckData extends Command
}); });
$cus = CompanyUser::withTrashed()
->whereHas("user", function ($query) {
$query->whereColumn("users.account_id", "!=", "company_user.account_id");
})->pluck('id')->implode(",");
$this->logMessage("Cross Linked CompanyUser ids # {$cus}");
} }
} }

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,60 +4,61 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */
namespace App\Console\Commands; namespace App\Console\Commands;
use App\DataMapper\ClientRegistrationFields; use stdClass;
use App\DataMapper\CompanySettings; use Carbon\Carbon;
use App\DataMapper\FeesAndLimits; use Faker\Factory;
use App\Events\Invoice\InvoiceWasCreated; use App\Models\Task;
use App\Events\RecurringInvoice\RecurringInvoiceWasCreated; use App\Models\User;
use App\Factory\GroupSettingFactory; use App\Utils\Ninja;
use App\Factory\InvoiceFactory; use App\Models\Quote;
use App\Factory\InvoiceItemFactory;
use App\Factory\RecurringInvoiceFactory;
use App\Factory\SubscriptionFactory;
use App\Helpers\Invoice\InvoiceSum;
use App\Jobs\Company\CreateCompanyTaskStatuses;
use App\Libraries\MultiDB;
use App\Models\Account;
use App\Models\BankIntegration;
use App\Models\BankTransaction;
use App\Models\BankTransactionRule;
use App\Models\Client; use App\Models\Client;
use App\Models\ClientContact;
use App\Models\Company;
use App\Models\CompanyGateway;
use App\Models\CompanyToken;
use App\Models\Country;
use App\Models\Credit; use App\Models\Credit;
use App\Models\Vendor;
use App\Models\Account;
use App\Models\Company;
use App\Models\Country;
use App\Models\Expense; use App\Models\Expense;
use App\Models\Invoice; use App\Models\Invoice;
use App\Models\Product; use App\Models\Product;
use App\Models\Project; use App\Models\Project;
use App\Models\Quote;
use App\Models\RecurringInvoice;
use App\Models\Task;
use App\Models\TaskStatus;
use App\Models\TaxRate; use App\Models\TaxRate;
use App\Models\User; use App\Libraries\MultiDB;
use App\Models\Vendor; use App\Models\TaskStatus;
use App\Models\CompanyToken;
use App\Models\ClientContact;
use App\Models\VendorContact; use App\Models\VendorContact;
use App\Repositories\InvoiceRepository; use App\Models\CompanyGateway;
use App\Utils\Ninja; use App\Factory\InvoiceFactory;
use App\Utils\Traits\GeneratesCounter; use App\Models\BankIntegration;
use App\Models\BankTransaction;
use App\Utils\Traits\MakesHash; use App\Utils\Traits\MakesHash;
use Carbon\Carbon;
use Faker\Factory;
use Illuminate\Console\Command; use Illuminate\Console\Command;
use Illuminate\Support\Facades\Cache; use App\Models\RecurringInvoice;
use App\DataMapper\FeesAndLimits;
use App\DataMapper\ClientSettings;
use App\DataMapper\CompanySettings;
use App\Factory\InvoiceItemFactory;
use App\Helpers\Invoice\InvoiceSum;
use App\Models\BankTransactionRule;
use App\Factory\GroupSettingFactory;
use App\Factory\SubscriptionFactory;
use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Cache;
use App\Utils\Traits\GeneratesCounter;
use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\Schema;
use stdClass; use App\Repositories\InvoiceRepository;
use App\Factory\RecurringInvoiceFactory;
use App\Events\Invoice\InvoiceWasCreated;
use App\DataMapper\ClientRegistrationFields;
use App\Jobs\Company\CreateCompanyTaskStatuses;
use App\Events\RecurringInvoice\RecurringInvoiceWasCreated;
class CreateSingleAccount extends Command class CreateSingleAccount extends Command
{ {
@ -951,7 +952,7 @@ class CreateSingleAccount extends Command
} }
if (config('ninja.testvars.paytrace.decrypted') && ($this->gateway == 'all' || $this->gateway == 'paytrace')) { if (config('ninja.testvars.paytrace') && ($this->gateway == 'all' || $this->gateway == 'paytrace')) {
$cg = new CompanyGateway(); $cg = new CompanyGateway();
$cg->company_id = $company->id; $cg->company_id = $company->id;
$cg->user_id = $user->id; $cg->user_id = $user->id;
@ -960,7 +961,7 @@ class CreateSingleAccount extends Command
$cg->require_billing_address = true; $cg->require_billing_address = true;
$cg->require_shipping_address = true; $cg->require_shipping_address = true;
$cg->update_details = true; $cg->update_details = true;
$cg->config = encrypt(config('ninja.testvars.paytrace.decrypted')); $cg->config = encrypt(config('ninja.testvars.paytrace'));
$cg->save(); $cg->save();
@ -1015,6 +1016,85 @@ class CreateSingleAccount extends Command
$cg->fees_and_limits = $fees_and_limits; $cg->fees_and_limits = $fees_and_limits;
$cg->save(); $cg->save();
} }
if (config('ninja.testvars.eway') && ($this->gateway == 'all' || $this->gateway == 'eway')) {
$cg = new CompanyGateway();
$cg->company_id = $company->id;
$cg->user_id = $user->id;
$cg->gateway_key = '944c20175bbe6b9972c05bcfe294c2c7';
$cg->require_cvv = true;
$cg->require_billing_address = true;
$cg->require_shipping_address = true;
$cg->update_details = true;
$cg->config = encrypt(config('ninja.testvars.eway'));
$cg->save();
$gateway_types = $cg->driver()->gatewayTypes();
$fees_and_limits = new stdClass();
$fees_and_limits->{$gateway_types[0]} = new FeesAndLimits();
$cg->fees_and_limits = $fees_and_limits;
$cg->save();
}
if (config('ninja.testvars.gocardless') && ($this->gateway == 'all' || $this->gateway == 'gocardless')) {
$c_settings = ClientSettings::defaults();
$c_settings->currency_id = '2';
$client = Client::factory()->create([
'user_id' => $user->id,
'company_id' => $company->id,
'name' => 'cypress',
'country_id' => 826,
'settings' => $c_settings
]);
$cg = new CompanyGateway();
$cg->company_id = $company->id;
$cg->user_id = $user->id;
$cg->gateway_key = 'b9886f9257f0c6ee7c302f1c74475f6c';
$cg->require_cvv = true;
$cg->require_billing_address = true;
$cg->require_shipping_address = true;
$cg->update_details = true;
$cg->config = encrypt(config('ninja.testvars.gocardless'));
$cg->save();
$gateway_types = $cg->driver($client)->gatewayTypes();
$fees_and_limits = new stdClass();
$fees_and_limits->{$gateway_types[0]} = new FeesAndLimits();
$cg->fees_and_limits = $fees_and_limits;
$cg->save();
}
if (config('ninja.testvars.forte') && ($this->gateway == 'all' || $this->gateway == 'forte')) {
$cg = new CompanyGateway();
$cg->company_id = $company->id;
$cg->user_id = $user->id;
$cg->gateway_key = 'kivcvjexxvdiyqtj3mju5d6yhpeht2xs';
$cg->require_cvv = true;
$cg->require_billing_address = true;
$cg->require_shipping_address = true;
$cg->update_details = true;
$cg->config = encrypt(config('ninja.testvars.forte'));
$cg->save();
$gateway_types = $cg->driver()->gatewayTypes();
$fees_and_limits = new stdClass();
$fees_and_limits->{$gateway_types[0]} = new FeesAndLimits();
$cg->fees_and_limits = $fees_and_limits;
$cg->save();
}
} }
private function createRecurringInvoice(Client $client) private function createRecurringInvoice(Client $client)

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -0,0 +1,69 @@
<?php
/**
* Invoice Ninja (https://invoiceninja.com).
*
* @link https://github.com/invoiceninja/invoiceninja source repository
*
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
*
* @license https://www.elastic.co/licensing/elastic-license
*/
namespace App\Console\Commands;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\Storage;
use App\DataProviders\FatturaPADataProvider;
class EDocLint extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'ninja:edoclint';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Builds json files component data maps';
private array $classes = [
FatturaPADataProvider::class,
];
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return void
*/
public function handle()
{
foreach($this->classes as $class)
{
$provider = new $class();
foreach($provider as $key => $value) {
$json = json_encode($provider->{$key}, JSON_PRETTY_PRINT);
Storage::disk('local')->put($key.'.json', $json);
}
}
}
}

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */
@ -68,7 +68,6 @@ class EncryptNinja extends Command
$contents = Storage::disk('base')->get($file); $contents = Storage::disk('base')->get($file);
$encrypted = encrypt($contents); $encrypted = encrypt($contents);
Storage::disk('base')->put($file.".enc", $encrypted); Storage::disk('base')->put($file.".enc", $encrypted);
// Storage::disk('base')->delete($file);
} }
} }

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */
@ -42,35 +42,35 @@ class ReactBuilder extends Command
/** /**
* Execute the console command. * Execute the console command.
* *
* @return mixed * @return void
*/ */
public function handle() public function handle()
{ {
$includes = ''; // $includes = '';
$directoryIterator = false; // $directoryIterator = false;
try { // try {
$directoryIterator = new \RecursiveDirectoryIterator(public_path('react/v'.config('ninja.app_version').'/'), \RecursiveDirectoryIterator::SKIP_DOTS); // $directoryIterator = new \RecursiveDirectoryIterator(public_path('react/v'.config('ninja.app_version').'/'), \RecursiveDirectoryIterator::SKIP_DOTS);
} catch (\Exception $e) { // } catch (\Exception $e) {
$this->error('React files not found'); // $this->error('React files not found');
return; // return;
} // }
foreach (new \RecursiveIteratorIterator($directoryIterator) as $file) { // foreach (new \RecursiveIteratorIterator($directoryIterator) as $file) {
if ($file->getExtension() == 'js') { // if ($file->getExtension() == 'js') {
if (str_contains($file->getFileName(), 'index-')) { // if (str_contains($file->getFileName(), 'index-')) {
$includes .= '<script type="module" crossorigin src="/react/v'.config('ninja.app_version').'/'.$file->getFileName().'"></script>'."\n"; // $includes .= '<script type="module" crossorigin src="/react/v'.config('ninja.app_version').'/'.$file->getFileName().'"></script>'."\n";
} else { // } else {
$includes .= '<link rel="modulepreload" href="/react/v'.config('ninja.app_version').'/'.$file->getFileName().'">'."\n"; // $includes .= '<link rel="modulepreload" href="/react/v'.config('ninja.app_version').'/'.$file->getFileName().'">'."\n";
} // }
} // }
if (str_contains($file->getFileName(), '.css')) { // if (str_contains($file->getFileName(), '.css')) {
$includes .= '<link rel="stylesheet" href="/react/v'.config('ninja.app_version').'/'.$file->getFileName().'">'."\n"; // $includes .= '<link rel="stylesheet" href="/react/v'.config('ninja.app_version').'/'.$file->getFileName().'">'."\n";
} // }
} // }
file_put_contents(resource_path('views/react/head.blade.php'), $includes); // file_put_contents(resource_path('views/react/head.blade.php'), $includes);
} }
} }

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -5,7 +5,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -5,7 +5,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */
@ -229,7 +229,7 @@ class CompanySettings extends BaseSettings
public $require_quote_signature = false; //@TODO ben to confirm public $require_quote_signature = false; //@TODO ben to confirm
//email settings //email settings
public $email_sending_method = 'default'; //enum 'default','gmail','office365' 'client_postmark', 'client_mailgun', 'mailgun' //@implemented public $email_sending_method = 'default'; //enum 'default','gmail','office365' 'client_postmark', 'client_mailgun', 'mailgun', 'client_brevo' //@implemented
public $gmail_sending_user_id = '0'; //@implemented public $gmail_sending_user_id = '0'; //@implemented
@ -451,6 +451,8 @@ class CompanySettings extends BaseSettings
public $mailgun_endpoint = 'api.mailgun.net'; //api.eu.mailgun.net public $mailgun_endpoint = 'api.mailgun.net'; //api.eu.mailgun.net
public $brevo_secret = '';
public $auto_bill_standard_invoices = false; public $auto_bill_standard_invoices = false;
public $email_alignment = 'center'; // center , left, right public $email_alignment = 'center'; // center , left, right
@ -477,6 +479,8 @@ class CompanySettings extends BaseSettings
public $e_invoice_type = 'EN16931'; public $e_invoice_type = 'EN16931';
public $e_quote_type = 'OrderX_Comfort';
public $default_expense_payment_type_id = '0'; public $default_expense_payment_type_id = '0';
public $enable_e_invoice = false; public $enable_e_invoice = false;
@ -497,7 +501,11 @@ class CompanySettings extends BaseSettings
public $use_unapplied_payment = 'off'; //always, option, off //@implemented public $use_unapplied_payment = 'off'; //always, option, off //@implemented
public $enable_rappen_rounding = false;
public static $casts = [ public static $casts = [
'e_quote_type' => 'string',
'enable_rappen_rounding' => 'bool',
'use_unapplied_payment' => 'string', 'use_unapplied_payment' => 'string',
'show_pdfhtml_on_mobile' => 'bool', 'show_pdfhtml_on_mobile' => 'bool',
'payment_email_all_contacts' => 'bool', 'payment_email_all_contacts' => 'bool',
@ -505,7 +513,6 @@ class CompanySettings extends BaseSettings
'delivery_note_design_id' => 'string', 'delivery_note_design_id' => 'string',
'payment_receipt_design_id' => 'string', 'payment_receipt_design_id' => 'string',
'payment_refund_design_id' => 'string', 'payment_refund_design_id' => 'string',
'classification' => 'string',
'enable_e_invoice' => 'bool', 'enable_e_invoice' => 'bool',
'classification' => 'string', 'classification' => 'string',
'default_expense_payment_type_id' => 'string', 'default_expense_payment_type_id' => 'string',
@ -527,6 +534,7 @@ class CompanySettings extends BaseSettings
'postmark_secret' => 'string', 'postmark_secret' => 'string',
'mailgun_secret' => 'string', 'mailgun_secret' => 'string',
'mailgun_domain' => 'string', 'mailgun_domain' => 'string',
'brevo_secret' => 'string',
'send_email_on_mark_paid' => 'bool', 'send_email_on_mark_paid' => 'bool',
'vendor_portal_enable_uploads' => 'bool', 'vendor_portal_enable_uploads' => 'bool',
'besr_id' => 'string', 'besr_id' => 'string',

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -0,0 +1,23 @@
<?php
/**
* Invoice Ninja (https://invoiceninja.com).
*
* @link https://github.com/invoiceninja/invoiceninja source repository
*
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
*
* @license https://www.elastic.co/licensing/elastic-license
*/
namespace App\DataMapper\EDoc;
use Spatie\LaravelData\Data;
class Fact1 extends Data
{
public string $sectorCode = 'SECTOR1';
public string $BankId = '';
public string $BankName = '';
public string $PaymentMeans = 'TP02';
}

View File

@ -0,0 +1,23 @@
<?php
/**
* Invoice Ninja (https://invoiceninja.com).
*
* @link https://github.com/invoiceninja/invoiceninja source repository
*
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
*
* @license https://www.elastic.co/licensing/elastic-license
*/
namespace App\DataMapper\EDoc;
use Spatie\LaravelData\Data;
class FatturaPA extends Data
{
public string $RegimeFiscale = 'RF01';
public string $TipoDocumento = 'TD01';
public string $ModalitaPagamento = 'MP01';
public string $CondizioniPagamento = 'TP02';
}

View File

@ -0,0 +1,73 @@
<?php
/**
* Invoice Ninja (https://invoiceninja.com).
*
* @link https://github.com/invoiceninja/invoiceninja source repository
*
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
*
* @license https://www.elastic.co/licensing/elastic-license
*/
namespace App\DataMapper;
use Spatie\LaravelData\Data;
use Spatie\LaravelData\Optional;
use App\DataMapper\EDoc\FatturaPA;
class EDocSettings extends Data
{
public FatturaPA|Optional $FatturaPA;
public function __construct() {}
public function createFatturaPA(): FatturaPA
{
return $this->FatturaPA ??= new FatturaPA();
}
}
class DatiAnagraficiVettore extends Data{
public string $IdFiscaleIVA = '';
public string $CodiceFiscale = '';
public string $Anagrafica = '';
}
class DatiTrasporto extends Data{
public string $DataOraConsegna = ''; //datetime in this format 2017-01-10T16:46:12.000+02:00
//public DatiAnagraficiVettore
}
class DatiOrdineAcquisto extends Data{
public string $RiferimentoNumeroLinea = '';
public string $IdDocumento = '';
public string $Data = '';
public string $NumItem = '';
public string $CodiceCommessaConvenzione = '';
public string $CodiceCUP = '';
public string $CodiceCIG = '';
}
class DatiContratto extends Data{
public string $RiferimentoNumeroLinea = '';
public string $IdDocumento = '';
public string $Data = '';
public string $NumItem = '';
public string $CodiceCommessaConvenzione = '';
public string $CodiceCUP = '';
public string $CodiceCIG = '';
}
class DatiRicezione extends Data{
public string $RiferimentoNumeroLinea = '';
public string $IdDocumento = '';
public string $Data = '';
public string $NumItem = '';
public string $CodiceCommessaConvenzione = '';
public string $CodiceCUP = '';
public string $CodiceCIG = '';
}

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */
@ -65,6 +65,8 @@ class InvoiceItem
public $expense_id = ''; public $expense_id = '';
public $unit_code = 'C62';
public static $casts = [ public static $casts = [
'task_id' => 'string', 'task_id' => 'string',
'expense_id' => 'string', 'expense_id' => 'string',
@ -92,5 +94,6 @@ class InvoiceItem
'custom_value2' => 'string', 'custom_value2' => 'string',
'custom_value3' => 'string', 'custom_value3' => 'string',
'custom_value4' => 'string', 'custom_value4' => 'string',
'unit_code' => 'string',
]; ];
} }

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */
@ -213,7 +213,7 @@ class SettingsData
public bool $show_accept_quote_terms = false; //@TODO ben to confirm public bool $show_accept_quote_terms = false; //@TODO ben to confirm
public string $email_sending_method = 'default'; // enum 'default', 'gmail', 'office365', 'client_postmark', 'client_mailgun' //@implemented public string $email_sending_method = 'default'; // enum 'default', 'gmail', 'office365', 'client_postmark', 'client_mailgun' , 'client_brevo' //@implemented
public string $gmail_sending_user_id = '0'; //@implemented public string $gmail_sending_user_id = '0'; //@implemented
@ -433,6 +433,8 @@ class SettingsData
public string $mailgun_endpoint = 'api.mailgun.net'; // api.eu.mailgun.net public string $mailgun_endpoint = 'api.mailgun.net'; // api.eu.mailgun.net
public string $brevo_secret = '';
public bool $auto_bill_standard_invoices = false; public bool $auto_bill_standard_invoices = false;
public string $email_alignment = 'center'; // center, left, right public string $email_alignment = 'center'; // center, left, right

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */
@ -168,7 +168,6 @@ class BaseRule implements RuleInterface
/* We should only apply taxes for configured states */ /* We should only apply taxes for configured states */
if(!array_key_exists($this->client->country->iso_3166_2, $this->region_codes)) { if(!array_key_exists($this->client->country->iso_3166_2, $this->region_codes)) {
nlog('Automatic tax calculations not supported for this country - defaulting to company country'); nlog('Automatic tax calculations not supported for this country - defaulting to company country');
nlog("With new logic, we should never see this");
} }
/** Harvest the client_region */ /** Harvest the client_region */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

View File

@ -4,7 +4,7 @@
* *
* @link https://github.com/invoiceninja/invoiceninja source repository * @link https://github.com/invoiceninja/invoiceninja source repository
* *
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com)
* *
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */

Some files were not shown because too many files have changed in this diff Show More