diff --git a/.env.ci b/.env.ci index 87976de27699..d4b797cd2ea3 100644 --- a/.env.ci +++ b/.env.ci @@ -19,3 +19,4 @@ DB_HOST=127.0.0.1 NINJA_ENVIRONMENT=hosted COMPOSER_AUTH='{"github-oauth": {"github.com": "${{ secrets.GITHUB_TOKEN }}"}}' TRAVIS=true +API_SECRET=superdoopersecrethere diff --git a/.env.example b/.env.example index b92cf8fae044..54e388c4fee7 100644 --- a/.env.example +++ b/.env.example @@ -55,10 +55,5 @@ NINJA_ENVIRONMENT=selfhost PHANTOMJS_KEY='a-demo-key-with-low-quota-per-ip-address' PHANTOMJS_SECRET= -SELF_UPDATER_REPO_VENDOR = invoiceninja -SELF_UPDATER_REPO_NAME = invoiceninja -SELF_UPDATER_USE_BRANCH = v2 -SELF_UPDATER_MAILTO_ADDRESS = user@example.com -SELF_UPDATER_MAILTO_NAME = "John Doe" COMPOSER_AUTH='{"github-oauth": {"github.com": "${{ secrets.GITHUB_TOKEN }}"}}' SENTRY_LARAVEL_DSN=https://cc7e8e2c678041689e53e409b7dba236@sentry.invoicing.co/5 \ No newline at end of file diff --git a/VERSION.txt b/VERSION.txt index dbf3366489b1..c9c84322d739 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -5.0.22 +5.0.23 diff --git a/app/Console/Commands/CheckData.php b/app/Console/Commands/CheckData.php index f4a84a3c7000..7499b41d2d19 100644 --- a/app/Console/Commands/CheckData.php +++ b/app/Console/Commands/CheckData.php @@ -322,7 +322,7 @@ class CheckData extends Command $total_invoice_payments = 0; foreach ($client->invoices as $invoice) { - $total_amount = $invoice->payments->sum('pivot.amount'); + $total_amount = $invoice->payments->sum('pivot.amount'); $total_refund = $invoice->payments->sum('pivot.refunded'); $total_invoice_payments += ($total_amount - $total_refund); @@ -330,7 +330,7 @@ class CheckData extends Command foreach($client->payments as $payment) { - $credit_total_applied += $payment->paymentables->where('paymentable_type', App\Models\Credit::class)->sum(\DB::raw('amount')); + $credit_total_applied += $payment->paymentables->where('paymentable_type', App\Models\Credit::class)->sum(DB::raw('amount')); } if($credit_total_applied < 0) @@ -484,9 +484,9 @@ class CheckData extends Command } else { $company_id = 'company_id'; } - $records = \DB::table($table) + $records = DB::table($table) ->join($tableName, "{$tableName}.id", '=', "{$table}.{$field}_id") - ->where("{$table}.{$company_id}", '!=', \DB::raw("{$tableName}.company_id")) + ->where("{$table}.{$company_id}", '!=', DB::raw("{$tableName}.company_id")) ->get(["{$table}.id"]); if ($records->count()) { diff --git a/app/Console/Commands/CreateSingleAccount.php b/app/Console/Commands/CreateSingleAccount.php index 5defc097b45d..ecdcc40ea558 100644 --- a/app/Console/Commands/CreateSingleAccount.php +++ b/app/Console/Commands/CreateSingleAccount.php @@ -11,8 +11,6 @@ namespace App\Console\Commands; -use App\Console\Commands\TestData\CreateTestCreditJob; -use App\Console\Commands\TestData\CreateTestQuoteJob; use App\DataMapper\CompanySettings; use App\DataMapper\DefaultSettings; use App\Events\Invoice\InvoiceWasCreated; @@ -73,10 +71,11 @@ class CreateSingleAccount extends Command protected $count; protected $gateway; + /** * Create a new command instance. * - * @return void + * @param InvoiceRepository $invoice_repo */ public function __construct(InvoiceRepository $invoice_repo) { @@ -242,7 +241,7 @@ class CreateSingleAccount extends Command $settings = $client->settings; $settings->currency_id = "1"; $settings->use_credits_payment = "always"; - + $client->settings = $settings; $country = Country::all()->random(); @@ -301,7 +300,7 @@ class CreateSingleAccount extends Command private function createInvoice($client) { - $faker = \Faker\Factory::create(); + $faker = Factory::create(); $invoice = InvoiceFactory::create($client->company->id, $client->user->id); //stub the company and user_id $invoice->client_id = $client->id; @@ -350,7 +349,7 @@ class CreateSingleAccount extends Command private function createCredit($client) { - $faker = \Faker\Factory::create(); + $faker = Factory::create(); $credit = Credit::factory()->create(['user_id' => $client->user->id, 'company_id' => $client->company->id, 'client_id' => $client->id]); @@ -375,7 +374,7 @@ class CreateSingleAccount extends Command private function createQuote($client) { - $faker = \Faker\Factory::create(); + $faker = Factory::create(); $quote = Quote::factory()->create(['user_id' => $client->user->id, 'company_id' => $client->company->id, 'client_id' => $client->id]); $quote->date = $faker->date(); @@ -434,7 +433,7 @@ class CreateSingleAccount extends Command $item->custom_value4 = $product->custom_value4; $line_items[] = $item; - + return $line_items; } diff --git a/app/Console/Commands/CreateTestData.php b/app/Console/Commands/CreateTestData.php index da72449fb55e..2dab5b2dd4cd 100644 --- a/app/Console/Commands/CreateTestData.php +++ b/app/Console/Commands/CreateTestData.php @@ -11,8 +11,6 @@ namespace App\Console\Commands; -use App\Console\Commands\TestData\CreateTestCreditJob; -use App\Console\Commands\TestData\CreateTestQuoteJob; use App\DataMapper\CompanySettings; use App\DataMapper\DefaultSettings; use App\Events\Invoice\InvoiceWasCreated; @@ -72,7 +70,7 @@ class CreateTestData extends Command /** * Create a new command instance. * - * @return void + * @param InvoiceRepository $invoice_repo */ public function __construct(InvoiceRepository $invoice_repo) { @@ -474,7 +472,7 @@ class CreateTestData extends Command private function createInvoice($client) { - $faker = \Faker\Factory::create(); + $faker = Factory::create(); $invoice = InvoiceFactory::create($client->company->id, $client->user->id); //stub the company and user_id $invoice->client_id = $client->id; @@ -524,12 +522,8 @@ class CreateTestData extends Command private function createCredit($client) { - // for($x=0; $x<$this->count; $x++){ - // dispatch(new CreateTestCreditJob($client)); - - // } - $faker = \Faker\Factory::create(); + $faker = Factory::create(); $credit = Credit::factory()->create(['user_id' => $client->user->id, 'company_id' => $client->company->id, 'client_id' => $client->id]); @@ -568,11 +562,8 @@ class CreateTestData extends Command private function createQuote($client) { - // for($x=0; $x<$this->count; $x++){ - // dispatch(new CreateTestQuoteJob($client)); - // } - $faker = \Faker\Factory::create(); + $faker = Factory::create(); //$quote = QuoteFactory::create($client->company->id, $client->user->id);//stub the company and user_id $quote = Quote::factory()->create(['user_id' => $client->user->id, 'company_id' => $client->company->id, 'client_id' => $client->id]); diff --git a/app/Console/Commands/DemoMode.php b/app/Console/Commands/DemoMode.php index 8a5070a1f9bb..8e5c3881d420 100644 --- a/app/Console/Commands/DemoMode.php +++ b/app/Console/Commands/DemoMode.php @@ -57,8 +57,6 @@ class DemoMode extends Command { use MakesHash, GeneratesCounter; - private $count; - protected $name = 'ninja:demo-mode'; /** * The name and signature of the console command. @@ -266,7 +264,7 @@ class DemoMode extends Command // } $client = $company->clients->random(); - $this->createExpense($client, $u2->id); + $this->createExpense($client); //$this->info("creating expense for client #".$client->id); @@ -439,11 +437,7 @@ class DemoMode extends Command private function createCredit($client, $assigned_user_id = null) { - // for($x=0; $x<$this->count; $x++){ - // dispatch(new CreateTestCreditJob($client)); - - // } $faker = \Faker\Factory::create(); $credit = Credit::factory()->create(['user_id' => $client->user->id, 'company_id' => $client->company->id, 'client_id' => $client->id]); diff --git a/app/Console/Commands/DesignUpdate.php b/app/Console/Commands/DesignUpdate.php index e73a3eca65fc..dd234e57e4c9 100644 --- a/app/Console/Commands/DesignUpdate.php +++ b/app/Console/Commands/DesignUpdate.php @@ -13,6 +13,7 @@ namespace App\Console\Commands; use App\Models\Design; use Illuminate\Console\Command; +use stdClass; class DesignUpdate extends Command { @@ -52,7 +53,7 @@ class DesignUpdate extends Command $invoice_design = new $class(); $invoice_design->document(); - $design_object = new \stdClass; + $design_object = new stdClass; $design_object->includes = $invoice_design->getSectionHTML('style'); $design_object->header = $invoice_design->getSectionHTML('header'); $design_object->body = $invoice_design->getSectionHTML('body'); diff --git a/app/Console/Commands/ImportMigrations.php b/app/Console/Commands/ImportMigrations.php index 54d1adfa9fd0..af490e426bb8 100644 --- a/app/Console/Commands/ImportMigrations.php +++ b/app/Console/Commands/ImportMigrations.php @@ -18,7 +18,11 @@ use App\Models\Company; use App\Models\CompanyToken; use App\Models\User; use App\Utils\Traits\MakesHash; +use DirectoryIterator; +use Faker\Factory; +use Faker\Generator; use Illuminate\Console\Command; +use Illuminate\Support\Str; class ImportMigrations extends Command { @@ -38,7 +42,7 @@ class ImportMigrations extends Command protected $description = 'Massively import the migrations.'; /** - * @var \Faker\Generator + * @var Generator */ private $faker; @@ -49,7 +53,7 @@ class ImportMigrations extends Command */ public function __construct() { - $this->faker = \Faker\Factory::create(); + $this->faker = Factory::create(); parent::__construct(); } @@ -63,7 +67,7 @@ class ImportMigrations extends Command { $path = $this->option('path') ?? storage_path('migrations/import'); - $directory = new \DirectoryIterator($path); + $directory = new DirectoryIterator($path); foreach ($directory as $file) { if ($file->getExtension() === 'zip') { @@ -89,7 +93,7 @@ class ImportMigrations extends Command 'company_id' => $company->id, 'account_id' => $account->id, 'name' => 'test token', - 'token' => \Illuminate\Support\Str::random(64), + 'token' => Str::random(64), ]); $user->companies()->attach($company->id, [ diff --git a/app/Console/Commands/PostUpdate.php b/app/Console/Commands/PostUpdate.php index 37f349908dfd..a10654a3fc88 100644 --- a/app/Console/Commands/PostUpdate.php +++ b/app/Console/Commands/PostUpdate.php @@ -18,6 +18,7 @@ use Composer\Installer; use Composer\IO\NullIO; use Illuminate\Console\Command; use Illuminate\Support\Facades\Artisan; +use Log; use Symfony\Component\Console\Input\ArrayInput; class PostUpdate extends Command @@ -41,10 +42,11 @@ class PostUpdate extends Command * Execute the console command. * * @return mixed + * @throws \Exception */ public function handle() { - + set_time_limit(0); info('running post update'); @@ -52,13 +54,13 @@ class PostUpdate extends Command try { Artisan::call('migrate', ['--force' => true]); } catch (Exception $e) { - \Log::error("I wasn't able to migrate the data."); + Log::error("I wasn't able to migrate the data."); } try { Artisan::call('optimize'); } catch (Exception $e) { - \Log::error("I wasn't able to optimize."); + Log::error("I wasn't able to optimize."); } /* For the following to work, the web user (www-data) must own all the directories */ @@ -67,7 +69,7 @@ class PostUpdate extends Command $input = new ArrayInput(array('command' => 'install', '--no-dev' => 'true')); $application = new Application(); - $application->setAutoExit(false); + $application->setAutoExit(false); $application->run($input); echo "Done."; diff --git a/app/Console/Commands/SendTestEmails.php b/app/Console/Commands/SendTestEmails.php index 914a4817616b..0a6a2511f6c2 100644 --- a/app/Console/Commands/SendTestEmails.php +++ b/app/Console/Commands/SendTestEmails.php @@ -26,6 +26,7 @@ use App\Models\ClientContact; use App\Models\Company; use App\Models\Invoice; use App\Models\User; +use Faker\Factory; use Illuminate\Console\Command; use Illuminate\Support\Carbon; use Illuminate\Support\Facades\Mail; @@ -70,7 +71,7 @@ class SendTestEmails extends Command private function sendTemplateEmails($template) { - $faker = \Faker\Factory::create(); + $faker = Factory::create(); $message = [ 'title' => 'Invoice XJ-3838', @@ -82,7 +83,7 @@ class SendTestEmails extends Command $user = User::whereEmail('user@example.com')->first(); if (! $user) { - + $account = Account::factory()->create(); $user = User::factory()->create([ diff --git a/app/Console/Commands/TestData/CreateTestCreditJob.php b/app/Console/Commands/TestData/CreateTestCreditJob.php deleted file mode 100644 index 225fc5e6f819..000000000000 --- a/app/Console/Commands/TestData/CreateTestCreditJob.php +++ /dev/null @@ -1,136 +0,0 @@ -client = $client; - } - - /** - * Execute the job. - * - * @return void - */ - public function handle() - { - $faker = \Faker\Factory::create(); - - $credit = Credit::factory()->create(['user_id' => $this->client->user->id, 'company_id' => $this->client->company->id, 'client_id' => $this->client->id]); - - //$invoice = InvoiceFactory::create($this->client->company->id, $this->client->user->id);//stub the company and user_id - //$invoice->client_id = $this->client->id; -// $invoice->date = $faker->date(); - $dateable = Carbon::now()->subDays(rand(0, 90)); - $credit->date = $dateable; - - $credit->line_items = $this->buildLineItems(rand(1, 10)); - $credit->uses_inclusive_taxes = false; - - if (rand(0, 1)) { - $credit->tax_name1 = 'GST'; - $credit->tax_rate1 = 10.00; - } - - if (rand(0, 1)) { - $credit->tax_name2 = 'VAT'; - $credit->tax_rate2 = 17.50; - } - - if (rand(0, 1)) { - $credit->tax_name3 = 'CA Sales Tax'; - $credit->tax_rate3 = 5; - } - - $credit->save(); - - $invoice_calc = new InvoiceSum($credit); - $invoice_calc->build(); - - $credit = $invoice_calc->getCredit(); - - $credit->save(); - - event(new CreateCreditInvitation($credit, $credit->company, Ninja::eventVars())); - } - - private function buildLineItems($count = 1) - { - $line_items = []; - - for ($x = 0; $x < $count; $x++) { - $item = InvoiceItemFactory::create(); - $item->quantity = 1; - //$item->cost = 10; - - if (rand(0, 1)) { - $item->tax_name1 = 'GST'; - $item->tax_rate1 = 10.00; - } - - if (rand(0, 1)) { - $item->tax_name1 = 'VAT'; - $item->tax_rate1 = 17.50; - } - - if (rand(0, 1)) { - $item->tax_name1 = 'Sales Tax'; - $item->tax_rate1 = 5; - } - - $product = Product::all()->random(); - - $item->cost = (float) $product->cost; - $item->product_key = $product->product_key; - $item->notes = $product->notes; - $item->custom_value1 = $product->custom_value1; - $item->custom_value2 = $product->custom_value2; - $item->custom_value3 = $product->custom_value3; - $item->custom_value4 = $product->custom_value4; - - $line_items[] = $item; - } - - return $line_items; - } -} diff --git a/app/Console/Commands/TestData/CreateTestQuoteJob.php b/app/Console/Commands/TestData/CreateTestQuoteJob.php deleted file mode 100644 index 24e91e5acf92..000000000000 --- a/app/Console/Commands/TestData/CreateTestQuoteJob.php +++ /dev/null @@ -1,129 +0,0 @@ -client = $client; - } - - /** - * Execute the job. - * - * @return void - */ - public function handle() - { - $faker = \Faker\Factory::create(); - - $quote = Quote::factory()->create(['user_id' => $this->client->user->id, 'company_id' => $this->client->company->id, 'client_id' => $this->client->id]); - $quote->date = $faker->date(); - - $quote->line_items = $this->buildLineItems(rand(1, 10)); - $quote->uses_inclusive_taxes = false; - - if (rand(0, 1)) { - $quote->tax_name1 = 'GST'; - $quote->tax_rate1 = 10.00; - } - - if (rand(0, 1)) { - $quote->tax_name2 = 'VAT'; - $quote->tax_rate2 = 17.50; - } - - if (rand(0, 1)) { - $quote->tax_name3 = 'CA Sales Tax'; - $quote->tax_rate3 = 5; - } - - $quote->save(); - - $quote_calc = new InvoiceSum($quote); - $quote_calc->build(); - - $quote = $quote_calc->getQuote(); - $quote->service()->markSent()->save(); - - CreateQuoteInvitations::dispatch($quote, $quote->company); - } - - private function buildLineItems($count = 1) - { - $line_items = []; - - for ($x = 0; $x < $count; $x++) { - $item = InvoiceItemFactory::create(); - $item->quantity = 1; - //$item->cost = 10; - - if (rand(0, 1)) { - $item->tax_name1 = 'GST'; - $item->tax_rate1 = 10.00; - } - - if (rand(0, 1)) { - $item->tax_name1 = 'VAT'; - $item->tax_rate1 = 17.50; - } - - if (rand(0, 1)) { - $item->tax_name1 = 'Sales Tax'; - $item->tax_rate1 = 5; - } - - $product = Product::all()->random(); - - $item->cost = (float) $product->cost; - $item->product_key = $product->product_key; - $item->notes = $product->notes; - $item->custom_value1 = $product->custom_value1; - $item->custom_value2 = $product->custom_value2; - $item->custom_value3 = $product->custom_value3; - $item->custom_value4 = $product->custom_value4; - - $line_items[] = $item; - } - - return $line_items; - } -} diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php index 7e4cc49f59e3..1dd37df3471d 100644 --- a/app/Console/Kernel.php +++ b/app/Console/Kernel.php @@ -38,7 +38,7 @@ class Kernel extends ConsoleKernel /** * Define the application's command schedule. * - * @param \Illuminate\Console\Scheduling\Schedule $schedule + * @param Schedule $schedule * @return void */ protected function schedule(Schedule $schedule) diff --git a/app/DataMapper/ClientSettings.php b/app/DataMapper/ClientSettings.php index 6423ef07d140..7234afe8379c 100644 --- a/app/DataMapper/ClientSettings.php +++ b/app/DataMapper/ClientSettings.php @@ -15,6 +15,7 @@ use App\DataMapper\ClientSettings; use App\DataMapper\CompanySettings; use App\Models\Client; use App\Utils\TranslationHelper; +use stdClass; /** * ClientSettings. @@ -44,7 +45,7 @@ class ClientSettings extends BaseSettings * prevents missing properties from not being returned * and always ensure an up to date class is returned. * - * @return \stdClass + * @param $obj */ public function __construct($obj) { @@ -54,9 +55,9 @@ class ClientSettings extends BaseSettings /** * Default Client Settings scaffold. * - * @return \stdClass + * @return stdClass */ - public static function defaults() : \stdClass + public static function defaults() : stdClass { $data = (object) [ 'entity' => (string) Client::class, @@ -70,9 +71,9 @@ class ClientSettings extends BaseSettings /** * Merges settings from Company to Client. * - * @param \stdClass $company_settings - * @param \stdClass $client_settings - * @return \stdClass of merged settings + * @param stdClass $company_settings + * @param stdClass $client_settings + * @return stdClass of merged settings */ public static function buildClientSettings($company_settings, $client_settings) { diff --git a/app/DataMapper/CompanySettings.php b/app/DataMapper/CompanySettings.php index 451258bc4303..24d668064b6c 100644 --- a/app/DataMapper/CompanySettings.php +++ b/app/DataMapper/CompanySettings.php @@ -13,6 +13,7 @@ namespace App\DataMapper; use App\DataMapper\CompanySettings; use App\Utils\Traits\MakesHash; +use stdClass; /** * CompanySettings. @@ -497,7 +498,7 @@ class CompanySettings extends BaseSettings * prevents missing properties from not being returned * and always ensure an up to date class is returned. * - * @return \stdClass + * @param $obj */ public function __construct($obj) { @@ -506,9 +507,9 @@ class CompanySettings extends BaseSettings /** * Provides class defaults on init. - * @return object + * @return stdClass */ - public static function defaults():\stdClass + public static function defaults(): stdClass { $config = json_decode(config('ninja.settings')); @@ -537,9 +538,10 @@ class CompanySettings extends BaseSettings * need to provide a fallback catch on old settings objects which will * set new properties to the object prior to being returned. * - * @param object $data The settings object to be checked + * @param $settings + * @return stdClass */ - public static function setProperties($settings):\stdClass + public static function setProperties($settings): stdClass { $company_settings = (object) get_class_vars(self::class); @@ -554,7 +556,7 @@ class CompanySettings extends BaseSettings public static function notificationDefaults() { - $notification = new \stdClass; + $notification = new stdClass; $notification->email = ['all_notifications']; return $notification; diff --git a/app/DataMapper/DefaultSettings.php b/app/DataMapper/DefaultSettings.php index 00a0d8a10290..bfdcf155f28f 100644 --- a/app/DataMapper/DefaultSettings.php +++ b/app/DataMapper/DefaultSettings.php @@ -13,6 +13,7 @@ namespace App\DataMapper; use App\Models\Client; use App\Models\User; +use stdClass; /** * Class DefaultSettings. @@ -25,11 +26,11 @@ class DefaultSettings extends BaseSettings public static $per_page = 25; /** - * @return \stdClass + * @return stdClass * * //todo user specific settings / preferences. */ - public static function userSettings() : \stdClass + public static function userSettings() : stdClass { return (object) [ // class_basename(User::class) => self::userSettingsObject(), @@ -37,9 +38,9 @@ class DefaultSettings extends BaseSettings } /** - * @return \stdClass + * @return stdClass */ - private static function userSettingsObject() : \stdClass + private static function userSettingsObject() : stdClass { return (object) [ // 'per_page' => self::$per_page, diff --git a/app/DataMapper/EmailTemplateDefaults.php b/app/DataMapper/EmailTemplateDefaults.php index ed50c437c021..5fc3288a95db 100644 --- a/app/DataMapper/EmailTemplateDefaults.php +++ b/app/DataMapper/EmailTemplateDefaults.php @@ -148,12 +148,10 @@ class EmailTemplateDefaults public static function emailPaymentTemplate() { - $converter = new CommonMarkConverter([ - 'html_input' => 'strip', - 'allow_unsafe_links' => false, - ]); - return $converter->convertToHtml(self::transformText('payment_message')); + $payment_message = '
'.self::transformText('payment_message').'
$view_link
'; + + return $payment_message; } @@ -166,12 +164,11 @@ class EmailTemplateDefaults public static function emailPaymentPartialTemplate() { - $converter = new CommonMarkConverter([ - 'html_input' => 'strip', - 'allow_unsafe_links' => false, - ]); - return $converter->convertToHtml(self::transformText('payment_message')); + $payment_message = ''.self::transformText('payment_message').'
$view_link
'; + + return $payment_message; + } public static function emailPaymentPartialSubject() diff --git a/app/DataMapper/FreeCompanySettings.php b/app/DataMapper/FreeCompanySettings.php index 8147face3e31..0e38bf5d9cf3 100644 --- a/app/DataMapper/FreeCompanySettings.php +++ b/app/DataMapper/FreeCompanySettings.php @@ -13,6 +13,7 @@ namespace App\DataMapper; use App\DataMapper\CompanySettings; use App\Utils\Traits\MakesHash; +use stdClass; /** * FreeCompanySettings. @@ -140,7 +141,7 @@ class FreeCompanySettings extends BaseSettings * prevents missing properties from not being returned * and always ensure an up to date class is returned. * - * @return \stdClass + * @param $obj */ public function __construct($obj) { @@ -148,9 +149,9 @@ class FreeCompanySettings extends BaseSettings /** * Provides class defaults on init. - * @return object + * @return stdClass */ - public static function defaults():\stdClass + public static function defaults(): stdClass { $config = json_decode(config('ninja.settings')); diff --git a/app/Events/Account/AccountCreated.php b/app/Events/Account/AccountCreated.php index 74b338af9232..9636a873f069 100644 --- a/app/Events/Account/AccountCreated.php +++ b/app/Events/Account/AccountCreated.php @@ -38,7 +38,9 @@ class AccountCreated /** * Create a new event instance. * - * @return void + * @param $user + * @param $company + * @param $event_vars */ public function __construct($user, $company, $event_vars) { @@ -50,7 +52,7 @@ class AccountCreated /** * Get the channels the event should broadcast on. * - * @return \Illuminate\Broadcasting\Channel|array + * @return Channel|array */ public function broadcastOn() { diff --git a/app/Events/Client/ClientWasArchived.php b/app/Events/Client/ClientWasArchived.php index 321437825b01..3bb0fab8229a 100644 --- a/app/Events/Client/ClientWasArchived.php +++ b/app/Events/Client/ClientWasArchived.php @@ -41,6 +41,8 @@ class ClientWasArchived * Create a new event instance. * * @param Client $client + * @param Company $company + * @param array $event_vars */ public function __construct(Client $client, Company $company, array $event_vars) { @@ -52,7 +54,7 @@ class ClientWasArchived /** * Get the channels the event should broadcast on. * - * @return \Illuminate\Broadcasting\Channel|array + * @return Channel|array */ public function broadcastOn() { diff --git a/app/Events/Client/ClientWasCreated.php b/app/Events/Client/ClientWasCreated.php index e61982a89398..58ec64e18cbc 100644 --- a/app/Events/Client/ClientWasCreated.php +++ b/app/Events/Client/ClientWasCreated.php @@ -35,6 +35,8 @@ class ClientWasCreated * Create a new event instance. * * @param Client $client + * @param Company $company + * @param array $event_vars */ public function __construct(Client $client, Company $company, array $event_vars) { diff --git a/app/Events/Client/ClientWasDeleted.php b/app/Events/Client/ClientWasDeleted.php index 9f6348775635..48fcaf25dca3 100644 --- a/app/Events/Client/ClientWasDeleted.php +++ b/app/Events/Client/ClientWasDeleted.php @@ -34,6 +34,8 @@ class ClientWasDeleted * Create a new event instance. * * @param Client $client + * @param Company $company + * @param array $event_vars */ public function __construct(Client $client, Company $company, array $event_vars) { diff --git a/app/Events/Client/ClientWasRestored.php b/app/Events/Client/ClientWasRestored.php index 1011a5564613..505bf0f472a7 100644 --- a/app/Events/Client/ClientWasRestored.php +++ b/app/Events/Client/ClientWasRestored.php @@ -34,6 +34,8 @@ class ClientWasRestored * Create a new event instance. * * @param Client $client + * @param Company $company + * @param array $event_vars */ public function __construct(Client $client, Company $company, array $event_vars) { diff --git a/app/Events/Client/ClientWasUpdated.php b/app/Events/Client/ClientWasUpdated.php index c7bd39687f52..419fea23353a 100644 --- a/app/Events/Client/ClientWasUpdated.php +++ b/app/Events/Client/ClientWasUpdated.php @@ -34,6 +34,8 @@ class ClientWasUpdated * Create a new event instance. * * @param Client $client + * @param Company $company + * @param array $event_vars */ public function __construct(Client $client, Company $company, array $event_vars) { diff --git a/app/Events/Company/CompanyDocumentsDeleted.php b/app/Events/Company/CompanyDocumentsDeleted.php index 5d66d6476365..9e595852765b 100644 --- a/app/Events/Company/CompanyDocumentsDeleted.php +++ b/app/Events/Company/CompanyDocumentsDeleted.php @@ -42,7 +42,7 @@ class CompanyDocumentsDeleted /** * Get the channels the event should broadcast on. * - * @return \Illuminate\Broadcasting\Channel|array + * @return Channel|array */ public function broadcastOn() { diff --git a/app/Events/Contact/ContactLoggedIn.php b/app/Events/Contact/ContactLoggedIn.php index b4afdab46c88..6f798aa7fb3e 100644 --- a/app/Events/Contact/ContactLoggedIn.php +++ b/app/Events/Contact/ContactLoggedIn.php @@ -39,7 +39,9 @@ class ContactLoggedIn /** * Create a new event instance. * - * @return void + * @param ClientContact $client_contact + * @param $company + * @param $event_vars */ public function __construct(ClientContact $client_contact, $company, $event_vars) { @@ -51,7 +53,7 @@ class ContactLoggedIn /** * Get the channels the event should broadcast on. * - * @return \Illuminate\Broadcasting\Channel|array + * @return Channel|array */ public function broadcastOn() { diff --git a/app/Events/Credit/CreditWasArchived.php b/app/Events/Credit/CreditWasArchived.php index adc07565c807..42733be12168 100644 --- a/app/Events/Credit/CreditWasArchived.php +++ b/app/Events/Credit/CreditWasArchived.php @@ -31,6 +31,8 @@ class CreditWasArchived * Create a new event instance. * * @param Credit $credit + * @param Company $company + * @param array $event_vars */ public function __construct(Credit $credit, Company $company, array $event_vars) { diff --git a/app/Events/Credit/CreditWasCreated.php b/app/Events/Credit/CreditWasCreated.php index dec266271361..d3af443e1bc0 100644 --- a/app/Events/Credit/CreditWasCreated.php +++ b/app/Events/Credit/CreditWasCreated.php @@ -31,6 +31,8 @@ class CreditWasCreated * Create a new event instance. * * @param Credit $credit + * @param Company $company + * @param array $event_vars */ public function __construct(Credit $credit, Company $company, array $event_vars) { diff --git a/app/Events/Credit/CreditWasDeleted.php b/app/Events/Credit/CreditWasDeleted.php index 36f13993911b..7e4014ce089d 100644 --- a/app/Events/Credit/CreditWasDeleted.php +++ b/app/Events/Credit/CreditWasDeleted.php @@ -31,6 +31,8 @@ class CreditWasDeleted * Create a new event instance. * * @param Credit $credit + * @param Company $company + * @param array $event_vars */ public function __construct(Credit $credit, Company $company, array $event_vars) { diff --git a/app/Events/Credit/CreditWasEmailed.php b/app/Events/Credit/CreditWasEmailed.php index 3f75c02217bf..fb47bcfa5283 100644 --- a/app/Events/Credit/CreditWasEmailed.php +++ b/app/Events/Credit/CreditWasEmailed.php @@ -30,6 +30,8 @@ class CreditWasEmailed * Create a new event instance. * * @param Credit $credit + * @param Company $company + * @param array $event_vars */ public function __construct(Credit $credit, Company $company, array $event_vars) { diff --git a/app/Events/Credit/CreditWasMarkedSent.php b/app/Events/Credit/CreditWasMarkedSent.php index 6f2d537b2dee..2230c09fa720 100644 --- a/app/Events/Credit/CreditWasMarkedSent.php +++ b/app/Events/Credit/CreditWasMarkedSent.php @@ -34,6 +34,8 @@ class CreditWasMarkedSent * Create a new event instance. * * @param Credit $credit + * @param Company $company + * @param array $event_vars */ public function __construct(Credit $credit, Company $company, array $event_vars) { diff --git a/app/Events/Credit/CreditWasRestored.php b/app/Events/Credit/CreditWasRestored.php index aad14874335c..f526ed5d515b 100644 --- a/app/Events/Credit/CreditWasRestored.php +++ b/app/Events/Credit/CreditWasRestored.php @@ -33,7 +33,9 @@ class CreditWasRestored /** * Create a new event instance. * - * @param Client $client + * @param Credit $credit + * @param Company $company + * @param array $event_vars */ public function __construct(Credit $credit, Company $company, array $event_vars) { diff --git a/app/Events/Credit/CreditWasUpdated.php b/app/Events/Credit/CreditWasUpdated.php index 3901eec55784..af079e4992f1 100644 --- a/app/Events/Credit/CreditWasUpdated.php +++ b/app/Events/Credit/CreditWasUpdated.php @@ -31,6 +31,8 @@ class CreditWasUpdated * Create a new event instance. * * @param Credit $credit + * @param Company $company + * @param array $event_vars */ public function __construct(Credit $credit, Company $company, array $event_vars) { diff --git a/app/Events/Design/DesignWasArchived.php b/app/Events/Design/DesignWasArchived.php index 1341367915f2..d0062640fb63 100644 --- a/app/Events/Design/DesignWasArchived.php +++ b/app/Events/Design/DesignWasArchived.php @@ -41,6 +41,8 @@ class DesignWasArchived * Create a new event instance. * * @param Design $design + * @param Company $company + * @param array $event_vars */ public function __construct(Design $design, Company $company, array $event_vars) { @@ -54,7 +56,7 @@ class DesignWasArchived /** * Get the channels the event should broadcast on. * - * @return \Illuminate\Broadcasting\Channel|array + * @return Channel|array */ public function broadcastOn() { diff --git a/app/Events/Design/DesignWasCreated.php b/app/Events/Design/DesignWasCreated.php index 46e658ca4a8c..54206cf62ce1 100644 --- a/app/Events/Design/DesignWasCreated.php +++ b/app/Events/Design/DesignWasCreated.php @@ -13,6 +13,7 @@ namespace App\Events\Design; use App\Models\Company; use App\Models\Design; +use Illuminate\Broadcasting\Channel; use Illuminate\Queue\SerializesModels; /** @@ -35,6 +36,8 @@ class DesignWasCreated * Create a new event instance. * * @param Design $design + * @param Company $company + * @param array $event_vars */ public function __construct(Design $design, Company $company, array $event_vars) { @@ -48,7 +51,7 @@ class DesignWasCreated /** * Get the channels the event should broadcast on. * - * @return \Illuminate\Broadcasting\Channel|array + * @return PrivateChannel */ public function broadcastOn() { diff --git a/app/Events/Design/DesignWasDeleted.php b/app/Events/Design/DesignWasDeleted.php index c944e7b54e1a..2e8c9a3fd7e9 100644 --- a/app/Events/Design/DesignWasDeleted.php +++ b/app/Events/Design/DesignWasDeleted.php @@ -13,6 +13,7 @@ namespace App\Events\Design; use App\Models\Company; use App\Models\Design; +use Illuminate\Broadcasting\Channel; use Illuminate\Queue\SerializesModels; /** @@ -35,6 +36,8 @@ class DesignWasDeleted * Create a new event instance. * * @param Design $design + * @param Company $company + * @param array $event_vars */ public function __construct(Design $design, Company $company, array $event_vars) { @@ -48,7 +51,7 @@ class DesignWasDeleted /** * Get the channels the event should broadcast on. * - * @return \Illuminate\Broadcasting\Channel|array + * @return PrivateChannel */ public function broadcastOn() { diff --git a/app/Events/Design/DesignWasRestored.php b/app/Events/Design/DesignWasRestored.php index 8ed2523b2a87..0de7dd749987 100644 --- a/app/Events/Design/DesignWasRestored.php +++ b/app/Events/Design/DesignWasRestored.php @@ -13,6 +13,7 @@ namespace App\Events\Design; use App\Models\Company; use App\Models\Design; +use Illuminate\Broadcasting\Channel; use Illuminate\Queue\SerializesModels; /** @@ -35,6 +36,8 @@ class DesignWasRestored * Create a new event instance. * * @param Design $design + * @param Company $company + * @param array $event_vars */ public function __construct(Design $design, Company $company, array $event_vars) { @@ -48,7 +51,7 @@ class DesignWasRestored /** * Get the channels the event should broadcast on. * - * @return \Illuminate\Broadcasting\Channel|array + * @return PrivateChannel */ public function broadcastOn() { diff --git a/app/Events/Design/DesignWasUpdated.php b/app/Events/Design/DesignWasUpdated.php index 3c4dbca0a4b7..b561dab354dd 100644 --- a/app/Events/Design/DesignWasUpdated.php +++ b/app/Events/Design/DesignWasUpdated.php @@ -13,6 +13,7 @@ namespace App\Events\Design; use App\Models\Company; use App\Models\Design; +use Illuminate\Broadcasting\Channel; use Illuminate\Queue\SerializesModels; /** @@ -35,6 +36,8 @@ class DesignWasUpdated * Create a new event instance. * * @param Design $design + * @param Company $company + * @param array $event_vars */ public function __construct(Design $design, Company $company, array $event_vars) { @@ -48,7 +51,7 @@ class DesignWasUpdated /** * Get the channels the event should broadcast on. * - * @return \Illuminate\Broadcasting\Channel|array + * @return PrivateChannel */ public function broadcastOn() { diff --git a/app/Events/Document/DocumentWasArchived.php b/app/Events/Document/DocumentWasArchived.php index 30591ec4f35c..d483f80ac039 100644 --- a/app/Events/Document/DocumentWasArchived.php +++ b/app/Events/Document/DocumentWasArchived.php @@ -41,6 +41,8 @@ class DocumentWasArchived * Create a new event instance. * * @param Document $document + * @param Company $company + * @param array $event_vars */ public function __construct(Document $document, Company $company, array $event_vars) { @@ -52,7 +54,7 @@ class DocumentWasArchived /** * Get the channels the event should broadcast on. * - * @return \Illuminate\Broadcasting\Channel|array + * @return Channel|array */ public function broadcastOn() { diff --git a/app/Events/Document/DocumentWasCreated.php b/app/Events/Document/DocumentWasCreated.php index 3ea2593dfc98..e852d2f42210 100644 --- a/app/Events/Document/DocumentWasCreated.php +++ b/app/Events/Document/DocumentWasCreated.php @@ -35,6 +35,8 @@ class DocumentWasCreated * Create a new event instance. * * @param Document $document + * @param Company $company + * @param array $event_vars */ public function __construct(Document $document, Company $company, array $event_vars) { diff --git a/app/Events/Document/DocumentWasDeleted.php b/app/Events/Document/DocumentWasDeleted.php index 81c33997fcbb..3c4d3727edaf 100644 --- a/app/Events/Document/DocumentWasDeleted.php +++ b/app/Events/Document/DocumentWasDeleted.php @@ -35,6 +35,8 @@ class DocumentWasDeleted * Create a new event instance. * * @param Document $document + * @param Company $company + * @param array $event_vars */ public function __construct(Document $document, Company $company, array $event_vars) { diff --git a/app/Events/Document/DocumentWasRestored.php b/app/Events/Document/DocumentWasRestored.php index eeadc14647eb..672d6273e062 100644 --- a/app/Events/Document/DocumentWasRestored.php +++ b/app/Events/Document/DocumentWasRestored.php @@ -35,6 +35,8 @@ class DocumentWasRestored * Create a new event instance. * * @param Document $document + * @param Company $company + * @param array $event_vars */ public function __construct(Document $document, Company $company, array $event_vars) { diff --git a/app/Events/Document/DocumentWasUpdated.php b/app/Events/Document/DocumentWasUpdated.php index 87d9bb803ca4..5bf277f752fe 100644 --- a/app/Events/Document/DocumentWasUpdated.php +++ b/app/Events/Document/DocumentWasUpdated.php @@ -35,6 +35,8 @@ class DocumentWasUpdated * Create a new event instance. * * @param Document $document + * @param Company $company + * @param array $event_vars */ public function __construct(Document $document, Company $company, array $event_vars) { diff --git a/app/Events/Expense/ExpenseWasArchived.php b/app/Events/Expense/ExpenseWasArchived.php index c589690a906e..a74171b3dec6 100644 --- a/app/Events/Expense/ExpenseWasArchived.php +++ b/app/Events/Expense/ExpenseWasArchived.php @@ -35,6 +35,8 @@ class ExpenseWasArchived * Create a new event instance. * * @param Expense $expense + * @param Company $company + * @param array $event_vars */ public function __construct(Expense $expense, Company $company, array $event_vars) { diff --git a/app/Events/Expense/ExpenseWasCreated.php b/app/Events/Expense/ExpenseWasCreated.php index e32269512100..3618551aedd4 100644 --- a/app/Events/Expense/ExpenseWasCreated.php +++ b/app/Events/Expense/ExpenseWasCreated.php @@ -35,6 +35,8 @@ class ExpenseWasCreated * Create a new event instance. * * @param Expense $expense + * @param Company $company + * @param array $event_vars */ public function __construct(Expense $expense, Company $company, array $event_vars) { diff --git a/app/Events/Expense/ExpenseWasDeleted.php b/app/Events/Expense/ExpenseWasDeleted.php index 69ccb51f8116..4484346d5520 100644 --- a/app/Events/Expense/ExpenseWasDeleted.php +++ b/app/Events/Expense/ExpenseWasDeleted.php @@ -35,6 +35,8 @@ class ExpenseWasDeleted * Create a new event instance. * * @param Expense $expense + * @param Company $company + * @param array $event_vars */ public function __construct(Expense $expense, Company $company, array $event_vars) { diff --git a/app/Events/Expense/ExpenseWasRestored.php b/app/Events/Expense/ExpenseWasRestored.php index ef26ec4dcef9..e00342f1a1fe 100644 --- a/app/Events/Expense/ExpenseWasRestored.php +++ b/app/Events/Expense/ExpenseWasRestored.php @@ -35,6 +35,8 @@ class ExpenseWasRestored * Create a new event instance. * * @param Expense $expense + * @param Company $company + * @param array $event_vars */ public function __construct(Expense $expense, Company $company, array $event_vars) { diff --git a/app/Events/Expense/ExpenseWasUpdated.php b/app/Events/Expense/ExpenseWasUpdated.php index 6060e7c86d22..d86c8f546380 100644 --- a/app/Events/Expense/ExpenseWasUpdated.php +++ b/app/Events/Expense/ExpenseWasUpdated.php @@ -35,6 +35,8 @@ class ExpenseWasUpdated * Create a new event instance. * * @param Expense $expense + * @param Company $company + * @param array $event_vars */ public function __construct(Expense $expense, Company $company, array $event_vars) { diff --git a/app/Events/Invoice/InvoiceWasArchived.php b/app/Events/Invoice/InvoiceWasArchived.php index 484f71470795..6ec0b6949848 100644 --- a/app/Events/Invoice/InvoiceWasArchived.php +++ b/app/Events/Invoice/InvoiceWasArchived.php @@ -35,6 +35,8 @@ class InvoiceWasArchived * Create a new event instance. * * @param Invoice $invoice + * @param Company $company + * @param array $event_vars */ public function __construct(Invoice $invoice, Company $company, array $event_vars) { diff --git a/app/Events/Invoice/InvoiceWasCancelled.php b/app/Events/Invoice/InvoiceWasCancelled.php index e15f266bbcc8..670024c375f6 100644 --- a/app/Events/Invoice/InvoiceWasCancelled.php +++ b/app/Events/Invoice/InvoiceWasCancelled.php @@ -35,6 +35,8 @@ class InvoiceWasCancelled * Create a new event instance. * * @param Invoice $invoice + * @param Company $company + * @param array $event_vars */ public function __construct(Invoice $invoice, Company $company, array $event_vars) { diff --git a/app/Events/Invoice/InvoiceWasCreated.php b/app/Events/Invoice/InvoiceWasCreated.php index a0154a973f15..ab5fce2a982c 100644 --- a/app/Events/Invoice/InvoiceWasCreated.php +++ b/app/Events/Invoice/InvoiceWasCreated.php @@ -35,6 +35,8 @@ class InvoiceWasCreated * Create a new event instance. * * @param Invoice $invoice + * @param Company $company + * @param array $event_vars */ public function __construct(Invoice $invoice, Company $company, array $event_vars) { diff --git a/app/Events/Invoice/InvoiceWasDeleted.php b/app/Events/Invoice/InvoiceWasDeleted.php index d1e0b93fc326..a619a4f3be11 100644 --- a/app/Events/Invoice/InvoiceWasDeleted.php +++ b/app/Events/Invoice/InvoiceWasDeleted.php @@ -35,6 +35,8 @@ class InvoiceWasDeleted * Create a new event instance. * * @param Invoice $invoice + * @param Company $company + * @param array $event_vars */ public function __construct(Invoice $invoice, Company $company, array $event_vars) { diff --git a/app/Events/Invoice/InvoiceWasEmailed.php b/app/Events/Invoice/InvoiceWasEmailed.php index e19ae6a70b1a..c2bf2f0c254f 100644 --- a/app/Events/Invoice/InvoiceWasEmailed.php +++ b/app/Events/Invoice/InvoiceWasEmailed.php @@ -34,7 +34,9 @@ class InvoiceWasEmailed /** * Create a new event instance. * - * @param Invoice $invoice + * @param InvoiceInvitation $invitation + * @param Company $company + * @param array $event_vars */ public function __construct(InvoiceInvitation $invitation, Company $company, array $event_vars) { diff --git a/app/Events/Invoice/InvoiceWasEmailedAndFailed.php b/app/Events/Invoice/InvoiceWasEmailedAndFailed.php index 4cb83568f20d..86fd00bf8110 100644 --- a/app/Events/Invoice/InvoiceWasEmailedAndFailed.php +++ b/app/Events/Invoice/InvoiceWasEmailedAndFailed.php @@ -40,6 +40,9 @@ class InvoiceWasEmailedAndFailed * Create a new event instance. * * @param Invoice $invoice + * @param Company $company + * @param string $errors + * @param array $event_vars */ public function __construct(Invoice $invoice, Company $company, string $errors, array $event_vars) { diff --git a/app/Events/Invoice/InvoiceWasMarkedSent.php b/app/Events/Invoice/InvoiceWasMarkedSent.php index 7c4758ca6e50..e618a9df81c8 100644 --- a/app/Events/Invoice/InvoiceWasMarkedSent.php +++ b/app/Events/Invoice/InvoiceWasMarkedSent.php @@ -35,6 +35,8 @@ class InvoiceWasMarkedSent * Create a new event instance. * * @param Invoice $invoice + * @param Company $company + * @param array $event_vars */ public function __construct(Invoice $invoice, Company $company, array $event_vars) { diff --git a/app/Events/Invoice/InvoiceWasPaid.php b/app/Events/Invoice/InvoiceWasPaid.php index 24d302e3d2c6..473fee01f1ce 100644 --- a/app/Events/Invoice/InvoiceWasPaid.php +++ b/app/Events/Invoice/InvoiceWasPaid.php @@ -35,6 +35,8 @@ class InvoiceWasPaid * Create a new event instance. * * @param Invoice $invoice + * @param Company $company + * @param array $event_vars */ public function __construct(Invoice $invoice, Company $company, array $event_vars) { diff --git a/app/Events/Invoice/InvoiceWasRestored.php b/app/Events/Invoice/InvoiceWasRestored.php index 742d283aed82..bd246e298c97 100644 --- a/app/Events/Invoice/InvoiceWasRestored.php +++ b/app/Events/Invoice/InvoiceWasRestored.php @@ -38,6 +38,8 @@ class InvoiceWasRestored * * @param Invoice $invoice * @param $fromDeleted + * @param Company $company + * @param array $event_vars */ public function __construct(Invoice $invoice, $fromDeleted, Company $company, array $event_vars) { diff --git a/app/Events/Invoice/InvoiceWasReversed.php b/app/Events/Invoice/InvoiceWasReversed.php index 12cf0e47c1e7..ce009cef4b17 100644 --- a/app/Events/Invoice/InvoiceWasReversed.php +++ b/app/Events/Invoice/InvoiceWasReversed.php @@ -35,6 +35,8 @@ class InvoiceWasReversed * Create a new event instance. * * @param Invoice $invoice + * @param Company $company + * @param array $event_vars */ public function __construct(Invoice $invoice, Company $company, array $event_vars) { diff --git a/app/Events/Invoice/InvoiceWasUpdated.php b/app/Events/Invoice/InvoiceWasUpdated.php index b19489a73ed7..a3033478d6af 100644 --- a/app/Events/Invoice/InvoiceWasUpdated.php +++ b/app/Events/Invoice/InvoiceWasUpdated.php @@ -37,6 +37,8 @@ class InvoiceWasUpdated * Create a new event instance. * * @param Invoice $invoice + * @param Company $company + * @param array $event_vars */ public function __construct(Invoice $invoice, Company $company, array $event_vars) { diff --git a/app/Events/Invoice/InvoiceWasViewed.php b/app/Events/Invoice/InvoiceWasViewed.php index dc145217ec3c..08428778e3a4 100644 --- a/app/Events/Invoice/InvoiceWasViewed.php +++ b/app/Events/Invoice/InvoiceWasViewed.php @@ -34,7 +34,9 @@ class InvoiceWasViewed /** * Create a new event instance. * - * @param Invoice $invoice + * @param InvoiceInvitation $invitation + * @param Company $company + * @param array $event_vars */ public function __construct(InvoiceInvitation $invitation, Company $company, array $event_vars) { diff --git a/app/Events/Misc/InvitationWasViewed.php b/app/Events/Misc/InvitationWasViewed.php index 34484b0e7904..e26457c33c8f 100644 --- a/app/Events/Misc/InvitationWasViewed.php +++ b/app/Events/Misc/InvitationWasViewed.php @@ -35,7 +35,10 @@ class InvitationWasViewed /** * Create a new event instance. * - * @param Invoice $invoice + * @param $entity + * @param $invitation + * @param $company + * @param $event_vars */ public function __construct($entity, $invitation, $company, $event_vars) { diff --git a/app/Events/Payment/Methods/MethodDeleted.php b/app/Events/Payment/Methods/MethodDeleted.php index eabdbc096122..ac813808ff32 100644 --- a/app/Events/Payment/Methods/MethodDeleted.php +++ b/app/Events/Payment/Methods/MethodDeleted.php @@ -38,6 +38,8 @@ class MethodDeleted * Create a new event instance. * * @param ClientGatewayToken $payment_method + * @param Company $company + * @param array $event_vars */ public function __construct(ClientGatewayToken $payment_method, Company $company, array $event_vars) { @@ -49,7 +51,7 @@ class MethodDeleted /** * Get the channels the event should broadcast on. * - * @return \Illuminate\Broadcasting\Channel|array + * @return Channel|array */ public function broadcastOn() { diff --git a/app/Events/Payment/PaymentCompleted.php b/app/Events/Payment/PaymentCompleted.php index 931cf1aebffb..9218baf503ff 100644 --- a/app/Events/Payment/PaymentCompleted.php +++ b/app/Events/Payment/PaymentCompleted.php @@ -35,6 +35,8 @@ class PaymentCompleted * Create a new event instance. * * @param Payment $payment + * @param Company $company + * @param array $event_vars */ public function __construct(Payment $payment, Company $company, array $event_vars) { diff --git a/app/Events/Payment/PaymentFailed.php b/app/Events/Payment/PaymentFailed.php index 592fa3d2b7e8..f1bf8af1fabf 100644 --- a/app/Events/Payment/PaymentFailed.php +++ b/app/Events/Payment/PaymentFailed.php @@ -35,6 +35,8 @@ class PaymentFailed * Create a new event instance. * * @param Payment $payment + * @param Company $company + * @param array $event_vars */ public function __construct(Payment $payment, Company $company, array $event_vars) { diff --git a/app/Events/Payment/PaymentWasArchived.php b/app/Events/Payment/PaymentWasArchived.php index df257d9f1070..a7208a3925b7 100644 --- a/app/Events/Payment/PaymentWasArchived.php +++ b/app/Events/Payment/PaymentWasArchived.php @@ -35,6 +35,8 @@ class PaymentWasArchived * Create a new event instance. * * @param Payment $payment + * @param Company $company + * @param array $event_vars */ public function __construct(Payment $payment, Company $company, array $event_vars) { diff --git a/app/Events/Payment/PaymentWasCreated.php b/app/Events/Payment/PaymentWasCreated.php index 1dc7446b1aa7..249407de7ec8 100644 --- a/app/Events/Payment/PaymentWasCreated.php +++ b/app/Events/Payment/PaymentWasCreated.php @@ -35,6 +35,8 @@ class PaymentWasCreated * Create a new event instance. * * @param Payment $payment + * @param Company $company + * @param array $event_vars */ public function __construct(Payment $payment, Company $company, array $event_vars) { diff --git a/app/Events/Payment/PaymentWasDeleted.php b/app/Events/Payment/PaymentWasDeleted.php index 5661eb9e351b..8ba544055b1e 100644 --- a/app/Events/Payment/PaymentWasDeleted.php +++ b/app/Events/Payment/PaymentWasDeleted.php @@ -35,6 +35,8 @@ class PaymentWasDeleted * Create a new event instance. * * @param Payment $payment + * @param Company $company + * @param array $event_vars */ public function __construct(Payment $payment, Company $company, array $event_vars) { diff --git a/app/Events/Payment/PaymentWasEmailed.php b/app/Events/Payment/PaymentWasEmailed.php index fe3223bc6974..6dec1e9a4c83 100644 --- a/app/Events/Payment/PaymentWasEmailed.php +++ b/app/Events/Payment/PaymentWasEmailed.php @@ -35,6 +35,8 @@ class PaymentWasEmailed * Create a new event instance. * * @param Payment $payment + * @param Company $company + * @param array $event_vars */ public function __construct(Payment $payment, Company $company, array $event_vars) { diff --git a/app/Events/Payment/PaymentWasEmailedAndFailed.php b/app/Events/Payment/PaymentWasEmailedAndFailed.php index 6e1a97295f3c..4c0149519f53 100644 --- a/app/Events/Payment/PaymentWasEmailedAndFailed.php +++ b/app/Events/Payment/PaymentWasEmailedAndFailed.php @@ -35,7 +35,9 @@ class PaymentWasEmailedAndFailed /** * PaymentWasEmailedAndFailed constructor. * @param Payment $payment + * @param $company * @param array $errors + * @param array $event_vars */ public function __construct(Payment $payment, $company, array $errors, array $event_vars) { diff --git a/app/Events/Payment/PaymentWasRefunded.php b/app/Events/Payment/PaymentWasRefunded.php index 2050df907c38..f97bdc69faf4 100644 --- a/app/Events/Payment/PaymentWasRefunded.php +++ b/app/Events/Payment/PaymentWasRefunded.php @@ -37,7 +37,9 @@ class PaymentWasRefunded * Create a new event instance. * * @param Payment $payment - * @param $refund_amount + * @param float $refund_amount + * @param Company $company + * @param array $event_vars */ public function __construct(Payment $payment, float $refund_amount, Company $company, array $event_vars) { diff --git a/app/Events/Payment/PaymentWasRestored.php b/app/Events/Payment/PaymentWasRestored.php index 766b69f11900..82a4f2e8f414 100644 --- a/app/Events/Payment/PaymentWasRestored.php +++ b/app/Events/Payment/PaymentWasRestored.php @@ -35,6 +35,8 @@ class PaymentWasRestored * * @param Payment $payment * @param $fromDeleted + * @param Company $company + * @param array $event_vars */ public function __construct(Payment $payment, $fromDeleted, Company $company, array $event_vars) { diff --git a/app/Events/Payment/PaymentWasUpdated.php b/app/Events/Payment/PaymentWasUpdated.php index b470d09a9bcd..f32846911639 100644 --- a/app/Events/Payment/PaymentWasUpdated.php +++ b/app/Events/Payment/PaymentWasUpdated.php @@ -35,6 +35,8 @@ class PaymentWasUpdated * Create a new event instance. * * @param Payment $payment + * @param Company $company + * @param array $event_vars */ public function __construct(Payment $payment, Company $company, array $event_vars) { diff --git a/app/Events/Payment/PaymentWasVoided.php b/app/Events/Payment/PaymentWasVoided.php index 3ef3ee96b572..44e2ca7e18df 100644 --- a/app/Events/Payment/PaymentWasVoided.php +++ b/app/Events/Payment/PaymentWasVoided.php @@ -35,6 +35,8 @@ class PaymentWasVoided * Create a new event instance. * * @param Payment $payment + * @param Company $company + * @param array $event_vars */ public function __construct(Payment $payment, Company $company, array $event_vars) { diff --git a/app/Events/Product/ProductWasArchived.php b/app/Events/Product/ProductWasArchived.php index ef5f608281fb..14a54db71aaa 100644 --- a/app/Events/Product/ProductWasArchived.php +++ b/app/Events/Product/ProductWasArchived.php @@ -30,7 +30,9 @@ class ProductWasArchived /** * Create a new event instance. * - * @return void + * @param Product $product + * @param Company $company + * @param array $event_vars */ public function __construct(Product $product, Company $company, array $event_vars) { diff --git a/app/Events/Product/ProductWasCreated.php b/app/Events/Product/ProductWasCreated.php index 58c56a7dd557..8c0eddc007c2 100644 --- a/app/Events/Product/ProductWasCreated.php +++ b/app/Events/Product/ProductWasCreated.php @@ -33,7 +33,10 @@ class ProductWasCreated /** * Create a new event instance. * - * @return void + * @param Product $product + * @param $input + * @param Company $company + * @param array $event_vars */ public function __construct(Product $product, $input, Company $company, array $event_vars) { diff --git a/app/Events/Product/ProductWasDeleted.php b/app/Events/Product/ProductWasDeleted.php index a87422feadd4..4c5cf42b9126 100644 --- a/app/Events/Product/ProductWasDeleted.php +++ b/app/Events/Product/ProductWasDeleted.php @@ -31,7 +31,9 @@ class ProductWasDeleted /** * Create a new event instance. * - * @return void + * @param Product $product + * @param Company $company + * @param array $event_vars */ public function __construct(Product $product, Company $company, array $event_vars) { diff --git a/app/Events/Product/ProductWasUpdated.php b/app/Events/Product/ProductWasUpdated.php index 40fb6ddcea31..3a51668a27fa 100644 --- a/app/Events/Product/ProductWasUpdated.php +++ b/app/Events/Product/ProductWasUpdated.php @@ -30,7 +30,9 @@ class ProductWasUpdated /** * Create a new event instance. * - * @return void + * @param Product $product + * @param Company $company + * @param array $event_vars */ public function __construct(Product $product, Company $company, array $event_vars) { diff --git a/app/Events/Quote/QuoteWasApproved.php b/app/Events/Quote/QuoteWasApproved.php index c013b4faa092..e9f120e8b062 100644 --- a/app/Events/Quote/QuoteWasApproved.php +++ b/app/Events/Quote/QuoteWasApproved.php @@ -37,7 +37,10 @@ class QuoteWasApproved /** * Create a new event instance. * - * @return void + * @param ClientContact $contact + * @param Quote $quote + * @param Company $company + * @param array $event_vars */ public function __construct(ClientContact $contact, Quote $quote, Company $company, array $event_vars) { diff --git a/app/Events/Quote/QuoteWasArchived.php b/app/Events/Quote/QuoteWasArchived.php index 54d17197a9cc..03fd3a82d985 100644 --- a/app/Events/Quote/QuoteWasArchived.php +++ b/app/Events/Quote/QuoteWasArchived.php @@ -27,7 +27,9 @@ class QuoteWasArchived /** * Create a new event instance. * - * @return void + * @param Quote $quote + * @param Company $company + * @param array $event_vars */ public function __construct(Quote $quote, Company $company, array $event_vars) { diff --git a/app/Events/Quote/QuoteWasCreated.php b/app/Events/Quote/QuoteWasCreated.php index 5c46fcce537d..49420e087749 100644 --- a/app/Events/Quote/QuoteWasCreated.php +++ b/app/Events/Quote/QuoteWasCreated.php @@ -30,7 +30,9 @@ class QuoteWasCreated /** * Create a new event instance. * - * @return void + * @param Quote $quote + * @param Company $company + * @param array $event_vars */ public function __construct(Quote $quote, Company $company, array $event_vars) { diff --git a/app/Events/Quote/QuoteWasDeleted.php b/app/Events/Quote/QuoteWasDeleted.php index ce7d16a177e3..fdf3273b2bd7 100644 --- a/app/Events/Quote/QuoteWasDeleted.php +++ b/app/Events/Quote/QuoteWasDeleted.php @@ -30,7 +30,9 @@ class QuoteWasDeleted /** * Create a new event instance. * - * @return void + * @param Quote $quote + * @param Company $company + * @param array $event_vars */ public function __construct(Quote $quote, Company $company, array $event_vars) { diff --git a/app/Events/Quote/QuoteWasEmailed.php b/app/Events/Quote/QuoteWasEmailed.php index a998669d529f..259a1a53ed97 100644 --- a/app/Events/Quote/QuoteWasEmailed.php +++ b/app/Events/Quote/QuoteWasEmailed.php @@ -33,7 +33,10 @@ class QuoteWasEmailed /** * Create a new event instance. * - * @param $quote + * @param Quote $quote + * @param string $notes + * @param Company $company + * @param array $event_vars */ public function __construct(Quote $quote, string $notes, Company $company, array $event_vars) { diff --git a/app/Events/Quote/QuoteWasEmailedAndFailed.php b/app/Events/Quote/QuoteWasEmailedAndFailed.php index 1c6ba385d321..f52644a84729 100644 --- a/app/Events/Quote/QuoteWasEmailedAndFailed.php +++ b/app/Events/Quote/QuoteWasEmailedAndFailed.php @@ -37,6 +37,8 @@ class QuoteWasEmailedAndFailed * QuoteWasEmailedAndFailed constructor. * @param Quote $quote * @param array $errors + * @param Company $company + * @param array $event_vars */ public function __construct(Quote $quote, array $errors, Company $company, array $event_vars) { diff --git a/app/Events/Quote/QuoteWasMarkedApproved.php b/app/Events/Quote/QuoteWasMarkedApproved.php index a60019ad61a4..793e019e1199 100644 --- a/app/Events/Quote/QuoteWasMarkedApproved.php +++ b/app/Events/Quote/QuoteWasMarkedApproved.php @@ -31,7 +31,9 @@ class QuoteWasMarkedApproved /** * Create a new event instance. * - * @return void + * @param Quote $quote + * @param Company $company + * @param array $event_vars */ public function __construct(Quote $quote, Company $company, array $event_vars) { diff --git a/app/Events/Quote/QuoteWasMarkedSent.php b/app/Events/Quote/QuoteWasMarkedSent.php index ac85c031a0bf..ab07c9190219 100644 --- a/app/Events/Quote/QuoteWasMarkedSent.php +++ b/app/Events/Quote/QuoteWasMarkedSent.php @@ -31,7 +31,9 @@ class QuoteWasMarkedSent /** * Create a new event instance. * - * @return void + * @param Quote $quote + * @param Company $company + * @param array $event_vars */ public function __construct(Quote $quote, Company $company, array $event_vars) { diff --git a/app/Events/Quote/QuoteWasRestored.php b/app/Events/Quote/QuoteWasRestored.php index 05e061119b8b..48bed8389f9e 100644 --- a/app/Events/Quote/QuoteWasRestored.php +++ b/app/Events/Quote/QuoteWasRestored.php @@ -30,7 +30,9 @@ class QuoteWasRestored /** * Create a new event instance. * - * @return void + * @param Quote $quote + * @param Company $company + * @param array $event_vars */ public function __construct(Quote $quote, Company $company, array $event_vars) { diff --git a/app/Events/Quote/QuoteWasUpdated.php b/app/Events/Quote/QuoteWasUpdated.php index 5a51be83d4b1..dbbd2ffab682 100644 --- a/app/Events/Quote/QuoteWasUpdated.php +++ b/app/Events/Quote/QuoteWasUpdated.php @@ -31,7 +31,9 @@ class QuoteWasUpdated /** * Create a new event instance. * - * @return void + * @param Quote $quote + * @param Company $company + * @param array $event_vars */ public function __construct(Quote $quote, Company $company, array $event_vars) { diff --git a/app/Events/Quote/QuoteWasViewed.php b/app/Events/Quote/QuoteWasViewed.php index 80452990837c..5a4adff1b3f8 100644 --- a/app/Events/Quote/QuoteWasViewed.php +++ b/app/Events/Quote/QuoteWasViewed.php @@ -12,6 +12,7 @@ namespace App\Events\Quote; use App\Models\Company; +use App\Models\QuoteInvitation; use Illuminate\Queue\SerializesModels; /** diff --git a/app/Events/Task/TaskWasArchived.php b/app/Events/Task/TaskWasArchived.php index 549332425a22..113f0b7a50b3 100644 --- a/app/Events/Task/TaskWasArchived.php +++ b/app/Events/Task/TaskWasArchived.php @@ -35,6 +35,8 @@ class TaskWasArchived * Create a new event instance. * * @param Task $task + * @param Company $company + * @param array $event_vars */ public function __construct(Task $task, Company $company, array $event_vars) { diff --git a/app/Events/Task/TaskWasCreated.php b/app/Events/Task/TaskWasCreated.php index ece6f939e96b..043ead854fa5 100644 --- a/app/Events/Task/TaskWasCreated.php +++ b/app/Events/Task/TaskWasCreated.php @@ -35,6 +35,8 @@ class TaskWasCreated * Create a new event instance. * * @param Task $task + * @param Company $company + * @param array $event_vars */ public function __construct(Task $task, Company $company, array $event_vars) { diff --git a/app/Events/Task/TaskWasDeleted.php b/app/Events/Task/TaskWasDeleted.php index a097bd9a0276..e999f84b2072 100644 --- a/app/Events/Task/TaskWasDeleted.php +++ b/app/Events/Task/TaskWasDeleted.php @@ -35,6 +35,8 @@ class TaskWasDeleted * Create a new event instance. * * @param Task $task + * @param Company $company + * @param array $event_vars */ public function __construct(Task $task, Company $company, array $event_vars) { diff --git a/app/Events/Task/TaskWasRestored.php b/app/Events/Task/TaskWasRestored.php index 7fad13563e7a..a5fd02eae200 100644 --- a/app/Events/Task/TaskWasRestored.php +++ b/app/Events/Task/TaskWasRestored.php @@ -35,6 +35,8 @@ class TaskWasRestored * Create a new event instance. * * @param Task $task + * @param Company $company + * @param array $event_vars */ public function __construct(Task $task, Company $company, array $event_vars) { diff --git a/app/Events/Task/TaskWasUpdated.php b/app/Events/Task/TaskWasUpdated.php index df3dca410e90..e0f3be235940 100644 --- a/app/Events/Task/TaskWasUpdated.php +++ b/app/Events/Task/TaskWasUpdated.php @@ -35,6 +35,8 @@ class TaskWasUpdated * Create a new event instance. * * @param Task $task + * @param Company $company + * @param array $event_vars */ public function __construct(Task $task, Company $company, array $event_vars) { diff --git a/app/Events/User/UserLoggedIn.php b/app/Events/User/UserLoggedIn.php index 806a2b890b99..87b56e8041cb 100644 --- a/app/Events/User/UserLoggedIn.php +++ b/app/Events/User/UserLoggedIn.php @@ -40,7 +40,9 @@ class UserLoggedIn /** * Create a new event instance. * - * @return void + * @param User $user + * @param Company $company + * @param array $event_vars */ public function __construct(User $user, Company $company, array $event_vars) { @@ -52,7 +54,7 @@ class UserLoggedIn /** * Get the channels the event should broadcast on. * - * @return \Illuminate\Broadcasting\Channel|array + * @return Channel|array */ public function broadcastOn() { diff --git a/app/Events/User/UserWasArchived.php b/app/Events/User/UserWasArchived.php index cdaeb9809bb5..dabb82dced02 100644 --- a/app/Events/User/UserWasArchived.php +++ b/app/Events/User/UserWasArchived.php @@ -40,7 +40,9 @@ class UserWasArchived /** * Create a new event instance. * - * @return void + * @param User $user + * @param Company $company + * @param array $event_vars */ public function __construct(User $user, Company $company, array $event_vars) { @@ -52,7 +54,7 @@ class UserWasArchived /** * Get the channels the event should broadcast on. * - * @return \Illuminate\Broadcasting\Channel|array + * @return Channel|array */ public function broadcastOn() { diff --git a/app/Events/User/UserWasCreated.php b/app/Events/User/UserWasCreated.php index ab8beb7809d3..8e254cefdd40 100644 --- a/app/Events/User/UserWasCreated.php +++ b/app/Events/User/UserWasCreated.php @@ -40,7 +40,9 @@ class UserWasCreated /** * Create a new event instance. * - * @return void + * @param User $user + * @param Company $company + * @param array $event_vars */ public function __construct(User $user, Company $company, array $event_vars) { @@ -52,7 +54,7 @@ class UserWasCreated /** * Get the channels the event should broadcast on. * - * @return \Illuminate\Broadcasting\Channel|array + * @return Channel|array */ public function broadcastOn() { diff --git a/app/Events/User/UserWasDeleted.php b/app/Events/User/UserWasDeleted.php index cd1a27d5054b..7b499b0612e5 100644 --- a/app/Events/User/UserWasDeleted.php +++ b/app/Events/User/UserWasDeleted.php @@ -40,7 +40,9 @@ class UserWasDeleted /** * Create a new event instance. * - * @return void + * @param User $user + * @param Company $company + * @param array $event_vars */ public function __construct(User $user, Company $company, array $event_vars) { @@ -52,7 +54,7 @@ class UserWasDeleted /** * Get the channels the event should broadcast on. * - * @return \Illuminate\Broadcasting\Channel|array + * @return Channel|array */ public function broadcastOn() { diff --git a/app/Events/User/UserWasRestored.php b/app/Events/User/UserWasRestored.php index 0e15c7119e9f..367c2eed9041 100644 --- a/app/Events/User/UserWasRestored.php +++ b/app/Events/User/UserWasRestored.php @@ -40,7 +40,9 @@ class UserWasRestored /** * Create a new event instance. * - * @return void + * @param User $user + * @param Company $company + * @param array $event_vars */ public function __construct(User $user, Company $company, array $event_vars) { @@ -52,7 +54,7 @@ class UserWasRestored /** * Get the channels the event should broadcast on. * - * @return \Illuminate\Broadcasting\Channel|array + * @return Channel|array */ public function broadcastOn() { diff --git a/app/Events/User/UserWasUpdated.php b/app/Events/User/UserWasUpdated.php index 6b8183c1e801..616bae5f960f 100644 --- a/app/Events/User/UserWasUpdated.php +++ b/app/Events/User/UserWasUpdated.php @@ -40,7 +40,9 @@ class UserWasUpdated /** * Create a new event instance. * - * @return void + * @param User $user + * @param Company $company + * @param array $event_vars */ public function __construct(User $user, Company $company, array $event_vars) { @@ -52,7 +54,7 @@ class UserWasUpdated /** * Get the channels the event should broadcast on. * - * @return \Illuminate\Broadcasting\Channel|array + * @return Channel|array */ public function broadcastOn() { diff --git a/app/Events/Vendor/VendorWasArchived.php b/app/Events/Vendor/VendorWasArchived.php index 3d9518dc35eb..d3de2322864f 100644 --- a/app/Events/Vendor/VendorWasArchived.php +++ b/app/Events/Vendor/VendorWasArchived.php @@ -36,6 +36,8 @@ class VendorWasArchived * Create a new event instance. * * @param Vendor $vendor + * @param Company $company + * @param array $event_vars */ public function __construct(Vendor $vendor, Company $company, array $event_vars) { diff --git a/app/Events/Vendor/VendorWasCreated.php b/app/Events/Vendor/VendorWasCreated.php index 12331a75bbc4..439a0f0b1fa7 100644 --- a/app/Events/Vendor/VendorWasCreated.php +++ b/app/Events/Vendor/VendorWasCreated.php @@ -35,6 +35,8 @@ class VendorWasCreated * Create a new event instance. * * @param Vendor $vendor + * @param Company $company + * @param array $event_vars */ public function __construct(Vendor $vendor, Company $company, array $event_vars) { diff --git a/app/Events/Vendor/VendorWasDeleted.php b/app/Events/Vendor/VendorWasDeleted.php index 0b12fd9da0b2..6e0339f5b44e 100644 --- a/app/Events/Vendor/VendorWasDeleted.php +++ b/app/Events/Vendor/VendorWasDeleted.php @@ -35,6 +35,8 @@ class VendorWasDeleted * Create a new event instance. * * @param Vendor $vendor + * @param Company $company + * @param array $event_vars */ public function __construct(Vendor $vendor, Company $company, array $event_vars) { diff --git a/app/Events/Vendor/VendorWasRestored.php b/app/Events/Vendor/VendorWasRestored.php index 61f03e787091..de64cee44bd7 100644 --- a/app/Events/Vendor/VendorWasRestored.php +++ b/app/Events/Vendor/VendorWasRestored.php @@ -35,6 +35,8 @@ class VendorWasRestored * Create a new event instance. * * @param Vendor $vendor + * @param Company $company + * @param array $event_vars */ public function __construct(Vendor $vendor, Company $company, array $event_vars) { diff --git a/app/Events/Vendor/VendorWasUpdated.php b/app/Events/Vendor/VendorWasUpdated.php index 894c5ae29663..dec8566494b4 100644 --- a/app/Events/Vendor/VendorWasUpdated.php +++ b/app/Events/Vendor/VendorWasUpdated.php @@ -35,6 +35,8 @@ class VendorWasUpdated * Create a new event instance. * * @param Vendor $vendor + * @param Company $company + * @param array $event_vars */ public function __construct(Vendor $vendor, Company $company, array $event_vars) { diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php index ae53764f0029..782677e0e020 100644 --- a/app/Exceptions/Handler.php +++ b/app/Exceptions/Handler.php @@ -12,6 +12,7 @@ namespace App\Exceptions; use App\Exceptions\GenericPaymentDriverFailure; +use App\Models\Account; use Exception; use Illuminate\Auth\Access\AuthorizationException; use Illuminate\Auth\AuthenticationException; @@ -19,15 +20,22 @@ use Illuminate\Database\Eloquent\ModelNotFoundException as ModelNotFoundExceptio use Illuminate\Database\Eloquent\RelationNotFoundException; use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler; use Illuminate\Http\Exceptions\ThrottleRequestsException; +use Illuminate\Http\Request; +use Illuminate\Http\Response; +use Illuminate\Queue\MaxAttemptsExceededException; +use Illuminate\Session\TokenMismatchException; use Illuminate\Support\Arr; use Illuminate\Support\Facades\Schema; use Illuminate\Validation\ValidationException; -use function Sentry\configureScope; +use PDOException; use Sentry\State\Scope; +use Swift_TransportException; +use Symfony\Component\Console\Exception\CommandNotFoundException; use Symfony\Component\Debug\Exception\FatalThrowableError; use Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Throwable; +use function Sentry\configureScope; class Handler extends ExceptionHandler { @@ -37,10 +45,10 @@ class Handler extends ExceptionHandler * @var array */ protected $dontReport = [ - \PDOException::class, - \Swift_TransportException::class, - \Illuminate\Queue\MaxAttemptsExceededException::class, - \Symfony\Component\Console\Exception\CommandNotFoundException::class, + PDOException::class, + Swift_TransportException::class, + MaxAttemptsExceededException::class, + CommandNotFoundException::class, ]; /** @@ -56,16 +64,20 @@ class Handler extends ExceptionHandler /** * Report or log an exception. * - * @param \Throwable $exception + * @param Throwable $exception * @return void + * @throws Throwable */ public function report(Throwable $exception) { if (! Schema::hasTable('accounts')) { info('account table not found'); - return; } + // if(Account::count() == 0){ + // info("handler - account table not found"); + // return; + // } if (app()->bound('sentry') && $this->shouldReport($exception)) { app('sentry')->configureScope(function (Scope $scope): void { @@ -94,9 +106,10 @@ class Handler extends ExceptionHandler /** * Render an exception into an HTTP response. * - * @param \Illuminate\Http\Request $request - * @param \Throwable $exception - * @return \Illuminate\Http\Response + * @param Request $request + * @param Throwable $exception + * @return Response + * @throws Throwable */ public function render($request, Throwable $exception) { @@ -108,7 +121,7 @@ class Handler extends ExceptionHandler return response()->json(['message'=>'Fatal error'], 500); } elseif ($exception instanceof AuthorizationException) { return response()->json(['message'=>'You are not authorized to view or perform this action'], 401); - } elseif ($exception instanceof \Illuminate\Session\TokenMismatchException) { + } elseif ($exception instanceof TokenMismatchException) { return redirect() ->back() ->withInput($request->except('password', 'password_confirmation', '_token')) diff --git a/app/Exceptions/PaymentRefundFailed.php b/app/Exceptions/PaymentRefundFailed.php index ee57df35463a..a5dee9cfdd8a 100644 --- a/app/Exceptions/PaymentRefundFailed.php +++ b/app/Exceptions/PaymentRefundFailed.php @@ -3,6 +3,8 @@ namespace App\Exceptions; use Exception; +use Illuminate\Http\Request; +use Illuminate\Http\Response; class PaymentRefundFailed extends Exception { @@ -19,8 +21,8 @@ class PaymentRefundFailed extends Exception /** * Render the exception into an HTTP response. * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response + * @param Request $request + * @return Response */ public function render($request) { diff --git a/app/Factory/ClientContactFactory.php b/app/Factory/ClientContactFactory.php index a70f0856d6f4..a9ad7ba2c87e 100644 --- a/app/Factory/ClientContactFactory.php +++ b/app/Factory/ClientContactFactory.php @@ -12,6 +12,7 @@ namespace App\Factory; use App\Models\ClientContact; +use Illuminate\Support\Str; class ClientContactFactory { @@ -21,7 +22,7 @@ class ClientContactFactory $client_contact->first_name = ''; $client_contact->user_id = $user_id; $client_contact->company_id = $company_id; - $client_contact->contact_key = \Illuminate\Support\Str::random(40); + $client_contact->contact_key = Str::random(40); $client_contact->id = 0; return $client_contact; diff --git a/app/Factory/ExpenseCategoryFactory.php b/app/Factory/ExpenseCategoryFactory.php index 08bbb8e4e81d..ce27392b0893 100644 --- a/app/Factory/ExpenseCategoryFactory.php +++ b/app/Factory/ExpenseCategoryFactory.php @@ -24,7 +24,7 @@ class ExpenseCategoryFactory $expense->user_id = $user_id; $expense->company_id = $company_id; $expense->name = ''; - $expense->is_deleted = false;; + $expense->is_deleted = false; return $expense; } diff --git a/app/Factory/InvoiceItemFactory.php b/app/Factory/InvoiceItemFactory.php index 63d9f3188b81..8788b86bf166 100644 --- a/app/Factory/InvoiceItemFactory.php +++ b/app/Factory/InvoiceItemFactory.php @@ -11,15 +11,17 @@ namespace App\Factory; +use Faker\Factory; use Illuminate\Support\Carbon; +use stdClass; //use Faker\Generator as Faker; class InvoiceItemFactory { - public static function create() :\stdClass + public static function create() : stdClass { - $item = new \stdClass; + $item = new stdClass; $item->quantity = 0; $item->cost = 0; $item->product_key = ''; @@ -50,7 +52,7 @@ class InvoiceItemFactory */ public static function generate(int $items = 1) :array { - $faker = \Faker\Factory::create(); + $faker = Factory::create(); $data = []; @@ -70,7 +72,7 @@ class InvoiceItemFactory $item->tax_name1 = 'GST'; $item->tax_rate1 = 10.00; $item->type_id = "1"; - + $data[] = $item; } @@ -84,7 +86,7 @@ class InvoiceItemFactory */ public static function generateCredit(int $items = 1) :array { - $faker = \Faker\Factory::create(); + $faker = Factory::create(); $data = []; diff --git a/app/Filters/ClientFilters.php b/app/Filters/ClientFilters.php index 7eda713650fb..9221b5da4fdf 100644 --- a/app/Filters/ClientFilters.php +++ b/app/Filters/ClientFilters.php @@ -25,8 +25,8 @@ class ClientFilters extends QueryFilters /** * Filter by balance. * - * @param string $balance - * @return Illuminate\Database\Query\Builder + * @param string $balance + * @return Builder */ public function balance(string $balance): Builder { @@ -38,8 +38,8 @@ class ClientFilters extends QueryFilters /** * Filter between balances. * - * @param string balance - * @return Illuminate\Database\Query\Builder + * @param string balance + * @return Builder */ public function between_balance(string $balance): Builder { @@ -67,8 +67,8 @@ class ClientFilters extends QueryFilters /** * Filter based on search text. * - * @param string query filter - * @return Illuminate\Database\Query\Builder + * @param string query filter + * @return Builder * @deprecated */ public function filter(string $filter = '') : Builder @@ -94,8 +94,8 @@ class ClientFilters extends QueryFilters * Filters the list based on the status * archived, active, deleted. * - * @param string filter - * @return Illuminate\Database\Query\Builder + * @param string filter + * @return Builder */ public function status(string $filter = '') : Builder { @@ -132,8 +132,8 @@ class ClientFilters extends QueryFilters /** * Sorts the list based on $sort. * - * @param string sort formatted as column|asc - * @return Illuminate\Database\Query\Builder + * @param string sort formatted as column|asc + * @return Builder */ public function sort(string $sort) : Builder { @@ -145,8 +145,9 @@ class ClientFilters extends QueryFilters /** * Returns the base query. * - * @param int company_id - * @return Illuminate\Database\Query\Builder + * @param int company_id + * @param User $user + * @return Builder * @deprecated */ public function baseQuery(int $company_id, User $user) : Builder @@ -199,7 +200,6 @@ class ClientFilters extends QueryFilters /** * Filters the query by the users company ID. * - * @param $company_id The company Id * @return Illuminate\Database\Query\Builder */ public function entityFilter() diff --git a/app/Filters/CreditFilters.php b/app/Filters/CreditFilters.php index dc0549e03ea9..b390da78a53d 100644 --- a/app/Filters/CreditFilters.php +++ b/app/Filters/CreditFilters.php @@ -32,8 +32,8 @@ class CreditFilters extends QueryFilters * - overdue * - reversed * - * @param string credit_status The credit status as seen by the client - * @return Illuminate\Database\Query\Builder + * @param string credit_status The credit status as seen by the client + * @return Builder */ public function credit_status(string $value = '') :Builder { @@ -68,8 +68,8 @@ class CreditFilters extends QueryFilters /** * Filter based on search text. * - * @param string query filter - * @return Illuminate\Database\Query\Builder + * @param string query filter + * @return Builder * @deprecated */ public function filter(string $filter = '') : Builder @@ -95,8 +95,8 @@ class CreditFilters extends QueryFilters * Filters the list based on the status * archived, active, deleted - legacy from V1. * - * @param string filter - * @return Illuminate\Database\Query\Builder + * @param string filter + * @return Builder */ public function status(string $filter = '') : Builder { @@ -133,8 +133,8 @@ class CreditFilters extends QueryFilters /** * Sorts the list based on $sort. * - * @param string sort formatted as column|asc - * @return Illuminate\Database\Query\Builder + * @param string sort formatted as column|asc + * @return Builder */ public function sort(string $sort) : Builder { @@ -146,8 +146,9 @@ class CreditFilters extends QueryFilters /** * Returns the base query. * - * @param int company_id - * @return Illuminate\Database\Query\Builder + * @param int company_id + * @param User $user + * @return Builder * @deprecated */ public function baseQuery(int $company_id, User $user) : Builder @@ -161,7 +162,6 @@ class CreditFilters extends QueryFilters * We need to ensure we are using the correct company ID * as we could be hitting this from either the client or company auth guard * - * @param $company_id The company Id * @return Illuminate\Database\Query\Builder */ public function entityFilter() @@ -179,7 +179,7 @@ class CreditFilters extends QueryFilters * We need additional filters when showing credits for the * client portal. Need to automatically exclude drafts and cancelled credits. * - * @return Illuminate\Database\Query\Builder + * @return Builder */ private function contactViewFilter() : Builder { diff --git a/app/Filters/DesignFilters.php b/app/Filters/DesignFilters.php index e898006d35aa..b0e51f2936ef 100644 --- a/app/Filters/DesignFilters.php +++ b/app/Filters/DesignFilters.php @@ -25,8 +25,8 @@ class DesignFilters extends QueryFilters /** * Filter based on search text. * - * @param string query filter - * @return Illuminate\Database\Query\Builder + * @param string query filter + * @return Builder * @deprecated */ public function filter(string $filter = '') : Builder @@ -44,8 +44,8 @@ class DesignFilters extends QueryFilters * Filters the list based on the status * archived, active, deleted. * - * @param string filter - * @return Illuminate\Database\Query\Builder + * @param string filter + * @return Builder */ public function status(string $filter = '') : Builder { @@ -82,8 +82,8 @@ class DesignFilters extends QueryFilters /** * Sorts the list based on $sort. * - * @param string sort formatted as column|asc - * @return Illuminate\Database\Query\Builder + * @param string sort formatted as column|asc + * @return Builder */ public function sort(string $sort) : Builder { @@ -95,8 +95,9 @@ class DesignFilters extends QueryFilters /** * Returns the base query. * - * @param int company_id - * @return Illuminate\Database\Query\Builder + * @param int company_id + * @param User $user + * @return Builder * @deprecated */ public function baseQuery(int $company_id, User $user) : Builder @@ -130,7 +131,6 @@ class DesignFilters extends QueryFilters /** * Filters the query by the users company ID. * - * @param $company_id The company Id * @return Illuminate\Database\Query\Builder */ public function entityFilter() diff --git a/app/Filters/ExpenseFilters.php b/app/Filters/ExpenseFilters.php index be9d74a81327..4fd71357aa2c 100644 --- a/app/Filters/ExpenseFilters.php +++ b/app/Filters/ExpenseFilters.php @@ -25,8 +25,8 @@ class ExpenseFilters extends QueryFilters /** * Filter based on search text. * - * @param string query filter - * @return Illuminate\Database\Query\Builder + * @param string query filter + * @return Builder * @deprecated */ public function filter(string $filter = '') : Builder @@ -52,8 +52,8 @@ class ExpenseFilters extends QueryFilters * Filters the list based on the status * archived, active, deleted. * - * @param string filter - * @return Illuminate\Database\Query\Builder + * @param string filter + * @return Builder */ public function status(string $filter = '') : Builder { @@ -90,8 +90,8 @@ class ExpenseFilters extends QueryFilters /** * Sorts the list based on $sort. * - * @param string sort formatted as column|asc - * @return Illuminate\Database\Query\Builder + * @param string sort formatted as column|asc + * @return Builder */ public function sort(string $sort) : Builder { @@ -103,8 +103,9 @@ class ExpenseFilters extends QueryFilters /** * Returns the base query. * - * @param int company_id - * @return Illuminate\Database\Query\Builder + * @param int company_id + * @param User $user + * @return Builder * @deprecated */ public function baseQuery(int $company_id, User $user) : Builder @@ -144,7 +145,6 @@ class ExpenseFilters extends QueryFilters /** * Filters the query by the users company ID. * - * @param $company_id The company Id * @return Illuminate\Database\Query\Builder */ public function entityFilter() diff --git a/app/Filters/InvoiceFilters.php b/app/Filters/InvoiceFilters.php index 3d9572018955..320e889079ed 100644 --- a/app/Filters/InvoiceFilters.php +++ b/app/Filters/InvoiceFilters.php @@ -33,8 +33,8 @@ class InvoiceFilters extends QueryFilters * - overdue * - reversed * - * @param string client_status The invoice status as seen by the client - * @return Illuminate\Database\Query\Builder + * @param string client_status The invoice status as seen by the client + * @return Builder */ public function client_status(string $value = '') :Builder { @@ -75,8 +75,8 @@ class InvoiceFilters extends QueryFilters /** * Filter based on search text. * - * @param string query filter - * @return Illuminate\Database\Query\Builder + * @param string query filter + * @return Builder * @deprecated */ public function filter(string $filter = '') : Builder @@ -102,8 +102,8 @@ class InvoiceFilters extends QueryFilters * Filters the list based on the status * archived, active, deleted - legacy from V1. * - * @param string filter - * @return Illuminate\Database\Query\Builder + * @param string filter + * @return Builder */ public function status(string $filter = '') : Builder { @@ -140,8 +140,8 @@ class InvoiceFilters extends QueryFilters /** * Sorts the list based on $sort. * - * @param string sort formatted as column|asc - * @return Illuminate\Database\Query\Builder + * @param string sort formatted as column|asc + * @return Builder */ public function sort(string $sort) : Builder { @@ -153,8 +153,9 @@ class InvoiceFilters extends QueryFilters /** * Returns the base query. * - * @param int company_id - * @return Illuminate\Database\Query\Builder + * @param int company_id + * @param User $user + * @return Builder * @deprecated */ public function baseQuery(int $company_id, User $user) : Builder @@ -167,7 +168,6 @@ class InvoiceFilters extends QueryFilters * We need to ensure we are using the correct company ID * as we could be hitting this from either the client or company auth guard * - * @param $company_id The company Id * @return Illuminate\Database\Query\Builder */ public function entityFilter() @@ -185,7 +185,7 @@ class InvoiceFilters extends QueryFilters * We need additional filters when showing invoices for the * client portal. Need to automatically exclude drafts and cancelled invoices. * - * @return Illuminate\Database\Query\Builder + * @return Builder */ private function contactViewFilter() : Builder { diff --git a/app/Filters/PaymentFilters.php b/app/Filters/PaymentFilters.php index 902454075873..43e058cf019f 100644 --- a/app/Filters/PaymentFilters.php +++ b/app/Filters/PaymentFilters.php @@ -23,8 +23,8 @@ class PaymentFilters extends QueryFilters /** * Filter based on search text. * - * @param string query filter - * @return Illuminate\Database\Query\Builder + * @param string query filter + * @return Builder * @deprecated */ public function filter(string $filter = '') : Builder @@ -47,8 +47,8 @@ class PaymentFilters extends QueryFilters * Filters the list based on the status * archived, active, deleted. * - * @param string filter - * @return Illuminate\Database\Query\Builder + * @param string filter + * @return Builder */ public function status(string $filter = '') : Builder { @@ -85,8 +85,8 @@ class PaymentFilters extends QueryFilters /** * Sorts the list based on $sort. * - * @param string sort formatted as column|asc - * @return Illuminate\Database\Query\Builder + * @param string sort formatted as column|asc + * @return Builder */ public function sort(string $sort) : Builder { @@ -98,8 +98,9 @@ class PaymentFilters extends QueryFilters /** * Returns the base query. * - * @param int company_id - * @return Illuminate\Database\Query\Builder + * @param int company_id + * @param User $user + * @return Builder * @deprecated */ public function baseQuery(int $company_id, User $user) : Builder @@ -109,7 +110,6 @@ class PaymentFilters extends QueryFilters /** * Filters the query by the users company ID. * - * @param $company_id The company Id * @return Illuminate\Database\Query\Builder */ public function entityFilter() @@ -125,7 +125,7 @@ class PaymentFilters extends QueryFilters * We need additional filters when showing invoices for the * client portal. Need to automatically exclude drafts and cancelled invoices. * - * @return Illuminate\Database\Query\Builder + * @return Builder */ private function contactViewFilter() : Builder { diff --git a/app/Filters/ProductFilters.php b/app/Filters/ProductFilters.php index f783146798dc..6ac24e1f2f54 100644 --- a/app/Filters/ProductFilters.php +++ b/app/Filters/ProductFilters.php @@ -22,8 +22,8 @@ class ProductFilters extends QueryFilters /** * Filter based on search text. * - * @param string query filter - * @return Illuminate\Database\Query\Builder + * @param string query filter + * @return Builder * @deprecated */ public function filter(string $filter = '') : Builder @@ -46,8 +46,8 @@ class ProductFilters extends QueryFilters * Filters the list based on the status * archived, active, deleted. * - * @param string filter - * @return Illuminate\Database\Query\Builder + * @param string filter + * @return Builder */ public function status(string $filter = '') : Builder { @@ -84,8 +84,8 @@ class ProductFilters extends QueryFilters /** * Sorts the list based on $sort. * - * @param string sort formatted as column|asc - * @return Illuminate\Database\Query\Builder + * @param string sort formatted as column|asc + * @return Builder */ public function sort(string $sort) : Builder { @@ -97,8 +97,9 @@ class ProductFilters extends QueryFilters /** * Returns the base query. * - * @param int company_id - * @return Illuminate\Database\Query\Builder + * @param int company_id + * @param User $user + * @return Builder * @deprecated */ public function baseQuery(int $company_id, User $user) : Builder @@ -108,7 +109,6 @@ class ProductFilters extends QueryFilters /** * Filters the query by the users company ID. * - * @param $company_id The company Id * @return Illuminate\Database\Query\Builder */ public function entityFilter() diff --git a/app/Filters/ProjectFilters.php b/app/Filters/ProjectFilters.php index a552904037c4..31b055bdcb1f 100644 --- a/app/Filters/ProjectFilters.php +++ b/app/Filters/ProjectFilters.php @@ -25,8 +25,8 @@ class ProjectFilters extends QueryFilters /** * Filter based on search text. * - * @param string query filter - * @return Illuminate\Database\Query\Builder + * @param string query filter + * @return Builder * @deprecated */ public function filter(string $filter = '') : Builder @@ -46,8 +46,8 @@ class ProjectFilters extends QueryFilters * Filters the list based on the status * archived, active, deleted. * - * @param string filter - * @return Illuminate\Database\Query\Builder + * @param string filter + * @return Builder */ public function status(string $filter = '') : Builder { @@ -84,8 +84,8 @@ class ProjectFilters extends QueryFilters /** * Sorts the list based on $sort. * - * @param string sort formatted as column|asc - * @return Illuminate\Database\Query\Builder + * @param string sort formatted as column|asc + * @return Builder */ public function sort(string $sort) : Builder { @@ -97,8 +97,9 @@ class ProjectFilters extends QueryFilters /** * Returns the base query. * - * @param int company_id - * @return Illuminate\Database\Query\Builder + * @param int company_id + * @param User $user + * @return Builder * @deprecated */ public function baseQuery(int $company_id, User $user) : Builder @@ -134,7 +135,6 @@ class ProjectFilters extends QueryFilters /** * Filters the query by the users company ID. * - * @param $company_id The company Id * @return Illuminate\Database\Query\Builder */ public function entityFilter() diff --git a/app/Filters/QueryFilters.php b/app/Filters/QueryFilters.php index bf3a36d0a5c9..a6fc951903d9 100644 --- a/app/Filters/QueryFilters.php +++ b/app/Filters/QueryFilters.php @@ -120,7 +120,7 @@ abstract class QueryFilters /** * String to operator convertor. * - * @param string $value + * @param string $operator * @return string */ private function operatorConvertor(string $operator) : string @@ -153,8 +153,7 @@ abstract class QueryFilters * * -Can only be used on contact routes * - * @param $client_id The client Id - * @param Illuminate\Database\Query\Builder + * @return */ public function clientFilter() { diff --git a/app/Filters/QuoteFilters.php b/app/Filters/QuoteFilters.php index 0eb098f936bf..1d360d1fd258 100644 --- a/app/Filters/QuoteFilters.php +++ b/app/Filters/QuoteFilters.php @@ -22,8 +22,8 @@ class QuoteFilters extends QueryFilters /** * Filter based on search text. * - * @param string query filter - * @return Illuminate\Database\Query\Builder + * @param string query filter + * @return Builder * @deprecated */ public function filter(string $filter = '') : Builder @@ -44,8 +44,8 @@ class QuoteFilters extends QueryFilters * Filters the list based on the status * archived, active, deleted. * - * @param string filter - * @return Illuminate\Database\Query\Builder + * @param string filter + * @return Builder */ public function status(string $filter = '') : Builder { @@ -87,8 +87,8 @@ class QuoteFilters extends QueryFilters /** * Sorts the list based on $sort. * - * @param string sort formatted as column|asc - * @return Illuminate\Database\Query\Builder + * @param string sort formatted as column|asc + * @return Builder */ public function sort(string $sort) : Builder { @@ -100,8 +100,9 @@ class QuoteFilters extends QueryFilters /** * Returns the base query. * - * @param int company_id - * @return Illuminate\Database\Query\Builder + * @param int company_id + * @param User $user + * @return Builder * @deprecated */ public function baseQuery(int $company_id, User $user) : Builder @@ -111,7 +112,6 @@ class QuoteFilters extends QueryFilters /** * Filters the query by the users company ID. * - * @param $company_id The company Id * @return Illuminate\Database\Query\Builder */ public function entityFilter() diff --git a/app/Filters/RecurringInvoiceFilters.php b/app/Filters/RecurringInvoiceFilters.php index 204eb3a7ab30..64f9a39973d7 100644 --- a/app/Filters/RecurringInvoiceFilters.php +++ b/app/Filters/RecurringInvoiceFilters.php @@ -22,8 +22,8 @@ class RecurringInvoiceFilters extends QueryFilters /** * Filter based on search text. * - * @param string query filter - * @return Illuminate\Database\Query\Builder + * @param string query filter + * @return Builder * @deprecated */ public function filter(string $filter = '') : Builder @@ -44,8 +44,8 @@ class RecurringInvoiceFilters extends QueryFilters * Filters the list based on the status * archived, active, deleted. * - * @param string filter - * @return Illuminate\Database\Query\Builder + * @param string filter + * @return Builder */ public function status(string $filter = '') : Builder { @@ -82,8 +82,8 @@ class RecurringInvoiceFilters extends QueryFilters /** * Sorts the list based on $sort. * - * @param string sort formatted as column|asc - * @return Illuminate\Database\Query\Builder + * @param string sort formatted as column|asc + * @return Builder */ public function sort(string $sort) : Builder { @@ -95,8 +95,9 @@ class RecurringInvoiceFilters extends QueryFilters /** * Returns the base query. * - * @param int company_id - * @return Illuminate\Database\Query\Builder + * @param int company_id + * @param User $user + * @return Builder * @deprecated */ public function baseQuery(int $company_id, User $user) : Builder @@ -106,7 +107,6 @@ class RecurringInvoiceFilters extends QueryFilters /** * Filters the query by the users company ID. * - * @param $company_id The company Id * @return Illuminate\Database\Query\Builder */ public function entityFilter() diff --git a/app/Filters/RecurringQuoteFilters.php b/app/Filters/RecurringQuoteFilters.php index f9798480195c..3e4968e174a9 100644 --- a/app/Filters/RecurringQuoteFilters.php +++ b/app/Filters/RecurringQuoteFilters.php @@ -22,8 +22,8 @@ class RecurringQuoteFilters extends QueryFilters /** * Filter based on search text. * - * @param string query filter - * @return Illuminate\Database\Query\Builder + * @param string query filter + * @return Builder * @deprecated */ public function filter(string $filter = '') : Builder @@ -44,8 +44,8 @@ class RecurringQuoteFilters extends QueryFilters * Filters the list based on the status * archived, active, deleted. * - * @param string filter - * @return Illuminate\Database\Query\Builder + * @param string filter + * @return Builder */ public function status(string $filter = '') : Builder { @@ -82,8 +82,8 @@ class RecurringQuoteFilters extends QueryFilters /** * Sorts the list based on $sort. * - * @param string sort formatted as column|asc - * @return Illuminate\Database\Query\Builder + * @param string sort formatted as column|asc + * @return Builder */ public function sort(string $sort) : Builder { @@ -95,8 +95,9 @@ class RecurringQuoteFilters extends QueryFilters /** * Returns the base query. * - * @param int company_id - * @return Illuminate\Database\Query\Builder + * @param int company_id + * @param User $user + * @return Builder * @deprecated */ public function baseQuery(int $company_id, User $user) : Builder @@ -106,7 +107,6 @@ class RecurringQuoteFilters extends QueryFilters /** * Filters the query by the users company ID. * - * @param $company_id The company Id * @return Illuminate\Database\Query\Builder */ public function entityFilter() diff --git a/app/Filters/SystemLogFilters.php b/app/Filters/SystemLogFilters.php index cb659724f0b4..388d941e8446 100644 --- a/app/Filters/SystemLogFilters.php +++ b/app/Filters/SystemLogFilters.php @@ -45,13 +45,13 @@ class SystemLogFilters extends QueryFilters /** * Filter based on search text. * - * @param string query filter - * @return Illuminate\Database\Query\Builder + * @param string query filter + * @return Builder * @deprecated */ public function filter(string $filter = '') : Builder { - + if (strlen($filter) == 0) { return $this->builder; } @@ -63,8 +63,8 @@ class SystemLogFilters extends QueryFilters /** * Sorts the list based on $sort. * - * @param string sort formatted as column|asc - * @return Illuminate\Database\Query\Builder + * @param string sort formatted as column|asc + * @return Builder */ public function sort(string $sort) : Builder { @@ -76,8 +76,9 @@ class SystemLogFilters extends QueryFilters /** * Returns the base query. * - * @param int company_id - * @return Illuminate\Database\Query\Builder + * @param int company_id + * @param User $user + * @return Builder * @deprecated */ public function baseQuery(int $company_id, User $user) : Builder @@ -87,7 +88,6 @@ class SystemLogFilters extends QueryFilters /** * Filters the query by the users company ID. * - * @param $company_id The company Id * @return Illuminate\Database\Query\Builder */ public function entityFilter() diff --git a/app/Filters/TaskFilters.php b/app/Filters/TaskFilters.php index 227d5b73231e..ee9324c92e4d 100644 --- a/app/Filters/TaskFilters.php +++ b/app/Filters/TaskFilters.php @@ -22,8 +22,8 @@ class TaskFilters extends QueryFilters /** * Filter based on search text. * - * @param string query filter - * @return Illuminate\Database\Query\Builder + * @param string query filter + * @return Builder * @deprecated */ public function filter(string $filter = '') : Builder @@ -45,8 +45,8 @@ class TaskFilters extends QueryFilters * Filters the list based on the status * archived, active, deleted. * - * @param string filter - * @return Illuminate\Database\Query\Builder + * @param string filter + * @return Builder */ public function status(string $filter = '') : Builder { @@ -83,8 +83,8 @@ class TaskFilters extends QueryFilters /** * Sorts the list based on $sort. * - * @param string sort formatted as column|asc - * @return Illuminate\Database\Query\Builder + * @param string sort formatted as column|asc + * @return Builder */ public function sort(string $sort) : Builder { @@ -96,8 +96,9 @@ class TaskFilters extends QueryFilters /** * Returns the base query. * - * @param int company_id - * @return Illuminate\Database\Query\Builder + * @param int company_id + * @param User $user + * @return Builder * @deprecated */ public function baseQuery(int $company_id, User $user) : Builder @@ -107,7 +108,6 @@ class TaskFilters extends QueryFilters /** * Filters the query by the users company ID. * - * @param $company_id The company Id * @return Illuminate\Database\Query\Builder */ public function entityFilter() diff --git a/app/Filters/TokenFilters.php b/app/Filters/TokenFilters.php index 77cbdddf6236..333d436d3173 100644 --- a/app/Filters/TokenFilters.php +++ b/app/Filters/TokenFilters.php @@ -25,8 +25,8 @@ class TokenFilters extends QueryFilters /** * Filter based on search text. * - * @param string query filter - * @return Illuminate\Database\Query\Builder + * @param string query filter + * @return Builder * @deprecated */ public function filter(string $filter = '') : Builder @@ -44,8 +44,8 @@ class TokenFilters extends QueryFilters * Filters the list based on the status * archived, active, deleted. * - * @param string filter - * @return Illuminate\Database\Query\Builder + * @param string filter + * @return Builder */ public function status(string $filter = '') : Builder { @@ -82,8 +82,8 @@ class TokenFilters extends QueryFilters /** * Sorts the list based on $sort. * - * @param string sort formatted as column|asc - * @return Illuminate\Database\Query\Builder + * @param string sort formatted as column|asc + * @return Builder */ public function sort(string $sort) : Builder { @@ -95,8 +95,9 @@ class TokenFilters extends QueryFilters /** * Returns the base query. * - * @param int company_id - * @return Illuminate\Database\Query\Builder + * @param int company_id + * @param User $user + * @return Builder * @deprecated */ public function baseQuery(int $company_id, User $user) : Builder @@ -130,7 +131,6 @@ class TokenFilters extends QueryFilters /** * Filters the query by the users company ID. * - * @param $company_id The company Id * @return Illuminate\Database\Query\Builder */ public function entityFilter() diff --git a/app/Filters/UserFilters.php b/app/Filters/UserFilters.php index 4619ad72d78e..5f0eaa1c0540 100644 --- a/app/Filters/UserFilters.php +++ b/app/Filters/UserFilters.php @@ -22,8 +22,8 @@ class UserFilters extends QueryFilters /** * Filter based on search text. * - * @param string query filter - * @return Illuminate\Database\Query\Builder + * @param string query filter + * @return Builder * @deprecated */ public function filter(string $filter = '') : Builder @@ -44,8 +44,8 @@ class UserFilters extends QueryFilters * Filters the list based on the status * archived, active, deleted. * - * @param string filter - * @return Illuminate\Database\Query\Builder + * @param string filter + * @return Builder */ public function status(string $filter = '') : Builder { @@ -82,8 +82,8 @@ class UserFilters extends QueryFilters /** * Sorts the list based on $sort. * - * @param string sort formatted as column|asc - * @return Illuminate\Database\Query\Builder + * @param string sort formatted as column|asc + * @return Builder */ public function sort(string $sort) : Builder { @@ -95,8 +95,9 @@ class UserFilters extends QueryFilters /** * Returns the base query. * - * @param int company_id - * @return Illuminate\Database\Query\Builder + * @param int company_id + * @param User $user + * @return Builder * @deprecated */ public function baseQuery(int $company_id, User $user) : Builder @@ -106,8 +107,7 @@ class UserFilters extends QueryFilters /** * Filters the query by the users company ID. * - * @param $company_id The company Id - * @return Illuminate\Database\Query\Builder + * @return Builder */ public function entityFilter() { diff --git a/app/Filters/VendorFilters.php b/app/Filters/VendorFilters.php index e0a483b96525..cc3dc3c2ec98 100644 --- a/app/Filters/VendorFilters.php +++ b/app/Filters/VendorFilters.php @@ -25,8 +25,8 @@ class VendorFilters extends QueryFilters /** * Filter based on search text. * - * @param string query filter - * @return Illuminate\Database\Query\Builder + * @param string query filter + * @return Builder * @deprecated */ public function filter(string $filter = '') : Builder @@ -52,8 +52,8 @@ class VendorFilters extends QueryFilters * Filters the list based on the status * archived, active, deleted. * - * @param string filter - * @return Illuminate\Database\Query\Builder + * @param string filter + * @return Builder */ public function status(string $filter = '') : Builder { @@ -90,8 +90,8 @@ class VendorFilters extends QueryFilters /** * Sorts the list based on $sort. * - * @param string sort formatted as column|asc - * @return Illuminate\Database\Query\Builder + * @param string sort formatted as column|asc + * @return Builder */ public function sort(string $sort) : Builder { @@ -103,8 +103,9 @@ class VendorFilters extends QueryFilters /** * Returns the base query. * - * @param int company_id - * @return Illuminate\Database\Query\Builder + * @param int company_id + * @param User $user + * @return Builder * @deprecated */ public function baseQuery(int $company_id, User $user) : Builder @@ -156,7 +157,6 @@ class VendorFilters extends QueryFilters /** * Filters the query by the users company ID. * - * @param $company_id The company Id * @return Illuminate\Database\Query\Builder */ public function entityFilter() diff --git a/app/Filters/WebhookFilters.php b/app/Filters/WebhookFilters.php index 157753bb6d2c..15fa79f96904 100644 --- a/app/Filters/WebhookFilters.php +++ b/app/Filters/WebhookFilters.php @@ -25,8 +25,8 @@ class WebhookFilters extends QueryFilters /** * Filter based on search text. * - * @param string query filter - * @return Illuminate\Database\Query\Builder + * @param string query filter + * @return Builder * @deprecated */ public function filter(string $filter = '') : Builder @@ -44,8 +44,8 @@ class WebhookFilters extends QueryFilters * Filters the list based on the status * archived, active, deleted. * - * @param string filter - * @return Illuminate\Database\Query\Builder + * @param string filter + * @return Builder */ public function status(string $filter = '') : Builder { @@ -82,8 +82,8 @@ class WebhookFilters extends QueryFilters /** * Sorts the list based on $sort. * - * @param string sort formatted as column|asc - * @return Illuminate\Database\Query\Builder + * @param string sort formatted as column|asc + * @return Builder */ public function sort(string $sort) : Builder { @@ -95,8 +95,9 @@ class WebhookFilters extends QueryFilters /** * Returns the base query. * - * @param int company_id - * @return Illuminate\Database\Query\Builder + * @param int company_id + * @param User $user + * @return Builder * @deprecated */ public function baseQuery(int $company_id, User $user) : Builder @@ -130,7 +131,6 @@ class WebhookFilters extends QueryFilters /** * Filters the query by the users company ID. * - * @param $company_id The company Id * @return Illuminate\Database\Query\Builder */ public function entityFilter() diff --git a/app/Helpers/ClientPortal.php b/app/Helpers/ClientPortal.php index cde9b196a602..382350ad4af7 100644 --- a/app/Helpers/ClientPortal.php +++ b/app/Helpers/ClientPortal.php @@ -10,7 +10,9 @@ * @license https://opensource.org/licenses/AAL */ +use Illuminate\Contracts\View\Factory; use Illuminate\Support\Facades\Route; +use Illuminate\View\View; /** * Check if passed page is currently active. @@ -39,7 +41,7 @@ function isActive($page, bool $boolean = false) * * @param string $path * @param array $options - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + * @return Factory|View */ function render(string $path, array $options = []) { diff --git a/app/Helpers/Invoice/InvoiceSum.php b/app/Helpers/Invoice/InvoiceSum.php index 3ee3c8d9f39c..69819c4a9bb8 100644 --- a/app/Helpers/Invoice/InvoiceSum.php +++ b/app/Helpers/Invoice/InvoiceSum.php @@ -16,6 +16,7 @@ use App\Helpers\Invoice\CustomValuer; use App\Helpers\Invoice\Discounter; use App\Helpers\Invoice\InvoiceItemSum; use App\Helpers\Invoice\Taxer; +use App\Models\Invoice; use App\Utils\Traits\NumberFormatter; use Illuminate\Support\Collection; @@ -48,7 +49,7 @@ class InvoiceSum /** * Constructs the object with Invoice and Settings object. * - * @param \App\Models\Invoice $invoice The invoice + * @param Invoice $invoice The invoice */ public function __construct($invoice) { @@ -189,7 +190,7 @@ class InvoiceSum public function getRecurringInvoice() { - + $this->invoice->amount = $this->formatValue($this->getTotal(), $this->invoice->client->currency()->precision); $this->invoice->total_taxes = $this->getTotalTaxes(); $this->invoice->balance = $this->formatValue($this->getTotal(), $this->invoice->client->currency()->precision); diff --git a/app/Helpers/Invoice/InvoiceSumInclusive.php b/app/Helpers/Invoice/InvoiceSumInclusive.php index 307ad07040f8..e4671896141f 100644 --- a/app/Helpers/Invoice/InvoiceSumInclusive.php +++ b/app/Helpers/Invoice/InvoiceSumInclusive.php @@ -17,6 +17,7 @@ use App\Helpers\Invoice\Discounter; use App\Helpers\Invoice\InvoiceItemSum; use App\Helpers\Invoice\InvoiceItemSumInclusive; use App\Helpers\Invoice\Taxer; +use App\Models\Invoice; use App\Utils\Traits\NumberFormatter; use Illuminate\Support\Collection; @@ -49,7 +50,7 @@ class InvoiceSumInclusive /** * Constructs the object with Invoice and Settings object. * - * @param \App\Models\Invoice $invoice The invoice + * @param Invoice $invoice The invoice */ public function __construct($invoice) { @@ -176,7 +177,7 @@ class InvoiceSumInclusive public function getRecurringInvoice() { - + $this->invoice->amount = $this->formatValue($this->getTotal(), $this->invoice->client->currency()->precision); $this->invoice->total_taxes = $this->getTotalTaxes(); $this->invoice->balance = $this->formatValue($this->getTotal(), $this->invoice->client->currency()->precision); diff --git a/app/Helpers/Language/NinjaTranslator.php b/app/Helpers/Language/NinjaTranslator.php index 992156e2551b..1891628a79ef 100644 --- a/app/Helpers/Language/NinjaTranslator.php +++ b/app/Helpers/Language/NinjaTranslator.php @@ -10,9 +10,9 @@ class NinjaTranslator extends Translator /** * Set translation. * - * @param string $key - * @param mixed $value - * @param string $locale + * @param string $key + * @param mixed $value + * @param null $locale * @return void */ public function set($key, $value, $locale = null) diff --git a/app/Helpers/Mail/GmailTransport.php b/app/Helpers/Mail/GmailTransport.php index cd0347c56514..b183cbaf2820 100644 --- a/app/Helpers/Mail/GmailTransport.php +++ b/app/Helpers/Mail/GmailTransport.php @@ -15,6 +15,7 @@ use App\Libraries\MultiDB; use App\Models\User; use Dacastro4\LaravelGmail\Services\Message\Mail; use Illuminate\Mail\Transport\Transport; +use Log; use Swift_Mime_SimpleMessage; /** @@ -25,7 +26,7 @@ class GmailTransport extends Transport /** * The Gmail instance. * - * @var \Dacastro4\LaravelGmail\Services\Message\Mail + * @var Mail */ protected $gmail; @@ -38,8 +39,8 @@ class GmailTransport extends Transport /** * Create a new Gmail transport instance. * - - * @return void + * @param Mail $gmail + * @param string $token */ public function __construct(Mail $gmail, string $token) { @@ -62,7 +63,7 @@ class GmailTransport extends Transport $this->gmail->cc($message->getCc()); $this->gmail->bcc($message->getBcc()); - \Log::error(print_r($message->getChildren(), 1)); + Log::error(print_r($message->getChildren(), 1)); foreach ($message->getChildren() as $child) { $this->gmail->attach($child); diff --git a/app/Helpers/TranslationHelper.php b/app/Helpers/TranslationHelper.php index 8b8691a3dda9..76a582645894 100644 --- a/app/Helpers/TranslationHelper.php +++ b/app/Helpers/TranslationHelper.php @@ -15,7 +15,9 @@ * * //Cache::forever($custom_company_translated_string, 'mogly'); * - * @param string translation string key + * @param string translation string key + * @param array $replace + * @param null $locale * @return string */ function ctrans(string $string, $replace = [], $locale = null) : string diff --git a/app/Http/Controllers/AccountController.php b/app/Http/Controllers/AccountController.php index 2defed7f5f1e..6389c6223c77 100644 --- a/app/Http/Controllers/AccountController.php +++ b/app/Http/Controllers/AccountController.php @@ -12,6 +12,7 @@ namespace App\Http\Controllers; use App\Http\Requests\Account\CreateAccountRequest; +use App\Http\Requests\SignupRequest; use App\Jobs\Account\CreateAccount; use App\Models\Account; use App\Models\CompanyUser; @@ -19,6 +20,7 @@ use App\Transformers\AccountTransformer; use App\Transformers\CompanyUserTransformer; use Illuminate\Foundation\Bus\DispatchesJobs; use Illuminate\Http\Request; +use Illuminate\Http\Response; use Illuminate\Support\Facades\Log; class AccountController extends BaseController @@ -39,7 +41,7 @@ class AccountController extends BaseController /** * Display a listing of the resource. * - * @return \Illuminate\Http\Response + * @return void */ public function index() { @@ -49,7 +51,7 @@ class AccountController extends BaseController /** * Show the form for creating a new resource. * - * @return \Illuminate\Http\Response + * @return void */ public function create() { @@ -59,8 +61,8 @@ class AccountController extends BaseController /** * Store a newly created resource in storage. * - * @param \App\Http\Requests\SignupRequest $request - * @return \Illuminate\Http\Response + * @param CreateAccountRequest $request + * @return Response * * @OA\Post( * path="/api/v1/signup", @@ -134,7 +136,6 @@ class AccountController extends BaseController * response=422, * description="Validation error", * @OA\JsonContent(ref="#/components/schemas/ValidationError"), - * ), * @OA\Response( * response="default", diff --git a/app/Http/Controllers/ActivityController.php b/app/Http/Controllers/ActivityController.php index 369076ef0bbd..b6e14eb24f75 100644 --- a/app/Http/Controllers/ActivityController.php +++ b/app/Http/Controllers/ActivityController.php @@ -15,7 +15,11 @@ use App\Http\Requests\Activity\DownloadHistoricalEntityRequest; use App\Models\Activity; use App\Transformers\ActivityTransformer; use App\Utils\Traits\Pdf\PdfMaker; +use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; +use Illuminate\Http\Response; +use stdClass; +use Symfony\Component\HttpFoundation\StreamedResponse; class ActivityController extends BaseController { @@ -31,7 +35,7 @@ class ActivityController extends BaseController } /** - * @OA\Get( + * @OA\Get( * path="/api/v1/actvities", * operationId="getActivities", * tags={"actvities"}, @@ -65,7 +69,6 @@ class ActivityController extends BaseController * response=422, * description="Validation error", * @OA\JsonContent(ref="#/components/schemas/ValidationError"), - * ), * @OA\Response( * response="default", @@ -73,6 +76,8 @@ class ActivityController extends BaseController * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) + * @param Request $request + * @return Response|mixed */ public function index(Request $request) { @@ -85,7 +90,7 @@ class ActivityController extends BaseController } /** - * @OA\Get( + * @OA\Get( * path="/api/v1/actvities/download_entity/{activity_id}", * operationId="getActivityHistoricalEntityPdf", * tags={"actvities"}, @@ -122,13 +127,16 @@ class ActivityController extends BaseController * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) + * @param DownloadHistoricalEntityRequest $request + * @param Activity $activity + * @return JsonResponse|StreamedResponse */ public function downloadHistoricalEntity(DownloadHistoricalEntityRequest $request, Activity $activity) { $backup = $activity->backup; if (! $backup || ! $backup->html_backup) { - return response()->json(['message'=> 'No backup exists for this activity', 'errors' => new \stdClass], 404); + return response()->json(['message'=> 'No backup exists for this activity', 'errors' => new stdClass], 404); } $pdf = $this->makePdf(null, null, $backup->html_backup); diff --git a/app/Http/Controllers/Auth/ContactForgotPasswordController.php b/app/Http/Controllers/Auth/ContactForgotPasswordController.php index c2ced92394cd..3f1c9b07ac09 100644 --- a/app/Http/Controllers/Auth/ContactForgotPasswordController.php +++ b/app/Http/Controllers/Auth/ContactForgotPasswordController.php @@ -12,9 +12,11 @@ namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; +use Illuminate\Contracts\View\Factory; use Illuminate\Foundation\Auth\SendsPasswordResetEmails; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Password; +use Illuminate\View\View; class ContactForgotPasswordController extends Controller { @@ -44,7 +46,7 @@ class ContactForgotPasswordController extends Controller /** * Show the reset email form. * - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + * @return Factory|View */ public function showLinkRequestForm() { diff --git a/app/Http/Controllers/Auth/ContactResetPasswordController.php b/app/Http/Controllers/Auth/ContactResetPasswordController.php index d16c1123ab40..424f229e4e26 100644 --- a/app/Http/Controllers/Auth/ContactResetPasswordController.php +++ b/app/Http/Controllers/Auth/ContactResetPasswordController.php @@ -12,10 +12,12 @@ namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; +use Illuminate\Contracts\View\Factory; use Illuminate\Foundation\Auth\ResetsPasswords; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Password; +use Illuminate\View\View; class ContactResetPasswordController extends Controller { @@ -54,9 +56,9 @@ class ContactResetPasswordController extends Controller * * If no token is present, display the link request form. * - * @param \Illuminate\Http\Request $request + * @param Request $request * @param string|null $token - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + * @return Factory|View */ public function showResetForm(Request $request, $token = null) { diff --git a/app/Http/Controllers/Auth/ForgotPasswordController.php b/app/Http/Controllers/Auth/ForgotPasswordController.php index f9438e7abf81..13ebdf09c1de 100644 --- a/app/Http/Controllers/Auth/ForgotPasswordController.php +++ b/app/Http/Controllers/Auth/ForgotPasswordController.php @@ -97,6 +97,9 @@ class ForgotPasswordController extends Controller * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) + * @param Request $request + * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\RedirectResponse + * @throws \Illuminate\Validation\ValidationException */ public function sendResetLinkEmail(Request $request) { diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index 82ff104c4e03..d9232339c646 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -25,6 +25,7 @@ use App\Models\User; use App\Transformers\CompanyUserTransformer; use App\Transformers\UserTransformer; use App\Utils\Traits\UserSessionAttributes; +use Google_Client; use Illuminate\Foundation\Auth\AuthenticatesUsers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; @@ -73,6 +74,8 @@ class LoginController extends BaseController * Once the user is authenticated, we need to set * the default company into a session variable. * + * @param Request $request + * @param User $user * @return void * deprecated .1 API ONLY we don't need to set any session variables */ @@ -84,11 +87,12 @@ class LoginController extends BaseController /** * Login via API. * - * @param \Illuminate\Http\Request $request The request + * @param Request $request The request * * @return Response|User Process user login. * * + * @throws \Illuminate\Validation\ValidationException * @OA\Post( * path="/api/v1/login", * operationId="postLogin", @@ -134,7 +138,6 @@ class LoginController extends BaseController * response=422, * description="Validation error", * @OA\JsonContent(ref="#/components/schemas/ValidationError"), - * ), * @OA\Response( * response="default", @@ -187,6 +190,7 @@ class LoginController extends BaseController /** * Refreshes the data feed with the current Company User. * + * @param Request $request * @return CompanyUser Refresh Feed. * * @@ -214,7 +218,6 @@ class LoginController extends BaseController * response=422, * description="Validation error", * @OA\JsonContent(ref="#/components/schemas/ValidationError"), - * ), * @OA\Response( * response="default", @@ -284,7 +287,7 @@ class LoginController extends BaseController } if ($user) { - $client = new \Google_Client(); + $client = new Google_Client(); $client->setClientId(config('ninja.auth.google.client_id')); $client->setClientSecret(config('ninja.auth.google.client_secret')); diff --git a/app/Http/Controllers/Auth/ResetPasswordController.php b/app/Http/Controllers/Auth/ResetPasswordController.php index 87f5db47944a..b941bfe28e7a 100644 --- a/app/Http/Controllers/Auth/ResetPasswordController.php +++ b/app/Http/Controllers/Auth/ResetPasswordController.php @@ -13,6 +13,8 @@ namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; use Illuminate\Foundation\Auth\ResetsPasswords; +use Illuminate\Http\JsonResponse; +use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Illuminate\Support\Facades\Password; @@ -56,8 +58,9 @@ class ResetPasswordController extends Controller /** * Reset the given user's password. * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\RedirectResponse|\Illuminate\Http\JsonResponse + * @param Request $request + * @return RedirectResponse|JsonResponse + * @throws \Illuminate\Validation\ValidationException */ public function reset(Request $request) { diff --git a/app/Http/Controllers/BaseController.php b/app/Http/Controllers/BaseController.php index 2df8db9190b7..90a66259d689 100644 --- a/app/Http/Controllers/BaseController.php +++ b/app/Http/Controllers/BaseController.php @@ -20,6 +20,7 @@ use App\Transformers\EntityTransformer; use App\Utils\Ninja; use App\Utils\Statics; use App\Utils\Traits\AppSetup; +use Illuminate\Contracts\Container\BindingResolutionException; use Illuminate\Http\Request; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Request as Input; @@ -168,9 +169,10 @@ class BaseController extends Controller /** * API Error response. - * @param string $message The return error message - * @param int $httpErrorCode 404/401/403 etc + * @param string $message The return error message + * @param int $httpErrorCode 404/401/403 etc * @return Response The JSON response + * @throws BindingResolutionException */ protected function errorResponse($message, $httpErrorCode = 400) { @@ -265,7 +267,7 @@ class BaseController extends Controller }, 'company.task_statuses'=> function ($query) use ($updated_at) { $query->where('updated_at', '>=', $updated_at); - }, + }, ] ); diff --git a/app/Http/Controllers/ClientController.php b/app/Http/Controllers/ClientController.php index f98bd6240955..1145b4421b59 100644 --- a/app/Http/Controllers/ClientController.php +++ b/app/Http/Controllers/ClientController.php @@ -40,6 +40,7 @@ use App\Utils\Traits\BulkOptions; use App\Utils\Traits\MakesHash; use App\Utils\Traits\Uploadable; use Illuminate\Http\Request; +use Illuminate\Http\Response; use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Log; @@ -64,7 +65,7 @@ class ClientController extends BaseController /** * ClientController constructor. - * @param ClientRepository $clientRepo + * @param ClientRepository $client_repo */ public function __construct(ClientRepository $client_repo) { @@ -74,14 +75,14 @@ class ClientController extends BaseController } /** - * @OA\Get( + * @OA\Get( * path="/api/v1/clients", * operationId="getClients", * tags={"clients"}, * summary="Gets a list of clients", * description="Lists clients, search and filters allow fine grained lists to be generated. - Query parameters can be added to performed more fine grained filtering of the clients, these are handled by the ClientFilters class which defines the methods available", + Query parameters can be added to performed more fine grained filtering of the clients, these are handled by the ClientFilters class which defines the methods available", * @OA\Parameter(ref="#/components/parameters/X-Api-Secret"), * @OA\Parameter(ref="#/components/parameters/X-Api-Token"), * @OA\Parameter(ref="#/components/parameters/X-Requested-With"), @@ -99,7 +100,6 @@ class ClientController extends BaseController * response=422, * description="Validation error", * @OA\JsonContent(ref="#/components/schemas/ValidationError"), - * ), * @OA\Response( * response="default", @@ -107,6 +107,8 @@ class ClientController extends BaseController * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) + * @param ClientFilters $filters + * @return Response|mixed */ public function index(ClientFilters $filters) { @@ -118,8 +120,9 @@ class ClientController extends BaseController /** * Display the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param ShowClientRequest $request + * @param Client $client + * @return Response * * * @OA\Get( @@ -172,8 +175,9 @@ class ClientController extends BaseController /** * Show the form for editing the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param EditClientRequest $request + * @param Client $client + * @return Response * * * @OA\Get( @@ -226,9 +230,9 @@ class ClientController extends BaseController /** * Update the specified resource in storage. * - * @param \Illuminate\Http\Request $request - * @param App\Models\Client $client - * @return \Illuminate\Http\Response + * @param UpdateClientRequest $request + * @param Client $client + * @return Response * * * @@ -290,7 +294,8 @@ class ClientController extends BaseController /** * Show the form for creating a new resource. * - * @return \Illuminate\Http\Response + * @param CreateClientRequest $request + * @return Response * * * @@ -335,8 +340,8 @@ class ClientController extends BaseController /** * Store a newly created resource in storage. * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response + * @param StoreClientRequest $request + * @return Response * * * @@ -387,10 +392,12 @@ class ClientController extends BaseController /** * Remove the specified resource from storage. * - * @param int $id - * @return \Illuminate\Http\Response + * @param DestroyClientRequest $request + * @param Client $client + * @return Response * * + * @throws \Exception * @OA\Delete( * path="/api/v1/clients/{id}", * operationId="deleteClient", @@ -443,8 +450,7 @@ class ClientController extends BaseController /** * Perform bulk actions on the list view. * - * @param BulkClientRequest $request - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Post( @@ -511,7 +517,7 @@ class ClientController extends BaseController /** * Returns a client statement. * - * @return [type] [description] + * @return void [type] [description] */ public function statement() { diff --git a/app/Http/Controllers/ClientPortal/CreditController.php b/app/Http/Controllers/ClientPortal/CreditController.php index 0215a4073d17..0c0fecfc46a9 100644 --- a/app/Http/Controllers/ClientPortal/CreditController.php +++ b/app/Http/Controllers/ClientPortal/CreditController.php @@ -5,14 +5,16 @@ namespace App\Http\Controllers\ClientPortal; use App\Http\Controllers\Controller; use App\Http\Requests\ClientPortal\ShowCreditRequest; use App\Models\Credit; +use Illuminate\Contracts\View\Factory; use Illuminate\Http\Request; +use Illuminate\View\View; class CreditController extends Controller { /** * Display listing of client credits. * - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + * @return Factory|View */ public function index() { diff --git a/app/Http/Controllers/ClientPortal/DashboardController.php b/app/Http/Controllers/ClientPortal/DashboardController.php index 8976af431fcb..cad5011f4f24 100644 --- a/app/Http/Controllers/ClientPortal/DashboardController.php +++ b/app/Http/Controllers/ClientPortal/DashboardController.php @@ -12,12 +12,14 @@ namespace App\Http\Controllers\ClientPortal; use App\Http\Controllers\Controller; +use Illuminate\Contracts\View\Factory; use Illuminate\Http\Request; +use Illuminate\View\View; class DashboardController extends Controller { /** - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + * @return Factory|View */ public function index() { diff --git a/app/Http/Controllers/ClientPortal/DocumentController.php b/app/Http/Controllers/ClientPortal/DocumentController.php index 717d72aef17d..cd4489454409 100644 --- a/app/Http/Controllers/ClientPortal/DocumentController.php +++ b/app/Http/Controllers/ClientPortal/DocumentController.php @@ -18,7 +18,9 @@ use App\Http\Requests\Document\DownloadMultipleDocumentsRequest; use App\Models\Document; use App\Utils\TempFile; use App\Utils\Traits\MakesHash; +use Illuminate\Contracts\View\Factory; use Illuminate\Support\Facades\Storage; +use Illuminate\View\View; use ZipStream\Option\Archive; use ZipStream\ZipStream; @@ -27,7 +29,7 @@ class DocumentController extends Controller use MakesHash; /** - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + * @return Factory|View */ public function index() { @@ -35,7 +37,9 @@ class DocumentController extends Controller } /** - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + * @param ShowDocumentRequest $request + * @param Document $document + * @return Factory|View */ public function show(ShowDocumentRequest $request, Document $document) { diff --git a/app/Http/Controllers/ClientPortal/EntityViewController.php b/app/Http/Controllers/ClientPortal/EntityViewController.php index f65230ca4dc7..23c0d7d848a5 100644 --- a/app/Http/Controllers/ClientPortal/EntityViewController.php +++ b/app/Http/Controllers/ClientPortal/EntityViewController.php @@ -5,7 +5,11 @@ namespace App\Http\Controllers\ClientPortal; use App\Http\Controllers\Controller; use App\Models\Invoice; use App\Utils\Traits\MakesHash; +use Illuminate\Contracts\View\Factory; +use Illuminate\Http\RedirectResponse; +use Illuminate\Routing\Redirector; use Illuminate\Support\Facades\Hash; +use Illuminate\View\View; class EntityViewController extends Controller { @@ -21,7 +25,9 @@ class EntityViewController extends Controller /** * Show the entity outside client portal. * - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + * @param string $entity_type + * @param string $invitation_key + * @return Factory|View */ public function index(string $entity_type, string $invitation_key) { @@ -65,7 +71,7 @@ class EntityViewController extends Controller * @param string $entity_type * @param string $invitation_key * - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + * @return Factory|View */ public function password(string $entity_type, string $invitation_key) { @@ -81,7 +87,7 @@ class EntityViewController extends Controller * @param string $entity_type * @param string $invitation_key * - * @return \Illuminate\Routing\Redirector|\Illuminate\Http\RedirectResponse|mixed + * @return Redirector|RedirectResponse|mixed */ public function handlePassword(string $entity_type, string $invitation_key) { diff --git a/app/Http/Controllers/ClientPortal/InvitationController.php b/app/Http/Controllers/ClientPortal/InvitationController.php index d09befc71655..4a1e29c45ffd 100644 --- a/app/Http/Controllers/ClientPortal/InvitationController.php +++ b/app/Http/Controllers/ClientPortal/InvitationController.php @@ -17,6 +17,8 @@ use App\Events\Misc\InvitationWasViewed; use App\Events\Quote\QuoteWasViewed; use App\Http\Controllers\Controller; use App\Models\InvoiceInvitation; +use App\Models\QuoteInvitation; +use App\Models\CreditInvitation; use App\Models\RecurringInvoiceInvitation; use App\Utils\Ninja; use App\Utils\Traits\MakesDates; diff --git a/app/Http/Controllers/ClientPortal/InvoiceController.php b/app/Http/Controllers/ClientPortal/InvoiceController.php index 1f39b528f3eb..6836fd2e2cb6 100644 --- a/app/Http/Controllers/ClientPortal/InvoiceController.php +++ b/app/Http/Controllers/ClientPortal/InvoiceController.php @@ -19,6 +19,8 @@ use App\Utils\Number; use App\Utils\TempFile; use App\Utils\Traits\MakesDates; use App\Utils\Traits\MakesHash; +use Illuminate\Contracts\View\Factory; +use Illuminate\View\View; use ZipStream\Option\Archive; use ZipStream\ZipStream; @@ -29,7 +31,7 @@ class InvoiceController extends Controller /** * Display list of invoices. * - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + * @return Factory|View */ public function index() { @@ -39,10 +41,10 @@ class InvoiceController extends Controller /** * Show specific invoice. * - * @param \App\Http\Requests\ClientPortal\ShowInvoiceRequest $request - * @param \App\Models\Invoice $invoice + * @param ShowInvoiceRequest $request + * @param Invoice $invoice * - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + * @return Factory|View */ public function show(ShowInvoiceRequest $request, Invoice $invoice) { @@ -124,6 +126,9 @@ class InvoiceController extends Controller * @param array $ids * * @return void + * @throws \ZipStream\Exception\FileNotFoundException + * @throws \ZipStream\Exception\FileNotReadableException + * @throws \ZipStream\Exception\OverflowException */ private function downloadInvoicePDF(array $ids) { diff --git a/app/Http/Controllers/ClientPortal/PaymentController.php b/app/Http/Controllers/ClientPortal/PaymentController.php index 8a2774551cb1..758625487072 100644 --- a/app/Http/Controllers/ClientPortal/PaymentController.php +++ b/app/Http/Controllers/ClientPortal/PaymentController.php @@ -23,8 +23,11 @@ use App\Models\PaymentHash; use App\Utils\Number; use App\Utils\Traits\MakesDates; use App\Utils\Traits\MakesHash; +use Illuminate\Contracts\View\Factory; +use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Illuminate\Support\Str; +use Illuminate\View\View; /** * Class PaymentController. @@ -37,7 +40,7 @@ class PaymentController extends Controller /** * Show the list of payments. * - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + * @return Factory|View */ public function index() { @@ -49,7 +52,7 @@ class PaymentController extends Controller * * @param Request $request * @param Payment $payment - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + * @return Factory|View */ public function show(Request $request, Payment $payment) { @@ -66,7 +69,8 @@ class PaymentController extends Controller * The request will also contain the amount * and invoice ids for reference. * - * @return \Illuminate\Http\RedirectResponse|mixed + * @param Request $request + * @return RedirectResponse|mixed */ public function process(Request $request) { @@ -107,7 +111,7 @@ class PaymentController extends Controller /*iterate through invoices and add gateway fees and other payment metadata*/ $payable_invoices = $payable_invoices->map(function($payable_invoice) use($invoices, $settings){ - + $payable_invoice['amount'] = Number::parseFloat($payable_invoice['amount']); $invoice = $invoices->first(function ($inv) use ($payable_invoice) { @@ -182,8 +186,8 @@ class PaymentController extends Controller $first_invoice->service()->addGatewayFee($gateway, $payment_method_id, $invoice_totals)->save(); /** - * Gateway fee is calculated - * by adding it as a line item, and then subtract + * Gateway fee is calculated + * by adding it as a line item, and then subtract * the starting and finishing amounts of the invoice. */ $fee_totals = $first_invoice->amount - $starting_invoice_amount; @@ -238,7 +242,7 @@ class PaymentController extends Controller /** * Pay for invoice/s using credits only. - * + * * @param Request $request The request object * @return Response The response view */ @@ -268,9 +272,9 @@ class PaymentController extends Controller ->client ->service() ->getCredits(); - + foreach($credits as $credit) - { + { //starting invoice balance $invoice_balance = $invoice->balance; diff --git a/app/Http/Controllers/ClientPortal/PaymentMethodController.php b/app/Http/Controllers/ClientPortal/PaymentMethodController.php index ff97ab85b672..f85c367da545 100644 --- a/app/Http/Controllers/ClientPortal/PaymentMethodController.php +++ b/app/Http/Controllers/ClientPortal/PaymentMethodController.php @@ -22,7 +22,11 @@ use App\Models\GatewayType; use App\PaymentDrivers\AuthorizePaymentDriver; use App\Utils\Ninja; use App\Utils\Traits\MakesDates; +use Exception; +use Illuminate\Contracts\View\Factory; +use Illuminate\Http\RedirectResponse; use Illuminate\Support\Facades\Log; +use Illuminate\View\View; class PaymentMethodController extends Controller { @@ -31,7 +35,7 @@ class PaymentMethodController extends Controller /** * Display a listing of the resource. * - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + * @return Factory|View */ public function index() { @@ -41,7 +45,8 @@ class PaymentMethodController extends Controller /** * Show the form for creating a new resource. * - * @return \Illuminate\Http\Response + * @param CreatePaymentMethodRequest $request + * @return Response */ public function create(CreatePaymentMethodRequest $request) { @@ -58,8 +63,8 @@ class PaymentMethodController extends Controller /** * Store a newly created resource in storage. * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response + * @param Request $request + * @return Response */ public function store(Request $request) { @@ -75,7 +80,7 @@ class PaymentMethodController extends Controller * Display the specified resource. * * @param ClientGatewayToken $payment_method - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + * @return Factory|View */ public function show(ClientGatewayToken $payment_method) { @@ -88,7 +93,7 @@ class PaymentMethodController extends Controller * Show the form for editing the specified resource. * * @param int $id - * @return \Illuminate\Http\Response + * @return void */ public function edit($id) { @@ -98,9 +103,9 @@ class PaymentMethodController extends Controller /** * Update the specified resource in storage. * - * @param \Illuminate\Http\Request $request + * @param Request $request * @param int $id - * @return \Illuminate\Http\Response + * @return void */ public function update(Request $request, $id) { @@ -131,7 +136,7 @@ class PaymentMethodController extends Controller * Remove the specified resource from storage. * * @param ClientGatewayToken $payment_method - * @return \Illuminate\Http\RedirectResponse + * @return RedirectResponse */ public function destroy(ClientGatewayToken $payment_method) { @@ -145,7 +150,7 @@ class PaymentMethodController extends Controller try { event(new MethodDeleted($payment_method, auth('contact')->user()->company, Ninja::eventVars())); $payment_method->delete(); - } catch (\Exception $e) { + } catch (Exception $e) { Log::error(json_encode($e)); return back(); diff --git a/app/Http/Controllers/ClientPortal/ProfileController.php b/app/Http/Controllers/ClientPortal/ProfileController.php index 1ea7caeec6f5..105cbcc809df 100644 --- a/app/Http/Controllers/ClientPortal/ProfileController.php +++ b/app/Http/Controllers/ClientPortal/ProfileController.php @@ -16,9 +16,12 @@ use App\Http\Requests\ClientPortal\UpdateClientRequest; use App\Http\Requests\ClientPortal\UpdateContactRequest; use App\Jobs\Util\UploadAvatar; use App\Models\ClientContact; +use Illuminate\Contracts\View\Factory; +use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Log; +use Illuminate\View\View; class ProfileController extends Controller { @@ -26,7 +29,7 @@ class ProfileController extends Controller * Show the form for editing the specified resource. * * @param ClientContact $client_contact - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + * @return Factory|View */ public function edit(ClientContact $client_contact) { @@ -38,7 +41,7 @@ class ProfileController extends Controller * * @param UpdateContactRequest $request * @param ClientContact $client_contact - * @return \Illuminate\Http\RedirectResponse + * @return RedirectResponse */ public function update(UpdateContactRequest $request, ClientContact $client_contact) { diff --git a/app/Http/Controllers/ClientPortal/QuoteController.php b/app/Http/Controllers/ClientPortal/QuoteController.php index 96d7f5eebcdf..6d8a7b350e0e 100644 --- a/app/Http/Controllers/ClientPortal/QuoteController.php +++ b/app/Http/Controllers/ClientPortal/QuoteController.php @@ -11,6 +11,8 @@ use App\Models\Quote; use App\Utils\Ninja; use App\Utils\TempFile; use App\Utils\Traits\MakesHash; +use Illuminate\Contracts\View\Factory; +use Illuminate\View\View; use ZipStream\Option\Archive; use ZipStream\ZipStream; @@ -21,7 +23,7 @@ class QuoteController extends Controller /** * Display a listing of the quotes. * - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + * @return Factory|View */ public function index() { @@ -33,7 +35,7 @@ class QuoteController extends Controller * * @param ShowQuoteRequest $request * @param Quote $quote - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + * @return Factory|View */ public function show(ShowQuoteRequest $request, Quote $quote) { diff --git a/app/Http/Controllers/ClientPortal/RecurringInvoiceController.php b/app/Http/Controllers/ClientPortal/RecurringInvoiceController.php index 43336a80ba94..fd2a0069e5f3 100644 --- a/app/Http/Controllers/ClientPortal/RecurringInvoiceController.php +++ b/app/Http/Controllers/ClientPortal/RecurringInvoiceController.php @@ -17,7 +17,9 @@ use App\Models\RecurringInvoice; use App\Notifications\ClientContactRequestCancellation; use App\Utils\Traits\MakesDates; use App\Utils\Traits\MakesHash; +use Illuminate\Contracts\View\Factory; use Illuminate\Http\Request; +use Illuminate\View\View; /** * Class InvoiceController. @@ -30,7 +32,7 @@ class RecurringInvoiceController extends Controller /** * Show the list of recurring invoices. * - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + * @return Factory|View */ public function index() { @@ -42,7 +44,7 @@ class RecurringInvoiceController extends Controller * * @param ShowRecurringInvoiceRequest $request * @param RecurringInvoice $recurring_invoice - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + * @return Factory|View */ public function show(ShowRecurringInvoiceRequest $request, RecurringInvoice $recurring_invoice) { diff --git a/app/Http/Controllers/ClientPortal/UploadController.php b/app/Http/Controllers/ClientPortal/UploadController.php index dc6d60031b12..212cdda138fb 100644 --- a/app/Http/Controllers/ClientPortal/UploadController.php +++ b/app/Http/Controllers/ClientPortal/UploadController.php @@ -15,6 +15,8 @@ namespace App\Http\Controllers\ClientPortal; use App\Http\Controllers\Controller; use App\Http\Requests\ClientPortal\Uploads\StoreUploadRequest; use App\Utils\Traits\SavesDocuments; +use Illuminate\Contracts\Routing\ResponseFactory; +use Illuminate\Http\Response; class UploadController extends Controller { @@ -23,8 +25,8 @@ class UploadController extends Controller /** * Main logic behind uploading the files. * - * @param \App\Http\Requests\ClientPortal\Uploads\StoreUploadRequest $request - * @return \Illuminate\Http\Response|\Illuminate\Contracts\Routing\ResponseFactory + * @param StoreUploadRequest $request + * @return Response|ResponseFactory */ public function __invoke(StoreUploadRequest $request) { diff --git a/app/Http/Controllers/ClientStatementController.php b/app/Http/Controllers/ClientStatementController.php index 96e70629dfbe..e9dcd664a764 100644 --- a/app/Http/Controllers/ClientStatementController.php +++ b/app/Http/Controllers/ClientStatementController.php @@ -24,7 +24,7 @@ class ClientStatementController extends BaseController /** * Displays a client statement view for a given * client_id. - * @return view + * @return void */ public function show() { @@ -33,7 +33,7 @@ class ClientStatementController extends BaseController /** * Updates the show view data dependent on * configured variables. - * @return json + * @return void */ public function update() { diff --git a/app/Http/Controllers/CompanyController.php b/app/Http/Controllers/CompanyController.php index a023f7e63fa3..c703fe983b8f 100644 --- a/app/Http/Controllers/CompanyController.php +++ b/app/Http/Controllers/CompanyController.php @@ -40,6 +40,7 @@ use App\Utils\Traits\MakesHash; use App\Utils\Traits\Uploadable; use Illuminate\Foundation\Bus\DispatchesJobs; use Illuminate\Http\Request; +use Illuminate\Http\Response; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Hash; use Turbo124\Beacon\Facades\LightLogs; @@ -63,6 +64,7 @@ class CompanyController extends BaseController /** * CompanyController constructor. + * @param CompanyRepository $company_repo */ public function __construct(CompanyRepository $company_repo) { @@ -74,7 +76,7 @@ class CompanyController extends BaseController /** * Display a listing of the resource. * - * @return \Illuminate\Http\Response + * @return Response * * @OA\Get( * path="/api/v1/companies", @@ -119,7 +121,8 @@ class CompanyController extends BaseController /** * Show the form for creating a new resource. * - * @return \Illuminate\Http\Response + * @param CreateCompanyRequest $request + * @return Response * * * @@ -164,8 +167,8 @@ class CompanyController extends BaseController /** * Store a newly created resource in storage. * - * @param \App\Http\Requests\SignupRequest $request - * @return \Illuminate\Http\Response + * @param StoreCompanyRequest $request + * @return Response * * * @OA\Post( @@ -246,8 +249,9 @@ class CompanyController extends BaseController /** * Display the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param ShowCompanyRequest $request + * @param Company $company + * @return Response * * * @OA\Get( @@ -300,8 +304,9 @@ class CompanyController extends BaseController /** * Show the form for editing the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param EditCompanyRequest $request + * @param Company $company + * @return Response * * * @OA\Get( @@ -354,9 +359,9 @@ class CompanyController extends BaseController /** * Update the specified resource in storage. * - * @param \Illuminate\Http\Request $request - * @param int $id - * @return \Illuminate\Http\Response + * @param UpdateCompanyRequest $request + * @param Company $company + * @return Response * * * @OA\Put( @@ -415,10 +420,12 @@ class CompanyController extends BaseController /** * Remove the specified resource from storage. * - * @param int $id - * @return \Illuminate\Http\Response + * @param DestroyCompanyRequest $request + * @param Company $company + * @return Response * * + * @throws \Exception * @OA\Delete( * path="/api/v1/companies/{id}", * operationId="deleteCompany", @@ -479,7 +486,7 @@ class CompanyController extends BaseController LightLogs::create(new AccountDeleted()) ->increment() ->batch(); - + } else { $company_id = $company->id; $company->delete(); diff --git a/app/Http/Controllers/CompanyGatewayController.php b/app/Http/Controllers/CompanyGatewayController.php index 79568d73eb67..8a4f63e64f5c 100644 --- a/app/Http/Controllers/CompanyGatewayController.php +++ b/app/Http/Controllers/CompanyGatewayController.php @@ -18,12 +18,14 @@ use App\Http\Requests\CompanyGateway\EditCompanyGatewayRequest; use App\Http\Requests\CompanyGateway\ShowCompanyGatewayRequest; use App\Http\Requests\CompanyGateway\StoreCompanyGatewayRequest; use App\Http\Requests\CompanyGateway\UpdateCompanyGatewayRequest; +use App\Http\Requests\SignupRequest; use App\Models\CompanyGateway; use App\Repositories\CompanyRepository; use App\Transformers\CompanyGatewayTransformer; use App\Utils\Traits\MakesHash; use Illuminate\Foundation\Bus\DispatchesJobs; use Illuminate\Http\Request; +use Illuminate\Http\Response; /** * Class CompanyGatewayController. @@ -43,6 +45,7 @@ class CompanyGatewayController extends BaseController /** * CompanyGatewayController constructor. + * @param CompanyRepository $company_repo */ public function __construct(CompanyRepository $company_repo) { @@ -54,7 +57,7 @@ class CompanyGatewayController extends BaseController /** * Display a listing of the resource. * - * @return \Illuminate\Http\Response + * @return Response * * * @@ -101,7 +104,8 @@ class CompanyGatewayController extends BaseController /** * Show the form for creating a new resource. * - * @return \Illuminate\Http\Response + * @param CreateCompanyGatewayRequest $request + * @return Response * * * @@ -146,8 +150,8 @@ class CompanyGatewayController extends BaseController /** * Store a newly created resource in storage. * - * @param \App\Http\Requests\SignupRequest $request - * @return \Illuminate\Http\Response + * @param StoreCompanyGatewayRequest $request + * @return Response * * * @@ -194,8 +198,9 @@ class CompanyGatewayController extends BaseController /** * Display the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param ShowCompanyGatewayRequest $request + * @param CompanyGateway $company_gateway + * @return Response * * * @OA\Get( @@ -248,8 +253,9 @@ class CompanyGatewayController extends BaseController /** * Show the form for editing the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param EditCompanyGatewayRequest $request + * @param CompanyGateway $company_gateway + * @return Response * * * @OA\Get( @@ -302,9 +308,9 @@ class CompanyGatewayController extends BaseController /** * Update the specified resource in storage. * - * @param \Illuminate\Http\Request $request - * @param int $id - * @return \Illuminate\Http\Response + * @param UpdateCompanyGatewayRequest $request + * @param CompanyGateway $company_gateway + * @return Response * * * @OA\Put( @@ -365,10 +371,12 @@ class CompanyGatewayController extends BaseController /** * Remove the specified resource from storage. * - * @param int $id - * @return \Illuminate\Http\Response + * @param DestroyCompanyGatewayRequest $request + * @param CompanyGateway $company_gateway + * @return Response * * + * @throws \Exception * @OA\Delete( * path="/api/v1/company_gateways/{id}", * operationId="deleteCompanyGateway", @@ -420,8 +428,7 @@ class CompanyGatewayController extends BaseController /** * Perform bulk actions on the list view. * - * @param BulkCompanyGatewayRequest $request - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Post( diff --git a/app/Http/Controllers/CompanyLedgerController.php b/app/Http/Controllers/CompanyLedgerController.php index a7ffb9de58cd..79b7eb62dc49 100644 --- a/app/Http/Controllers/CompanyLedgerController.php +++ b/app/Http/Controllers/CompanyLedgerController.php @@ -15,6 +15,7 @@ use App\Http\Requests\CompanyLedger\ShowCompanyLedgerRequest; use App\Models\CompanyLedger; use App\Transformers\CompanyLedgerTransformer; use Illuminate\Http\Request; +use Illuminate\Http\Response; class CompanyLedgerController extends BaseController { @@ -30,7 +31,8 @@ class CompanyLedgerController extends BaseController /** * Store a newly created resource in storage. * - * @return \Illuminate\Http\Response + * @param ShowCompanyLedgerRequest $request + * @return Response * * @OA\Get( * path="/api/v1/company_ledger", @@ -54,7 +56,6 @@ class CompanyLedgerController extends BaseController * response=422, * description="Validation error", * @OA\JsonContent(ref="#/components/schemas/ValidationError"), - * ), * @OA\Response( * response="default", diff --git a/app/Http/Controllers/CompanyUserController.php b/app/Http/Controllers/CompanyUserController.php index db8800df127f..0a2d60708f0a 100644 --- a/app/Http/Controllers/CompanyUserController.php +++ b/app/Http/Controllers/CompanyUserController.php @@ -17,6 +17,7 @@ use App\Models\CompanyUser; use App\Models\User; use App\Transformers\CompanyUserTransformer; use Illuminate\Http\Request; +use Illuminate\Http\Response; class CompanyUserController extends BaseController { @@ -32,7 +33,7 @@ class CompanyUserController extends BaseController /** * Display a listing of the resource. * - * @return \Illuminate\Http\Response + * @return void */ public function index() { @@ -41,7 +42,7 @@ class CompanyUserController extends BaseController /** * Show the form for creating a new resource. * - * @return \Illuminate\Http\Response + * @return void */ public function create() { @@ -54,8 +55,8 @@ class CompanyUserController extends BaseController /** * Display the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param int $id + * @return void */ public function show($id) { @@ -65,8 +66,8 @@ class CompanyUserController extends BaseController /** * Show the form for editing the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param int $id + * @return void */ public function edit($id) { @@ -97,7 +98,6 @@ class CompanyUserController extends BaseController * response=422, * description="Validation error", * @OA\JsonContent(ref="#/components/schemas/ValidationError"), - * ), * @OA\Response( * response="default", @@ -105,6 +105,9 @@ class CompanyUserController extends BaseController * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) + * @param UpdateCompanyUserRequest $request + * @param User $user + * @return Response|mixed|void */ public function update(UpdateCompanyUserRequest $request, User $user) { @@ -133,8 +136,8 @@ class CompanyUserController extends BaseController /** * Remove the specified resource from storage. * - * @param int $id - * @return \Illuminate\Http\Response + * @param int $id + * @return void */ public function destroy($id) { diff --git a/app/Http/Controllers/Contact/InvoiceController.php b/app/Http/Controllers/Contact/InvoiceController.php index fc69dd1e51af..e4d2f1fda907 100644 --- a/app/Http/Controllers/Contact/InvoiceController.php +++ b/app/Http/Controllers/Contact/InvoiceController.php @@ -17,6 +17,7 @@ use App\Models\Invoice; use App\Transformers\Contact\InvoiceTransformer; use App\Utils\Traits\MakesHash; use Illuminate\Http\Request; +use Illuminate\Http\Response; class InvoiceController extends BaseController { @@ -34,9 +35,9 @@ class InvoiceController extends BaseController /** * List Invoices. * - * @param \App\Filters\InvoiceFilters $filters The filters + * @param InvoiceFilters $filters The filters * - * @return \Illuminate\Http\Response + * @return Response */ public function index(InvoiceFilters $filters) { diff --git a/app/Http/Controllers/Contact/LoginController.php b/app/Http/Controllers/Contact/LoginController.php index 3525f83bd43d..0d4ad7829a5d 100644 --- a/app/Http/Controllers/Contact/LoginController.php +++ b/app/Http/Controllers/Contact/LoginController.php @@ -60,9 +60,10 @@ class LoginController extends BaseController /** * Login via API. * - * @param \Illuminate\Http\Request $request The request + * @param Request $request The request * * @return Response|User Process user login. + * @throws \Illuminate\Validation\ValidationException */ public function apiLogin(Request $request) { @@ -88,6 +89,7 @@ class LoginController extends BaseController /** * Redirect the user to the provider authentication page. * + * @param string $provider * @return void */ public function redirectToProvider(string $provider) diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php index ef8dc54d57d1..bd262a36ed91 100644 --- a/app/Http/Controllers/Controller.php +++ b/app/Http/Controllers/Controller.php @@ -12,10 +12,12 @@ namespace App\Http\Controllers; use App\Utils\Traits\UserSessionAttributes; +use Illuminate\Contracts\View\Factory; use Illuminate\Foundation\Auth\Access\AuthorizesRequests; use Illuminate\Foundation\Bus\DispatchesJobs; use Illuminate\Foundation\Validation\ValidatesRequests; use Illuminate\Routing\Controller as BaseController; +use Illuminate\View\View; class Controller extends BaseController { @@ -27,7 +29,7 @@ class Controller extends BaseController * @param string $path * @param array $options * - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + * @return Factory|View */ public function render(string $path, array $options = []) { diff --git a/app/Http/Controllers/CreditController.php b/app/Http/Controllers/CreditController.php index 7b7800974c62..3a6898e92902 100644 --- a/app/Http/Controllers/CreditController.php +++ b/app/Http/Controllers/CreditController.php @@ -15,17 +15,20 @@ use App\Http\Requests\Credit\EditCreditRequest; use App\Http\Requests\Credit\ShowCreditRequest; use App\Http\Requests\Credit\StoreCreditRequest; use App\Http\Requests\Credit\UpdateCreditRequest; +use App\Http\Requests\Invoice\EditInvoiceRequest; use App\Jobs\Credit\StoreCredit; use App\Jobs\Entity\EmailEntity; use App\Jobs\Invoice\EmailCredit; use App\Jobs\Invoice\MarkInvoicePaid; use App\Models\Client; use App\Models\Credit; +use App\Models\Invoice; use App\Repositories\CreditRepository; use App\Transformers\CreditTransformer; use App\Utils\Ninja; use App\Utils\TempFile; use App\Utils\Traits\MakesHash; +use Illuminate\Http\Response; /** * Class CreditController. @@ -50,9 +53,9 @@ class CreditController extends BaseController /** * Show the list of Credits. * - * @param \App\Filters\CreditFilters $filters The filters + * @param CreditFilters $filters The filters * - * @return \Illuminate\Http\Response + * @return Response * * @OA\Get( * path="/api/v1/credits", @@ -97,9 +100,9 @@ class CreditController extends BaseController /** * Show the form for creating a new resource. * - * @param \App\Http\Requests\Credit\CreateCreditRequest $request The request + * @param CreateCreditRequest $request The request * - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Get( @@ -143,9 +146,9 @@ class CreditController extends BaseController /** * Store a newly created resource in storage. * - * @param \App\Http\Requests\Credit\StoreCreditRequest $request The request + * @param StoreCreditRequest $request The request * - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Post( @@ -195,10 +198,10 @@ class CreditController extends BaseController /** * Display the specified resource. * - * @param \App\Http\Requests\Credit\ShowCreditRequest $request The request - * @param \App\Models\Credit $credit The credit + * @param ShowCreditRequest $request The request + * @param Credit $credit The credit * - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Get( @@ -251,10 +254,10 @@ class CreditController extends BaseController /** * Show the form for editing the specified resource. * - * @param \App\Http\Requests\Invoice\EditInvoiceRequest $request The request - * @param \App\Models\Invoice $credit The credit + * @param EditCreditRequest $request The request + * @param Credit $credit The credit * - * @return \Illuminate\Http\Response + * @return Response * * @OA\Get( * path="/api/v1/credits/{id}/edit", @@ -306,12 +309,12 @@ class CreditController extends BaseController /** * Update the specified resource in storage. * - * @param \App\Http\Requests\Credit\UpdateCreditRequest $request The request - * @param \App\Models\Credit $Credit The Credit - * - * @return \Illuminate\Http\Response + * @param UpdateCreditRequest $request The request + * @param Credit $credit + * @return Response * * + * @throws \ReflectionException * @OA\Put( * path="/api/v1/Credits/{id}", * operationId="updateCredit", @@ -370,11 +373,12 @@ class CreditController extends BaseController /** * Remove the specified resource from storage. * - * @param \App\Http\Requests\Credit\DestroyCreditRequest $request - * @param \App\Models\Credit $credit + * @param DestroyCreditRequest $request + * @param Credit $credit * - * @return \Illuminate\Http\Response + * @return Response * + * @throws \Exception * @OA\Delete( * path="/api/v1/credits/{id}", * operationId="deleteCredit", diff --git a/app/Http/Controllers/DashboardController.php b/app/Http/Controllers/DashboardController.php index b45ae4a4a56c..692504e6e178 100644 --- a/app/Http/Controllers/DashboardController.php +++ b/app/Http/Controllers/DashboardController.php @@ -11,6 +11,8 @@ namespace App\Http\Controllers; +use Illuminate\Http\Response; + class DashboardController extends BaseController { /** @@ -26,7 +28,7 @@ class DashboardController extends BaseController /** * Show the application dashboard. * - * @return \Illuminate\Http\Response + * @return Response */ public function index() { diff --git a/app/Http/Controllers/DesignController.php b/app/Http/Controllers/DesignController.php index d99dfa9aee4b..81f3d784c73e 100644 --- a/app/Http/Controllers/DesignController.php +++ b/app/Http/Controllers/DesignController.php @@ -26,6 +26,7 @@ use App\Transformers\DesignTransformer; use App\Utils\Traits\BulkOptions; use App\Utils\Traits\MakesHash; use Illuminate\Http\Request; +use Illuminate\Http\Response; use Illuminate\Support\Facades\Cache; /** @@ -43,7 +44,7 @@ class DesignController extends BaseController /** * DesignController constructor. - * @param DesignRepository $designRepo + * @param DesignRepository $design_repo */ public function __construct(DesignRepository $design_repo) { @@ -53,7 +54,7 @@ class DesignController extends BaseController } /** - * @OA\Get( + * @OA\Get( * path="/api/v1/designs", * operationId="getDesigns", * tags={"designs"}, @@ -76,7 +77,6 @@ class DesignController extends BaseController * response=422, * description="Validation error", * @OA\JsonContent(ref="#/components/schemas/ValidationError"), - * ), * @OA\Response( * response="default", @@ -84,6 +84,8 @@ class DesignController extends BaseController * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) + * @param DesignFilters $filters + * @return Response|mixed */ public function index(DesignFilters $filters) { @@ -95,8 +97,9 @@ class DesignController extends BaseController /** * Display the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param ShowDesignRequest $request + * @param Design $design + * @return Response * * * @OA\Get( @@ -149,8 +152,9 @@ class DesignController extends BaseController /** * Show the form for editing the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param EditDesignRequest $request + * @param Design $design + * @return Response * * * @OA\Get( @@ -203,9 +207,9 @@ class DesignController extends BaseController /** * Update the specified resource in storage. * - * @param \Illuminate\Http\Request $request - * @param App\Models\Design $design - * @return \Illuminate\Http\Response + * @param UpdateDesignRequest $request + * @param Design $design + * @return Response * * * @@ -266,7 +270,8 @@ class DesignController extends BaseController /** * Show the form for creating a new resource. * - * @return \Illuminate\Http\Response + * @param CreateDesignRequest $request + * @return Response * * * @@ -311,8 +316,8 @@ class DesignController extends BaseController /** * Store a newly created resource in storage. * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response + * @param StoreDesignRequest $request + * @return Response * * * @@ -359,10 +364,12 @@ class DesignController extends BaseController /** * Remove the specified resource from storage. * - * @param int $id - * @return \Illuminate\Http\Response + * @param DestroyDesignRequest $request + * @param Design $design + * @return Response * * + * @throws \Exception * @OA\Delete( * path="/api/v1/designs/{id}", * operationId="deleteDesign", @@ -417,8 +424,7 @@ class DesignController extends BaseController /** * Perform bulk actions on the list view. * - * @param BulkDesignRequest $request - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Post( diff --git a/app/Http/Controllers/DocumentController.php b/app/Http/Controllers/DocumentController.php index 337c0394f9ed..7e7e18ca3c86 100644 --- a/app/Http/Controllers/DocumentController.php +++ b/app/Http/Controllers/DocumentController.php @@ -12,6 +12,7 @@ use App\Repositories\DocumentRepository; use App\Transformers\DocumentTransformer; use App\Utils\Traits\MakesHash; use Illuminate\Http\Request; +use Illuminate\Http\Response; class DocumentController extends BaseController { @@ -42,7 +43,7 @@ class DocumentController extends BaseController /** * Display a listing of the resource. * - * @return \Illuminate\Http\Response + * @return void */ public function index() { @@ -52,7 +53,7 @@ class DocumentController extends BaseController /** * Show the form for creating a new resource. * - * @return \Illuminate\Http\Response + * @return void */ public function create() { @@ -62,8 +63,8 @@ class DocumentController extends BaseController /** * Store a newly created resource in storage. * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response + * @param StoreDocumentRequest $request + * @return void */ public function store(StoreDocumentRequest $request) { @@ -73,8 +74,9 @@ class DocumentController extends BaseController /** * Display the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param ShowDocumentRequest $request + * @param Document $document + * @return Response */ public function show(ShowDocumentRequest $request, Document $document) { @@ -91,8 +93,9 @@ class DocumentController extends BaseController /** * Show the form for editing the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param EditDocumentRegquest $request + * @param Document $document + * @return Response */ public function edit(EditDocumentRegquest $request, Document $document) { @@ -102,9 +105,9 @@ class DocumentController extends BaseController /** * Update the specified resource in storage. * - * @param \Illuminate\Http\Request $request - * @param int $id - * @return \Illuminate\Http\Response + * @param UpdateDocumentRequest $request + * @param Document $document + * @return Response */ public function update(UpdateDocumentRequest $request, Document $document) { @@ -114,8 +117,9 @@ class DocumentController extends BaseController /** * Remove the specified resource from storage. * - * @param int $id - * @return \Illuminate\Http\Response + * @param DestroyDocumentRequest $request + * @param Document $document + * @return Response */ public function destroy(DestroyDocumentRequest $request, Document $document) { diff --git a/app/Http/Controllers/EmailController.php b/app/Http/Controllers/EmailController.php index e99d92f0e231..efd29b7b09df 100644 --- a/app/Http/Controllers/EmailController.php +++ b/app/Http/Controllers/EmailController.php @@ -26,6 +26,7 @@ use App\Transformers\InvoiceTransformer; use App\Transformers\QuoteTransformer; use App\Transformers\RecurringInvoiceTransformer; use App\Utils\Traits\MakesHash; +use Illuminate\Http\Response; class EmailController extends BaseController { @@ -43,7 +44,8 @@ class EmailController extends BaseController /** * Returns a template filled with entity variables. * - * @return \Illuminate\Http\Response + * @param SendEmailRequest $request + * @return Response * * @OA\Post( * path="/api/v1/emails", @@ -100,7 +102,6 @@ class EmailController extends BaseController * response=422, * description="Validation error", * @OA\JsonContent(ref="#/components/schemas/ValidationError"), - * ), * @OA\Response( * response="default", diff --git a/app/Http/Controllers/ExpenseCategoryController.php b/app/Http/Controllers/ExpenseCategoryController.php index c49b50251574..6f883789e2db 100644 --- a/app/Http/Controllers/ExpenseCategoryController.php +++ b/app/Http/Controllers/ExpenseCategoryController.php @@ -23,6 +23,7 @@ use App\Repositories\BaseRepository; use App\Transformers\ExpenseCategoryTransformer; use App\Utils\Traits\MakesHash; use Illuminate\Http\Request; +use Illuminate\Http\Response; /** * Class ExpenseCategoryController. @@ -76,7 +77,7 @@ class ExpenseCategoryController extends BaseController * * Display a listing of the resource. * - * @return \Illuminate\Http\Response + * @return Response */ public function index() { @@ -88,7 +89,8 @@ class ExpenseCategoryController extends BaseController /** * Show the form for creating a new resource. * - * @return \Illuminate\Http\Response + * @param CreateExpenseCategoryRequest $request + * @return Response * * * @@ -132,8 +134,8 @@ class ExpenseCategoryController extends BaseController /** * Store a newly created resource in storage. * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response + * @param StoreExpenseCategoryRequest $request + * @return Response */ public function store(StoreExpenseCategoryRequest $request) { @@ -147,8 +149,9 @@ class ExpenseCategoryController extends BaseController /** * Display the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param ShowExpenseCategoryRequest $request + * @param ExpenseCategory $expense_category + * @return Response * * * @OA\Get( @@ -200,8 +203,9 @@ class ExpenseCategoryController extends BaseController /** * Show the form for editing the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param EditExpenseCategoryRequest $request + * @param ExpenseCategory $expense_category + * @return Response * * * @OA\Get( @@ -253,9 +257,9 @@ class ExpenseCategoryController extends BaseController /** * Update the specified resource in storage. * - * @param \Illuminate\Http\Request $request - * @param App\Models\Client $client - * @return \Illuminate\Http\Response + * @param UpdateExpenseCategoryRequest $request + * @param ExpenseCategory $expense_category + * @return Response * * * @@ -311,10 +315,12 @@ class ExpenseCategoryController extends BaseController /** * Remove the specified resource from storage. * - * @param int $id - * @return \Illuminate\Http\Response + * @param DestroyExpenseCategoryRequest $request + * @param ExpenseCategory $expense_category + * @return Response * * + * @throws \Exception * @OA\Delete( * path="/api/v1/expense_categories/{id}", * operationId="deleteExpenseCategory", @@ -367,8 +373,7 @@ class ExpenseCategoryController extends BaseController /** * Perform bulk actions on the list view. * - * @param BulkExpenseCategoryRequest $request - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Post( diff --git a/app/Http/Controllers/ExpenseController.php b/app/Http/Controllers/ExpenseController.php index 00d97ad933ad..22f44344bbec 100644 --- a/app/Http/Controllers/ExpenseController.php +++ b/app/Http/Controllers/ExpenseController.php @@ -33,6 +33,7 @@ use App\Utils\Traits\BulkOptions; use App\Utils\Traits\MakesHash; use App\Utils\Traits\Uploadable; use Illuminate\Http\Request; +use Illuminate\Http\Response; use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Log; @@ -57,7 +58,7 @@ class ExpenseController extends BaseController /** * ExpenseController constructor. - * @param ExpenseRepository $expenseRepo + * @param ExpenseRepository $expense_repo */ public function __construct(ExpenseRepository $expense_repo) { @@ -67,14 +68,14 @@ class ExpenseController extends BaseController } /** - * @OA\Get( + * @OA\Get( * path="/api/v1/expenses", * operationId="getExpenses", * tags={"expenses"}, * summary="Gets a list of expenses", * description="Lists expenses, search and filters allow fine grained lists to be generated. - Query parameters can be added to performed more fine grained filtering of the expenses, these are handled by the ExpenseFilters class which defines the methods available", + Query parameters can be added to performed more fine grained filtering of the expenses, these are handled by the ExpenseFilters class which defines the methods available", * @OA\Parameter(ref="#/components/parameters/X-Api-Secret"), * @OA\Parameter(ref="#/components/parameters/X-Api-Token"), * @OA\Parameter(ref="#/components/parameters/X-Requested-With"), @@ -92,7 +93,6 @@ class ExpenseController extends BaseController * response=422, * description="Validation error", * @OA\JsonContent(ref="#/components/schemas/ValidationError"), - * ), * @OA\Response( * response="default", @@ -100,6 +100,8 @@ class ExpenseController extends BaseController * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) + * @param ExpenseFilters $filters + * @return Response|mixed */ public function index(ExpenseFilters $filters) { @@ -111,8 +113,9 @@ class ExpenseController extends BaseController /** * Display the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param ShowExpenseRequest $request + * @param Expense $expense + * @return Response * * * @OA\Get( @@ -165,8 +168,9 @@ class ExpenseController extends BaseController /** * Show the form for editing the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param EditExpenseRequest $request + * @param Expense $expense + * @return Response * * * @OA\Get( @@ -219,9 +223,9 @@ class ExpenseController extends BaseController /** * Update the specified resource in storage. * - * @param \Illuminate\Http\Request $request - * @param App\Models\Expense $expense - * @return \Illuminate\Http\Response + * @param UpdateExpenseRequest $request + * @param Expense $expense + * @return Response * * * @@ -283,7 +287,8 @@ class ExpenseController extends BaseController /** * Show the form for creating a new resource. * - * @return \Illuminate\Http\Response + * @param CreateExpenseRequest $request + * @return Response * * * @@ -328,8 +333,8 @@ class ExpenseController extends BaseController /** * Store a newly created resource in storage. * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response + * @param StoreExpenseRequest $request + * @return Response * * * @@ -374,10 +379,12 @@ class ExpenseController extends BaseController /** * Remove the specified resource from storage. * - * @param int $id - * @return \Illuminate\Http\Response + * @param DestroyExpenseRequest $request + * @param Expense $expense + * @return Response * * + * @throws \Exception * @OA\Delete( * path="/api/v1/expenses/{id}", * operationId="deleteExpense", @@ -430,8 +437,7 @@ class ExpenseController extends BaseController /** * Perform bulk actions on the list view. * - * @param BulkExpenseRequest $request - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Post( @@ -498,7 +504,7 @@ class ExpenseController extends BaseController /** * Returns a client statement. * - * @return [type] [description] + * @return void [type] [description] */ public function statement() { diff --git a/app/Http/Controllers/GroupSettingController.php b/app/Http/Controllers/GroupSettingController.php index 02adbd95b5af..119f617248cf 100644 --- a/app/Http/Controllers/GroupSettingController.php +++ b/app/Http/Controllers/GroupSettingController.php @@ -18,6 +18,7 @@ use App\Http\Requests\GroupSetting\EditGroupSettingRequest; use App\Http\Requests\GroupSetting\ShowGroupSettingRequest; use App\Http\Requests\GroupSetting\StoreGroupSettingRequest; use App\Http\Requests\GroupSetting\UpdateGroupSettingRequest; +use App\Http\Requests\SignupRequest; use App\Models\GroupSetting; use App\Repositories\GroupSettingRepository; use App\Transformers\GroupSettingTransformer; @@ -25,6 +26,7 @@ use App\Utils\Traits\MakesHash; use App\Utils\Traits\Uploadable; use Illuminate\Foundation\Bus\DispatchesJobs; use Illuminate\Http\Request; +use Illuminate\Http\Response; class GroupSettingController extends BaseController { @@ -48,7 +50,7 @@ class GroupSettingController extends BaseController /** * Display a listing of the resource. * - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Get( @@ -94,7 +96,8 @@ class GroupSettingController extends BaseController /** * Show the form for creating a new resource. * - * @return \Illuminate\Http\Response + * @param CreateGroupSettingRequest $request + * @return Response * * * @@ -139,8 +142,8 @@ class GroupSettingController extends BaseController /** * Store a newly created resource in storage. * - * @param \App\Http\Requests\SignupRequest $request - * @return \Illuminate\Http\Response + * @param StoreGroupSettingRequest $request + * @return Response * * * @@ -192,8 +195,9 @@ class GroupSettingController extends BaseController /** * Display the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param ShowGroupSettingRequest $request + * @param GroupSetting $group_setting + * @return Response * * * @OA\Get( @@ -246,8 +250,9 @@ class GroupSettingController extends BaseController /** * Show the form for editing the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param EditGroupSettingRequest $request + * @param GroupSetting $group_setting + * @return Response * * * @OA\Get( @@ -300,9 +305,9 @@ class GroupSettingController extends BaseController /** * Update the specified resource in storage. * - * @param \Illuminate\Http\Request $request - * @param int $id - * @return \Illuminate\Http\Response + * @param UpdateGroupSettingRequest $request + * @param GroupSetting $group_setting + * @return Response * * * @OA\Put( @@ -359,10 +364,12 @@ class GroupSettingController extends BaseController /** * Remove the specified resource from storage. * - * @param int $id - * @return \Illuminate\Http\Response + * @param DestroyGroupSettingRequest $request + * @param GroupSetting $group_setting + * @return Response * * + * @throws \Exception * @OA\Delete( * path="/api/v1/group_settings/{id}", * operationId="deleteGroupSetting", diff --git a/app/Http/Controllers/InvoiceController.php b/app/Http/Controllers/InvoiceController.php index b1312f7b04f1..dcde8118055d 100644 --- a/app/Http/Controllers/InvoiceController.php +++ b/app/Http/Controllers/InvoiceController.php @@ -41,6 +41,7 @@ use App\Utils\Ninja; use App\Utils\TempFile; use App\Utils\Traits\MakesHash; use Illuminate\Http\Request; +use Illuminate\Http\Response; use Illuminate\Support\Facades\File; use Illuminate\Support\Facades\Storage; @@ -63,7 +64,7 @@ class InvoiceController extends BaseController /** * InvoiceController constructor. * - * @param \App\Repositories\InvoiceRepository $invoice_repo The invoice repo + * @param InvoiceRepository $invoice_repo The invoice repo */ public function __construct(InvoiceRepository $invoice_repo) { @@ -75,9 +76,9 @@ class InvoiceController extends BaseController /** * Show the list of Invoices. * - * @param \App\Filters\InvoiceFilters $filters The filters + * @param InvoiceFilters $filters The filters * - * @return \Illuminate\Http\Response + * @return Response * * @OA\Get( * path="/api/v1/invoices", @@ -122,9 +123,9 @@ class InvoiceController extends BaseController /** * Show the form for creating a new resource. * - * @param \App\Http\Requests\Invoice\CreateInvoiceRequest $request The request + * @param CreateInvoiceRequest $request The request * - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Get( @@ -168,9 +169,9 @@ class InvoiceController extends BaseController /** * Store a newly created resource in storage. * - * @param \App\Http\Requests\Invoice\StoreInvoiceRequest $request The request + * @param StoreInvoiceRequest $request The request * - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Post( @@ -220,10 +221,10 @@ class InvoiceController extends BaseController /** * Display the specified resource. * - * @param \App\Http\Requests\Invoice\ShowInvoiceRequest $request The request - * @param \App\Models\Invoice $invoice The invoice + * @param ShowInvoiceRequest $request The request + * @param Invoice $invoice The invoice * - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Get( @@ -276,10 +277,10 @@ class InvoiceController extends BaseController /** * Show the form for editing the specified resource. * - * @param \App\Http\Requests\Invoice\EditInvoiceRequest $request The request - * @param \App\Models\Invoice $invoice The invoice + * @param EditInvoiceRequest $request The request + * @param Invoice $invoice The invoice * - * @return \Illuminate\Http\Response + * @return Response * * @OA\Get( * path="/api/v1/invoices/{id}/edit", @@ -331,10 +332,10 @@ class InvoiceController extends BaseController /** * Update the specified resource in storage. * - * @param \App\Http\Requests\Invoice\UpdateInvoiceRequest $request The request - * @param \App\Models\Invoice $invoice The invoice + * @param UpdateInvoiceRequest $request The request + * @param Invoice $invoice The invoice * - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Put( @@ -401,11 +402,12 @@ class InvoiceController extends BaseController /** * Remove the specified resource from storage. * - * @param \App\Http\Requests\Invoice\DestroyInvoiceRequest $request - * @param \App\Models\Invoice $invoice + * @param DestroyInvoiceRequest $request + * @param Invoice $invoice * - * @return \Illuminate\Http\Response + * @return Response * + * @throws \Exception * @OA\Delete( * path="/api/v1/invoices/{id}", * operationId="deleteInvoice", @@ -558,16 +560,16 @@ class InvoiceController extends BaseController * summary="Performs a custom action on an invoice", * description="Performs a custom action on an invoice. * - * The current range of actions are as follows - * - clone_to_invoice - * - clone_to_quote - * - history - * - delivery_note - * - mark_paid - * - download - * - archive - * - delete - * - email", + * The current range of actions are as follows + * - clone_to_invoice + * - clone_to_quote + * - history + * - delivery_note + * - mark_paid + * - download + * - archive + * - delete + * - email", * @OA\Parameter(ref="#/components/parameters/X-Api-Secret"), * @OA\Parameter(ref="#/components/parameters/X-Api-Token"), * @OA\Parameter(ref="#/components/parameters/X-Requested-With"), @@ -614,6 +616,10 @@ class InvoiceController extends BaseController * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) + * @param ActionInvoiceRequest $request + * @param Invoice $invoice + * @param $action + * @return \App\Http\Controllers\Response|\Illuminate\Http\JsonResponse|Response|mixed|\Symfony\Component\HttpFoundation\StreamedResponse */ public function action(ActionInvoiceRequest $request, Invoice $invoice, $action) { @@ -771,6 +777,8 @@ class InvoiceController extends BaseController * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) + * @param $invitation_key + * @return \Symfony\Component\HttpFoundation\BinaryFileResponse */ public function downloadPdf($invitation_key) { diff --git a/app/Http/Controllers/LicenseController.php b/app/Http/Controllers/LicenseController.php index 73c194f41426..0d171b978c99 100644 --- a/app/Http/Controllers/LicenseController.php +++ b/app/Http/Controllers/LicenseController.php @@ -16,6 +16,8 @@ use App\Utils\CurlUtils; use App\Utils\Ninja; use Illuminate\Foundation\Bus\DispatchesJobs; use Illuminate\Http\Request; +use Illuminate\Http\Response; +use stdClass; class LicenseController extends BaseController { @@ -27,7 +29,7 @@ class LicenseController extends BaseController /** * Claim a white label license. * - * @return \Illuminate\Http\Response + * @return Response * * @OA\Get( * path="/api/v1/claim_license", @@ -93,7 +95,7 @@ class LicenseController extends BaseController if ($data == Account::RESULT_FAILURE) { $error = [ 'message' => trans('texts.invalid_white_label_license'), - 'errors' => new \stdClass, + 'errors' => new stdClass, ]; return response()->json($error, 400); @@ -103,7 +105,7 @@ class LicenseController extends BaseController if ($date < date_create()) { $error = [ 'message' => trans('texts.invalid_white_label_license'), - 'errors' => new \stdClass, + 'errors' => new stdClass, ]; return response()->json($error, 400); @@ -118,7 +120,7 @@ class LicenseController extends BaseController $error = [ 'message' => trans('texts.bought_white_label'), - 'errors' => new \stdClass, + 'errors' => new stdClass, ]; return response()->json($error, 200); @@ -126,7 +128,7 @@ class LicenseController extends BaseController } else { $error = [ 'message' => trans('texts.white_label_license_error'), - 'errors' => new \stdClass, + 'errors' => new stdClass, ]; return response()->json($error, 400); @@ -135,7 +137,7 @@ class LicenseController extends BaseController $error = [ 'message' => 'Invalid license, or invalid environment '.config('ninja.environment'), - 'errors' => new \stdClass, + 'errors' => new stdClass, ]; return response()->json($error, 400); diff --git a/app/Http/Controllers/MigrationController.php b/app/Http/Controllers/MigrationController.php index 1556f0d69861..e799b1b4379f 100644 --- a/app/Http/Controllers/MigrationController.php +++ b/app/Http/Controllers/MigrationController.php @@ -73,6 +73,9 @@ class MigrationController extends BaseController * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) + * @param Company $company + * @return \Illuminate\Http\JsonResponse + * @throws \Exception */ public function purgeCompany(Company $company) { @@ -135,6 +138,9 @@ class MigrationController extends BaseController * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) + * @param Request $request + * @param Company $company + * @return \Illuminate\Http\JsonResponse */ public function purgeCompanySaveSettings(Request $request, Company $company) { @@ -188,6 +194,9 @@ class MigrationController extends BaseController * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) + * @param Request $request + * @param Company $company + * @return \Illuminate\Http\JsonResponse|void */ public function startMigration(Request $request, Company $company) { @@ -218,6 +227,8 @@ class MigrationController extends BaseController $account = auth()->user()->account; $company = (new ImportMigrations())->getCompany($account); + $company->is_disabled = true; + $company->save(); $account->default_company_id = $company->id; $account->save(); @@ -227,7 +238,7 @@ class MigrationController extends BaseController $company_token->company_id = $company->id; $company_token->account_id = $account->id; $company_token->name = $request->token_name ?? Str::random(12); - $company_token->token = $request->token ?? \Illuminate\Support\Str::random(64); + $company_token->token = $request->token ?? Str::random(64); $company_token->is_system = true; $company_token->save(); @@ -279,6 +290,9 @@ class MigrationController extends BaseController $account = auth()->user()->account; $company = (new ImportMigrations())->getCompany($account); + $company->is_disabled = true; + $company->save(); + $account->default_company_id = $company->id; $account->save(); @@ -287,7 +301,7 @@ class MigrationController extends BaseController $company_token->company_id = $company->id; $company_token->account_id = $account->id; $company_token->name = $request->token_name ?? Str::random(12); - $company_token->token = $request->token ?? \Illuminate\Support\Str::random(64); + $company_token->token = $request->token ?? Str::random(64); $company_token->is_system = true; $company_token->save(); @@ -313,7 +327,10 @@ class MigrationController extends BaseController $account = auth()->user()->account; $company = (new ImportMigrations())->getCompany($account); - + + $company->is_disabled = true; + $company->save(); + $account->default_company_id = $company->id; $account->save(); @@ -322,7 +339,7 @@ class MigrationController extends BaseController $company_token->company_id = $company->id; $company_token->account_id = $account->id; $company_token->name = $request->token_name ?? Str::random(12); - $company_token->token = $request->token ?? \Illuminate\Support\Str::random(64); + $company_token->token = $request->token ?? Str::random(64); $company_token->is_system = true; $company_token->save(); @@ -345,12 +362,16 @@ class MigrationController extends BaseController $account = auth()->user()->account; $company = (new ImportMigrations())->getCompany($account); + $company->is_disabled = true; + $company->save(); + + $company_token = new CompanyToken(); $company_token->user_id = $user->id; $company_token->company_id = $company->id; $company_token->account_id = $account->id; $company_token->name = $request->token_name ?? Str::random(12); - $company_token->token = $request->token ?? \Illuminate\Support\Str::random(64); + $company_token->token = $request->token ?? Str::random(64); $company_token->is_system = true; $company_token->save(); diff --git a/app/Http/Controllers/PaymentController.php b/app/Http/Controllers/PaymentController.php index de000bd2eabf..3b22ecb661ba 100644 --- a/app/Http/Controllers/PaymentController.php +++ b/app/Http/Controllers/PaymentController.php @@ -23,12 +23,14 @@ use App\Http\Requests\Payment\StorePaymentRequest; use App\Http\Requests\Payment\UpdatePaymentRequest; use App\Jobs\Entity\ActionEntity; use App\Jobs\Invoice\ReverseInvoicePayment; +use App\Models\Invoice; use App\Models\Payment; use App\Repositories\BaseRepository; use App\Repositories\PaymentRepository; use App\Transformers\PaymentTransformer; use App\Utils\Traits\MakesHash; use Illuminate\Http\Request; +use Illuminate\Http\Response; /** * Class PaymentController. @@ -49,7 +51,7 @@ class PaymentController extends BaseController /** * PaymentController constructor. * - * @param \App\Repositories\PaymentRepository $payment_repo The invoice repo + * @param PaymentRepository $payment_repo The invoice repo */ public function __construct(PaymentRepository $payment_repo) { @@ -61,9 +63,9 @@ class PaymentController extends BaseController /** * Show the list of Invoices. * - * @param \App\Filters\PaymentFilters $filters The filters + * @param PaymentFilters $filters The filters * - * @return \Illuminate\Http\Response + * @return Response * * * @@ -110,9 +112,9 @@ class PaymentController extends BaseController /** * Show the form for creating a new resource. * - * @param \App\Http\Requests\Payment\CreatePaymentRequest $request The request + * @param CreatePaymentRequest $request The request * - * @return \Illuminate\Http\Response + * @return Response * * * @@ -157,9 +159,9 @@ class PaymentController extends BaseController /** * Store a newly created resource in storage. * - * @param \App\Http\Requests\Payment\StorePaymentRequest $request The request + * @param StorePaymentRequest $request The request * - * @return \Illuminate\Http\Response + * @return Response * * * @@ -209,10 +211,10 @@ class PaymentController extends BaseController /** * Display the specified resource. * - * @param \App\Http\Requests\Payment\ShowPaymentRequest $request The request - * @param \App\Models\Invoice $payment The invoice + * @param ShowPaymentRequest $request The request + * @param Payment $payment The invoice * - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Get( @@ -265,10 +267,10 @@ class PaymentController extends BaseController /** * Show the form for editing the specified resource. * - * @param \App\Http\Requests\Payment\EditPaymentRequest $request The request - * @param \App\Models\Invoice $payment The invoice + * @param EditPaymentRequest $request The request + * @param Payment $payment The invoice * - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Get( @@ -321,10 +323,10 @@ class PaymentController extends BaseController /** * Update the specified resource in storage. * - * @param \App\Http\Requests\Payment\UpdatePaymentRequest $request The request - * @param \App\Models\Invoice $payment The invoice + * @param UpdatePaymentRequest $request The request + * @param Payment $payment The invoice * - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Put( @@ -383,12 +385,13 @@ class PaymentController extends BaseController /** * Remove the specified resource from storage. * - * @param \App\Http\Requests\Payment\DestroyPaymentRequest $request - * @param \App\Models\Invoice $payment + * @param DestroyPaymentRequest $request + * @param Payment $payment * - * @return \Illuminate\Http\Response + * @return Response * * + * @throws \Exception * @OA\Delete( * path="/api/v1/payments/{id}", * operationId="deletePayment", @@ -521,16 +524,16 @@ class PaymentController extends BaseController * summary="Performs a custom action on an Payment", * description="Performs a custom action on an Payment. - The current range of actions are as follows - - clone_to_Payment - - clone_to_quote - - history - - delivery_note - - mark_paid - - download - - archive - - delete - - email", + The current range of actions are as follows + - clone_to_Payment + - clone_to_quote + - history + - delivery_note + - mark_paid + - download + - archive + - delete + - email", * @OA\Parameter(ref="#/components/parameters/X-Api-Secret"), * @OA\Parameter(ref="#/components/parameters/X-Api-Token"), * @OA\Parameter(ref="#/components/parameters/X-Requested-With"), @@ -577,6 +580,9 @@ class PaymentController extends BaseController * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) + * @param ActionPaymentRequest $request + * @param Payment $payment + * @param $action */ public function action(ActionPaymentRequest $request, Payment $payment, $action) { @@ -617,9 +623,9 @@ class PaymentController extends BaseController /** * Store a newly created refund. * - * @param \App\Http\Requests\Payment\RefundPaymentRequest $request The request + * @param RefundPaymentRequest $request The request * - * @return \Illuminate\Http\Response + * @return Response * * * diff --git a/app/Http/Controllers/PaymentTermController.php b/app/Http/Controllers/PaymentTermController.php index 150e75ceb58d..5cb7f1ddc997 100644 --- a/app/Http/Controllers/PaymentTermController.php +++ b/app/Http/Controllers/PaymentTermController.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers; use App\Factory\PaymentTermFactory; +use App\Http\Requests\Payment\StorePaymentRequest; use App\Http\Requests\PaymentTerm\CreatePaymentTermRequest; use App\Http\Requests\PaymentTerm\DestroyPaymentTermRequest; use App\Http\Requests\PaymentTerm\ShowPaymentTermRequest; @@ -13,6 +14,7 @@ use App\Repositories\PaymentTermRepository; use App\Transformers\PaymentTermTransformer; use App\Utils\Traits\MakesHash; use Illuminate\Http\Request; +use Illuminate\Http\Response; class PaymentTermController extends BaseController { @@ -30,7 +32,7 @@ class PaymentTermController extends BaseController /** * PaymentTermController constructor. * - * @param \App\Repositories\PaymentTermRepository $payment_term_repo The payment term repo + * @param PaymentTermRepository $payment_term_repo The payment term repo */ public function __construct(PaymentTermRepository $payment_term_repo) { @@ -82,9 +84,9 @@ class PaymentTermController extends BaseController /** * Show the form for creating a new resource. * - * @param \App\Http\Requests\Payment\CreatePaymentTermRequest $request The request + * @param CreatePaymentTermRequest $request The request * - * @return \Illuminate\Http\Response + * @return Response * * * @@ -129,9 +131,9 @@ class PaymentTermController extends BaseController /** * Store a newly created resource in storage. * - * @param \App\Http\Requests\Payment\StorePaymentRequest $request The request + * @param StorePaymentTermRequest $request The request * - * @return \Illuminate\Http\Response + * @return Response * * * @@ -222,6 +224,9 @@ class PaymentTermController extends BaseController * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) + * @param ShowPaymentTermRequest $request + * @param PaymentTerm $payment_term + * @return Response|mixed */ public function show(ShowPaymentTermRequest $request, PaymentTerm $payment_term) { @@ -270,6 +275,9 @@ class PaymentTermController extends BaseController * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) + * @param EditPaymentRequest $request + * @param Payment $payment + * @return Response|mixed */ public function edit(EditPaymentRequest $request, Payment $payment) { @@ -279,10 +287,10 @@ class PaymentTermController extends BaseController /** * Update the specified resource in storage. * - * @param \App\Http\Requests\PaymentTerm\UpdatePaymentTermRequest $request The request - * @param \App\Models\PaymentTerm $payment_term The payment term + * @param UpdatePaymentTermRequest $request The request + * @param PaymentTerm $payment_term The payment term * - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Put( @@ -338,12 +346,13 @@ class PaymentTermController extends BaseController /** * Remove the specified resource from storage. * - * @param \App\Http\Requests\PaymentTerm\DestroyPaymentTermRequest $request - * @param \App\Models\PaymentTerm $payment_term + * @param DestroyPaymentTermRequest $request + * @param PaymentTerm $payment_term * - * @return \Illuminate\Http\Response + * @return Response * * + * @throws \Exception * @OA\Delete( * path="/api/v1/payment_terms/{id}", * operationId="deletePaymentTerm", diff --git a/app/Http/Controllers/PingController.php b/app/Http/Controllers/PingController.php index f98f8cfff015..41f8886880ef 100644 --- a/app/Http/Controllers/PingController.php +++ b/app/Http/Controllers/PingController.php @@ -14,13 +14,14 @@ namespace App\Http\Controllers; use App\Utils\Ninja; use App\Utils\SystemHealth; use Illuminate\Http\Request; +use Illuminate\Http\Response; class PingController extends BaseController { /** * Get a ping response from the system. * - * @return \Illuminate\Http\Response + * @return Response * * @OA\Get( * path="/api/v1/ping", @@ -50,7 +51,7 @@ class PingController extends BaseController /** * Get a health check of the system. * - * @return \Illuminate\Http\Response + * @return Response * * @OA\Get( * path="/api/v1/health_check", diff --git a/app/Http/Controllers/ProductController.php b/app/Http/Controllers/ProductController.php index 2aabc168e9fa..06f9735b4acc 100644 --- a/app/Http/Controllers/ProductController.php +++ b/app/Http/Controllers/ProductController.php @@ -25,6 +25,7 @@ use App\Repositories\ProductRepository; use App\Transformers\ProductTransformer; use App\Utils\Traits\MakesHash; use Illuminate\Http\Request; +use Illuminate\Http\Response; class ProductController extends BaseController { @@ -38,6 +39,7 @@ class ProductController extends BaseController /** * ProductController constructor. + * @param ProductRepository $product_repo */ public function __construct(ProductRepository $product_repo) { @@ -54,7 +56,7 @@ class ProductController extends BaseController * summary="Gets a list of products", * description="Lists products, search and filters allow fine grained lists to be generated. - Query parameters can be added to performed more fine grained filtering of the products, these are handled by the ProductFilters class which defines the methods available", + Query parameters can be added to performed more fine grained filtering of the products, these are handled by the ProductFilters class which defines the methods available", * @OA\Parameter(ref="#/components/parameters/X-Api-Secret"), * @OA\Parameter(ref="#/components/parameters/X-Api-Token"), * @OA\Parameter(ref="#/components/parameters/X-Requested-With"), @@ -71,7 +73,6 @@ class ProductController extends BaseController * response=422, * description="Validation error", * @OA\JsonContent(ref="#/components/schemas/ValidationError"), - * ), * @OA\Response( * response="default", @@ -79,6 +80,8 @@ class ProductController extends BaseController * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) + * @param ProductFilters $filters + * @return Response|mixed */ public function index(ProductFilters $filters) { @@ -90,7 +93,8 @@ class ProductController extends BaseController /** * Show the form for creating a new resource. * - * @return \Illuminate\Http\Response + * @param CreateProductRequest $request + * @return Response * * * @@ -135,8 +139,8 @@ class ProductController extends BaseController /** * Store a newly created resource in storage. * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response + * @param StoreProductRequest $request + * @return Response * * * @@ -181,8 +185,9 @@ class ProductController extends BaseController /** * Display the specified resource. * - * @param Product $product - * @return \Illuminate\Http\Response + * @param ShowProductRequest $request + * @param Product $product + * @return Response * * * @OA\Get( @@ -235,8 +240,9 @@ class ProductController extends BaseController /** * Show the form for editing the specified resource. * - * @param Product $product - * @return \Illuminate\Http\Response + * @param EditProductRequest $request + * @param Product $product + * @return Response * * @OA\Get( * path="/api/v1/products/{id}/edit", @@ -288,9 +294,9 @@ class ProductController extends BaseController /** * Update the specified resource in storage. * - * @param \Illuminate\Http\Request $request - * @param Product $product - * @return \Illuminate\Http\Response + * @param UpdateProductRequest $request + * @param Product $product + * @return Response * * * @OA\Put( @@ -349,10 +355,12 @@ class ProductController extends BaseController /** * Remove the specified resource from storage. * - * @param Product $product - * @return \Illuminate\Http\Response + * @param DestroyProductRequest $request + * @param Product $product + * @return Response * * + * @throws \Exception * @OA\Delete( * path="/api/v1/products/{id}", * operationId="deleteProduct", diff --git a/app/Http/Controllers/ProjectController.php b/app/Http/Controllers/ProjectController.php index cfc772554147..371b2004791b 100644 --- a/app/Http/Controllers/ProjectController.php +++ b/app/Http/Controllers/ProjectController.php @@ -28,6 +28,7 @@ use App\Utils\Traits\GeneratesCounter; use App\Utils\Traits\MakesHash; use App\Utils\Traits\SavesDocuments; use Illuminate\Http\Request; +use Illuminate\Http\Response; use Illuminate\Support\Facades\Cache; /** @@ -38,7 +39,7 @@ class ProjectController extends BaseController use MakesHash; use SavesDocuments; use GeneratesCounter; - + protected $entity_type = Project::class; protected $entity_transformer = ProjectTransformer::class; @@ -47,7 +48,7 @@ class ProjectController extends BaseController /** * ProjectController constructor. - * @param ProjectRepository $projectRepo + * @param ProjectRepository $project_repo */ public function __construct(ProjectRepository $project_repo) { @@ -57,7 +58,7 @@ class ProjectController extends BaseController } /** - * @OA\Get( + * @OA\Get( * path="/api/v1/projects", * operationId="getProjects", * tags={"projects"}, @@ -80,7 +81,6 @@ class ProjectController extends BaseController * response=422, * description="Validation error", * @OA\JsonContent(ref="#/components/schemas/ValidationError"), - * ), * @OA\Response( * response="default", @@ -88,6 +88,8 @@ class ProjectController extends BaseController * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) + * @param ProjectFilters $filters + * @return Response|mixed */ public function index(ProjectFilters $filters) { @@ -99,8 +101,9 @@ class ProjectController extends BaseController /** * Display the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param ShowProjectRequest $request + * @param Project $project + * @return Response * * * @OA\Get( @@ -153,8 +156,9 @@ class ProjectController extends BaseController /** * Show the form for editing the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param EditProjectRequest $request + * @param Project $project + * @return Response * * * @OA\Get( @@ -207,9 +211,9 @@ class ProjectController extends BaseController /** * Update the specified resource in storage. * - * @param \Illuminate\Http\Request $request - * @param App\Models\Project $project - * @return \Illuminate\Http\Response + * @param UpdateProjectRequest $request + * @param Project $project + * @return Response * * * @@ -262,6 +266,7 @@ class ProjectController extends BaseController } $project->fill($request->all()); + $project->number = empty($project->number) ? $this->getNextProjectNumber($project) : $project->number; $project->save(); return $this->itemResponse($project->fresh()); @@ -270,7 +275,8 @@ class ProjectController extends BaseController /** * Show the form for creating a new resource. * - * @return \Illuminate\Http\Response + * @param CreateProjectRequest $request + * @return Response * * * @@ -315,8 +321,8 @@ class ProjectController extends BaseController /** * Store a newly created resource in storage. * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response + * @param StoreProjectRequest $request + * @return Response * * * @@ -355,23 +361,29 @@ class ProjectController extends BaseController { $project = ProjectFactory::create(auth()->user()->company()->id, auth()->user()->id); $project->fill($request->all()); - $project->number = $this->getNextProjectNumber($request->getClient($request->input('client_id'))); $project->save(); + if(empty($project->number)){ + $project->number = $this->getNextProjectNumber($project); + $project->save(); + } + if ($request->has('documents')) { $this->saveDocuments($request->input('documents'), $project); } - + return $this->itemResponse($project->fresh()); } /** * Remove the specified resource from storage. * - * @param int $id - * @return \Illuminate\Http\Response + * @param DestroyProjectRequest $request + * @param Project $project + * @return Response * * + * @throws \Exception * @OA\Delete( * path="/api/v1/projects/{id}", * operationId="deleteProject", @@ -426,8 +438,7 @@ class ProjectController extends BaseController /** * Perform bulk actions on the list view. * - * @param BulkProjectRequest $request - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Post( diff --git a/app/Http/Controllers/QuoteController.php b/app/Http/Controllers/QuoteController.php index a2903d3ede48..6cf4cdd25744 100644 --- a/app/Http/Controllers/QuoteController.php +++ b/app/Http/Controllers/QuoteController.php @@ -34,6 +34,7 @@ use App\Transformers\QuoteTransformer; use App\Utils\TempFile; use App\Utils\Traits\MakesHash; use Illuminate\Http\Request; +use Illuminate\Http\Response; /** * Class QuoteController. @@ -56,7 +57,7 @@ class QuoteController extends BaseController /** * QuoteController constructor. * - * @param \App\Repositories\QuoteRepository $Quote_repo The Quote repo + * @param QuoteRepository $quote_repo */ public function __construct(QuoteRepository $quote_repo) { @@ -68,7 +69,8 @@ class QuoteController extends BaseController /** * Display a listing of the resource. * - * @return \Illuminate\Http\Response + * @param QuoteFilters $filters + * @return Response * * * @OA\Get( @@ -78,7 +80,7 @@ class QuoteController extends BaseController * summary="Gets a list of quotes", * description="Lists quotes, search and filters allow fine grained lists to be generated. - Query parameters can be added to performed more fine grained filtering of the quotes, these are handled by the QuoteFilters class which defines the methods available", + Query parameters can be added to performed more fine grained filtering of the quotes, these are handled by the QuoteFilters class which defines the methods available", * @OA\Parameter(ref="#/components/parameters/X-Api-Secret"), * @OA\Parameter(ref="#/components/parameters/X-Api-Token"), * @OA\Parameter(ref="#/components/parameters/X-Requested-With"), @@ -95,7 +97,6 @@ class QuoteController extends BaseController * response=422, * description="Validation error", * @OA\JsonContent(ref="#/components/schemas/ValidationError"), - * ), * @OA\Response( * response="default", @@ -114,7 +115,8 @@ class QuoteController extends BaseController /** * Show the form for creating a new resource. * - * @return \Illuminate\Http\Response + * @param CreateQuoteRequest $request + * @return Response * * * @@ -159,9 +161,9 @@ class QuoteController extends BaseController /** * Store a newly created resource in storage. * - * @param \App\Http\Requests\Quote\StoreQuoteRequest $request The request + * @param StoreQuoteRequest $request The request * - * @return \Illuminate\Http\Response + * @return Response * * * @@ -208,10 +210,10 @@ class QuoteController extends BaseController /** * Display the specified resource. * - * @param \App\Http\Requests\Quote\ShowQuoteRequest $request The request - * @param \App\Models\Quote $quote The quote + * @param ShowQuoteRequest $request The request + * @param Quote $quote The quote * - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Get( @@ -264,10 +266,10 @@ class QuoteController extends BaseController /** * Show the form for editing the specified resource. * - * @param \App\Http\Requests\Quote\EditQuoteRequest $request The request - * @param \App\Models\Quote $quote The quote + * @param EditQuoteRequest $request The request + * @param Quote $quote The quote * - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Get( @@ -320,10 +322,10 @@ class QuoteController extends BaseController /** * Update the specified resource in storage. * - * @param \App\Http\Requests\Quote\UpdateQuoteRequest $request The request - * @param \App\Models\Quote $quote The quote + * @param UpdateQuoteRequest $request The request + * @param Quote $quote The quote * - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Put( @@ -382,12 +384,13 @@ class QuoteController extends BaseController /** * Remove the specified resource from storage. * - * @param \App\Http\Requests\Quote\DestroyQuoteRequest $request - * @param \App\Models\Quote $quote + * @param DestroyQuoteRequest $request + * @param Quote $quote * - * @return \Illuminate\Http\Response + * @return Response * * + * @throws \Exception * @OA\Delete( * path="/api/v1/quotes/{id}", * operationId="deleteQuote", @@ -555,16 +558,16 @@ class QuoteController extends BaseController * summary="Performs a custom action on an Quote", * description="Performs a custom action on an Quote. - The current range of actions are as follows - - clone_to_Quote - - clone_to_quote - - history - - delivery_note - - mark_paid - - download - - archive - - delete - - email", + The current range of actions are as follows + - clone_to_Quote + - clone_to_quote + - history + - delivery_note + - mark_paid + - download + - archive + - delete + - email", * @OA\Parameter(ref="#/components/parameters/X-Api-Secret"), * @OA\Parameter(ref="#/components/parameters/X-Api-Token"), * @OA\Parameter(ref="#/components/parameters/X-Requested-With"), @@ -611,6 +614,10 @@ class QuoteController extends BaseController * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) + * @param ActionQuoteRequest $request + * @param Quote $quote + * @param $action + * @return \Illuminate\Http\JsonResponse|Response|mixed|\Symfony\Component\HttpFoundation\StreamedResponse */ public function action(ActionQuoteRequest $request, Quote $quote, $action) { diff --git a/app/Http/Controllers/RecurringInvoiceController.php b/app/Http/Controllers/RecurringInvoiceController.php index d49413839aab..7fe473520f03 100644 --- a/app/Http/Controllers/RecurringInvoiceController.php +++ b/app/Http/Controllers/RecurringInvoiceController.php @@ -29,6 +29,7 @@ use App\Repositories\RecurringInvoiceRepository; use App\Transformers\RecurringInvoiceTransformer; use App\Utils\Traits\MakesHash; use Illuminate\Http\Request; +use Illuminate\Http\Response; use Illuminate\Support\Facades\Log; /** @@ -52,7 +53,7 @@ class RecurringInvoiceController extends BaseController /** * RecurringInvoiceController constructor. * - * @param \App\Repositories\RecurringInvoiceRepository $recurring_invoice_repo The RecurringInvoice repo + * @param RecurringInvoiceRepository $recurring_invoice_repo The RecurringInvoice repo */ public function __construct(RecurringInvoiceRepository $recurring_invoice_repo) { @@ -64,9 +65,9 @@ class RecurringInvoiceController extends BaseController /** * Show the list of recurring_invoices. * - * @param \App\Filters\RecurringInvoiceFilters $filters The filters + * @param RecurringInvoiceFilters $filters The filters * - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Get( @@ -112,9 +113,9 @@ class RecurringInvoiceController extends BaseController /** * Show the form for creating a new resource. * - * @param \App\Http\Requests\RecurringInvoice\CreateRecurringInvoiceRequest $request The request + * @param CreateRecurringInvoiceRequest $request The request * - * @return \Illuminate\Http\Response + * @return Response * * * @@ -159,9 +160,9 @@ class RecurringInvoiceController extends BaseController /** * Store a newly created resource in storage. * - * @param \App\Http\Requests\RecurringInvoice\StoreRecurringInvoiceRequest $request The request + * @param StoreRecurringInvoiceRequest $request The request * - * @return \Illuminate\Http\Response + * @return Response * * * @@ -206,10 +207,10 @@ class RecurringInvoiceController extends BaseController /** * Display the specified resource. * - * @param \App\Http\Requests\RecurringInvoice\ShowRecurringInvoiceRequest $request The request - * @param \App\Models\RecurringInvoice $recurring_invoice The RecurringInvoice + * @param ShowRecurringInvoiceRequest $request The request + * @param RecurringInvoice $recurring_invoice The RecurringInvoice * - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Get( @@ -262,10 +263,10 @@ class RecurringInvoiceController extends BaseController /** * Show the form for editing the specified resource. * - * @param \App\Http\Requests\RecurringInvoice\EditRecurringInvoiceRequest $request The request - * @param \App\Models\RecurringInvoice $recurring_invoice The RecurringInvoice + * @param EditRecurringInvoiceRequest $request The request + * @param RecurringInvoice $recurring_invoice The RecurringInvoice * - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Get( @@ -318,10 +319,10 @@ class RecurringInvoiceController extends BaseController /** * Update the specified resource in storage. * - * @param \App\Http\Requests\RecurringInvoice\UpdateRecurringInvoiceRequest $request The request - * @param \App\Models\RecurringInvoice $recurring_invoice The RecurringInvoice + * @param UpdateRecurringInvoiceRequest $request The request + * @param RecurringInvoice $recurring_invoice The RecurringInvoice * - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Put( @@ -380,12 +381,13 @@ class RecurringInvoiceController extends BaseController /** * Remove the specified resource from storage. * - * @param \App\Http\Requests\RecurringInvoice\DestroyRecurringInvoiceRequest $request - * @param \App\Models\RecurringInvoice $recurring_invoice + * @param DestroyRecurringInvoiceRequest $request + * @param RecurringInvoice $recurring_invoice * - * @return \Illuminate\Http\Response + * @return Response * * + * @throws \Exception * @OA\Delete( * path="/api/v1/recurring_invoices/{id}", * operationId="deleteRecurringInvoice", @@ -514,16 +516,16 @@ class RecurringInvoiceController extends BaseController * summary="Performs a custom action on an RecurringInvoice", * description="Performs a custom action on an RecurringInvoice. - The current range of actions are as follows - - clone_to_RecurringInvoice - - clone_to_quote - - history - - delivery_note - - mark_paid - - download - - archive - - delete - - email", + The current range of actions are as follows + - clone_to_RecurringInvoice + - clone_to_quote + - history + - delivery_note + - mark_paid + - download + - archive + - delete + - email", * @OA\Parameter(ref="#/components/parameters/X-Api-Secret"), * @OA\Parameter(ref="#/components/parameters/X-Api-Token"), * @OA\Parameter(ref="#/components/parameters/X-Requested-With"), @@ -570,6 +572,10 @@ class RecurringInvoiceController extends BaseController * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) + * @param ActionRecurringInvoiceRequest $request + * @param RecurringInvoice $recurring_invoice + * @param $action + * @return Response|mixed */ public function action(ActionRecurringInvoiceRequest $request, RecurringInvoice $recurring_invoice, $action) { @@ -605,14 +611,14 @@ class RecurringInvoiceController extends BaseController break; case 'start': $recurring_invoice = $recurring_invoice->service()->start()->save(); - + if (! $bulk) { $this->itemResponse($recurring_invoice); } break; case 'stop': $recurring_invoice = $recurring_invoice->service()->stop()->save(); - + if (! $bulk) { $this->itemResponse($recurring_invoice); } diff --git a/app/Http/Controllers/RecurringQuoteController.php b/app/Http/Controllers/RecurringQuoteController.php index 7f2db92efd46..164342c6164f 100644 --- a/app/Http/Controllers/RecurringQuoteController.php +++ b/app/Http/Controllers/RecurringQuoteController.php @@ -29,6 +29,7 @@ use App\Repositories\RecurringQuoteRepository; use App\Transformers\RecurringQuoteTransformer; use App\Utils\Traits\MakesHash; use Illuminate\Http\Request; +use Illuminate\Http\Response; use Illuminate\Support\Facades\Log; /** @@ -52,7 +53,7 @@ class RecurringQuoteController extends BaseController /** * RecurringQuoteController constructor. * - * @param \App\Repositories\RecurringQuoteRepository $recurring_quote_repo The RecurringQuote repo + * @param RecurringQuoteRepository $recurring_quote_repo The RecurringQuote repo */ public function __construct(RecurringQuoteRepository $recurring_quote_repo) { @@ -64,9 +65,9 @@ class RecurringQuoteController extends BaseController /** * Show the list of recurring_invoices. * - * @param \App\Filters\RecurringQuoteFilters $filters The filters + * @param RecurringQuoteFilters $filters The filters * - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Get( @@ -112,9 +113,9 @@ class RecurringQuoteController extends BaseController /** * Show the form for creating a new resource. * - * @param \App\Http\Requests\RecurringQuote\CreateRecurringQuoteRequest $request The request + * @param CreateRecurringQuoteRequest $request The request * - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Get( @@ -158,9 +159,9 @@ class RecurringQuoteController extends BaseController /** * Store a newly created resource in storage. * - * @param \App\Http\Requests\RecurringQuote\StoreRecurringQuoteRequest $request The request + * @param StoreRecurringQuoteRequest $request The request * - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Post( @@ -204,10 +205,10 @@ class RecurringQuoteController extends BaseController /** * Display the specified resource. * - * @param \App\Http\Requests\RecurringQuote\ShowRecurringQuoteRequest $request The request - * @param \App\Models\RecurringQuote $recurring_quote The RecurringQuote + * @param ShowRecurringQuoteRequest $request The request + * @param RecurringQuote $recurring_quote The RecurringQuote * - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Get( @@ -260,10 +261,10 @@ class RecurringQuoteController extends BaseController /** * Show the form for editing the specified resource. * - * @param \App\Http\Requests\RecurringQuote\EditRecurringQuoteRequest $request The request - * @param \App\Models\RecurringQuote $recurring_quote The RecurringQuote + * @param EditRecurringQuoteRequest $request The request + * @param RecurringQuote $recurring_quote The RecurringQuote * - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Get( @@ -316,10 +317,10 @@ class RecurringQuoteController extends BaseController /** * Update the specified resource in storage. * - * @param \App\Http\Requests\RecurringQuote\UpdateRecurringQuoteRequest $request The request - * @param \App\Models\RecurringQuote $recurring_quote The RecurringQuote + * @param UpdateRecurringQuoteRequest $request The request + * @param RecurringQuote $recurring_quote The RecurringQuote * - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Put( @@ -378,12 +379,13 @@ class RecurringQuoteController extends BaseController /** * Remove the specified resource from storage. * - * @param \App\Http\Requests\RecurringQuote\DestroyRecurringQuoteRequest $request - * @param \App\Models\RecurringQuote $recurring_quote + * @param DestroyRecurringQuoteRequest $request + * @param RecurringQuote $recurring_quote * - * @return \Illuminate\Http\Response + * @return Response * * + * @throws \Exception * @OA\Delete( * path="/api/v1/recurring_quotes/{id}", * operationId="deleteRecurringQuote", @@ -513,16 +515,16 @@ class RecurringQuoteController extends BaseController * summary="Performs a custom action on an RecurringQuote", * description="Performs a custom action on an RecurringQuote. - The current range of actions are as follows - - clone_to_RecurringQuote - - clone_to_quote - - history - - delivery_note - - mark_paid - - download - - archive - - delete - - email", + The current range of actions are as follows + - clone_to_RecurringQuote + - clone_to_quote + - history + - delivery_note + - mark_paid + - download + - archive + - delete + - email", * @OA\Parameter(ref="#/components/parameters/X-Api-Secret"), * @OA\Parameter(ref="#/components/parameters/X-Api-Token"), * @OA\Parameter(ref="#/components/parameters/X-Requested-With"), @@ -569,6 +571,9 @@ class RecurringQuoteController extends BaseController * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) + * @param ActionRecurringQuoteRequest $request + * @param RecurringQuote $recurring_quote + * @param $action */ public function action(ActionRecurringQuoteRequest $request, RecurringQuote $recurring_quote, $action) { diff --git a/app/Http/Controllers/SettingsController.php b/app/Http/Controllers/SettingsController.php index ad4ba65e8297..80cdedfc7d73 100644 --- a/app/Http/Controllers/SettingsController.php +++ b/app/Http/Controllers/SettingsController.php @@ -12,6 +12,7 @@ namespace App\Http\Controllers; use Illuminate\Http\Request; +use Illuminate\Http\Response; /** * Class SettingsController. @@ -26,7 +27,7 @@ class SettingsController extends BaseController /** * Display a listing of the resource. * - * @return \Illuminate\Http\Response + * @return void */ public function index() { @@ -36,7 +37,7 @@ class SettingsController extends BaseController /** * Show the form for creating a new resource. * - * @return \Illuminate\Http\Response + * @return void */ public function create() { @@ -46,8 +47,8 @@ class SettingsController extends BaseController /** * Store a newly created resource in storage. * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response + * @param Request $request + * @return void */ public function store(Request $request) { @@ -57,8 +58,8 @@ class SettingsController extends BaseController /** * Display the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param int $id + * @return void */ public function show($id) { @@ -68,8 +69,8 @@ class SettingsController extends BaseController /** * Show the form for editing the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param int $id + * @return void */ public function edit($id) { @@ -79,9 +80,9 @@ class SettingsController extends BaseController /** * Update the specified resource in storage. * - * @param \Illuminate\Http\Request $request - * @param int $id - * @return \Illuminate\Http\Response + * @param Request $request + * @param int $id + * @return void */ public function update(Request $request, $id) { @@ -91,8 +92,8 @@ class SettingsController extends BaseController /** * Remove the specified resource from storage. * - * @param int $id - * @return \Illuminate\Http\Response + * @param int $id + * @return void */ public function destroy($id) { diff --git a/app/Http/Controllers/SetupController.php b/app/Http/Controllers/SetupController.php index 3bd39ea2c3db..66f3d58d60cd 100644 --- a/app/Http/Controllers/SetupController.php +++ b/app/Http/Controllers/SetupController.php @@ -18,7 +18,13 @@ use App\Http\Requests\Setup\StoreSetupRequest; use App\Jobs\Account\CreateAccount; use App\Jobs\Util\VersionCheck; use App\Models\Account; +use App\Utils\CurlUtils; use App\Utils\SystemHealth; +use DB; +use Exception; +use Illuminate\Contracts\Foundation\Application; +use Illuminate\Contracts\Routing\ResponseFactory; +use Illuminate\Http\JsonResponse; use Illuminate\Http\Response; use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\Request; @@ -81,11 +87,6 @@ class SetupController extends Controller $_ENV['MAIL_FROM_ADDRESS'] = $request->input('mail_address'); $_ENV['MAIL_PASSWORD'] = $request->input('mail_password'); $_ENV['NINJA_ENVIRONMENT'] = 'selfhost'; - $_ENV['SELF_UPDATER_REPO_VENDOR'] = 'invoiceninja'; - $_ENV['SELF_UPDATER_REPO_NAME'] = 'invoiceninja'; - $_ENV['SELF_UPDATER_USE_BRANCH'] = 'v2'; - $_ENV['SELF_UPDATER_MAILTO_ADDRESS'] = $request->input('mail_address'); - $_ENV['SELF_UPDATER_MAILTO_NAME'] = $request->input('mail_name'); $_ENV['DB_CONNECTION'] = 'db-ninja-01'; $config = ''; @@ -111,7 +112,7 @@ class SetupController extends Controller define('STDIN', fopen('php://stdin', 'r')); /* Make sure no stale connections are cached */ - \DB::purge('db-ninja-01'); + DB::purge('db-ninja-01'); /* Run migrations */ Artisan::call('optimize'); @@ -128,7 +129,7 @@ class SetupController extends Controller VersionCheck::dispatchNow(); return redirect('/'); - } catch (\Exception $e) { + } catch (Exception $e) { info($e->getMessage()); return redirect() @@ -158,7 +159,7 @@ class SetupController extends Controller * Return status based on check of SMTP connection. * * @param CheckMailRequest $request - * @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\Routing\ResponseFactory|\Illuminate\Http\JsonResponse|Response + * @return Application|ResponseFactory|JsonResponse|Response */ public function checkMail(CheckMailRequest $request) { @@ -170,7 +171,7 @@ class SetupController extends Controller } else { return response()->json($response_array, 200); } - } catch (\Exception $e) { + } catch (Exception $e) { info(['message' => $e->getMessage(), 'action' => 'SetupController::checkMail()']); return response()->json(['message' => $e->getMessage()], 400); @@ -204,7 +205,7 @@ class SetupController extends Controller ); return response(['url' => asset('test.pdf')], 200); - } catch (\Exception $e) { + } catch (Exception $e) { info($e->getMessage()); return response([], 500); @@ -218,13 +219,13 @@ class SetupController extends Controller $url = 'https://www.invoiceninja.org/'; $phantom_url = "https://phantomjscloud.com/api/browser/v2/{$key}/?request=%7Burl:%22{$url}%22,renderType:%22pdf%22%7D"; - $pdf = \App\Utils\CurlUtils::get($phantom_url); + $pdf = CurlUtils::get($phantom_url); Storage::disk(config('filesystems.default'))->put('test.pdf', $pdf); Storage::disk('local')->put('test.pdf', $pdf); return response(['url' => Storage::disk('local')->url('test.pdf')], 200); - } catch (\Exception $e) { + } catch (Exception $e) { return response([], 500); } } diff --git a/app/Http/Controllers/Shop/ClientController.php b/app/Http/Controllers/Shop/ClientController.php index ded535c1f4d0..8b395137d39a 100644 --- a/app/Http/Controllers/Shop/ClientController.php +++ b/app/Http/Controllers/Shop/ClientController.php @@ -26,6 +26,7 @@ use App\Utils\Ninja; use App\Utils\Traits\MakesHash; use App\Utils\Traits\Uploadable; use Illuminate\Http\Request; +use stdClass; class ClientController extends BaseController { @@ -43,7 +44,7 @@ class ClientController extends BaseController /** * ClientController constructor. - * @param ClientRepository $clientRepo + * @param ClientRepository $client_repo */ public function __construct(ClientRepository $client_repo) { @@ -57,7 +58,7 @@ class ClientController extends BaseController $company = Company::where('company_key', $request->header('X-API-COMPANY-KEY'))->first(); if (! $company->enable_shop_api) { - return response()->json(['message' => 'Shop is disabled', 'errors' => new \stdClass], 403); + return response()->json(['message' => 'Shop is disabled', 'errors' => new stdClass], 403); } $contact = ClientContact::with('client') @@ -73,7 +74,7 @@ class ClientController extends BaseController $company = Company::where('company_key', $request->header('X-API-COMPANY-KEY'))->first(); if (! $company->enable_shop_api) { - return response()->json(['message' => 'Shop is disabled', 'errors' => new \stdClass], 403); + return response()->json(['message' => 'Shop is disabled', 'errors' => new stdClass], 403); } app('queue')->createPayloadUsing(function () use ($company) { diff --git a/app/Http/Controllers/Shop/InvoiceController.php b/app/Http/Controllers/Shop/InvoiceController.php index 182f02ae33ab..cd0c07538d8a 100644 --- a/app/Http/Controllers/Shop/InvoiceController.php +++ b/app/Http/Controllers/Shop/InvoiceController.php @@ -26,6 +26,7 @@ use App\Transformers\InvoiceTransformer; use App\Utils\Ninja; use App\Utils\Traits\MakesHash; use Illuminate\Http\Request; +use stdClass; class InvoiceController extends BaseController { @@ -43,7 +44,7 @@ class InvoiceController extends BaseController /** * InvoiceController constructor. * - * @param \App\Repositories\InvoiceRepository $invoice_repo The invoice repo + * @param InvoiceRepository $invoice_repo The invoice repo */ public function __construct(InvoiceRepository $invoice_repo) { @@ -57,7 +58,7 @@ class InvoiceController extends BaseController $company = Company::where('company_key', $request->header('X-API-COMPANY-KEY'))->first(); if (! $company->enable_shop_api) { - return response()->json(['message' => 'Shop is disabled', 'errors' => new \stdClass], 403); + return response()->json(['message' => 'Shop is disabled', 'errors' => new stdClass], 403); } $invitation = InvoiceInvitation::with(['invoice']) @@ -73,7 +74,7 @@ class InvoiceController extends BaseController $company = Company::where('company_key', $request->header('X-API-COMPANY-KEY'))->first(); if (! $company->enable_shop_api) { - return response()->json(['message' => 'Shop is disabled', 'errors' => new \stdClass], 403); + return response()->json(['message' => 'Shop is disabled', 'errors' => new stdClass], 403); } app('queue')->createPayloadUsing(function () use ($company) { diff --git a/app/Http/Controllers/Shop/ProductController.php b/app/Http/Controllers/Shop/ProductController.php index 5e7f2dd6f742..94274d639259 100644 --- a/app/Http/Controllers/Shop/ProductController.php +++ b/app/Http/Controllers/Shop/ProductController.php @@ -18,6 +18,8 @@ use App\Models\Product; use App\Transformers\ProductTransformer; use App\Utils\Traits\MakesHash; use Illuminate\Http\Request; +use Illuminate\Http\Response; +use stdClass; class ProductController extends BaseController { @@ -30,14 +32,15 @@ class ProductController extends BaseController /** * Display a listing of the resource. * - * @return \Illuminate\Http\Response + * @param Request $request + * @return Response */ public function index(Request $request) { $company = Company::where('company_key', $request->header('X-API-COMPANY-KEY'))->firstOrFail(); if (! $company->enable_shop_api) { - return response()->json(['message' => 'Shop is disabled', 'errors' => new \stdClass], 403); + return response()->json(['message' => 'Shop is disabled', 'errors' => new stdClass], 403); } $products = Product::where('company_id', $company->id); @@ -50,7 +53,7 @@ class ProductController extends BaseController $company = Company::where('company_key', $request->header('X-API-COMPANY-KEY'))->firstOrFail(); if (! $company->enable_shop_api) { - return response()->json(['message' => 'Shop is disabled', 'errors' => new \stdClass], 403); + return response()->json(['message' => 'Shop is disabled', 'errors' => new stdClass], 403); } $product = Product::where('company_id', $company->id) diff --git a/app/Http/Controllers/Shop/ProfileController.php b/app/Http/Controllers/Shop/ProfileController.php index 5b31726da6de..b24f9c519409 100644 --- a/app/Http/Controllers/Shop/ProfileController.php +++ b/app/Http/Controllers/Shop/ProfileController.php @@ -19,6 +19,7 @@ use App\Transformers\ProductTransformer; use App\Transformers\Shop\CompanyShopProfileTransformer; use App\Utils\Traits\MakesHash; use Illuminate\Http\Request; +use stdClass; class ProfileController extends BaseController { @@ -33,7 +34,7 @@ class ProfileController extends BaseController $company = Company::where('company_key', $request->header('X-API-COMPANY-KEY'))->first(); if (! $company->enable_shop_api) { - return response()->json(['message' => 'Shop is disabled', 'errors' => new \stdClass], 403); + return response()->json(['message' => 'Shop is disabled', 'errors' => new stdClass], 403); } return $this->itemResponse($company); diff --git a/app/Http/Controllers/Support/Messages/SendingController.php b/app/Http/Controllers/Support/Messages/SendingController.php index 90c53727614a..f2796ea23bde 100644 --- a/app/Http/Controllers/Support/Messages/SendingController.php +++ b/app/Http/Controllers/Support/Messages/SendingController.php @@ -60,6 +60,8 @@ class SendingController extends Controller * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) + * @param Request $request + * @return \Illuminate\Http\JsonResponse */ public function __invoke(Request $request) { diff --git a/app/Http/Controllers/SystemLogController.php b/app/Http/Controllers/SystemLogController.php index 2881eb65e6e6..c96637e58714 100644 --- a/app/Http/Controllers/SystemLogController.php +++ b/app/Http/Controllers/SystemLogController.php @@ -2,11 +2,15 @@ namespace App\Http\Controllers; +use App\Filters\InvoiceFilters; use App\Filters\SystemLogFilters; +use App\Http\Requests\Invoice\ShowInvoiceRequest; use App\Models\SystemLog; use App\Transformers\SystemLogTransformer; use App\Utils\Traits\MakesHash; use Illuminate\Http\Request; +use Illuminate\Http\Response; +use stdClass; class SystemLogController extends BaseController { @@ -19,9 +23,9 @@ class SystemLogController extends BaseController /** * Show the list of Invoices. * - * @param \App\Filters\InvoiceFilters $filters The filters + * @param SystemLogFilters $filters The filters * - * @return \Illuminate\Http\Response + * @return Response * * @OA\Get( * path="/api/v1/system_logs", @@ -47,7 +51,6 @@ class SystemLogController extends BaseController * response=422, * description="Validation error", * @OA\JsonContent(ref="#/components/schemas/ValidationError"), - * ), * @OA\Response( * response="default", @@ -69,13 +72,13 @@ class SystemLogController extends BaseController /** * Show the form for creating a new resource. * - * @return \Illuminate\Http\Response + * @return Response */ public function create() { $error = [ 'message' => 'Cannot create system log', - 'errors' => new \stdClass, + 'errors' => new stdClass, ]; return response()->json($error, 400); @@ -84,14 +87,14 @@ class SystemLogController extends BaseController /** * Store a newly created resource in storage. * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response + * @param Request $request + * @return Response */ public function store(Request $request) { $error = [ 'message' => 'Cannot store system log', - 'errors' => new \stdClass, + 'errors' => new stdClass, ]; return response()->json($error, 400); @@ -100,10 +103,9 @@ class SystemLogController extends BaseController /** * Display the specified resource. * - * @param \App\Http\Requests\Invoice\ShowInvoiceRequest $request The request - * @param \App\Models\SystemLog $system_logs The system logs - * - * @return \Illuminate\Http\Response + * @param Request $request The request + * @param SystemLog $system_log + * @return Response * * * @OA\Get( @@ -157,13 +159,13 @@ class SystemLogController extends BaseController * Show the form for editing the specified resource. * * @param int $id - * @return \Illuminate\Http\Response + * @return Response */ public function edit($id) { $error = [ 'message' => 'Cannot edit system log', - 'errors' => new \stdClass, + 'errors' => new stdClass, ]; return response()->json($error, 400); @@ -172,15 +174,15 @@ class SystemLogController extends BaseController /** * Update the specified resource in storage. * - * @param \Illuminate\Http\Request $request + * @param Request $request * @param int $id - * @return \Illuminate\Http\Response + * @return Response */ public function update(Request $request, $id) { $error = [ 'message' => 'Cannot update system log', - 'errors' => new \stdClass, + 'errors' => new stdClass, ]; return response()->json($error, 400); @@ -190,13 +192,13 @@ class SystemLogController extends BaseController * Remove the specified resource from storage. * * @param int $id - * @return \Illuminate\Http\Response + * @return Response */ public function destroy($id) { $error = [ 'message' => 'Cannot destroy system log', - 'errors' => new \stdClass, + 'errors' => new stdClass, ]; return response()->json($error, 400); diff --git a/app/Http/Controllers/TaskController.php b/app/Http/Controllers/TaskController.php index 0413a9e4a12f..06322ca27eb6 100644 --- a/app/Http/Controllers/TaskController.php +++ b/app/Http/Controllers/TaskController.php @@ -33,6 +33,7 @@ use App\Utils\Traits\BulkOptions; use App\Utils\Traits\MakesHash; use App\Utils\Traits\Uploadable; use Illuminate\Http\Request; +use Illuminate\Http\Response; use Illuminate\Support\Facades\Cache; /** @@ -56,7 +57,7 @@ class TaskController extends BaseController /** * TaskController constructor. - * @param TaskRepository $taskRepo + * @param TaskRepository $task_repo */ public function __construct(TaskRepository $task_repo) { @@ -66,7 +67,7 @@ class TaskController extends BaseController } /** - * @OA\Get( + * @OA\Get( * path="/api/v1/tasks", * operationId="getTasks", * tags={"tasks"}, @@ -91,7 +92,6 @@ class TaskController extends BaseController * response=422, * description="Validation error", * @OA\JsonContent(ref="#/components/schemas/ValidationError"), - * ), * @OA\Response( * response="default", @@ -99,6 +99,8 @@ class TaskController extends BaseController * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) + * @param TaskFilters $filters + * @return Response|mixed */ public function index(TaskFilters $filters) { @@ -110,8 +112,9 @@ class TaskController extends BaseController /** * Display the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param ShowTaskRequest $request + * @param Task $task + * @return Response * * * @OA\Get( @@ -164,8 +167,9 @@ class TaskController extends BaseController /** * Show the form for editing the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param EditTaskRequest $request + * @param Task $task + * @return Response * * * @OA\Get( @@ -218,9 +222,9 @@ class TaskController extends BaseController /** * Update the specified resource in storage. * - * @param \Illuminate\Http\Request $request - * @param App\Models\Task $task - * @return \Illuminate\Http\Response + * @param UpdateTaskRequest $request + * @param Task $task + * @return Response * * * @@ -280,7 +284,8 @@ class TaskController extends BaseController /** * Show the form for creating a new resource. * - * @return \Illuminate\Http\Response + * @param CreateTaskRequest $request + * @return Response * * * @@ -325,8 +330,8 @@ class TaskController extends BaseController /** * Store a newly created resource in storage. * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response + * @param StoreTaskRequest $request + * @return Response * * * @@ -371,10 +376,12 @@ class TaskController extends BaseController /** * Remove the specified resource from storage. * - * @param int $id - * @return \Illuminate\Http\Response + * @param DestroyTaskRequest $request + * @param Task $task + * @return Response * * + * @throws \Exception * @OA\Delete( * path="/api/v1/tasks/{id}", * operationId="deleteTask", @@ -427,8 +434,7 @@ class TaskController extends BaseController /** * Perform bulk actions on the list view. * - * @param BulkTaskRequest $request - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Post( @@ -495,7 +501,7 @@ class TaskController extends BaseController /** * Returns a client statement. * - * @return [type] [description] + * @return void [type] [description] */ public function statement() { diff --git a/app/Http/Controllers/TaskStatusController.php b/app/Http/Controllers/TaskStatusController.php index f012db3babe5..76e593f9da80 100644 --- a/app/Http/Controllers/TaskStatusController.php +++ b/app/Http/Controllers/TaskStatusController.php @@ -13,6 +13,7 @@ use App\Repositories\TaskStatusRepository; use App\Transformers\TaskStatusTransformer; use App\Utils\Traits\MakesHash; use Illuminate\Http\Request; +use Illuminate\Http\Response; class TaskStatusController extends BaseController { @@ -30,7 +31,7 @@ class TaskStatusController extends BaseController /** * TaskStatusController constructor. * - * @param \App\Repositories\TaskStatusRepository $task_status_repo The payment term repo + * @param TaskStatusRepository $task_status_repo The payment term repo */ public function __construct(TaskStatusRepository $task_status_repo) { @@ -41,8 +42,8 @@ class TaskStatusController extends BaseController /** * @OA\Get( - * path="/api/v1/task_status", - * operationId="getTaskStatuss", + * path="/api/v1/task_statuses", + * operationId="getTaskStatuses", * tags={"task_status"}, * summary="Gets a list of task statuses", * description="Lists task statuses", @@ -82,9 +83,9 @@ class TaskStatusController extends BaseController /** * Show the form for creating a new resource. * - * @param \App\Http\Requests\TaskStatus\CreateTaskStatusRequest $request The request + * @param CreateTaskStatusRequest $request The request * - * @return \Illuminate\Http\Response + * @return Response * * * @@ -129,14 +130,14 @@ class TaskStatusController extends BaseController /** * Store a newly created resource in storage. * - * @param \App\Http\Requests\TaskStatus\StoreTaskStatusRequest $request The request + * @param StoreTaskStatusRequest $request The request * - * @return \Illuminate\Http\Response + * @return Response * * * * @OA\Post( - * path="/api/v1/task_status", + * path="/api/v1/task_statuses", * operationId="storeTaskStatus", * tags={"task_status"}, * summary="Adds a TaskStatus", @@ -222,6 +223,9 @@ class TaskStatusController extends BaseController * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) + * @param ShowTaskStatusRequest $request + * @param TaskStatus $task_status + * @return Response|mixed */ public function show(ShowTaskStatusRequest $request, TaskStatus $task_status) { @@ -270,6 +274,9 @@ class TaskStatusController extends BaseController * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) + * @param EditTaskStatusRequest $request + * @param TaskStatus $payment + * @return Response|mixed */ public function edit(EditTaskStatusRequest $request, TaskStatus $payment) { @@ -279,10 +286,10 @@ class TaskStatusController extends BaseController /** * Update the specified resource in storage. * - * @param \App\Http\Requests\TaskStatus\UpdateTaskStatusRequest $request The request - * @param \App\Models\TaskStatus $task_status The payment term + * @param UpdateTaskStatusRequest $request The request + * @param TaskStatus $task_status The payment term * - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Put( @@ -338,12 +345,13 @@ class TaskStatusController extends BaseController /** * Remove the specified resource from storage. * - * @param \App\Http\Requests\TaskStatus\DestroyTaskStatusRequest $request - * @param \App\Models\TaskStatus $task_status + * @param DestroyTaskStatusRequest $request + * @param TaskStatus $task_status * - * @return \Illuminate\Http\Response + * @return Response * * + * @throws \Exception * @OA\Delete( * path="/api/v1/task_statuses/{id}", * operationId="deleteTaskStatus", diff --git a/app/Http/Controllers/TaxRateController.php b/app/Http/Controllers/TaxRateController.php index 5ae705fdc7b5..03c0646ba13d 100644 --- a/app/Http/Controllers/TaxRateController.php +++ b/app/Http/Controllers/TaxRateController.php @@ -23,6 +23,7 @@ use App\Repositories\BaseRepository; use App\Transformers\TaxRateTransformer; use App\Utils\Traits\MakesHash; use Illuminate\Http\Request; +use Illuminate\Http\Response; /** * Class TaxRateController. @@ -76,7 +77,7 @@ class TaxRateController extends BaseController * * Display a listing of the resource. * - * @return \Illuminate\Http\Response + * @return Response */ public function index() { @@ -88,7 +89,8 @@ class TaxRateController extends BaseController /** * Show the form for creating a new resource. * - * @return \Illuminate\Http\Response + * @param CreateTaxRateRequest $request + * @return Response * * * @@ -132,8 +134,8 @@ class TaxRateController extends BaseController /** * Store a newly created resource in storage. * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response + * @param StoreTaxRateRequest $request + * @return Response */ public function store(StoreTaxRateRequest $request) { @@ -147,8 +149,9 @@ class TaxRateController extends BaseController /** * Display the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param ShowTaxRateRequest $request + * @param TaxRate $tax_rate + * @return Response * * * @OA\Get( @@ -200,8 +203,9 @@ class TaxRateController extends BaseController /** * Show the form for editing the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param EditTaxRateRequest $request + * @param TaxRate $tax_rate + * @return Response * * * @OA\Get( @@ -253,9 +257,9 @@ class TaxRateController extends BaseController /** * Update the specified resource in storage. * - * @param \Illuminate\Http\Request $request - * @param App\Models\Client $client - * @return \Illuminate\Http\Response + * @param UpdateTaxRateRequest $request + * @param TaxRate $tax_rate + * @return Response * * * @@ -311,10 +315,12 @@ class TaxRateController extends BaseController /** * Remove the specified resource from storage. * - * @param int $id - * @return \Illuminate\Http\Response + * @param DestroyTaxRateRequest $request + * @param TaxRate $tax_rate + * @return Response * * + * @throws \Exception * @OA\Delete( * path="/api/v1/tax_rates/{id}", * operationId="deleteTaxRate", @@ -367,8 +373,7 @@ class TaxRateController extends BaseController /** * Perform bulk actions on the list view. * - * @param BulkTaxRateRequest $request - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Post( diff --git a/app/Http/Controllers/TemplateController.php b/app/Http/Controllers/TemplateController.php index ab01fb431edb..041b0a5efb79 100644 --- a/app/Http/Controllers/TemplateController.php +++ b/app/Http/Controllers/TemplateController.php @@ -16,6 +16,7 @@ use App\Utils\TemplateEngine; use App\Utils\Traits\MakesHash; use App\Utils\Traits\MakesInvoiceHtml; use App\Utils\Traits\MakesTemplateData; +use Illuminate\Http\Response; use Illuminate\Notifications\Messages\MailMessage; use League\CommonMark\CommonMarkConverter; @@ -33,7 +34,7 @@ class TemplateController extends BaseController /** * Returns a template filled with entity variables. * - * @return \Illuminate\Http\Response + * @return Response * * @OA\Post( * path="/api/v1/templates", diff --git a/app/Http/Controllers/TokenController.php b/app/Http/Controllers/TokenController.php index a43ead9a7180..9d545107d31b 100644 --- a/app/Http/Controllers/TokenController.php +++ b/app/Http/Controllers/TokenController.php @@ -27,6 +27,7 @@ use App\Transformers\CompanyTokenTransformer; use App\Utils\Traits\ChecksEntityStatus; use App\Utils\Traits\MakesHash; use Illuminate\Http\Request; +use Illuminate\Http\Response; use Illuminate\Support\Facades\Cache; /** @@ -45,7 +46,7 @@ class TokenController extends BaseController /** * TokenController constructor. - * @param TokenRepository $tokenRepo + * @param TokenRepository $token_repo */ public function __construct(TokenRepository $token_repo) { @@ -55,7 +56,7 @@ class TokenController extends BaseController } /** - * @OA\Get( + * @OA\Get( * path="/api/v1/tokens", * operationId="getTokens", * tags={"tokens"}, @@ -80,7 +81,6 @@ class TokenController extends BaseController * response=422, * description="Validation error", * @OA\JsonContent(ref="#/components/schemas/ValidationError"), - * ), * @OA\Response( * response="default", @@ -88,6 +88,8 @@ class TokenController extends BaseController * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) + * @param TokenFilters $filters + * @return Response|mixed */ public function index(TokenFilters $filters) { @@ -99,8 +101,9 @@ class TokenController extends BaseController /** * Display the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param ShowTokenRequest $request + * @param CompanyToken $token + * @return Response * * * @OA\Get( @@ -153,8 +156,9 @@ class TokenController extends BaseController /** * Show the form for editing the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param EditTokenRequest $request + * @param CompanyToken $token + * @return Response * * * @OA\Get( @@ -207,9 +211,9 @@ class TokenController extends BaseController /** * Update the specified resource in storage. * - * @param \Illuminate\Http\Request $request - * @param App\Models\Token $token - * @return \Illuminate\Http\Response + * @param UpdateTokenRequest $request + * @param CompanyToken $token + * @return Response * * * @@ -269,7 +273,8 @@ class TokenController extends BaseController /** * Show the form for creating a new resource. * - * @return \Illuminate\Http\Response + * @param CreateTokenRequest $request + * @return Response * * * @@ -314,8 +319,8 @@ class TokenController extends BaseController /** * Store a newly created resource in storage. * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response + * @param StoreTokenRequest $request + * @return Response * * * @@ -362,10 +367,12 @@ class TokenController extends BaseController /** * Remove the specified resource from storage. * - * @param int $id - * @return \Illuminate\Http\Response + * @param DestroyTokenRequest $request + * @param CompanyToken $token + * @return Response * * + * @throws \Exception * @OA\Delete( * path="/api/v1/tokens/{id}", * operationId="deleteToken", @@ -418,8 +425,7 @@ class TokenController extends BaseController /** * Perform bulk actions on the list view. * - * @param BulkTokenRequest $request - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Post( diff --git a/app/Http/Controllers/Traits/VerifiesUserEmail.php b/app/Http/Controllers/Traits/VerifiesUserEmail.php index 0757b53a7017..b9c2bc6bbb49 100644 --- a/app/Http/Controllers/Traits/VerifiesUserEmail.php +++ b/app/Http/Controllers/Traits/VerifiesUserEmail.php @@ -14,6 +14,7 @@ namespace App\Http\Controllers\Traits; use App\Models\User; use App\Utils\Traits\UserSessionAttributes; +use Illuminate\Http\RedirectResponse; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Hash; @@ -25,8 +26,7 @@ trait VerifiesUserEmail use UserSessionAttributes; /** - * @param $code - * @return \Illuminate\Http\RedirectResponse + * @return RedirectResponse */ public function confirm() { diff --git a/app/Http/Controllers/TranslationController.php b/app/Http/Controllers/TranslationController.php index f24129fe58d4..3593e9f0dd79 100644 --- a/app/Http/Controllers/TranslationController.php +++ b/app/Http/Controllers/TranslationController.php @@ -12,6 +12,7 @@ namespace App\Http\Controllers; use Illuminate\Http\Request; +use Illuminate\Http\Response; use Illuminate\Support\Facades\Cache; /** @@ -27,7 +28,7 @@ class TranslationController extends BaseController /** * Display a listing of the resource. * - * @return \Illuminate\Http\Response + * @return void */ public function index() { @@ -58,7 +59,7 @@ class TranslationController extends BaseController /** * Show the form for creating a new resource. * - * @return \Illuminate\Http\Response + * @return void */ public function create() { @@ -68,8 +69,8 @@ class TranslationController extends BaseController /** * Store a newly created resource in storage. * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response + * @param Request $request + * @return void */ public function store(Request $request) { @@ -79,8 +80,8 @@ class TranslationController extends BaseController /** * Display the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param int $id + * @return void */ public function show($id) { @@ -90,8 +91,8 @@ class TranslationController extends BaseController /** * Show the form for editing the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param int $id + * @return void */ public function edit($id) { @@ -101,9 +102,9 @@ class TranslationController extends BaseController /** * Update the specified resource in storage. * - * @param \Illuminate\Http\Request $request - * @param int $id - * @return \Illuminate\Http\Response + * @param Request $request + * @param int $id + * @return void */ public function update(Request $request, $id) { @@ -113,8 +114,8 @@ class TranslationController extends BaseController /** * Remove the specified resource from storage. * - * @param int $id - * @return \Illuminate\Http\Response + * @param int $id + * @return void */ public function destroy($id) { diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index b29221269590..1cf0586a2a3c 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -37,6 +37,7 @@ use App\Transformers\UserTransformer; use App\Utils\Ninja; use App\Utils\Traits\MakesHash; use Illuminate\Http\Request; +use Illuminate\Http\Response; use Illuminate\Support\Facades\Log; /** @@ -56,7 +57,7 @@ class UserController extends BaseController /** * Constructor. * - * @param \App\Repositories\UserRepository $user_repo The user repo + * @param UserRepository $user_repo The user repo */ public function __construct(UserRepository $user_repo) { @@ -68,7 +69,8 @@ class UserController extends BaseController /** * Display a listing of the resource. * - * @return \Illuminate\Http\Response + * @param UserFilters $filters + * @return Response * * * @OA\Get( @@ -78,7 +80,7 @@ class UserController extends BaseController * summary="Gets a list of users", * description="Lists users, search and filters allow fine grained lists to be generated. - Query parameters can be added to performed more fine grained filtering of the users, these are handled by the UserFilters class which defines the methods available", + Query parameters can be added to performed more fine grained filtering of the users, these are handled by the UserFilters class which defines the methods available", * @OA\Parameter(ref="#/components/parameters/X-Api-Secret"), * @OA\Parameter(ref="#/components/parameters/X-Api-Token"), * @OA\Parameter(ref="#/components/parameters/X-Requested-With"), @@ -95,7 +97,6 @@ class UserController extends BaseController * response=422, * description="Validation error", * @OA\JsonContent(ref="#/components/schemas/ValidationError"), - * ), * @OA\Response( * response="default", @@ -114,7 +115,8 @@ class UserController extends BaseController /** * Show the form for creating a new resource. * - * @return \Illuminate\Http\Response + * @param CreateUserRequest $request + * @return Response * * * @@ -159,8 +161,8 @@ class UserController extends BaseController /** * Store a newly created resource in storage. * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response + * @param StoreUserRequest $request + * @return Response * * * @@ -213,8 +215,9 @@ class UserController extends BaseController /** * Display the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param ShowUserRequest $request + * @param User $user + * @return Response * * * @OA\Get( @@ -267,8 +270,9 @@ class UserController extends BaseController /** * Show the form for editing the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param EditUserRequest $request + * @param User $user + * @return Response * * * @OA\Get( @@ -362,6 +366,9 @@ class UserController extends BaseController * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) + * @param UpdateUserRequest $request + * @param User $user + * @return Response|mixed */ public function update(UpdateUserRequest $request, User $user) { @@ -380,8 +387,9 @@ class UserController extends BaseController /** * Remove the specified resource from storage. * - * @param int $id - * @return \Illuminate\Http\Response + * @param DestroyUserRequest $request + * @param User $user + * @return Response * * * @OA\Delete( @@ -573,6 +581,9 @@ class UserController extends BaseController * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) + * @param AttachCompanyUserRequest $request + * @param User $user + * @return Response|mixed */ public function attach(AttachCompanyUserRequest $request, User $user) { @@ -637,6 +648,9 @@ class UserController extends BaseController * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) + * @param DetachCompanyUserRequest $request + * @param User $user + * @return \Illuminate\Http\JsonResponse */ public function detach(DetachCompanyUserRequest $request, User $user) { diff --git a/app/Http/Controllers/VendorController.php b/app/Http/Controllers/VendorController.php index c5bcd59a9a5c..3c1482febe19 100644 --- a/app/Http/Controllers/VendorController.php +++ b/app/Http/Controllers/VendorController.php @@ -33,6 +33,7 @@ use App\Utils\Traits\BulkOptions; use App\Utils\Traits\MakesHash; use App\Utils\Traits\Uploadable; use Illuminate\Http\Request; +use Illuminate\Http\Response; use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Log; @@ -56,7 +57,7 @@ class VendorController extends BaseController /** * VendorController constructor. - * @param VendorRepository $vendorRepo + * @param VendorRepository $vendor_repo */ public function __construct(VendorRepository $vendor_repo) { @@ -66,14 +67,14 @@ class VendorController extends BaseController } /** - * @OA\Get( + * @OA\Get( * path="/api/v1/vendors", * operationId="getVendors", * tags={"vendors"}, * summary="Gets a list of vendors", * description="Lists vendors, search and filters allow fine grained lists to be generated. - Query parameters can be added to performed more fine grained filtering of the vendors, these are handled by the VendorFilters class which defines the methods available", + Query parameters can be added to performed more fine grained filtering of the vendors, these are handled by the VendorFilters class which defines the methods available", * @OA\Parameter(ref="#/components/parameters/X-Api-Secret"), * @OA\Parameter(ref="#/components/parameters/X-Api-Token"), * @OA\Parameter(ref="#/components/parameters/X-Requested-With"), @@ -91,7 +92,6 @@ class VendorController extends BaseController * response=422, * description="Validation error", * @OA\JsonContent(ref="#/components/schemas/ValidationError"), - * ), * @OA\Response( * response="default", @@ -99,6 +99,8 @@ class VendorController extends BaseController * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) + * @param VendorFilters $filters + * @return Response|mixed */ public function index(VendorFilters $filters) { @@ -110,8 +112,9 @@ class VendorController extends BaseController /** * Display the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param ShowVendorRequest $request + * @param Vendor $vendor + * @return Response * * * @OA\Get( @@ -164,8 +167,9 @@ class VendorController extends BaseController /** * Show the form for editing the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param EditVendorRequest $request + * @param Vendor $vendor + * @return Response * * * @OA\Get( @@ -218,9 +222,9 @@ class VendorController extends BaseController /** * Update the specified resource in storage. * - * @param \Illuminate\Http\Request $request - * @param App\Models\Vendor $vendor - * @return \Illuminate\Http\Response + * @param UpdateVendorRequest $request + * @param Vendor $vendor + * @return Response * * * @@ -282,7 +286,8 @@ class VendorController extends BaseController /** * Show the form for creating a new resource. * - * @return \Illuminate\Http\Response + * @param CreateVendorRequest $request + * @return Response * * * @@ -327,8 +332,8 @@ class VendorController extends BaseController /** * Store a newly created resource in storage. * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response + * @param StoreVendorRequest $request + * @return Response * * * @@ -377,10 +382,12 @@ class VendorController extends BaseController /** * Remove the specified resource from storage. * - * @param int $id - * @return \Illuminate\Http\Response + * @param DestroyVendorRequest $request + * @param Vendor $vendor + * @return Response * * + * @throws \Exception * @OA\Delete( * path="/api/v1/vendors/{id}", * operationId="deleteVendor", @@ -433,8 +440,7 @@ class VendorController extends BaseController /** * Perform bulk actions on the list view. * - * @param BulkVendorRequest $request - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Post( @@ -501,7 +507,7 @@ class VendorController extends BaseController /** * Returns a client statement. * - * @return [type] [description] + * @return void [type] [description] */ public function statement() { diff --git a/app/Http/Controllers/WebhookController.php b/app/Http/Controllers/WebhookController.php index 02c02892c7f6..8558a60349b6 100644 --- a/app/Http/Controllers/WebhookController.php +++ b/app/Http/Controllers/WebhookController.php @@ -25,6 +25,7 @@ use App\Repositories\BaseRepository; use App\Transformers\WebhookTransformer; use App\Utils\Traits\MakesHash; use Illuminate\Http\Request; +use Illuminate\Http\Response; class WebhookController extends BaseController { @@ -44,7 +45,7 @@ class WebhookController extends BaseController } /** - * @OA\Get( + * @OA\Get( * path="/api/v1/webhooks", * operationId="getWebhooks", * tags={"webhooks"}, @@ -69,7 +70,6 @@ class WebhookController extends BaseController * response=422, * description="Validation error", * @OA\JsonContent(ref="#/components/schemas/ValidationError"), - * ), * @OA\Response( * response="default", @@ -77,6 +77,8 @@ class WebhookController extends BaseController * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) + * @param WebhookFilters $filters + * @return Response|mixed */ public function index(WebhookFilters $filters) { @@ -88,8 +90,9 @@ class WebhookController extends BaseController /** * Display the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param ShowWebhookRequest $request + * @param Webhook $webhook + * @return Response * * * @OA\Get( @@ -142,8 +145,9 @@ class WebhookController extends BaseController /** * Show the form for editing the specified resource. * - * @param int $id - * @return \Illuminate\Http\Response + * @param EditWebhookRequest $request + * @param Webhook $webhook + * @return Response * * * @OA\Get( @@ -196,9 +200,9 @@ class WebhookController extends BaseController /** * Update the specified resource in storage. * - * @param \Illuminate\Http\Request $request - * @param App\Models\Webhook $Webhook - * @return \Illuminate\Http\Response + * @param UpdateWebhookRequest $request + * @param Webhook $webhook + * @return Response * * * @@ -259,7 +263,8 @@ class WebhookController extends BaseController /** * Show the form for creating a new resource. * - * @return \Illuminate\Http\Response + * @param CreateWebhookRequest $request + * @return Response * * * @@ -306,8 +311,8 @@ class WebhookController extends BaseController /** * Store a newly created resource in storage. * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response + * @param StoreWebhookRequest $request + * @return Response * * * @@ -368,10 +373,12 @@ class WebhookController extends BaseController /** * Remove the specified resource from storage. * - * @param int $id - * @return \Illuminate\Http\Response + * @param DestroyWebhookRequest $request + * @param Webhook $webhook + * @return Response * * + * @throws \Exception * @OA\Delete( * path="/api/v1/Webhooks/{id}", * operationId="deleteWebhook", @@ -424,8 +431,7 @@ class WebhookController extends BaseController /** * Perform bulk actions on the list view. * - * @param BulkWebhookRequest $request - * @return \Illuminate\Http\Response + * @return Response * * * @OA\Post( diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 8c754ff78d42..ad2bc8595f8e 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -11,8 +11,46 @@ namespace App\Http; +use App\Http\Middleware\ApiSecretCheck; +use App\Http\Middleware\Authenticate; +use App\Http\Middleware\CheckForMaintenanceMode; +use App\Http\Middleware\ClientPortalEnabled; +use App\Http\Middleware\ContactKeyLogin; +use App\Http\Middleware\ContactRegister; +use App\Http\Middleware\ContactSetDb; use App\Http\Middleware\ContactTokenAuth; +use App\Http\Middleware\Cors; +use App\Http\Middleware\EncryptCookies; +use App\Http\Middleware\Locale; +use App\Http\Middleware\PasswordProtection; +use App\Http\Middleware\PhantomSecret; +use App\Http\Middleware\QueryLogging; +use App\Http\Middleware\RedirectIfAuthenticated; +use App\Http\Middleware\SetDb; +use App\Http\Middleware\SetDbByCompanyKey; +use App\Http\Middleware\SetDomainNameDb; +use App\Http\Middleware\SetEmailDb; +use App\Http\Middleware\SetInviteDb; +use App\Http\Middleware\SetWebDb; +use App\Http\Middleware\Shop\ShopTokenAuth; +use App\Http\Middleware\TokenAuth; +use App\Http\Middleware\TrimStrings; +use App\Http\Middleware\TrustProxies; +use App\Http\Middleware\UrlSetDb; +use App\Http\Middleware\VerifyCsrfToken; +use Illuminate\Auth\Middleware\AuthenticateWithBasicAuth; +use Illuminate\Auth\Middleware\Authorize; +use Illuminate\Auth\Middleware\EnsureEmailIsVerified; +use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse; use Illuminate\Foundation\Http\Kernel as HttpKernel; +use Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull; +use Illuminate\Foundation\Http\Middleware\ValidatePostSize; +use Illuminate\Http\Middleware\SetCacheHeaders; +use Illuminate\Routing\Middleware\SubstituteBindings; +use Illuminate\Routing\Middleware\ThrottleRequests; +use Illuminate\Routing\Middleware\ValidateSignature; +use Illuminate\Session\Middleware\StartSession; +use Illuminate\View\Middleware\ShareErrorsFromSession; class Kernel extends HttpKernel { @@ -24,13 +62,13 @@ class Kernel extends HttpKernel * @var array */ protected $middleware = [ - \App\Http\Middleware\CheckForMaintenanceMode::class, - \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class, - \App\Http\Middleware\TrimStrings::class, - \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class, - \App\Http\Middleware\TrustProxies::class, + CheckForMaintenanceMode::class, + ValidatePostSize::class, + TrimStrings::class, + ConvertEmptyStringsToNull::class, + TrustProxies::class, //\Fruitcake\Cors\HandleCors::class, - \App\Http\Middleware\Cors::class, + Cors::class, ]; @@ -41,21 +79,21 @@ class Kernel extends HttpKernel */ protected $middlewareGroups = [ 'web' => [ - \App\Http\Middleware\EncryptCookies::class, - \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, - \Illuminate\Session\Middleware\StartSession::class, + EncryptCookies::class, + AddQueuedCookiesToResponse::class, + StartSession::class, // \Illuminate\Session\Middleware\AuthenticateSession::class, - \Illuminate\View\Middleware\ShareErrorsFromSession::class, - \App\Http\Middleware\VerifyCsrfToken::class, - \Illuminate\Routing\Middleware\SubstituteBindings::class, - \App\Http\Middleware\QueryLogging::class, + ShareErrorsFromSession::class, + VerifyCsrfToken::class, + SubstituteBindings::class, + QueryLogging::class, ], 'api' => [ 'throttle:300,1', 'bindings', 'query_logging', - \App\Http\Middleware\Cors::class, + Cors::class, ], 'contact' => [ 'throttle:60,1', @@ -63,15 +101,15 @@ class Kernel extends HttpKernel 'query_logging', ], 'client' => [ - \App\Http\Middleware\EncryptCookies::class, - \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, - \Illuminate\Session\Middleware\StartSession::class, + EncryptCookies::class, + AddQueuedCookiesToResponse::class, + StartSession::class, // \Illuminate\Session\Middleware\AuthenticateSession::class, - \Illuminate\View\Middleware\ShareErrorsFromSession::class, - \App\Http\Middleware\VerifyCsrfToken::class, - \Illuminate\Routing\Middleware\SubstituteBindings::class, + ShareErrorsFromSession::class, + VerifyCsrfToken::class, + SubstituteBindings::class, //\App\Http\Middleware\StartupCheck::class, - \App\Http\Middleware\QueryLogging::class, + QueryLogging::class, ], 'shop' => [ 'throttle:120,1', @@ -88,34 +126,34 @@ class Kernel extends HttpKernel * @var array */ protected $routeMiddleware = [ - 'auth' => \App\Http\Middleware\Authenticate::class, - 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, - 'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class, - 'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class, - 'can' => \Illuminate\Auth\Middleware\Authorize::class, - 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, - 'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class, - 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, - 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, - 'query_logging' => \App\Http\Middleware\QueryLogging::class, - 'token_auth' => \App\Http\Middleware\TokenAuth::class, - 'api_secret_check' => \App\Http\Middleware\ApiSecretCheck::class, - 'contact_token_auth' => \App\Http\Middleware\ContactTokenAuth::class, - 'contact_db' => \App\Http\Middleware\ContactSetDb::class, - 'domain_db' => \App\Http\Middleware\SetDomainNameDb::class, - 'email_db' => \App\Http\Middleware\SetEmailDb::class, - 'invite_db' => \App\Http\Middleware\SetInviteDb::class, - 'password_protected' => \App\Http\Middleware\PasswordProtection::class, - 'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class, - 'portal_enabled' => \App\Http\Middleware\ClientPortalEnabled::class, - 'url_db' => \App\Http\Middleware\UrlSetDb::class, - 'web_db' => \App\Http\Middleware\SetWebDb::class, - 'api_db' => \App\Http\Middleware\SetDb::class, - 'company_key_db' => \App\Http\Middleware\SetDbByCompanyKey::class, - 'locale' => \App\Http\Middleware\Locale::class, - 'contact.register' => \App\Http\Middleware\ContactRegister::class, - 'shop_token_auth' => \App\Http\Middleware\Shop\ShopTokenAuth::class, - 'phantom_secret' => \App\Http\Middleware\PhantomSecret::class, - 'contact_key_login' => \App\Http\Middleware\ContactKeyLogin::class, + 'auth' => Authenticate::class, + 'auth.basic' => AuthenticateWithBasicAuth::class, + 'bindings' => SubstituteBindings::class, + 'cache.headers' => SetCacheHeaders::class, + 'can' => Authorize::class, + 'guest' => RedirectIfAuthenticated::class, + 'signed' => ValidateSignature::class, + 'throttle' => ThrottleRequests::class, + 'verified' => EnsureEmailIsVerified::class, + 'query_logging' => QueryLogging::class, + 'token_auth' => TokenAuth::class, + 'api_secret_check' => ApiSecretCheck::class, + 'contact_token_auth' => ContactTokenAuth::class, + 'contact_db' => ContactSetDb::class, + 'domain_db' => SetDomainNameDb::class, + 'email_db' => SetEmailDb::class, + 'invite_db' => SetInviteDb::class, + 'password_protected' => PasswordProtection::class, + 'signed' => ValidateSignature::class, + 'portal_enabled' => ClientPortalEnabled::class, + 'url_db' => UrlSetDb::class, + 'web_db' => SetWebDb::class, + 'api_db' => SetDb::class, + 'company_key_db' => SetDbByCompanyKey::class, + 'locale' => Locale::class, + 'contact.register' => ContactRegister::class, + 'shop_token_auth' => ShopTokenAuth::class, + 'phantom_secret' => PhantomSecret::class, + 'contact_key_login' => ContactKeyLogin::class, ]; } diff --git a/app/Http/Livewire/DocumentsTable.php b/app/Http/Livewire/DocumentsTable.php index 9e5b94dce60c..6f43bcb0bf02 100644 --- a/app/Http/Livewire/DocumentsTable.php +++ b/app/Http/Livewire/DocumentsTable.php @@ -12,6 +12,7 @@ namespace App\Http\Livewire; +use App\Models\Client; use App\Models\Document; use App\Utils\Traits\WithSorting; use Livewire\Component; @@ -48,11 +49,11 @@ class DocumentsTable extends Component $query = $this->client->documents(); if (in_array('resources', $this->status) && ! in_array('client', $this->status)) { - $query = $query->where('documentable_type', '!=', \App\Models\Client::class); + $query = $query->where('documentable_type', '!=', Client::class); } if (in_array('client', $this->status) && ! in_array('resources', $this->status)) { - $query = $query->where('documentable_type', \App\Models\Client::class); + $query = $query->where('documentable_type', Client::class); } $query = $query diff --git a/app/Http/Middleware/ApiSecretCheck.php b/app/Http/Middleware/ApiSecretCheck.php index e5b28b899d09..07b4daeeb5ac 100644 --- a/app/Http/Middleware/ApiSecretCheck.php +++ b/app/Http/Middleware/ApiSecretCheck.php @@ -13,14 +13,16 @@ namespace App\Http\Middleware; use App\Models\User; use Closure; +use Illuminate\Http\Request; +use stdClass; class ApiSecretCheck { /** * Handle an incoming request. * - * @param \Illuminate\Http\Request $request - * @param \Closure $next + * @param Request $request + * @param Closure $next * @return mixed */ public function handle($request, Closure $next) @@ -30,7 +32,7 @@ class ApiSecretCheck } else { $error = [ 'message' => 'Invalid secret', - 'errors' => new \stdClass, + 'errors' => new stdClass, ]; return response() diff --git a/app/Http/Middleware/Authenticate.php b/app/Http/Middleware/Authenticate.php index a8951d70933a..e60f629c5740 100644 --- a/app/Http/Middleware/Authenticate.php +++ b/app/Http/Middleware/Authenticate.php @@ -12,13 +12,14 @@ namespace App\Http\Middleware; use Illuminate\Auth\Middleware\Authenticate as Middleware; +use Illuminate\Http\Request; class Authenticate extends Middleware { /** * Get the path the user should be redirected to when they are not authenticated. * - * @param \Illuminate\Http\Request $request + * @param Request $request * @return string */ protected function redirectTo($request) diff --git a/app/Http/Middleware/ClientPortalEnabled.php b/app/Http/Middleware/ClientPortalEnabled.php index 8b58253e601b..40f4a365ea31 100644 --- a/app/Http/Middleware/ClientPortalEnabled.php +++ b/app/Http/Middleware/ClientPortalEnabled.php @@ -13,14 +13,15 @@ namespace App\Http\Middleware; use App\Models\User; use Closure; +use Illuminate\Http\Request; class ClientPortalEnabled { /** * Handle an incoming request. * - * @param \Illuminate\Http\Request $request - * @param \Closure $next + * @param Request $request + * @param Closure $next * @return mixed */ public function handle($request, Closure $next) diff --git a/app/Http/Middleware/ContactKeyLogin.php b/app/Http/Middleware/ContactKeyLogin.php index 094bebb34bbc..50444c5178bd 100644 --- a/app/Http/Middleware/ContactKeyLogin.php +++ b/app/Http/Middleware/ContactKeyLogin.php @@ -17,6 +17,7 @@ use App\Models\ClientContact; use App\Models\CompanyToken; use Auth; use Closure; +use Illuminate\Http\Request; class ContactKeyLogin { @@ -26,9 +27,9 @@ class ContactKeyLogin * Sets a contact LOGGED IN if an appropriate client_hash is provided as a query parameter * OR * If the contact_key is provided in the route - * - * @param \Illuminate\Http\Request $request - * @param \Closure $next + * + * @param Request $request + * @param Closure $next * @return mixed */ public function handle($request, Closure $next) @@ -40,14 +41,14 @@ class ContactKeyLogin if ($request->segment(3) && config('ninja.db.multi_db_enabled')) { if (MultiDB::findAndSetDbByContactKey($request->segment(3))) { - + $client_contact = ClientContact::where('contact_key', $request->segment(3))->first(); Auth::guard('contact')->login($client_contact, true); return redirect()->to('client/dashboard'); } - } + } else if ($request->has('contact_key')) { if($client_contact = ClientContact::where('contact_key', $request->segment(3))->first()){ @@ -59,7 +60,7 @@ class ContactKeyLogin else if($request->has('client_hash') && config('ninja.db.multi_db_enabled')){ if (MultiDB::findAndSetDbByClientHash($request->input('client_hash'))) { - + $client = Client::where('client_hash', $request->input('client_hash'))->first(); Auth::guard('contact')->login($client->primary_contact()->first(), true); return redirect()->to('client/dashboard'); diff --git a/app/Http/Middleware/ContactRegister.php b/app/Http/Middleware/ContactRegister.php index 3f164baed9f2..b22ab6ecd75c 100644 --- a/app/Http/Middleware/ContactRegister.php +++ b/app/Http/Middleware/ContactRegister.php @@ -4,14 +4,15 @@ namespace App\Http\Middleware; use App\Models\Company; use Closure; +use Illuminate\Http\Request; class ContactRegister { /** * Handle an incoming request. * - * @param \Illuminate\Http\Request $request - * @param \Closure $next + * @param Request $request + * @param Closure $next * @return mixed */ public function handle($request, Closure $next) diff --git a/app/Http/Middleware/ContactSetDb.php b/app/Http/Middleware/ContactSetDb.php index a147c9a91b80..9f744c71199e 100644 --- a/app/Http/Middleware/ContactSetDb.php +++ b/app/Http/Middleware/ContactSetDb.php @@ -14,21 +14,23 @@ namespace App\Http\Middleware; use App\Libraries\MultiDB; use App\Models\CompanyToken; use Closure; +use Illuminate\Http\Request; +use stdClass; class ContactSetDb { /** * Handle an incoming request. * - * @param \Illuminate\Http\Request $request - * @param \Closure $next + * @param Request $request + * @param Closure $next * @return mixed */ public function handle($request, Closure $next) { $error = [ 'message' => 'Invalid Token', - 'errors' => new \stdClass, + 'errors' => new stdClass, ]; if ($request->header('X-API-TOKEN') && config('ninja.db.multi_db_enabled')) { diff --git a/app/Http/Middleware/ContactTokenAuth.php b/app/Http/Middleware/ContactTokenAuth.php index 56cf788b8d0b..570d59b2bc76 100644 --- a/app/Http/Middleware/ContactTokenAuth.php +++ b/app/Http/Middleware/ContactTokenAuth.php @@ -17,14 +17,16 @@ use App\Models\CompanyToken; use App\Models\User; use App\Utils\Ninja; use Closure; +use Illuminate\Http\Request; +use stdClass; class ContactTokenAuth { /** * Handle an incoming request. * - * @param \Illuminate\Http\Request $request - * @param \Closure $next + * @param Request $request + * @param Closure $next * @return mixed */ public function handle($request, Closure $next) @@ -32,7 +34,7 @@ class ContactTokenAuth if ($request->header('X-API-TOKEN') && ($client_contact = ClientContact::with(['company'])->whereRaw('BINARY `token`= ?', [$request->header('X-API-TOKEN')])->first())) { $error = [ 'message' => 'Authentication disabled for user.', - 'errors' => new \stdClass, + 'errors' => new stdClass, ]; //client_contact who once existed, but has been soft deleted @@ -42,7 +44,7 @@ class ContactTokenAuth $error = [ 'message' => 'Access is locked.', - 'errors' => new \stdClass, + 'errors' => new stdClass, ]; //client_contact who has been disabled @@ -57,7 +59,7 @@ class ContactTokenAuth } else { $error = [ 'message' => 'Invalid token', - 'errors' => new \stdClass, + 'errors' => new stdClass, ]; return response()->json($error, 403); diff --git a/app/Http/Middleware/Locale.php b/app/Http/Middleware/Locale.php index e9610eea5650..ca7e85319f38 100644 --- a/app/Http/Middleware/Locale.php +++ b/app/Http/Middleware/Locale.php @@ -4,6 +4,7 @@ namespace App\Http\Middleware; use App\Models\Language; use Closure; +use Illuminate\Http\Request; use Illuminate\Support\Facades\App; use Illuminate\Support\Facades\Auth; @@ -12,8 +13,8 @@ class Locale /** * Handle an incoming request. * - * @param \Illuminate\Http\Request $request - * @param \Closure $next + * @param Request $request + * @param Closure $next * @return mixed */ public function handle($request, Closure $next) diff --git a/app/Http/Middleware/PasswordProtection.php b/app/Http/Middleware/PasswordProtection.php index 1e0aacae9d95..ce482a63e62e 100644 --- a/app/Http/Middleware/PasswordProtection.php +++ b/app/Http/Middleware/PasswordProtection.php @@ -14,24 +14,26 @@ namespace App\Http\Middleware; use App\Libraries\MultiDB; use App\Models\CompanyToken; use Closure; +use Illuminate\Http\Request; use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Str; +use stdClass; class PasswordProtection { /** * Handle an incoming request. * - * @param \Illuminate\Http\Request $request - * @param \Closure $next + * @param Request $request + * @param Closure $next * @return mixed */ public function handle($request, Closure $next) { $error = [ 'message' => 'Invalid Password', - 'errors' => new \stdClass, + 'errors' => new stdClass, ]; if ($request->header('X-API-PASSWORD')) { @@ -46,7 +48,7 @@ class PasswordProtection } else { $error = [ 'message' => 'Access denied', - 'errors' => new \stdClass, + 'errors' => new stdClass, ]; return response()->json($error, 412); diff --git a/app/Http/Middleware/PhantomSecret.php b/app/Http/Middleware/PhantomSecret.php index d9508a93c57d..698c70750adc 100644 --- a/app/Http/Middleware/PhantomSecret.php +++ b/app/Http/Middleware/PhantomSecret.php @@ -12,14 +12,15 @@ namespace App\Http\Middleware; use Closure; +use Illuminate\Http\Request; class PhantomSecret { /** * Handle an incoming request. * - * @param \Illuminate\Http\Request $request - * @param \Closure $next + * @param Request $request + * @param Closure $next * @return mixed */ public function handle($request, Closure $next) diff --git a/app/Http/Middleware/RedirectIfAuthenticated.php b/app/Http/Middleware/RedirectIfAuthenticated.php index ddbef9f71d70..b44dedc56f14 100644 --- a/app/Http/Middleware/RedirectIfAuthenticated.php +++ b/app/Http/Middleware/RedirectIfAuthenticated.php @@ -12,6 +12,7 @@ namespace App\Http\Middleware; use Closure; +use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; class RedirectIfAuthenticated @@ -19,8 +20,8 @@ class RedirectIfAuthenticated /** * Handle an incoming request. * - * @param \Illuminate\Http\Request $request - * @param \Closure $next + * @param Request $request + * @param Closure $next * @param string|null $guard * @return mixed */ diff --git a/app/Http/Middleware/SetDb.php b/app/Http/Middleware/SetDb.php index affa6acbe3af..49116aca3b3e 100644 --- a/app/Http/Middleware/SetDb.php +++ b/app/Http/Middleware/SetDb.php @@ -14,21 +14,23 @@ namespace App\Http\Middleware; use App\Libraries\MultiDB; use App\Models\CompanyToken; use Closure; +use Illuminate\Http\Request; +use stdClass; class SetDb { /** * Handle an incoming request. * - * @param \Illuminate\Http\Request $request - * @param \Closure $next + * @param Request $request + * @param Closure $next * @return mixed */ public function handle($request, Closure $next) { $error = [ 'message' => 'Invalid Token', - 'errors' => new \stdClass, + 'errors' => new stdClass, ]; if ($request->header('X-API-TOKEN') && config('ninja.db.multi_db_enabled')) { diff --git a/app/Http/Middleware/SetDbByCompanyKey.php b/app/Http/Middleware/SetDbByCompanyKey.php index eab7294cfc89..e0a340731323 100644 --- a/app/Http/Middleware/SetDbByCompanyKey.php +++ b/app/Http/Middleware/SetDbByCompanyKey.php @@ -14,21 +14,23 @@ namespace App\Http\Middleware; use App\Libraries\MultiDB; use App\Models\CompanyToken; use Closure; +use Illuminate\Http\Request; +use stdClass; class SetDbByCompanyKey { /** * Handle an incoming request. * - * @param \Illuminate\Http\Request $request - * @param \Closure $next + * @param Request $request + * @param Closure $next * @return mixed */ public function handle($request, Closure $next) { $error = [ 'message' => 'Invalid Token', - 'errors' => new \stdClass, + 'errors' => new stdClass, ]; if ($request->header('X-API-COMPANY-KEY') && config('ninja.db.multi_db_enabled')) { diff --git a/app/Http/Middleware/SetDomainNameDb.php b/app/Http/Middleware/SetDomainNameDb.php index 629c56d030fd..9023d84221b9 100644 --- a/app/Http/Middleware/SetDomainNameDb.php +++ b/app/Http/Middleware/SetDomainNameDb.php @@ -13,21 +13,23 @@ namespace App\Http\Middleware; use App\Libraries\MultiDB; use Closure; +use Illuminate\Http\Request; +use stdClass; class SetDomainNameDb { /** * Handle an incoming request. * - * @param \Illuminate\Http\Request $request - * @param \Closure $next + * @param Request $request + * @param Closure $next * @return mixed */ public function handle($request, Closure $next) { $error = [ 'message' => 'Invalid token', - 'errors' => new \stdClass, + 'errors' => new stdClass, ]; /* * Use the host name to set the active DB diff --git a/app/Http/Middleware/SetEmailDb.php b/app/Http/Middleware/SetEmailDb.php index 4cbe484f7b0f..ec22cacae3d3 100644 --- a/app/Http/Middleware/SetEmailDb.php +++ b/app/Http/Middleware/SetEmailDb.php @@ -14,30 +14,34 @@ namespace App\Http\Middleware; use App\Libraries\MultiDB; use App\Models\CompanyToken; use Closure; +use Illuminate\Http\Request; +use stdClass; class SetEmailDb { /** * Handle an incoming request. * - * @param \Illuminate\Http\Request $request - * @param \Closure $next + * @param Request $request + * @param Closure $next * @return mixed */ public function handle($request, Closure $next) { $error = [ 'message' => 'Email not set or not found', - 'errors' => new \stdClass, + 'errors' => new stdClass, ]; if ($request->input('email') && config('ninja.db.multi_db_enabled')) { + info("trying to find db"); if (! MultiDB::userFindAndSetDb($request->input('email'))) { - return response()->json($error, 403); + return response()->json($error, 400); } - } else { - return response()->json($error, 403); - } + } + // else { + // return response()->json($error, 403); + // } return $next($request); } diff --git a/app/Http/Middleware/SetInviteDb.php b/app/Http/Middleware/SetInviteDb.php index b9494c60cb65..5c1d6cbddb03 100644 --- a/app/Http/Middleware/SetInviteDb.php +++ b/app/Http/Middleware/SetInviteDb.php @@ -13,21 +13,23 @@ namespace App\Http\Middleware; use App\Libraries\MultiDB; use Closure; +use Illuminate\Http\Request; +use stdClass; class SetInviteDb { /** * Handle an incoming request. * - * @param \Illuminate\Http\Request $request - * @param \Closure $next + * @param Request $request + * @param Closure $next * @return mixed */ public function handle($request, Closure $next) { $error = [ 'message' => 'Invalid URL', - 'errors' => new \stdClass, + 'errors' => new stdClass, ]; /* * Use the host name to set the active DB diff --git a/app/Http/Middleware/SetWebDb.php b/app/Http/Middleware/SetWebDb.php index ae68adf17636..edf3993c906d 100644 --- a/app/Http/Middleware/SetWebDb.php +++ b/app/Http/Middleware/SetWebDb.php @@ -5,14 +5,15 @@ namespace App\Http\Middleware; use App\Libraries\MultiDB; use Closure; use Cookie; +use Illuminate\Http\Request; class SetWebDb { /** * Handle an incoming request. * - * @param \Illuminate\Http\Request $request - * @param \Closure $next + * @param Request $request + * @param Closure $next * @return mixed */ public function handle($request, Closure $next) diff --git a/app/Http/Middleware/TokenAuth.php b/app/Http/Middleware/TokenAuth.php index 14df06465543..13a52e3bbc5e 100644 --- a/app/Http/Middleware/TokenAuth.php +++ b/app/Http/Middleware/TokenAuth.php @@ -16,14 +16,16 @@ use App\Models\CompanyToken; use App\Models\User; use App\Utils\Ninja; use Closure; +use Illuminate\Http\Request; +use stdClass; class TokenAuth { /** * Handle an incoming request. * - * @param \Illuminate\Http\Request $request - * @param \Closure $next + * @param Request $request + * @param Closure $next * @return mixed */ public function handle($request, Closure $next) @@ -33,7 +35,7 @@ class TokenAuth $error = [ 'message' => 'User inactive', - 'errors' => new \stdClass, + 'errors' => new stdClass, ]; //user who once existed, but has been soft deleted if (! $user) { @@ -59,7 +61,7 @@ class TokenAuth if ($user->company_user->is_locked) { $error = [ 'message' => 'User access locked', - 'errors' => new \stdClass, + 'errors' => new stdClass, ]; return response()->json($error, 403); @@ -72,7 +74,7 @@ class TokenAuth } else { $error = [ 'message' => 'Invalid token', - 'errors' => new \stdClass, + 'errors' => new stdClass, ]; return response()->json($error, 403); diff --git a/app/Http/Middleware/UrlSetDb.php b/app/Http/Middleware/UrlSetDb.php index 107bed1f5191..dc6097a21bb3 100644 --- a/app/Http/Middleware/UrlSetDb.php +++ b/app/Http/Middleware/UrlSetDb.php @@ -14,6 +14,7 @@ namespace App\Http\Middleware; use App\Libraries\MultiDB; use Closure; use Hashids\Hashids; +use Illuminate\Http\Request; /** * Class UrlSetDb. @@ -23,8 +24,8 @@ class UrlSetDb /** * Handle an incoming request. * - * @param \Illuminate\Http\Request $request - * @param \Closure $next + * @param Request $request + * @param Closure $next * @return mixed */ public function handle($request, Closure $next) diff --git a/app/Http/Requests/Client/UpdateClientRequest.php b/app/Http/Requests/Client/UpdateClientRequest.php index a29416c06bcf..4b9963b6f2ef 100644 --- a/app/Http/Requests/Client/UpdateClientRequest.php +++ b/app/Http/Requests/Client/UpdateClientRequest.php @@ -112,7 +112,7 @@ class UpdateClientRequest extends Request * are saveable * * @param object $settings - * @return object $settings + * @return stdClass $settings */ private function filterSaveableSettings($settings) { diff --git a/app/Http/Requests/Company/UpdateCompanyRequest.php b/app/Http/Requests/Company/UpdateCompanyRequest.php index e1b3b32b37ef..76464d7a8b62 100644 --- a/app/Http/Requests/Company/UpdateCompanyRequest.php +++ b/app/Http/Requests/Company/UpdateCompanyRequest.php @@ -76,7 +76,7 @@ class UpdateCompanyRequest extends Request * are saveable * * @param object $settings - * @return object $settings + * @return stdClass $settings */ private function filterSaveableSettings($settings) { diff --git a/app/Http/Requests/Expense/StoreExpenseRequest.php b/app/Http/Requests/Expense/StoreExpenseRequest.php index 520b4451a8d7..398fdf582fb1 100644 --- a/app/Http/Requests/Expense/StoreExpenseRequest.php +++ b/app/Http/Requests/Expense/StoreExpenseRequest.php @@ -39,9 +39,9 @@ class StoreExpenseRequest extends Request { $rules = []; - $rules['id_number'] = 'unique:expenses,id_number,'.$this->id.',id,company_id,'.$this->company_id; + $rules['number'] = 'unique:expenses,number,'.$this->id.',id,company_id,'.auth()->user()->company()->id; $rules['contacts.*.email'] = 'nullable|distinct'; - $rules['number'] = new UniqueExpenseNumberRule($this->all()); + //$rules['number'] = new UniqueExpenseNumberRule($this->all()); $rules['client_id'] = 'bail|sometimes|exists:clients,id,company_id,'.auth()->user()->company()->id; @@ -54,6 +54,10 @@ class StoreExpenseRequest extends Request $input = $this->decodePrimaryKeys($input); + if (array_key_exists('category_id', $input) && is_string($input['category_id'])) { + $input['category_id'] = $this->decodePrimaryKey($input['category_id']); + } + $this->replace($input); } diff --git a/app/Http/Requests/Expense/UpdateExpenseRequest.php b/app/Http/Requests/Expense/UpdateExpenseRequest.php index 06f42e6b414d..bdda97a3eb09 100644 --- a/app/Http/Requests/Expense/UpdateExpenseRequest.php +++ b/app/Http/Requests/Expense/UpdateExpenseRequest.php @@ -65,6 +65,10 @@ class UpdateExpenseRequest extends Request $input = $this->decodePrimaryKeys($input); + if (array_key_exists('category_id', $input) && is_string($input['category_id'])) { + $input['category_id'] = $this->decodePrimaryKey($input['category_id']); + } + $this->replace($input); } } diff --git a/app/Http/Requests/ExpenseCategory/StoreExpenseCategoryRequest.php b/app/Http/Requests/ExpenseCategory/StoreExpenseCategoryRequest.php index 4de8a3b06321..958fa48e5254 100644 --- a/app/Http/Requests/ExpenseCategory/StoreExpenseCategoryRequest.php +++ b/app/Http/Requests/ExpenseCategory/StoreExpenseCategoryRequest.php @@ -33,7 +33,15 @@ class StoreExpenseCategoryRequest extends Request $rules['name'] = 'required|unique:expense_categories,name,null,null,company_id,'.auth()->user()->companyId(); - return $rules; + return $this->globalRules($rules); } + protected function prepareForValidation() + { + $input = $this->all(); + + $input = $this->decodePrimaryKeys($input); + + $this->replace($input); + } } diff --git a/app/Http/Requests/GroupSetting/UpdateGroupSettingRequest.php b/app/Http/Requests/GroupSetting/UpdateGroupSettingRequest.php index 16442d1e323f..06b4b505f21f 100644 --- a/app/Http/Requests/GroupSetting/UpdateGroupSettingRequest.php +++ b/app/Http/Requests/GroupSetting/UpdateGroupSettingRequest.php @@ -58,7 +58,7 @@ class UpdateGroupSettingRequest extends Request * are saveable * * @param object $settings - * @return object $settings + * @return stdClass $settings */ private function filterSaveableSettings($settings) { diff --git a/app/Http/Requests/Invoice/StoreInvoiceRequest.php b/app/Http/Requests/Invoice/StoreInvoiceRequest.php index 827f6895d641..893c659251d9 100644 --- a/app/Http/Requests/Invoice/StoreInvoiceRequest.php +++ b/app/Http/Requests/Invoice/StoreInvoiceRequest.php @@ -52,7 +52,10 @@ class StoreInvoiceRequest extends Request $rules['invitations.*.client_contact_id'] = 'distinct'; - $rules['number'] = new UniqueInvoiceNumberRule($this->all()); + if ($this->input('number')) { + $rules['number'] = 'unique:invoices,number,'.$this->id.',id,company_id,'.auth()->user()->company()->id; + } +// $rules['number'] = new UniqueInvoiceNumberRule($this->all()); $rules['project_id'] = ['bail', 'sometimes', new ValidProjectForClient($this->all())]; @@ -66,7 +69,7 @@ class StoreInvoiceRequest extends Request $input = $this->decodePrimaryKeys($input); $input['line_items'] = isset($input['line_items']) ? $this->cleanItems($input['line_items']) : []; - //$input['line_items'] = json_encode($input['line_items']); + $this->replace($input); } } diff --git a/app/Http/Requests/Project/StoreProjectRequest.php b/app/Http/Requests/Project/StoreProjectRequest.php index a1c3d0bcf570..a59dbbadb10f 100644 --- a/app/Http/Requests/Project/StoreProjectRequest.php +++ b/app/Http/Requests/Project/StoreProjectRequest.php @@ -36,8 +36,9 @@ class StoreProjectRequest extends Request $rules['name'] = 'required'; $rules['client_id'] = 'required|exists:clients,id,company_id,'.auth()->user()->company()->id; + $rules['number'] = 'unique:projects,number,'.$this->id.',id,company_id,'.auth()->user()->company()->id; - return $rules; + return $this->globalRules($rules); } protected function prepareForValidation() diff --git a/app/Http/Requests/Project/UpdateProjectRequest.php b/app/Http/Requests/Project/UpdateProjectRequest.php index 3c4c3892f1ad..3e7f06eb7278 100644 --- a/app/Http/Requests/Project/UpdateProjectRequest.php +++ b/app/Http/Requests/Project/UpdateProjectRequest.php @@ -31,7 +31,13 @@ class UpdateProjectRequest extends Request public function rules() { - return []; + $rules = []; + + if ($this->input('number')) { + $rules['number'] = 'unique:projects,number,'.$this->id.',id,company_id,'.$this->project->company_id; + } + + return $this->globalRules($rules); } protected function prepareForValidation() diff --git a/app/Http/Requests/Request.php b/app/Http/Requests/Request.php index 2b254144074b..5e31c967e522 100644 --- a/app/Http/Requests/Request.php +++ b/app/Http/Requests/Request.php @@ -31,15 +31,15 @@ class Request extends FormRequest public function globalRules($rules) { - $rules = []; + $merge_rules = []; foreach($this->all() as $key => $value) { if(method_exists($this, $key)) - $rules = $this->{$key}($rules); + $merge_rules = $this->{$key}($rules); } - return $rules; + return array_merge($merge_rules, $rules); } private function assigned_user_id($rules) diff --git a/app/Http/Requests/Task/StoreTaskRequest.php b/app/Http/Requests/Task/StoreTaskRequest.php index 5a26e729a8eb..6bd1bce41387 100644 --- a/app/Http/Requests/Task/StoreTaskRequest.php +++ b/app/Http/Requests/Task/StoreTaskRequest.php @@ -38,7 +38,10 @@ class StoreTaskRequest extends Request { $rules = []; - return $this->globalRules($rules); + if(isset($this->number)) + $rules['number'] = Rule::unique('tasks')->where('company_id', auth()->user()->company()->id); + + return $this->globalRules($rules); } protected function prepareForValidation() @@ -47,6 +50,10 @@ class StoreTaskRequest extends Request $input = $this->decodePrimaryKeys($this->all()); + if (array_key_exists('status_id', $input) && is_string($input['status_id'])) { + $input['status_id'] = $this->decodePrimaryKey($input['status_id']); + } + $this->replace($input); } diff --git a/app/Http/Requests/Task/UpdateTaskRequest.php b/app/Http/Requests/Task/UpdateTaskRequest.php index 902e51a60c82..16a1e3882e1f 100644 --- a/app/Http/Requests/Task/UpdateTaskRequest.php +++ b/app/Http/Requests/Task/UpdateTaskRequest.php @@ -37,11 +37,9 @@ class UpdateTaskRequest extends Request public function rules() { $rules = []; - /* Ensure we have a client name, and that all emails are unique*/ - if ($this->input('number')) { - $rules['number'] = 'unique:tasks,number,'.$this->id.',id,company_id,'.$this->task->company_id; - } + if(isset($this->number)) + $rules['number'] = Rule::unique('tasks')->where('company_id', auth()->user()->company()->id)->ignore($this->task->id); return $this->globalRules($rules); } @@ -50,6 +48,10 @@ class UpdateTaskRequest extends Request { $input = $this->decodePrimaryKeys($this->all()); + if (array_key_exists('status_id', $input) && is_string($input['status_id'])) { + $input['status_id'] = $this->decodePrimaryKey($input['status_id']); + } + $this->replace($input); } } diff --git a/app/Http/ValidationRules/Credit/UniqueCreditNumberRule.php b/app/Http/ValidationRules/Credit/UniqueCreditNumberRule.php index abb90c41827c..390eafc477de 100644 --- a/app/Http/ValidationRules/Credit/UniqueCreditNumberRule.php +++ b/app/Http/ValidationRules/Credit/UniqueCreditNumberRule.php @@ -47,10 +47,6 @@ class UniqueCreditNumberRule implements Rule } /** - * @param $email - * - * //off,when_sent,when_paid - * * @return bool */ private function checkIfCreditNumberUnique() : bool diff --git a/app/Http/ValidationRules/Expense/UniqueExpenseNumberRule.php b/app/Http/ValidationRules/Expense/UniqueExpenseNumberRule.php index 4ae379757df3..dc1c0c5195f4 100644 --- a/app/Http/ValidationRules/Expense/UniqueExpenseNumberRule.php +++ b/app/Http/ValidationRules/Expense/UniqueExpenseNumberRule.php @@ -47,10 +47,6 @@ class UniqueExpenseNumberRule implements Rule } /** - * @param $email - * - * //off,when_sent,when_paid - * * @return bool */ private function checkIfExpenseNumberUnique() : bool @@ -66,7 +62,7 @@ class UniqueExpenseNumberRule implements Rule // $expense->where('client_id', $this->input['client_id']); return $expense->exists(); - + // $expense = Expense::where('client_id', $this->input['client_id']) // ->where('number', $this->input['number']) // ->withTrashed() diff --git a/app/Http/ValidationRules/Invoice/LockedInvoiceRule.php b/app/Http/ValidationRules/Invoice/LockedInvoiceRule.php index dcf534b7c294..6cdd54ec77d4 100644 --- a/app/Http/ValidationRules/Invoice/LockedInvoiceRule.php +++ b/app/Http/ValidationRules/Invoice/LockedInvoiceRule.php @@ -47,10 +47,6 @@ class LockedInvoiceRule implements Rule } /** - * @param $email - * - * //off,when_sent,when_paid - * * @return bool */ private function checkIfInvoiceLocked() : bool diff --git a/app/Http/ValidationRules/Invoice/UniqueInvoiceNumberRule.php b/app/Http/ValidationRules/Invoice/UniqueInvoiceNumberRule.php index f8156b7a97e5..1cecd095cf2b 100644 --- a/app/Http/ValidationRules/Invoice/UniqueInvoiceNumberRule.php +++ b/app/Http/ValidationRules/Invoice/UniqueInvoiceNumberRule.php @@ -47,10 +47,6 @@ class UniqueInvoiceNumberRule implements Rule } /** - * @param $email - * - * //off,when_sent,when_paid - * * @return bool */ private function checkIfInvoiceNumberUnique() : bool diff --git a/app/Http/ValidationRules/Quote/UniqueQuoteNumberRule.php b/app/Http/ValidationRules/Quote/UniqueQuoteNumberRule.php index 03da60408946..83bdf64adb11 100644 --- a/app/Http/ValidationRules/Quote/UniqueQuoteNumberRule.php +++ b/app/Http/ValidationRules/Quote/UniqueQuoteNumberRule.php @@ -47,10 +47,6 @@ class UniqueQuoteNumberRule implements Rule } /** - * @param $email - * - * //off,when_sent,when_paid - * * @return bool */ private function checkIfQuoteNumberUnique() : bool diff --git a/app/Http/ValidationRules/Recurring/UniqueRecurringInvoiceNumberRule.php b/app/Http/ValidationRules/Recurring/UniqueRecurringInvoiceNumberRule.php index 2103424b6e14..d37cbcfa05ea 100644 --- a/app/Http/ValidationRules/Recurring/UniqueRecurringInvoiceNumberRule.php +++ b/app/Http/ValidationRules/Recurring/UniqueRecurringInvoiceNumberRule.php @@ -48,10 +48,6 @@ class UniqueRecurringInvoiceNumberRule implements Rule } /** - * @param $email - * - * //off,when_sent,when_paid - * * @return bool */ private function checkIfInvoiceNumberUnique() : bool diff --git a/app/Http/ValidationRules/User/RelatedUserRule.php b/app/Http/ValidationRules/User/RelatedUserRule.php index 82ecbc6d8ac2..43958e7a49b9 100644 --- a/app/Http/ValidationRules/User/RelatedUserRule.php +++ b/app/Http/ValidationRules/User/RelatedUserRule.php @@ -45,7 +45,7 @@ class RelatedUserRule implements Rule } /** - * @param $email + * @param $user_id * @return bool */ private function checkUserIsRelated($user_id) : bool diff --git a/app/Jobs/Company/CreateCompany.php b/app/Jobs/Company/CreateCompany.php index e97289929a08..9ba6441fc361 100644 --- a/app/Jobs/Company/CreateCompany.php +++ b/app/Jobs/Company/CreateCompany.php @@ -30,7 +30,8 @@ class CreateCompany /** * Create a new job instance. * - * @return void + * @param array $request + * @param $account */ public function __construct(array $request, $account) { @@ -42,7 +43,7 @@ class CreateCompany /** * Execute the job. * - * @return void + * @return Company|null */ public function handle() : ?Company { diff --git a/app/Jobs/Company/CreateCompanyPaymentTerms.php b/app/Jobs/Company/CreateCompanyPaymentTerms.php index 27249585b923..8c0453e1a622 100644 --- a/app/Jobs/Company/CreateCompanyPaymentTerms.php +++ b/app/Jobs/Company/CreateCompanyPaymentTerms.php @@ -31,7 +31,8 @@ class CreateCompanyPaymentTerms /** * Create a new job instance. * - * @return void + * @param $company + * @param $user */ public function __construct($company, $user) { diff --git a/app/Jobs/Company/CreateCompanyTaskStatuses.php b/app/Jobs/Company/CreateCompanyTaskStatuses.php index 04814e173515..8a759646d911 100644 --- a/app/Jobs/Company/CreateCompanyTaskStatuses.php +++ b/app/Jobs/Company/CreateCompanyTaskStatuses.php @@ -32,7 +32,8 @@ class CreateCompanyTaskStatuses /** * Create a new job instance. * - * @return void + * @param $company + * @param $user */ public function __construct($company, $user) { @@ -53,7 +54,7 @@ class CreateCompanyTaskStatuses ['name' => ctrans('texts.ready_to_do'), 'company_id' => $this->company->id, 'user_id' => $this->user->id, 'created_at' => now(), 'updated_at' => now()], ['name' => ctrans('texts.in_progress'), 'company_id' => $this->company->id, 'user_id' => $this->user->id, 'created_at' => now(), 'updated_at' => now()], ['name' => ctrans('texts.done'), 'company_id' => $this->company->id, 'user_id' => $this->user->id, 'created_at' => now(), 'updated_at' => now()], - + ]; TaskStatus::insert($task_statuses); diff --git a/app/Jobs/Company/CreateCompanyToken.php b/app/Jobs/Company/CreateCompanyToken.php index 1111f9035895..e2f5018f8dac 100644 --- a/app/Jobs/Company/CreateCompanyToken.php +++ b/app/Jobs/Company/CreateCompanyToken.php @@ -34,7 +34,9 @@ class CreateCompanyToken implements ShouldQueue /** * Create a new job instance. * - * @return void + * @param Company $company + * @param User $user + * @param string $custom_token_name */ public function __construct(Company $company, User $user, string $custom_token_name) { @@ -48,7 +50,7 @@ class CreateCompanyToken implements ShouldQueue /** * Execute the job. * - * @return void + * @return CompanyToken|null */ public function handle() : ?CompanyToken { diff --git a/app/Jobs/Credit/ApplyCreditPayment.php b/app/Jobs/Credit/ApplyCreditPayment.php index 996f4babe286..3f27493a3b5f 100644 --- a/app/Jobs/Credit/ApplyCreditPayment.php +++ b/app/Jobs/Credit/ApplyCreditPayment.php @@ -38,7 +38,9 @@ class ApplyCreditPayment implements ShouldQueue /** * Create a new job instance. * - * @return void + * @param Credit $credit + * @param Payment $payment + * @param float $amount */ public function __construct(Credit $credit, Payment $payment, float $amount) { diff --git a/app/Jobs/Credit/StoreCredit.php b/app/Jobs/Credit/StoreCredit.php index df01e0673d88..0a114fab9d2d 100644 --- a/app/Jobs/Credit/StoreCredit.php +++ b/app/Jobs/Credit/StoreCredit.php @@ -24,7 +24,8 @@ class StoreCredit implements ShouldQueue /** * Create a new job instance. * - * @return void + * @param Credit $credit + * @param array $data */ public function __construct(Credit $credit, array $data) { @@ -36,7 +37,8 @@ class StoreCredit implements ShouldQueue /** * Execute the job. * - * @return void + * @param CreditRepository $credit_repository + * @return Credit|null */ public function handle(CreditRepository $credit_repository): ?Credit { diff --git a/app/Jobs/Cron/RecurringInvoicesCron.php b/app/Jobs/Cron/RecurringInvoicesCron.php index 29554493b959..198fe0dff3ce 100644 --- a/app/Jobs/Cron/RecurringInvoicesCron.php +++ b/app/Jobs/Cron/RecurringInvoicesCron.php @@ -14,6 +14,7 @@ namespace App\Jobs\Cron; use App\Jobs\RecurringInvoice\SendRecurring; use App\Libraries\MultiDB; use App\Models\RecurringInvoice; +use Illuminate\Database\Eloquent\Builder; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Http\Request; use Illuminate\Support\Carbon; @@ -46,6 +47,9 @@ class RecurringInvoicesCron $recurring_invoices = RecurringInvoice::whereDate('next_send_date', '=', now()) ->where('status_id', RecurringInvoice::STATUS_ACTIVE) + ->whereHas('company', function(Builder $query){ + $query->where('is_disabled', false); + }) ->cursor(); Log::info(now()->format('Y-m-d') . ' Sending Recurring Invoices. Count = '.$recurring_invoices->count()); @@ -66,6 +70,9 @@ class RecurringInvoicesCron $recurring_invoices = RecurringInvoice::whereDate('next_send_date', '=', now()) ->where('status_id', RecurringInvoice::STATUS_ACTIVE) + ->whereHas('company', function(Builder $query){ + $query->where('is_disabled', false); + }) ->cursor(); Log::info(now()->format('Y-m-d') . ' Sending Recurring Invoices. Count = '.$recurring_invoices->count().' On Database # '.$db); diff --git a/app/Jobs/Entity/CreateEntityPdf.php b/app/Jobs/Entity/CreateEntityPdf.php index b6cadc3583d2..1b8e5f4a2d62 100644 --- a/app/Jobs/Entity/CreateEntityPdf.php +++ b/app/Jobs/Entity/CreateEntityPdf.php @@ -64,7 +64,7 @@ class CreateEntityPdf implements ShouldQueue /** * Create a new job instance. * - * @return void + * @param $invitation */ public function __construct($invitation) { diff --git a/app/Jobs/Entity/EmailEntity.php b/app/Jobs/Entity/EmailEntity.php index b288e0620727..2edf49716043 100644 --- a/app/Jobs/Entity/EmailEntity.php +++ b/app/Jobs/Entity/EmailEntity.php @@ -35,6 +35,7 @@ use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; use Illuminate\Support\Facades\Mail; use Illuminate\Support\Str; +use Swift_TransportException; use Symfony\Component\Mime\Test\Constraint\EmailTextBodyContains; use Turbo124\Beacon\Facades\LightLogs; @@ -93,12 +94,15 @@ class EmailEntity extends BaseMailerJob implements ShouldQueue */ public function handle() { - + if($this->company->is_disabled) + return true; + MultiDB::setDB($this->company->db); $this->setMailDriver(); try { + /** @noinspection PhpMethodParametersCountMismatchInspection */ Mail::to($this->invitation->contact->email, $this->invitation->contact->present()->name()) ->send( new TemplateEmail( @@ -107,7 +111,7 @@ class EmailEntity extends BaseMailerJob implements ShouldQueue $this->invitation->contact->client ) ); - } catch (\Swift_TransportException $e) { + } catch (Swift_TransportException $e) { $this->entityEmailFailed($e->getMessage()); } @@ -152,7 +156,7 @@ class EmailEntity extends BaseMailerJob implements ShouldQueue case 'invoice': event(new InvoiceWasEmailedAndFailed($this->invitation->invoice, $this->company, $message, Ninja::eventVars())); break; - + default: # code... break; @@ -166,7 +170,7 @@ class EmailEntity extends BaseMailerJob implements ShouldQueue case 'invoice': event(new InvoiceWasEmailed($this->invitation, $this->company, Ninja::eventVars())); break; - + default: # code... break; diff --git a/app/Jobs/Invitation/MarkOpened.php b/app/Jobs/Invitation/MarkOpened.php index 182ccd89a7f2..a1617d23a0ed 100644 --- a/app/Jobs/Invitation/MarkOpened.php +++ b/app/Jobs/Invitation/MarkOpened.php @@ -36,7 +36,8 @@ class MarkOpened implements ShouldQueue /** * Create a new job instance. * - * @return void + * @param string $message_id + * @param string $entity */ public function __construct(string $message_id, string $entity) { @@ -49,7 +50,7 @@ class MarkOpened implements ShouldQueue * Execute the job. * * - * @return void + * @return false */ public function handle() { diff --git a/app/Jobs/Invoice/CreateUbl.php b/app/Jobs/Invoice/CreateUbl.php index 71e8a2038bc3..3f7aea2d185d 100644 --- a/app/Jobs/Invoice/CreateUbl.php +++ b/app/Jobs/Invoice/CreateUbl.php @@ -25,6 +25,7 @@ use CleverIt\UBL\Invoice\TaxCategory; use CleverIt\UBL\Invoice\TaxScheme; use CleverIt\UBL\Invoice\TaxSubTotal; use CleverIt\UBL\Invoice\TaxTotal; +use Exception; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; @@ -98,7 +99,7 @@ class CreateUbl implements ShouldQueue try { return Generator::invoice($ubl_invoice, $invoice->client->getCurrencyCode()); - } catch (\Exception $exception) { + } catch (Exception $exception) { return false; } } @@ -178,9 +179,8 @@ class CreateUbl implements ShouldQueue } /** - * @param $invoiceItem - * @param $invoiceTotal - * + * @param $item + * @param $invoice_total * @return float|int */ private function getItemTaxable($item, $invoice_total) diff --git a/app/Jobs/Invoice/InjectSignature.php b/app/Jobs/Invoice/InjectSignature.php index 159553704620..fe5dc5eb56b3 100644 --- a/app/Jobs/Invoice/InjectSignature.php +++ b/app/Jobs/Invoice/InjectSignature.php @@ -27,7 +27,8 @@ class InjectSignature implements ShouldQueue /** * Create a new job instance. * - * @return void + * @param Invoice $invoice + * @param string $signature */ public function __construct(Invoice $invoice, string $signature) { diff --git a/app/Jobs/Invoice/InvoiceWorkflowSettings.php b/app/Jobs/Invoice/InvoiceWorkflowSettings.php index 886472b65e8f..e53b680501b9 100644 --- a/app/Jobs/Invoice/InvoiceWorkflowSettings.php +++ b/app/Jobs/Invoice/InvoiceWorkflowSettings.php @@ -34,7 +34,8 @@ class InvoiceWorkflowSettings implements ShouldQueue /** * Create a new job instance. * - * @return void + * @param Invoice $invoice + * @param Client|null $client */ public function __construct(Invoice $invoice, Client $client = null) { diff --git a/app/Jobs/Invoice/ZipInvoices.php b/app/Jobs/Invoice/ZipInvoices.php index 8842064cf3f7..11946f323950 100644 --- a/app/Jobs/Invoice/ZipInvoices.php +++ b/app/Jobs/Invoice/ZipInvoices.php @@ -41,10 +41,12 @@ class ZipInvoices extends BaseMailerJob implements ShouldQueue public $settings; /** + * @param $invoices + * @param Company $company + * @param $email * @deprecated confirm to be deleted * Create a new job instance. * - * @return void */ public function __construct($invoices, Company $company, $email) { @@ -62,6 +64,9 @@ class ZipInvoices extends BaseMailerJob implements ShouldQueue * * * @return void + * @throws \ZipStream\Exception\FileNotFoundException + * @throws \ZipStream\Exception\FileNotReadableException + * @throws \ZipStream\Exception\OverflowException */ public function handle() { diff --git a/app/Jobs/Mail/BaseMailerJob.php b/app/Jobs/Mail/BaseMailerJob.php index 38ef8ade78e9..bc1a1e8ab5aa 100644 --- a/app/Jobs/Mail/BaseMailerJob.php +++ b/app/Jobs/Mail/BaseMailerJob.php @@ -57,7 +57,7 @@ class BaseMailerJob implements ShouldQueue } /* - * Now that our token is refresh and valid we can boot the + * Now that our token is refreshed and valid we can boot the * mail driver at runtime and also set the token which will persist * just for this request. */ diff --git a/app/Jobs/Mail/EntityPaidMailer.php b/app/Jobs/Mail/EntityPaidMailer.php index 9b361d837362..b0defdc0cab9 100644 --- a/app/Jobs/Mail/EntityPaidMailer.php +++ b/app/Jobs/Mail/EntityPaidMailer.php @@ -49,13 +49,15 @@ class EntityPaidMailer extends BaseMailerJob implements ShouldQueue /** * Create a new job instance. * - * @return void + * @param $payment + * @param $user + * @param $company */ - public function __construct($payment, $user, $company) + public function __construct($payment, $company) { $this->company = $company; - $this->user = $user; + $this->user = $payment->user; $this->payment = $payment; @@ -69,27 +71,35 @@ class EntityPaidMailer extends BaseMailerJob implements ShouldQueue */ public function handle() { + /*If we are migrating data we don't want to fire these notification*/ + if ($this->company->is_disabled) + return true; + //Set DB MultiDB::setDb($this->company->db); - /*If we are migrating data we don't want to fire these notification*/ - if ($this->company->company_users->first()->is_migrating) { - return true; - } - //if we need to set an email driver do it now $this->setMailDriver(); - $mail_obj = (new EntityPaidObject($this->payment))->build(); - $mail_obj->from = [$this->payment->user->email, $this->payment->user->present()->name()]; + try { - //send email - Mail::to($this->user->email) - ->send(new EntityNotificationMailer($mail_obj)); + $mail_obj = (new EntityPaidObject($this->payment))->build(); + $mail_obj->from = [$this->payment->user->email, $this->payment->user->present()->name()]; - //catch errors - if (count(Mail::failures()) > 0) { - return $this->logMailError(Mail::failures(), $this->payment->client); + //send email + Mail::to($this->user->email) + ->send(new EntityNotificationMailer($mail_obj)); + + } catch (Swift_TransportException $e) { + $this->failed($e->getMessage()); + //$this->entityEmailFailed($e->getMessage()); } + + if (count(Mail::failures()) > 0) { + $this->logMailError(Mail::failures(), $this->entity->client); + } else { + // $this->entityEmailSucceeded(); + } + } } diff --git a/app/Jobs/Mail/EntitySentMailer.php b/app/Jobs/Mail/EntitySentMailer.php index c01fa4e6bd4d..062c1d857cbc 100644 --- a/app/Jobs/Mail/EntitySentMailer.php +++ b/app/Jobs/Mail/EntitySentMailer.php @@ -48,7 +48,10 @@ class EntitySentMailer extends BaseMailerJob implements ShouldQueue /** * Create a new job instance. * - * @return void + * @param $invitation + * @param $entity_type + * @param $user + * @param $company */ public function __construct($invitation, $entity_type, $user, $company) { @@ -72,6 +75,10 @@ class EntitySentMailer extends BaseMailerJob implements ShouldQueue */ public function handle() { + /*If we are migrating data we don't want to fire these notification*/ + if ($this->company->is_disabled) + return true; + //Set DB MultiDB::setDb($this->company->db); diff --git a/app/Jobs/Mail/EntityViewedMailer.php b/app/Jobs/Mail/EntityViewedMailer.php index 222fff83e77c..4dad5c068e1f 100644 --- a/app/Jobs/Mail/EntityViewedMailer.php +++ b/app/Jobs/Mail/EntityViewedMailer.php @@ -48,7 +48,10 @@ class EntityViewedMailer extends BaseMailerJob implements ShouldQueue /** * Create a new job instance. * - * @return void + * @param $invitation + * @param $entity_type + * @param $user + * @param $company */ public function __construct($invitation, $entity_type, $user, $company) { @@ -72,7 +75,10 @@ class EntityViewedMailer extends BaseMailerJob implements ShouldQueue */ public function handle() { - + /*If we are migrating data we don't want to fire these notification*/ + if ($this->company->is_disabled) + return true; + //Set DB MultiDB::setDb($this->company->db); diff --git a/app/Jobs/Mail/MailRouter.php b/app/Jobs/Mail/MailRouter.php index bb239ba6e3e7..db6ebd423a58 100644 --- a/app/Jobs/Mail/MailRouter.php +++ b/app/Jobs/Mail/MailRouter.php @@ -67,6 +67,10 @@ class MailRouter extends BaseMailerJob implements ShouldQueue public function handle() { + /*If we are migrating data we don't want to fire these notification*/ + if ($this->company->is_disabled) + return true; + MultiDB::setDb($this->company->db); //if we need to set an email driver do it now diff --git a/app/Jobs/Mail/PaymentFailureMailer.php b/app/Jobs/Mail/PaymentFailureMailer.php index 5d7e13125e25..d06dd7cc994d 100644 --- a/app/Jobs/Mail/PaymentFailureMailer.php +++ b/app/Jobs/Mail/PaymentFailureMailer.php @@ -49,7 +49,10 @@ class PaymentFailureMailer extends BaseMailerJob implements ShouldQueue /** * Create a new job instance. * - * @return void + * @param $client + * @param $message + * @param $company + * @param $amount */ public function __construct($client, $message, $company, $amount) { @@ -73,6 +76,10 @@ class PaymentFailureMailer extends BaseMailerJob implements ShouldQueue */ public function handle() { + /*If we are migrating data we don't want to fire these notification*/ + if ($this->company->is_disabled) + return true; + //Set DB MultiDB::setDb($this->company->db); diff --git a/app/Jobs/Ninja/RefundCancelledAccount.php b/app/Jobs/Ninja/RefundCancelledAccount.php index ebadef7e54df..9bc2e40ea74c 100644 --- a/app/Jobs/Ninja/RefundCancelledAccount.php +++ b/app/Jobs/Ninja/RefundCancelledAccount.php @@ -20,7 +20,7 @@ class RefundCancelledAccount implements ShouldQueue /** * Create a new job instance. * - * @return void + * @param Account $account */ public function __construct(Account $account) { @@ -41,15 +41,17 @@ class RefundCancelledAccount implements ShouldQueue $plan_details = $this->account->getPlanDetails(); - /* Trial user cancelling early.... */ - if ($plan_details['trial_active']) { + if(!$plan_details) return; - } - /* Is the plan Active? */ - if (! $plan_details['active']) { + /* Trial user cancelling early.... */ + if ($plan_details['trial_plan']) return; - } + + /* Is the plan Active? */ + if (! $plan_details['active']) + return; + /* Refundable client! */ diff --git a/app/Jobs/Payment/EmailPayment.php b/app/Jobs/Payment/EmailPayment.php index 96df51ec1c99..8c3487a6824c 100644 --- a/app/Jobs/Payment/EmailPayment.php +++ b/app/Jobs/Payment/EmailPayment.php @@ -32,16 +32,21 @@ class EmailPayment extends BaseMailerJob implements ShouldQueue private $contact; + private $company; /** * Create a new job instance. * - * @return void + * @param Payment $payment + * @param $email_builder + * @param $contact + * @param $company */ - public function __construct(Payment $payment, $email_builder, $contact) + public function __construct(Payment $payment, $email_builder, $contact, company) { $this->payment = $payment; $this->email_builder = $email_builder; $this->contact = $contact; + $this->company = $company; } /** @@ -52,6 +57,9 @@ class EmailPayment extends BaseMailerJob implements ShouldQueue */ public function handle() { + if($this->company->is_disabled) + return true; + if ($this->contact->email) { MultiDB::setDb($this->payment->company->db); //this may fail if we don't pass the serialized object with the company record diff --git a/app/Jobs/Payment/PaymentNotification.php b/app/Jobs/Payment/PaymentNotification.php index 431aad65c2f9..1160d52d1973 100644 --- a/app/Jobs/Payment/PaymentNotification.php +++ b/app/Jobs/Payment/PaymentNotification.php @@ -32,7 +32,8 @@ class PaymentNotification implements ShouldQueue /** * Create a new job instance. * - * @return void + * @param Payment $payment + * @param Company $company */ public function __construct(Payment $payment, Company $company) { diff --git a/app/Jobs/Product/UpdateOrCreateProduct.php b/app/Jobs/Product/UpdateOrCreateProduct.php index 5eeb0062b76a..7f45f30c532d 100644 --- a/app/Jobs/Product/UpdateOrCreateProduct.php +++ b/app/Jobs/Product/UpdateOrCreateProduct.php @@ -36,7 +36,9 @@ class UpdateOrCreateProduct implements ShouldQueue /** * Create a new job instance. * - * @return void + * @param $products + * @param $invoice + * @param $company */ public function __construct($products, $invoice, $company) { diff --git a/app/Jobs/Quote/ApplyQuoteNumber.php b/app/Jobs/Quote/ApplyQuoteNumber.php index 10e38cc9c255..0305c5c38e0b 100644 --- a/app/Jobs/Quote/ApplyQuoteNumber.php +++ b/app/Jobs/Quote/ApplyQuoteNumber.php @@ -39,7 +39,9 @@ class ApplyQuoteNumber implements ShouldQueue /** * Create a new job instance. * - * @return void + * @param Quote $quote + * @param $settings + * @param Company $company */ public function __construct(Quote $quote, $settings, Company $company) { @@ -54,7 +56,7 @@ class ApplyQuoteNumber implements ShouldQueue * Execute the job. * * - * @return void + * @return Quote */ public function handle() { diff --git a/app/Jobs/Quote/CreateQuoteInvitations.php b/app/Jobs/Quote/CreateQuoteInvitations.php index b939b2324941..f98afefa41c9 100644 --- a/app/Jobs/Quote/CreateQuoteInvitations.php +++ b/app/Jobs/Quote/CreateQuoteInvitations.php @@ -21,7 +21,6 @@ use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; -use Symfony\Component\Debug\Exception\FatalThrowableError; class CreateQuoteInvitations implements ShouldQueue { @@ -34,7 +33,8 @@ class CreateQuoteInvitations implements ShouldQueue /** * Create a new job instance. * - * @return void + * @param Quote $quote + * @param Company $company */ public function __construct(Quote $quote, Company $company) { diff --git a/app/Jobs/Quote/QuoteWorkflowSettings.php b/app/Jobs/Quote/QuoteWorkflowSettings.php index fd5129eef5cb..95c5756c9c0d 100644 --- a/app/Jobs/Quote/QuoteWorkflowSettings.php +++ b/app/Jobs/Quote/QuoteWorkflowSettings.php @@ -33,7 +33,8 @@ class QuoteWorkflowSettings implements ShouldQueue /** * Create a new job instance. * - * @return void + * @param Quote $quote + * @param Client|null $client */ public function __construct(Quote $quote, Client $client = null) { diff --git a/app/Jobs/RecurringInvoice/SendRecurring.php b/app/Jobs/RecurringInvoice/SendRecurring.php index e06624942224..574a24ea3ebe 100644 --- a/app/Jobs/RecurringInvoice/SendRecurring.php +++ b/app/Jobs/RecurringInvoice/SendRecurring.php @@ -41,7 +41,8 @@ class SendRecurring implements ShouldQueue /** * Create a new job instance. * - * @return void + * @param RecurringInvoice $recurring_invoice + * @param string $db */ public function __construct(RecurringInvoice $recurring_invoice, string $db = 'db-ninja-01') { @@ -92,7 +93,7 @@ class SendRecurring implements ShouldQueue $this->recurring_invoice->last_sent_date = date('Y-m-d'); /* Set completed if we don't have any more cycles remaining*/ - if ($this->recurring_invoice->remaining_cycles == 0) + if ($this->recurring_invoice->remaining_cycles == 0) $this->recurring_invoice->setCompleted(); info("next send date = " . $this->recurring_invoice->next_send_date); @@ -101,7 +102,7 @@ class SendRecurring implements ShouldQueue $this->recurring_invoice->save(); - if ($invoice->invitations->count() > 0) + if ($invoice->invitations->count() > 0) event(new InvoiceWasEmailed($invoice->invitations->first(), $invoice->company, Ninja::eventVars())); } diff --git a/app/Jobs/User/CreateUser.php b/app/Jobs/User/CreateUser.php index 8d8a0e74effc..38bb8edf80d6 100644 --- a/app/Jobs/User/CreateUser.php +++ b/app/Jobs/User/CreateUser.php @@ -38,7 +38,10 @@ class CreateUser /** * Create a new job instance. * - * @return void + * @param array $request + * @param $account + * @param $company + * @param bool $company_owner */ public function __construct(array $request, $account, $company, $company_owner = false) { @@ -51,7 +54,7 @@ class CreateUser /** * Execute the job. * - * @return void + * @return User|null */ public function handle() : ?User { diff --git a/app/Jobs/User/UserEmailChanged.php b/app/Jobs/User/UserEmailChanged.php index fcb9fc969253..02a788a3f1c0 100644 --- a/app/Jobs/User/UserEmailChanged.php +++ b/app/Jobs/User/UserEmailChanged.php @@ -23,6 +23,7 @@ use Illuminate\Http\Request; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; use Illuminate\Support\Facades\Mail; +use stdClass; class UserEmailChanged extends BaseMailerJob implements ShouldQueue { @@ -39,7 +40,9 @@ class UserEmailChanged extends BaseMailerJob implements ShouldQueue /** * Create a new job instance. * - * @return void + * @param string $new_email + * @param string $old_email + * @param Company $company */ public function __construct(string $new_email, string $old_email, Company $company) { @@ -51,6 +54,9 @@ class UserEmailChanged extends BaseMailerJob implements ShouldQueue public function handle() { + if($this->company->is_disabled) + return true; + //Set DB MultiDB::setDb($this->company->db); @@ -58,7 +64,7 @@ class UserEmailChanged extends BaseMailerJob implements ShouldQueue $this->setMailDriver(); /*Build the object*/ - $mail_obj = new \stdClass; + $mail_obj = new stdClass; $mail_obj->subject = ctrans('texts.email_address_changed'); $mail_obj->markdown = 'email.admin.generic'; $mail_obj->from = [$this->company->owner()->email, $this->company->owner()->present()->name()]; diff --git a/app/Jobs/Util/Import.php b/app/Jobs/Util/Import.php index b2754b8ec08c..c7e97d07bf05 100644 --- a/app/Jobs/Util/Import.php +++ b/app/Jobs/Util/Import.php @@ -26,6 +26,7 @@ use App\Factory\QuoteFactory; use App\Factory\RecurringInvoiceFactory; use App\Factory\TaxRateFactory; use App\Factory\UserFactory; +use App\Factory\VendorFactory; use App\Http\Requests\Company\UpdateCompanyRequest; use App\Http\ValidationRules\ValidCompanyGatewayFeesAndLimitsRule; use App\Http\ValidationRules\ValidUserForCompany; @@ -43,14 +44,20 @@ use App\Models\Company; use App\Models\CompanyGateway; use App\Models\Credit; use App\Models\Document; +use App\Models\Expense; +use App\Models\ExpenseCategory; use App\Models\Invoice; use App\Models\Payment; use App\Models\PaymentTerm; use App\Models\Product; +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\User; +use App\Models\Vendor; use App\Repositories\ClientContactRepository; use App\Repositories\ClientRepository; use App\Repositories\CompanyRepository; @@ -62,9 +69,12 @@ use App\Repositories\PaymentRepository; use App\Repositories\ProductRepository; use App\Repositories\QuoteRepository; use App\Repositories\UserRepository; +use App\Repositories\VendorContactRepository; +use App\Repositories\VendorRepository; use App\Utils\Traits\CleanLineItems; use App\Utils\Traits\CompanyGatewayFeesAndLimitsSaver; use App\Utils\Traits\MakesHash; +use Exception; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; @@ -101,6 +111,8 @@ class Import implements ShouldQueue 'payment_terms', 'tax_rates', 'clients', + 'vendors', + 'projects', 'products', 'invoices', 'recurring_invoices', @@ -109,6 +121,10 @@ class Import implements ShouldQueue 'payments', 'company_gateways', 'client_gateway_tokens', + 'expense_categories', + 'task_statuses', + 'expenses', + 'tasks', // //'documents', ]; @@ -156,8 +172,7 @@ class Import implements ShouldQueue /** * Execute the job. * - * @return void - * @throws \Exception + * @return bool */ public function handle() :bool { @@ -207,12 +222,12 @@ class Import implements ShouldQueue /** * @param array $data - * @throws \Exception + * @throws Exception */ private function processCompany(array $data): void { Company::unguard(); - + if ( $data['settings']['invoice_design_id'] > 9 || $data['settings']['invoice_design_id'] > "9" @@ -279,7 +294,7 @@ class Import implements ShouldQueue /** * @param array $data - * @throws \Exception + * @throws Exception */ private function processTaxRates(array $data): void { @@ -326,7 +341,7 @@ class Import implements ShouldQueue /** * @param array $data - * @throws \Exception + * @throws Exception */ private function processUsers(array $data): void { @@ -379,8 +394,7 @@ class Import implements ShouldQueue /** * @param array $data - * @throws ResourceDependencyMissing - * @throws \Exception + * @throws Exception */ private function processClients(array $data): void { @@ -441,6 +455,68 @@ class Import implements ShouldQueue $client_repository = null; } + /** + * @param array $data + * @throws Exception + */ + private function processVendors(array $data): void + { + Vendor::unguard(); + + $contact_repository = new VendorContactRepository(); + $vendor_repository = new VendorRepository($contact_repository); + + foreach ($data as $key => $resource) { + $modified = $resource; + $modified['company_id'] = $this->company->id; + $modified['user_id'] = $this->processUserId($resource); + + unset($modified['id']); + unset($modified['contacts']); + + $vendor = $vendor_repository->save( + $modified, + VendorFactory::create( + $this->company->id, + $modified['user_id'] + ) + ); + + $vendor->contacts()->forceDelete(); + + if (array_key_exists('contacts', $resource)) { // need to remove after importing new migration.json + $modified_contacts = $resource['contacts']; + + foreach ($modified_contacts as $key => $vendor_contacts) { + $modified_contacts[$key]['company_id'] = $this->company->id; + $modified_contacts[$key]['user_id'] = $this->processUserId($resource); + $modified_contacts[$key]['vendor_id'] = $vendor->id; + $modified_contacts[$key]['password'] = 'mysuperpassword'; // @todo, and clean up the code.. + unset($modified_contacts[$key]['id']); + } + + $saveable_contacts['contacts'] = $modified_contacts; + + $contact_repository->save($saveable_contacts, $vendor); + } + + $key = "vendors_{$resource['id']}"; + + $this->ids['vendors'][$key] = [ + 'old' => $resource['id'], + 'new' => $vendor->id, + ]; + } + + Vendor::reguard(); + + /*Improve memory handling by setting everything to null when we have finished*/ + $data = null; + $contact_repository = null; + $client_repository = null; + } + + private function processProducts(array $data): void { Product::unguard(); @@ -500,7 +576,7 @@ class Import implements ShouldQueue $invoice_repository = new InvoiceMigrationRepository(); foreach ($data as $key => $resource) { - + $modified = $resource; if (array_key_exists('client_id', $resource) && ! array_key_exists('clients', $this->ids)) { @@ -776,12 +852,12 @@ class Import implements ShouldQueue if (array_key_exists('invoice_id', $resource) && $resource['invoice_id'] && array_key_exists('invoices', $this->ids)) { $modified['documentable_id'] = $this->transformId('invoices', $resource['invoice_id']); - $modified['documentable_type'] = \App\Models\Invoice::class; + $modified['documentable_type'] = Invoice::class; } if (array_key_exists('expense_id', $resource) && $resource['expense_id'] && array_key_exists('expenses', $this->ids)) { $modified['documentable_id'] = $this->transformId('expenses', $resource['expense_id']); - $modified['documentable_type'] = \App\Models\Expense::class; + $modified['documentable_type'] = Expense::class; } $modified['user_id'] = $this->processUserId($resource); @@ -906,6 +982,183 @@ class Import implements ShouldQueue $data = null; } + private function processTaskStatuses(array $data) :void + {info('in task statuses'); + TaskStatus::unguard(); + + foreach ($data as $resource) { + $modified = $resource; + + unset($modified['id']); + + $modified['company_id'] = $this->company->id; + $modified['user_id'] = $this->transformId('users', $resource['user_id']); + + $task_status = TaskStatus::Create($modified); + + $old_user_key = array_key_exists('user_id', $resource) ?? $this->user->id; + + $this->ids['task_statuses'] = [ + "task_statuses_{$old_user_key}" => [ + 'old' => $resource['id'], + 'new' => $task_status->id, + ], + ]; + } + + TaskStatus::reguard(); + + $data = null; + info('finished task statuses'); + } + + private function processExpenseCategories(array $data) :void + { + ExpenseCategory::unguard(); + + foreach ($data as $resource) { + $modified = $resource; + + unset($modified['id']); + + $modified['company_id'] = $this->company->id; + $modified['user_id'] = $this->transformId('users', $resource['user_id']); + + $expense_category = ExpenseCategory::Create($modified); + + $old_user_key = array_key_exists('user_id', $resource) ?? $this->user->id; + + $this->ids['expense_categories'] = [ + "expense_categories_{$old_user_key}" => [ + 'old' => $resource['id'], + 'new' => $expense_category->id, + ], + ]; + } + + ExpenseCategory::reguard(); + + $data = null; + } + + private function processTasks(array $data) :void + { + Task::unguard(); + + foreach ($data as $resource) { + $modified = $resource; + + unset($modified['id']); + + $modified['company_id'] = $this->company->id; + $modified['user_id'] = $this->transformId('users', $resource['user_id']); + + if(isset($modified['client_id'])) + $modified['client_id'] = $this->transformId('clients', $resource['client_id']); + + if(isset($modified['invoice_id'])) + $modified['invoice_id'] = $this->transformId('invoices', $resource['invoice_id']); + + if(isset($modified['project_id'])) + $modified['project_id'] = $this->transformId('projects', $resource['project_id']); + + if(isset($modified['status_id'])) + $modified['status_id'] = $this->transformId('task_statuses', $resource['status_id']); + + $task = Task::Create($modified); + + $old_user_key = array_key_exists('user_id', $resource) ?? $this->user->id; + + $this->ids['tasks'] = [ + "tasks_{$old_user_key}" => [ + 'old' => $resource['id'], + 'new' => $task->id, + ], + ]; + } + + Task::reguard(); + + $data = null; + } + + private function processProjects(array $data) :void + { + Project::unguard(); + + foreach ($data as $resource) { + $modified = $resource; + + unset($modified['id']); + + $modified['company_id'] = $this->company->id; + $modified['user_id'] = $this->transformId('users', $resource['user_id']); + + if(isset($modified['client_id'])) + $modified['client_id'] = $this->transformId('clients', $resource['client_id']); + + $project = Project::Create($modified); + + $old_user_key = array_key_exists('user_id', $resource) ?? $this->user->id; + + $this->ids['projects'] = [ + "projects_{$old_user_key}" => [ + 'old' => $resource['id'], + 'new' => $project->id, + ], + ]; + } + + Project::reguard(); + + $data = null; + } + + private function processExpenses(array $data) :void + { + + Expense::unguard(); + + foreach ($data as $resource) { + $modified = $resource; + + unset($modified['id']); + + $modified['company_id'] = $this->company->id; + $modified['user_id'] = $this->transformId('users', $resource['user_id']); + + if(isset($resource['client_id'])) + $modified['client_id'] = $this->transformId('clients', $resource['client_id']); + + if(isset($resource['category_id'])) + $modified['category_id'] = $this->transformId('expense_categories', $resource['category_id']); + + if(isset($resource['invoice_id'])) + $modified['invoice_id'] = $this->transformId('invoices', $resource['invoice_id']); + + if(isset($resource['project_id'])) + $modified['project_id'] = $this->transformId('projects', $resource['project_id']); + + if(isset($resource['vendor_id'])) + $modified['vendor_id'] = $this->transformId('vendors', $resource['vendor_id']); + + $expense = Expense::Create($modified); + + $old_user_key = array_key_exists('user_id', $resource) ?? $this->user->id; + + $this->ids['expenses'] = [ + "expenses_{$old_user_key}" => [ + 'old' => $resource['id'], + 'new' => $expense->id, + ], + ]; + } + + Expense::reguard(); + + $data = null; + + } /** * |-------------------------------------------------------------------------- * | Additional migration methods. @@ -936,16 +1189,16 @@ class Import implements ShouldQueue * @param string $resource * @param string $old * @return int - * @throws \Exception + * @throws Exception */ - public function transformId(string $resource, string $old): int + public function transformId($resource, string $old): int { if (! array_key_exists($resource, $this->ids)) { - throw new \Exception("Resource {$resource} not available."); + throw new Exception("Resource {$resource} not available."); } if (! array_key_exists("{$resource}_{$old}", $this->ids[$resource])) { - throw new \Exception("Missing resource key: {$resource}_{$old}"); + throw new Exception("Missing resource key: {$resource}_{$old}"); } return $this->ids[$resource]["{$resource}_{$old}"]['new']; @@ -956,7 +1209,7 @@ class Import implements ShouldQueue * * @param array $resource * @return int|mixed - * @throws \Exception + * @throws Exception */ public function processUserId(array $resource) { diff --git a/app/Jobs/Util/PreviewPdf.php b/app/Jobs/Util/PreviewPdf.php index 952198f8af40..28e10b41fc09 100644 --- a/app/Jobs/Util/PreviewPdf.php +++ b/app/Jobs/Util/PreviewPdf.php @@ -44,7 +44,8 @@ class PreviewPdf implements ShouldQueue /** * Create a new job instance. * - * @return void + * @param $design_string + * @param Company $company */ public function __construct($design_string, Company $company) { diff --git a/app/Jobs/Util/StartMigration.php b/app/Jobs/Util/StartMigration.php index e17bedc3de4d..3730221b48f9 100644 --- a/app/Jobs/Util/StartMigration.php +++ b/app/Jobs/Util/StartMigration.php @@ -26,6 +26,7 @@ use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; use Illuminate\Support\Facades\Mail; +use ZipArchive; class StartMigration implements ShouldQueue { @@ -66,9 +67,7 @@ class StartMigration implements ShouldQueue /** * Execute the job. * - * @return void - * @throws ProcessingMigrationArchiveFailed - * @throws NonExistingMigrationFile + * @return bool */ public function handle() { @@ -80,9 +79,10 @@ class StartMigration implements ShouldQueue auth()->user()->setCompany($this->company); - $this->company->setMigration(true); + $this->company->is_disabled = true; + $this->company->save(); - $zip = new \ZipArchive(); + $zip = new ZipArchive(); $archive = $zip->open($this->filepath); $filename = pathinfo($this->filepath, PATHINFO_FILENAME); @@ -99,8 +99,6 @@ class StartMigration implements ShouldQueue return true; } - $this->company->setMigration(true); - $file = storage_path("migrations/$filename/migration.json"); if (! file_exists($file)) { @@ -111,9 +109,7 @@ class StartMigration implements ShouldQueue Import::dispatchNow($data, $this->company, $this->user); - $this->company->setMigration(false); } catch (NonExistingMigrationFile | ProcessingMigrationArchiveFailed | ResourceNotAvailableForMigration | MigrationValidatorFailed | ResourceDependencyMissing $e) { - $this->company->setMigration(false); Mail::to($this->user)->send(new MigrationFailed($e, $e->getMessage())); diff --git a/app/Jobs/Util/UpdateExchangeRates.php b/app/Jobs/Util/UpdateExchangeRates.php index ea4a75fd316e..eaaa7f846aaf 100644 --- a/app/Jobs/Util/UpdateExchangeRates.php +++ b/app/Jobs/Util/UpdateExchangeRates.php @@ -13,6 +13,7 @@ namespace App\Jobs\Util; use App\Libraries\MultiDB; use App\Models\Currency; +use GuzzleHttp\Client; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; @@ -55,7 +56,7 @@ class UpdateExchangeRates implements ShouldQueue $cc_endpoint = sprintf('https://openexchangerates.org/api/latest.json?app_id=%s', config('ninja.currency_converter_api_key')); - $client = new \GuzzleHttp\Client(); + $client = new Client(); $response = $client->get($cc_endpoint); $currency_api = json_decode($response->getBody()); diff --git a/app/Jobs/Util/UploadFile.php b/app/Jobs/Util/UploadFile.php index 3744ba37cd65..579ac311149b 100644 --- a/app/Jobs/Util/UploadFile.php +++ b/app/Jobs/Util/UploadFile.php @@ -64,7 +64,7 @@ class UploadFile implements ShouldQueue /** * Execute the job. * - * @return void + * @return Document|null */ public function handle() : ?Document { diff --git a/app/Jobs/Util/WebhookHandler.php b/app/Jobs/Util/WebhookHandler.php index da51fef1b120..e4c947cac3e2 100644 --- a/app/Jobs/Util/WebhookHandler.php +++ b/app/Jobs/Util/WebhookHandler.php @@ -2,7 +2,9 @@ namespace App\Jobs\Util; +use App\Models\Webhook; use App\Transformers\ArraySerializer; +use GuzzleHttp\Client; use GuzzleHttp\RequestOptions; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; @@ -23,7 +25,8 @@ class WebhookHandler implements ShouldQueue /** * Create a new job instance. * - * @return void + * @param $event_id + * @param $entity */ public function __construct($event_id, $entity) { @@ -34,15 +37,15 @@ class WebhookHandler implements ShouldQueue /** * Execute the job. * - * @return void + * @return bool */ public function handle() :bool { - if (! $this->entity->company || $this->entity->company->company_users->first()->is_migrating == true) { + if (! $this->entity->company || $this->entity->company->is_disabled) { return true; } - $subscriptions = \App\Models\Webhook::where('company_id', $this->entity->company_id) + $subscriptions = Webhook::where('company_id', $this->entity->company_id) ->where('event_id', $this->event_id) ->get(); @@ -80,7 +83,7 @@ class WebhookHandler implements ShouldQueue 'Accept' => 'application/json', ]; - $client = new \GuzzleHttp\Client(['headers' => array_merge($base_headers, $headers)]); + $client = new Client(['headers' => array_merge($base_headers, $headers)]); $response = $client->post($subscription->target_url, [ RequestOptions::JSON => $data, // or 'json' => [...] diff --git a/app/Libraries/Google/Google.php b/app/Libraries/Google/Google.php index ce9edf6cc612..b08ae02de5c2 100644 --- a/app/Libraries/Google/Google.php +++ b/app/Libraries/Google/Google.php @@ -11,6 +11,8 @@ namespace App\Libraries\Google; +use Google_Client; + /** * Class Google. */ @@ -20,7 +22,7 @@ class Google public function __construct() { - $this->client = new \Google_Client(); + $this->client = new Google_Client(); } public function init() diff --git a/app/Libraries/MultiDB.php b/app/Libraries/MultiDB.php index cd7a0baf3ce7..ce792e3c0bed 100644 --- a/app/Libraries/MultiDB.php +++ b/app/Libraries/MultiDB.php @@ -42,8 +42,7 @@ class MultiDB public static $dbs = ['db-ninja-01', 'db-ninja-02']; /** - * @param $email - * @return bool + * @return array */ public static function getDbs() : array { @@ -120,7 +119,7 @@ class MultiDB /** * @param array $data - * @return App\Models\User | bool + * @return User|null */ public static function hasUser(array $data) : ?User { @@ -206,7 +205,7 @@ class MultiDB } } - return false; + return false; } public static function findAndSetDbByClientHash($client_hash) :bool @@ -218,7 +217,7 @@ class MultiDB } } - return false; + return false; } public static function findAndSetDbByDomain($subdomain) :bool diff --git a/app/Libraries/OAuth/OAuth.php b/app/Libraries/OAuth/OAuth.php index 42b034460913..e72d5fbc4896 100644 --- a/app/Libraries/OAuth/OAuth.php +++ b/app/Libraries/OAuth/OAuth.php @@ -32,8 +32,9 @@ class OAuth /** * @param Socialite $user + * @return bool|\App\Models\User|\App\Libraries\App\Models\User|null */ - public static function handleAuth(object $user, string $provider) + public static function handleAuth(Socialite $user) { /** 1. Ensure user arrives on the correct provider **/ $query = [ diff --git a/app/Libraries/OAuth/Providers/Google.php b/app/Libraries/OAuth/Providers/Google.php index 9f2b6bf9e202..3ec7c9d9317f 100644 --- a/app/Libraries/OAuth/Providers/Google.php +++ b/app/Libraries/OAuth/Providers/Google.php @@ -2,11 +2,13 @@ namespace App\Libraries\OAuth\Providers; +use Google_Client; + class Google implements ProviderInterface { public function getTokenResponse($token) { - $client = new \Google_Client(); + $client = new Google_Client(); return $client->verifyIdToken($token); } diff --git a/app/Listeners/Activity/ArchivedClientActivity.php b/app/Listeners/Activity/ArchivedClientActivity.php index 3f2a92cc7ef2..fbbfcac98c79 100644 --- a/app/Listeners/Activity/ArchivedClientActivity.php +++ b/app/Listeners/Activity/ArchivedClientActivity.php @@ -16,6 +16,7 @@ use App\Models\Activity; use App\Repositories\ActivityRepository; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; +use stdClass; class ArchivedClientActivity implements ShouldQueue { @@ -24,7 +25,7 @@ class ArchivedClientActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -41,7 +42,7 @@ class ArchivedClientActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; $fields->client_id = $event->client->id; $fields->user_id = $event->client->user_id; diff --git a/app/Listeners/Activity/CreatedClientActivity.php b/app/Listeners/Activity/CreatedClientActivity.php index 5793344115d9..f398b3703e2e 100644 --- a/app/Listeners/Activity/CreatedClientActivity.php +++ b/app/Listeners/Activity/CreatedClientActivity.php @@ -16,6 +16,7 @@ use App\Models\Activity; use App\Repositories\ActivityRepository; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; +use stdClass; class CreatedClientActivity implements ShouldQueue { @@ -24,7 +25,7 @@ class CreatedClientActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -41,7 +42,7 @@ class CreatedClientActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; $fields->client_id = $event->client->id; $fields->user_id = $event->client->user_id; diff --git a/app/Listeners/Activity/CreatedCreditActivity.php b/app/Listeners/Activity/CreatedCreditActivity.php index 2e3aaaa4163e..4b600d4efd01 100644 --- a/app/Listeners/Activity/CreatedCreditActivity.php +++ b/app/Listeners/Activity/CreatedCreditActivity.php @@ -16,6 +16,7 @@ use App\Models\Activity; use App\Repositories\ActivityRepository; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; +use stdClass; class CreatedCreditActivity implements ShouldQueue { @@ -24,7 +25,7 @@ class CreatedCreditActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -41,7 +42,7 @@ class CreatedCreditActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; $fields->credit_id = $event->credit->id; $fields->user_id = $event->credit->user_id; diff --git a/app/Listeners/Activity/CreatedQuoteActivity.php b/app/Listeners/Activity/CreatedQuoteActivity.php index 52208dc4549f..d363aea105b1 100644 --- a/app/Listeners/Activity/CreatedQuoteActivity.php +++ b/app/Listeners/Activity/CreatedQuoteActivity.php @@ -16,6 +16,7 @@ use App\Models\Activity; use App\Repositories\ActivityRepository; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; +use stdClass; class CreatedQuoteActivity implements ShouldQueue { @@ -24,7 +25,7 @@ class CreatedQuoteActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -41,7 +42,7 @@ class CreatedQuoteActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; $fields->quote_id = $event->quote->id; $fields->client_id = $event->quote->client_id; diff --git a/app/Listeners/Activity/CreditArchivedActivity.php b/app/Listeners/Activity/CreditArchivedActivity.php index e5373fc08683..b0302dde34a2 100644 --- a/app/Listeners/Activity/CreditArchivedActivity.php +++ b/app/Listeners/Activity/CreditArchivedActivity.php @@ -18,6 +18,7 @@ use App\Models\Payment; use App\Repositories\ActivityRepository; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; +use stdClass; class CreditArchivedActivity implements ShouldQueue { @@ -26,7 +27,7 @@ class CreditArchivedActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -43,7 +44,7 @@ class CreditArchivedActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; $fields->payment_id = $event->credit->id; $fields->client_id = $event->credit->client_id; diff --git a/app/Listeners/Activity/DeleteClientActivity.php b/app/Listeners/Activity/DeleteClientActivity.php index 8db7ae6e04b8..3c2916a6efea 100644 --- a/app/Listeners/Activity/DeleteClientActivity.php +++ b/app/Listeners/Activity/DeleteClientActivity.php @@ -16,6 +16,7 @@ use App\Models\Activity; use App\Repositories\ActivityRepository; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; +use stdClass; class DeleteClientActivity implements ShouldQueue { @@ -24,7 +25,7 @@ class DeleteClientActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -41,7 +42,7 @@ class DeleteClientActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; $fields->client_id = $event->client->id; $fields->user_id = $event->client->user_id; diff --git a/app/Listeners/Activity/DeleteCreditActivity.php b/app/Listeners/Activity/DeleteCreditActivity.php index f721d1366972..da305e3775fa 100644 --- a/app/Listeners/Activity/DeleteCreditActivity.php +++ b/app/Listeners/Activity/DeleteCreditActivity.php @@ -16,6 +16,7 @@ use App\Models\Activity; use App\Repositories\ActivityRepository; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; +use stdClass; class DeleteCreditActivity implements ShouldQueue { @@ -24,7 +25,7 @@ class DeleteCreditActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -41,7 +42,7 @@ class DeleteCreditActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; $fields->client_id = $event->credit->client_id; $fields->credit_id = $event->credit->id; diff --git a/app/Listeners/Activity/PaymentArchivedActivity.php b/app/Listeners/Activity/PaymentArchivedActivity.php index 1e0922895633..4f03c1aa8fe6 100644 --- a/app/Listeners/Activity/PaymentArchivedActivity.php +++ b/app/Listeners/Activity/PaymentArchivedActivity.php @@ -18,6 +18,7 @@ use App\Models\Payment; use App\Repositories\ActivityRepository; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; +use stdClass; class PaymentArchivedActivity implements ShouldQueue { @@ -26,7 +27,7 @@ class PaymentArchivedActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -47,7 +48,7 @@ class PaymentArchivedActivity implements ShouldQueue $invoices = $payment->invoices; - $fields = new \stdClass; + $fields = new stdClass; $fields->payment_id = $payment->id; $fields->client_id = $payment->client_id; diff --git a/app/Listeners/Activity/PaymentCreatedActivity.php b/app/Listeners/Activity/PaymentCreatedActivity.php index 9937bd8c479f..40266a51beb0 100644 --- a/app/Listeners/Activity/PaymentCreatedActivity.php +++ b/app/Listeners/Activity/PaymentCreatedActivity.php @@ -19,6 +19,7 @@ use App\Models\Payment; use App\Repositories\ActivityRepository; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; +use stdClass; class PaymentCreatedActivity implements ShouldQueue { @@ -27,7 +28,7 @@ class PaymentCreatedActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -48,7 +49,7 @@ class PaymentCreatedActivity implements ShouldQueue $invoices = $payment->invoices; - $fields = new \stdClass; + $fields = new stdClass; $fields->payment_id = $payment->id; $fields->client_id = $payment->client_id; diff --git a/app/Listeners/Activity/PaymentDeletedActivity.php b/app/Listeners/Activity/PaymentDeletedActivity.php index 6152d4e4acf8..981383e22e43 100644 --- a/app/Listeners/Activity/PaymentDeletedActivity.php +++ b/app/Listeners/Activity/PaymentDeletedActivity.php @@ -18,6 +18,7 @@ use App\Models\Payment; use App\Repositories\ActivityRepository; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; +use stdClass; class PaymentDeletedActivity implements ShouldQueue { @@ -26,7 +27,7 @@ class PaymentDeletedActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -47,7 +48,7 @@ class PaymentDeletedActivity implements ShouldQueue $invoices = $payment->invoices; - $fields = new \stdClass; + $fields = new stdClass; $fields->payment_id = $payment->id; $fields->client_id = $payment->client_id; diff --git a/app/Listeners/Activity/PaymentRefundedActivity.php b/app/Listeners/Activity/PaymentRefundedActivity.php index eb53002673ff..210dcc7bab84 100644 --- a/app/Listeners/Activity/PaymentRefundedActivity.php +++ b/app/Listeners/Activity/PaymentRefundedActivity.php @@ -16,6 +16,7 @@ use App\Models\Activity; use App\Repositories\ActivityRepository; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; +use stdClass; class PaymentRefundedActivity implements ShouldQueue { @@ -24,7 +25,7 @@ class PaymentRefundedActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -41,7 +42,7 @@ class PaymentRefundedActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; $fields->client_id = $event->payment->id; $fields->client_id = $event->payment->client_id; diff --git a/app/Listeners/Activity/PaymentUpdatedActivity.php b/app/Listeners/Activity/PaymentUpdatedActivity.php index 6ee2be927a37..914dea159386 100644 --- a/app/Listeners/Activity/PaymentUpdatedActivity.php +++ b/app/Listeners/Activity/PaymentUpdatedActivity.php @@ -18,6 +18,7 @@ use App\Models\Payment; use App\Repositories\ActivityRepository; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; +use stdClass; class PaymentUpdatedActivity implements ShouldQueue { @@ -26,7 +27,7 @@ class PaymentUpdatedActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -47,7 +48,7 @@ class PaymentUpdatedActivity implements ShouldQueue $invoices = $payment->invoices; - $fields = new \stdClass; + $fields = new stdClass; $fields->payment_id = $payment->id; $fields->client_id = $payment->client_id; diff --git a/app/Listeners/Activity/PaymentVoidedActivity.php b/app/Listeners/Activity/PaymentVoidedActivity.php index b3cf775b2698..abb8c96177e0 100644 --- a/app/Listeners/Activity/PaymentVoidedActivity.php +++ b/app/Listeners/Activity/PaymentVoidedActivity.php @@ -16,6 +16,7 @@ use App\Models\Activity; use App\Repositories\ActivityRepository; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; +use stdClass; class PaymentVoidedActivity implements ShouldQueue { @@ -24,7 +25,7 @@ class PaymentVoidedActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -41,7 +42,7 @@ class PaymentVoidedActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; $fields->client_id = $event->payment->id; $fields->user_id = $event->payment->user_id; diff --git a/app/Listeners/Activity/QuoteUpdatedActivity.php b/app/Listeners/Activity/QuoteUpdatedActivity.php index 38b38031740f..febdb3099f7c 100644 --- a/app/Listeners/Activity/QuoteUpdatedActivity.php +++ b/app/Listeners/Activity/QuoteUpdatedActivity.php @@ -18,6 +18,7 @@ use App\Models\Payment; use App\Repositories\ActivityRepository; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; +use stdClass; class QuoteUpdatedActivity implements ShouldQueue { @@ -26,7 +27,7 @@ class QuoteUpdatedActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -45,7 +46,7 @@ class QuoteUpdatedActivity implements ShouldQueue $quote = $event->quote; - $fields = new \stdClass; + $fields = new stdClass; $fields->quote_id = $quote->id; $fields->client_id = $quote->client_id; diff --git a/app/Listeners/Activity/RestoreClientActivity.php b/app/Listeners/Activity/RestoreClientActivity.php index 8e807a4510a2..ac83245f7c4a 100644 --- a/app/Listeners/Activity/RestoreClientActivity.php +++ b/app/Listeners/Activity/RestoreClientActivity.php @@ -16,6 +16,7 @@ use App\Models\Activity; use App\Repositories\ActivityRepository; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; +use stdClass; class RestoreClientActivity implements ShouldQueue { @@ -24,7 +25,7 @@ class RestoreClientActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -41,7 +42,7 @@ class RestoreClientActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; $fields->client_id = $event->client->id; $fields->user_id = $event->client->user_id; diff --git a/app/Listeners/Activity/UpdatedCreditActivity.php b/app/Listeners/Activity/UpdatedCreditActivity.php index 239b888fb120..46aa03bd3b29 100644 --- a/app/Listeners/Activity/UpdatedCreditActivity.php +++ b/app/Listeners/Activity/UpdatedCreditActivity.php @@ -16,6 +16,7 @@ use App\Models\Activity; use App\Repositories\ActivityRepository; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; +use stdClass; class UpdatedCreditActivity implements ShouldQueue { @@ -24,7 +25,7 @@ class UpdatedCreditActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -41,7 +42,7 @@ class UpdatedCreditActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; $fields->credit_id = $event->credit->id; $fields->client_id = $event->credit->client_id; diff --git a/app/Listeners/Credit/CreateCreditInvitation.php b/app/Listeners/Credit/CreateCreditInvitation.php index 9b20ee0c7aec..7f779b77b923 100644 --- a/app/Listeners/Credit/CreateCreditInvitation.php +++ b/app/Listeners/Credit/CreateCreditInvitation.php @@ -23,7 +23,6 @@ use Illuminate\Support\Facades\Blade; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Storage; use Spatie\Browsershot\Browsershot; -use Symfony\Component\Debug\Exception\FatalThrowableError; class CreateCreditInvitation implements ShouldQueue { diff --git a/app/Listeners/Credit/CreditRestoredActivity.php b/app/Listeners/Credit/CreditRestoredActivity.php index d5983811678a..4077157bb7e9 100644 --- a/app/Listeners/Credit/CreditRestoredActivity.php +++ b/app/Listeners/Credit/CreditRestoredActivity.php @@ -20,6 +20,7 @@ use App\Utils\Traits\MakesHash; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Support\Facades\Log; +use stdClass; class CreditRestoredActivity implements ShouldQueue { @@ -28,7 +29,7 @@ class CreditRestoredActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -45,7 +46,7 @@ class CreditRestoredActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; $fields->credit_id = $event->credit->id; $fields->client_id = $event->credit->client_id; diff --git a/app/Listeners/Credit/CreditViewedActivity.php b/app/Listeners/Credit/CreditViewedActivity.php index 6aae2267ee9e..e31bf2af9471 100644 --- a/app/Listeners/Credit/CreditViewedActivity.php +++ b/app/Listeners/Credit/CreditViewedActivity.php @@ -20,6 +20,7 @@ use App\Utils\Traits\MakesHash; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Support\Facades\Log; +use stdClass; class CreditViewedActivity implements ShouldQueue { @@ -28,7 +29,7 @@ class CreditViewedActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -45,7 +46,7 @@ class CreditViewedActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; $fields->user_id = $event->invitation->user_id; $fields->company_id = $event->invitation->company_id; diff --git a/app/Listeners/Invoice/CreateInvoiceActivity.php b/app/Listeners/Invoice/CreateInvoiceActivity.php index 68fd1851d0c5..d57f7a23642a 100644 --- a/app/Listeners/Invoice/CreateInvoiceActivity.php +++ b/app/Listeners/Invoice/CreateInvoiceActivity.php @@ -20,6 +20,7 @@ use App\Utils\Traits\MakesHash; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Support\Facades\Log; +use stdClass; class CreateInvoiceActivity implements ShouldQueue { @@ -28,7 +29,7 @@ class CreateInvoiceActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -45,7 +46,7 @@ class CreateInvoiceActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; $fields->invoice_id = $event->invoice->id; $fields->client_id = $event->invoice->client_id; diff --git a/app/Listeners/Invoice/CreateInvoiceInvitation.php b/app/Listeners/Invoice/CreateInvoiceInvitation.php index a22b7c9928df..26559472a64e 100644 --- a/app/Listeners/Invoice/CreateInvoiceInvitation.php +++ b/app/Listeners/Invoice/CreateInvoiceInvitation.php @@ -21,7 +21,6 @@ use Illuminate\Support\Facades\Blade; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Storage; use Spatie\Browsershot\Browsershot; -use Symfony\Component\Debug\Exception\FatalThrowableError; class CreateInvoiceInvitation implements ShouldQueue { diff --git a/app/Listeners/Invoice/InvoiceArchivedActivity.php b/app/Listeners/Invoice/InvoiceArchivedActivity.php index 10b0ec0116d1..6765823d303f 100644 --- a/app/Listeners/Invoice/InvoiceArchivedActivity.php +++ b/app/Listeners/Invoice/InvoiceArchivedActivity.php @@ -20,6 +20,7 @@ use App\Utils\Traits\MakesHash; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Support\Facades\Log; +use stdClass; class InvoiceArchivedActivity implements ShouldQueue { @@ -28,7 +29,7 @@ class InvoiceArchivedActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -45,7 +46,7 @@ class InvoiceArchivedActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; $fields->invoice_id = $event->invoice->id; $fields->client_id = $event->invoice->client_id; diff --git a/app/Listeners/Invoice/InvoiceCancelledActivity.php b/app/Listeners/Invoice/InvoiceCancelledActivity.php index 76de03c61a2e..89a25bb088a5 100644 --- a/app/Listeners/Invoice/InvoiceCancelledActivity.php +++ b/app/Listeners/Invoice/InvoiceCancelledActivity.php @@ -20,6 +20,7 @@ use App\Utils\Traits\MakesHash; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Support\Facades\Log; +use stdClass; class InvoiceCancelledActivity implements ShouldQueue { @@ -28,7 +29,7 @@ class InvoiceCancelledActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -45,7 +46,7 @@ class InvoiceCancelledActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; $fields->invoice_id = $event->invoice->id; $fields->client_id = $event->invoice->client_id; diff --git a/app/Listeners/Invoice/InvoiceDeletedActivity.php b/app/Listeners/Invoice/InvoiceDeletedActivity.php index ba39008764bf..3aa0b5db7caf 100644 --- a/app/Listeners/Invoice/InvoiceDeletedActivity.php +++ b/app/Listeners/Invoice/InvoiceDeletedActivity.php @@ -20,6 +20,7 @@ use App\Utils\Traits\MakesHash; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Support\Facades\Log; +use stdClass; class InvoiceDeletedActivity implements ShouldQueue { @@ -28,7 +29,7 @@ class InvoiceDeletedActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -45,7 +46,7 @@ class InvoiceDeletedActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; $fields->invoice_id = $event->invoice->id; $fields->client_id = $event->invoice->client_id; diff --git a/app/Listeners/Invoice/InvoiceEmailActivity.php b/app/Listeners/Invoice/InvoiceEmailActivity.php index 1a164ecfa193..6a7bc00696a8 100644 --- a/app/Listeners/Invoice/InvoiceEmailActivity.php +++ b/app/Listeners/Invoice/InvoiceEmailActivity.php @@ -20,6 +20,7 @@ use App\Utils\Traits\MakesHash; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Support\Facades\Log; +use stdClass; class InvoiceEmailActivity implements ShouldQueue { @@ -28,7 +29,7 @@ class InvoiceEmailActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -45,7 +46,7 @@ class InvoiceEmailActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; $fields->invoice_id = $event->invitation->invoice->id; $fields->user_id = $event->invitation->invoice->user_id; diff --git a/app/Listeners/Invoice/InvoiceEmailFailedActivity.php b/app/Listeners/Invoice/InvoiceEmailFailedActivity.php index 8af84eed3287..3629a754ba74 100644 --- a/app/Listeners/Invoice/InvoiceEmailFailedActivity.php +++ b/app/Listeners/Invoice/InvoiceEmailFailedActivity.php @@ -20,6 +20,7 @@ use App\Utils\Traits\MakesHash; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Support\Facades\Log; +use stdClass; class InvoiceEmailFailedActivity implements ShouldQueue { @@ -28,7 +29,7 @@ class InvoiceEmailFailedActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -45,7 +46,7 @@ class InvoiceEmailFailedActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; $fields->invoice_id = $event->invoice->id; $fields->client_id = $event->invoice->client_id; diff --git a/app/Listeners/Invoice/InvoicePaidActivity.php b/app/Listeners/Invoice/InvoicePaidActivity.php index c2d260d9658f..5ab2759764c2 100644 --- a/app/Listeners/Invoice/InvoicePaidActivity.php +++ b/app/Listeners/Invoice/InvoicePaidActivity.php @@ -20,6 +20,7 @@ use App\Utils\Traits\MakesHash; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Support\Facades\Log; +use stdClass; class InvoicePaidActivity implements ShouldQueue { @@ -28,7 +29,7 @@ class InvoicePaidActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -46,8 +47,8 @@ class InvoicePaidActivity implements ShouldQueue MultiDB::setDb($event->company->db); $event->invoice->service()->touchPdf(); - - $fields = new \stdClass; + + $fields = new stdClass; $fields->invoice_id = $event->invoice->id; $fields->user_id = $event->invoice->user_id; diff --git a/app/Listeners/Invoice/InvoiceRestoredActivity.php b/app/Listeners/Invoice/InvoiceRestoredActivity.php index 85b8550ea0c7..15b64da41083 100644 --- a/app/Listeners/Invoice/InvoiceRestoredActivity.php +++ b/app/Listeners/Invoice/InvoiceRestoredActivity.php @@ -20,6 +20,7 @@ use App\Utils\Traits\MakesHash; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Support\Facades\Log; +use stdClass; class InvoiceRestoredActivity implements ShouldQueue { @@ -28,7 +29,7 @@ class InvoiceRestoredActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -45,7 +46,7 @@ class InvoiceRestoredActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; $fields->invoice_id = $event->invoice->id; $fields->client_id = $event->invoice->client_id; diff --git a/app/Listeners/Invoice/InvoiceReversedActivity.php b/app/Listeners/Invoice/InvoiceReversedActivity.php index 8006ffc136ab..b49afc739834 100644 --- a/app/Listeners/Invoice/InvoiceReversedActivity.php +++ b/app/Listeners/Invoice/InvoiceReversedActivity.php @@ -20,6 +20,7 @@ use App\Utils\Traits\MakesHash; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Support\Facades\Log; +use stdClass; class InvoiceReversedActivity implements ShouldQueue { @@ -28,7 +29,7 @@ class InvoiceReversedActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -45,7 +46,7 @@ class InvoiceReversedActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; $fields->invoice_id = $event->invoice->id; $fields->client_id = $event->invoice->client_id; diff --git a/app/Listeners/Invoice/InvoiceViewedActivity.php b/app/Listeners/Invoice/InvoiceViewedActivity.php index c83cd55892b1..2de4df4f404b 100644 --- a/app/Listeners/Invoice/InvoiceViewedActivity.php +++ b/app/Listeners/Invoice/InvoiceViewedActivity.php @@ -20,6 +20,7 @@ use App\Utils\Traits\MakesHash; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Support\Facades\Log; +use stdClass; class InvoiceViewedActivity implements ShouldQueue { @@ -28,7 +29,7 @@ class InvoiceViewedActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -45,7 +46,7 @@ class InvoiceViewedActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; $fields->user_id = $event->invitation->user_id; $fields->company_id = $event->invitation->company_id; diff --git a/app/Listeners/Invoice/UpdateInvoiceActivity.php b/app/Listeners/Invoice/UpdateInvoiceActivity.php index 7e74ca2c812d..1a07174645a6 100644 --- a/app/Listeners/Invoice/UpdateInvoiceActivity.php +++ b/app/Listeners/Invoice/UpdateInvoiceActivity.php @@ -20,6 +20,7 @@ use App\Utils\Traits\MakesHash; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Support\Facades\Log; +use stdClass; class UpdateInvoiceActivity implements ShouldQueue { @@ -28,7 +29,7 @@ class UpdateInvoiceActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -45,7 +46,7 @@ class UpdateInvoiceActivity implements ShouldQueue { MultiDB::setDB($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; $fields->client_id = $event->invoice->client_id; $fields->user_id = $event->invoice->user_id; diff --git a/app/Listeners/Payment/PaymentNotification.php b/app/Listeners/Payment/PaymentNotification.php index 780e535fc675..f57e070e0a1b 100644 --- a/app/Listeners/Payment/PaymentNotification.php +++ b/app/Listeners/Payment/PaymentNotification.php @@ -40,20 +40,21 @@ class PaymentNotification implements ShouldQueue /** * Handle the event. * - * @param object $event - * @return void + * @param object $event + * @return bool */ public function handle($event) { MultiDB::setDb($event->company->db); $payment = $event->payment; + + if ($event->company->is_disabled) { + return true; + } /*User notifications*/ foreach ($payment->company->company_users as $company_user) { - if ($company_user->is_migrating) { - return true; - } $user = $company_user->user; @@ -62,11 +63,8 @@ class PaymentNotification implements ShouldQueue if (($key = array_search('mail', $methods)) !== false) { unset($methods[$key]); - //Fire mail notification here!!! - //This allows us better control of how we - //handle the mailer + EntityPaidMailer::dispatch($payment, $payment->company); - EntityPaidMailer::dispatch($payment, $user, $payment->company); } $notification = new NewPaymentNotification($payment, $payment->company); @@ -84,7 +82,6 @@ class PaymentNotification implements ShouldQueue } /*Google Analytics Track Revenue*/ - if (isset($payment->company->google_analytics_key)) { $this->trackRevenue($event); } diff --git a/app/Listeners/Payment/PaymentRestoredActivity.php b/app/Listeners/Payment/PaymentRestoredActivity.php index e08d4a29f25f..7c524fbfb698 100644 --- a/app/Listeners/Payment/PaymentRestoredActivity.php +++ b/app/Listeners/Payment/PaymentRestoredActivity.php @@ -20,6 +20,7 @@ use App\Utils\Traits\MakesHash; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Support\Facades\Log; +use stdClass; class PaymentRestoredActivity implements ShouldQueue { @@ -28,7 +29,7 @@ class PaymentRestoredActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -45,7 +46,7 @@ class PaymentRestoredActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; $fields->payment_id = $event->payment->id; $fields->client_id = $event->payment->client_id; diff --git a/app/Listeners/Quote/CreateQuoteInvitation.php b/app/Listeners/Quote/CreateQuoteInvitation.php index 1594a9adbe46..eeaf8bd19948 100644 --- a/app/Listeners/Quote/CreateQuoteInvitation.php +++ b/app/Listeners/Quote/CreateQuoteInvitation.php @@ -24,7 +24,6 @@ use Illuminate\Support\Facades\Blade; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Storage; use Spatie\Browsershot\Browsershot; -use Symfony\Component\Debug\Exception\FatalThrowableError; class CreateQuoteInvitation implements ShouldQueue { diff --git a/app/Listeners/Quote/QuoteApprovedActivity.php b/app/Listeners/Quote/QuoteApprovedActivity.php index d57fdeabdf99..0da7c13b0222 100644 --- a/app/Listeners/Quote/QuoteApprovedActivity.php +++ b/app/Listeners/Quote/QuoteApprovedActivity.php @@ -20,6 +20,7 @@ use App\Utils\Traits\MakesHash; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Support\Facades\Log; +use stdClass; class QuoteApprovedActivity implements ShouldQueue { @@ -28,7 +29,7 @@ class QuoteApprovedActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -45,15 +46,15 @@ class QuoteApprovedActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; $fields->quote_id = $event->quote->id; $fields->client_id = $event->quote->client_id; $fields->user_id = $event->quote->user_id; $fields->client_contact_id = $event->contact->id; - $fields->company_id = $event->payment->company_id; - $fields->activity_type_id = Activity::RESTORE_PAYMENT; + $fields->company_id = $event->quote->company_id; + $fields->activity_type_id = Activity::APPROVE_QUOTE; - $this->activity_repo->save($fields, $event->payment, $event->event_vars); + $this->activity_repo->save($fields, $event->quote, $event->event_vars); } } diff --git a/app/Listeners/Quote/QuoteArchivedActivity.php b/app/Listeners/Quote/QuoteArchivedActivity.php index 6a3f05b4c852..61b143299988 100644 --- a/app/Listeners/Quote/QuoteArchivedActivity.php +++ b/app/Listeners/Quote/QuoteArchivedActivity.php @@ -20,6 +20,7 @@ use App\Utils\Traits\MakesHash; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Support\Facades\Log; +use stdClass; class QuoteArchivedActivity implements ShouldQueue { @@ -28,7 +29,7 @@ class QuoteArchivedActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -45,7 +46,7 @@ class QuoteArchivedActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; $fields->quote_id = $event->quote->id; $fields->client_id = $event->quote->client_id; diff --git a/app/Listeners/Quote/QuoteDeletedActivity.php b/app/Listeners/Quote/QuoteDeletedActivity.php index 64354a0e1ecf..ccff57f183f2 100644 --- a/app/Listeners/Quote/QuoteDeletedActivity.php +++ b/app/Listeners/Quote/QuoteDeletedActivity.php @@ -20,6 +20,7 @@ use App\Utils\Traits\MakesHash; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Support\Facades\Log; +use stdClass; class QuoteDeletedActivity implements ShouldQueue { @@ -28,7 +29,7 @@ class QuoteDeletedActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -45,7 +46,7 @@ class QuoteDeletedActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; $fields->quote_id = $event->quote->id; $fields->client_id = $event->quote->client_id; diff --git a/app/Listeners/Quote/QuoteEmailActivity.php b/app/Listeners/Quote/QuoteEmailActivity.php index f78c5211cece..4981601572ea 100644 --- a/app/Listeners/Quote/QuoteEmailActivity.php +++ b/app/Listeners/Quote/QuoteEmailActivity.php @@ -20,6 +20,7 @@ use App\Utils\Traits\MakesHash; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Support\Facades\Log; +use stdClass; class QuoteEmailActivity implements ShouldQueue { @@ -28,7 +29,7 @@ class QuoteEmailActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -45,7 +46,7 @@ class QuoteEmailActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; $fields->quote_id = $event->invitation->quote->id; $fields->client_id = $event->invitation->quote->client_id; diff --git a/app/Listeners/Quote/QuoteRestoredActivity.php b/app/Listeners/Quote/QuoteRestoredActivity.php index 5ceebe6bfcd8..05c28d3b86c3 100644 --- a/app/Listeners/Quote/QuoteRestoredActivity.php +++ b/app/Listeners/Quote/QuoteRestoredActivity.php @@ -20,6 +20,7 @@ use App\Utils\Traits\MakesHash; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Support\Facades\Log; +use stdClass; class QuoteRestoredActivity implements ShouldQueue { @@ -28,7 +29,7 @@ class QuoteRestoredActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -45,7 +46,7 @@ class QuoteRestoredActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; $fields->quote_id = $event->quote->id; $fields->client_id = $event->quote->client_id; diff --git a/app/Listeners/Quote/QuoteViewedActivity.php b/app/Listeners/Quote/QuoteViewedActivity.php index 64bd80e73101..db47466f2acf 100644 --- a/app/Listeners/Quote/QuoteViewedActivity.php +++ b/app/Listeners/Quote/QuoteViewedActivity.php @@ -20,6 +20,7 @@ use App\Utils\Traits\MakesHash; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Support\Facades\Log; +use stdClass; class QuoteViewedActivity implements ShouldQueue { @@ -28,7 +29,7 @@ class QuoteViewedActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activity_repo */ public function __construct(ActivityRepository $activity_repo) { @@ -45,7 +46,7 @@ class QuoteViewedActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; $fields->user_id = $event->quote->user_id; $fields->company_id = $event->quote->company_id; diff --git a/app/Listeners/SendVerificationNotification.php b/app/Listeners/SendVerificationNotification.php index 1ff54ed022b7..2c1eb8a4f983 100644 --- a/app/Listeners/SendVerificationNotification.php +++ b/app/Listeners/SendVerificationNotification.php @@ -14,6 +14,7 @@ namespace App\Listeners; use App\Libraries\MultiDB; use App\Notifications\Ninja\VerifyUser; use App\Utils\Ninja; +use Exception; use Illuminate\Broadcasting\InteractsWithSockets; use Illuminate\Contracts\Broadcasting\ShouldBroadcast; use Illuminate\Contracts\Queue\ShouldQueue; @@ -51,8 +52,8 @@ class SendVerificationNotification implements ShouldQueue Ninja::registerNinjaUser($event->user); - } catch (\Exception $e) { - + } catch (Exception $e) { + info("I couldn't send the email " . $e->getMessage()); } diff --git a/app/Listeners/User/ArchivedUserActivity.php b/app/Listeners/User/ArchivedUserActivity.php index 2037dbb7895a..3732ebcecff4 100644 --- a/app/Listeners/User/ArchivedUserActivity.php +++ b/app/Listeners/User/ArchivedUserActivity.php @@ -16,6 +16,7 @@ use App\Models\Activity; use App\Repositories\ActivityRepository; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; +use stdClass; class ArchivedUserActivity implements ShouldQueue { @@ -24,7 +25,7 @@ class ArchivedUserActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activityRepo */ public function __construct(ActivityRepository $activityRepo) { @@ -41,7 +42,7 @@ class ArchivedUserActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; if (auth()->user()->id) { $fields->user_id = auth()->user()->id; diff --git a/app/Listeners/User/CreatedUserActivity.php b/app/Listeners/User/CreatedUserActivity.php index 8a4508f610e0..fcc7236e28e1 100644 --- a/app/Listeners/User/CreatedUserActivity.php +++ b/app/Listeners/User/CreatedUserActivity.php @@ -16,6 +16,7 @@ use App\Models\Activity; use App\Repositories\ActivityRepository; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; +use stdClass; class CreatedUserActivity implements ShouldQueue { @@ -24,7 +25,7 @@ class CreatedUserActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activityRepo */ public function __construct(ActivityRepository $activityRepo) { @@ -41,7 +42,7 @@ class CreatedUserActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; if (auth()->user()) { $fields->user_id = auth()->user()->id; diff --git a/app/Listeners/User/DeletedUserActivity.php b/app/Listeners/User/DeletedUserActivity.php index d5261f260350..7f4e4970ad39 100644 --- a/app/Listeners/User/DeletedUserActivity.php +++ b/app/Listeners/User/DeletedUserActivity.php @@ -19,6 +19,7 @@ use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Events\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; +use stdClass; class DeletedUserActivity implements ShouldQueue { @@ -29,7 +30,7 @@ class DeletedUserActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activityRepo */ public function __construct(ActivityRepository $activityRepo) { @@ -46,7 +47,7 @@ class DeletedUserActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; if (auth()->check()) { $fields->user_id = auth()->user()->id; diff --git a/app/Listeners/User/RestoredUserActivity.php b/app/Listeners/User/RestoredUserActivity.php index 961961645a60..70953c441ca7 100644 --- a/app/Listeners/User/RestoredUserActivity.php +++ b/app/Listeners/User/RestoredUserActivity.php @@ -16,6 +16,7 @@ use App\Models\Activity; use App\Repositories\ActivityRepository; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; +use stdClass; class RestoredUserActivity implements ShouldQueue { @@ -24,7 +25,7 @@ class RestoredUserActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activityRepo */ public function __construct(ActivityRepository $activityRepo) { @@ -41,7 +42,7 @@ class RestoredUserActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; if (auth()->user()->id) { $fields->user_id = auth()->user()->id; diff --git a/app/Listeners/User/UpdatedUserActivity.php b/app/Listeners/User/UpdatedUserActivity.php index 3669c644eb03..25b48a7b31f7 100644 --- a/app/Listeners/User/UpdatedUserActivity.php +++ b/app/Listeners/User/UpdatedUserActivity.php @@ -16,6 +16,7 @@ use App\Models\Activity; use App\Repositories\ActivityRepository; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; +use stdClass; class UpdatedUserActivity implements ShouldQueue { @@ -24,7 +25,7 @@ class UpdatedUserActivity implements ShouldQueue /** * Create the event listener. * - * @return void + * @param ActivityRepository $activityRepo */ public function __construct(ActivityRepository $activityRepo) { @@ -41,7 +42,7 @@ class UpdatedUserActivity implements ShouldQueue { MultiDB::setDb($event->company->db); - $fields = new \stdClass; + $fields = new stdClass; if (auth()->user()->id) { $fields->user_id = auth()->user()->id; diff --git a/app/Mail/Admin/EntityNotificationMailer.php b/app/Mail/Admin/EntityNotificationMailer.php index d8d8ed66b6cf..a174d6f20a65 100644 --- a/app/Mail/Admin/EntityNotificationMailer.php +++ b/app/Mail/Admin/EntityNotificationMailer.php @@ -21,7 +21,7 @@ class EntityNotificationMailer extends Mailable /** * Create a new message instance. * - * @return void + * @param $mail_obj */ public function __construct($mail_obj) { diff --git a/app/Mail/Admin/EntityPaidObject.php b/app/Mail/Admin/EntityPaidObject.php index 33c155a21b13..ddbe2587ca40 100644 --- a/app/Mail/Admin/EntityPaidObject.php +++ b/app/Mail/Admin/EntityPaidObject.php @@ -13,6 +13,7 @@ namespace App\Mail\Admin; use App\Models\User; use App\Utils\Number; +use stdClass; class EntityPaidObject { @@ -34,7 +35,7 @@ class EntityPaidObject public function build() { - $mail_obj = new \stdClass; + $mail_obj = new stdClass; $mail_obj->amount = $this->getAmount(); $mail_obj->subject = $this->getSubject(); $mail_obj->data = $this->getData(); diff --git a/app/Mail/Admin/EntitySentObject.php b/app/Mail/Admin/EntitySentObject.php index 901adab7183b..2c822a82424f 100644 --- a/app/Mail/Admin/EntitySentObject.php +++ b/app/Mail/Admin/EntitySentObject.php @@ -13,6 +13,7 @@ namespace App\Mail\Admin; use App\Models\User; use App\Utils\Number; +use stdClass; class EntitySentObject { @@ -39,7 +40,7 @@ class EntitySentObject public function build() { - $mail_obj = new \stdClass; + $mail_obj = new stdClass; $mail_obj->amount = $this->getAmount(); $mail_obj->subject = $this->getSubject(); $mail_obj->data = $this->getData(); diff --git a/app/Mail/Admin/EntityViewedObject.php b/app/Mail/Admin/EntityViewedObject.php index 36909312715d..7709aa40e9b9 100644 --- a/app/Mail/Admin/EntityViewedObject.php +++ b/app/Mail/Admin/EntityViewedObject.php @@ -13,6 +13,7 @@ namespace App\Mail\Admin; use App\Models\User; use App\Utils\Number; +use stdClass; class EntityViewedObject { @@ -39,7 +40,7 @@ class EntityViewedObject public function build() { - $mail_obj = new \stdClass; + $mail_obj = new stdClass; $mail_obj->amount = $this->getAmount(); $mail_obj->subject = $this->getSubject(); $mail_obj->data = $this->getData(); diff --git a/app/Mail/Admin/PaymentFailureObject.php b/app/Mail/Admin/PaymentFailureObject.php index ed34e338a164..9408e27816e0 100644 --- a/app/Mail/Admin/PaymentFailureObject.php +++ b/app/Mail/Admin/PaymentFailureObject.php @@ -13,6 +13,7 @@ namespace App\Mail\Admin; use App\Models\User; use App\Utils\Number; +use stdClass; class PaymentFailureObject { @@ -34,7 +35,7 @@ class PaymentFailureObject public function build() { - $mail_obj = new \stdClass; + $mail_obj = new stdClass; $mail_obj->amount = $this->getAmount(); $mail_obj->subject = $this->getSubject(); $mail_obj->data = $this->getData(); diff --git a/app/Mail/BouncedEmail.php b/app/Mail/BouncedEmail.php index 8dacad29dd30..ef7c59827eb9 100644 --- a/app/Mail/BouncedEmail.php +++ b/app/Mail/BouncedEmail.php @@ -26,7 +26,7 @@ class BouncedEmail extends Mailable implements ShouldQueue /** * Create a new message instance. * - * @return void + * @param $invitation */ public function __construct($invitation) { diff --git a/app/Mail/DownloadInvoices.php b/app/Mail/DownloadInvoices.php index cb76e3e807bb..21c8a4990085 100644 --- a/app/Mail/DownloadInvoices.php +++ b/app/Mail/DownloadInvoices.php @@ -28,6 +28,7 @@ class DownloadInvoices extends Mailable * Build the message. * * @return $this + * @throws \Laracasts\Presenter\Exceptions\PresenterException */ public function build() { diff --git a/app/Mail/Engine/QuoteEmailEngine.php b/app/Mail/Engine/QuoteEmailEngine.php index 6121787c22b5..dc8e92932e5e 100644 --- a/app/Mail/Engine/QuoteEmailEngine.php +++ b/app/Mail/Engine/QuoteEmailEngine.php @@ -11,6 +11,7 @@ namespace App\Mail\Engine; +use App\Utils\HtmlEngine; use App\Utils\Number; class QuoteEmailEngine extends BaseEmailEngine diff --git a/app/Mail/SupportMessageSent.php b/app/Mail/SupportMessageSent.php index d7034e10e2c8..dc63ec86c65e 100644 --- a/app/Mail/SupportMessageSent.php +++ b/app/Mail/SupportMessageSent.php @@ -7,6 +7,8 @@ use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Mail\Mailable; use Illuminate\Queue\SerializesModels; +use LimitIterator; +use SplFileObject; class SupportMessageSent extends Mailable { @@ -40,11 +42,11 @@ class SupportMessageSent extends Mailable if (Ninja::isSelfHost() && $this->send_logs !== false) { $system_info = Ninja::getDebugInfo(); - $log_file = new \SplFileObject(sprintf('%s/laravel.log', base_path('storage/logs'))); + $log_file = new SplFileObject(sprintf('%s/laravel.log', base_path('storage/logs'))); $log_file->seek(PHP_INT_MAX); $last_line = $log_file->key(); - $lines = new \LimitIterator($log_file, $last_line - 10, $last_line); + $lines = new LimitIterator($log_file, $last_line - 10, $last_line); $log_lines = iterator_to_array($lines); } diff --git a/app/Mail/TemplateEmail.php b/app/Mail/TemplateEmail.php index 0d3bdec9c668..62cd47dda126 100644 --- a/app/Mail/TemplateEmail.php +++ b/app/Mail/TemplateEmail.php @@ -43,6 +43,7 @@ class TemplateEmail extends Mailable * Build the message. * * @return $this + * @throws \Laracasts\Presenter\Exceptions\PresenterException */ public function build() { diff --git a/app/Mail/User/UserNotificationMailer.php b/app/Mail/User/UserNotificationMailer.php index dddafeb13c15..db85dedc1180 100644 --- a/app/Mail/User/UserNotificationMailer.php +++ b/app/Mail/User/UserNotificationMailer.php @@ -21,7 +21,7 @@ class UserNotificationMailer extends Mailable /** * Create a new message instance. * - * @return void + * @param $mail_obj */ public function __construct($mail_obj) { diff --git a/app/Models/Account.php b/app/Models/Account.php index e681c7701d2a..cb46be9ef3d5 100644 --- a/app/Models/Account.php +++ b/app/Models/Account.php @@ -11,9 +11,12 @@ namespace App\Models; +use App\Models\Presenters\AccountPresenter; use App\Utils\Ninja; use App\Utils\Traits\MakesHash; +use DateTime; use Illuminate\Database\Eloquent\Model; +use Illuminate\Database\Eloquent\Relations\BelongsTo; use Laracasts\Presenter\PresentableTrait; class Account extends BaseModel @@ -24,7 +27,7 @@ class Account extends BaseModel /** * @var string */ - protected $presenter = \App\Models\Presenters\AccountPresenter::class; + protected $presenter = AccountPresenter::class; /** * @var array @@ -101,7 +104,7 @@ class Account extends BaseModel } /** - * @return \Illuminate\Database\Eloquent\Relations\BelongsTo + * @return BelongsTo */ public function payment() { @@ -237,7 +240,7 @@ class Account extends BaseModel $trial_active = false; if ($trial_plan && $include_trial) { - $trial_started = \DateTime::createFromFormat('Y-m-d', $this->trial_started); + $trial_started = DateTime::createFromFormat('Y-m-d', $this->trial_started); $trial_expires = clone $trial_started; $trial_expires->modify('+2 weeks'); @@ -252,7 +255,7 @@ class Account extends BaseModel $plan_active = true; $plan_expires = false; } else { - $plan_expires = \DateTime::createFromFormat('Y-m-d', $this->plan_expires); + $plan_expires = DateTime::createFromFormat('Y-m-d', $this->plan_expires); if ($plan_expires >= date_create()) { $plan_active = true; } @@ -297,9 +300,9 @@ class Account extends BaseModel 'plan_price' => $price, 'trial' => false, 'plan' => $plan, - 'started' => \DateTime::createFromFormat('Y-m-d', $this->plan_started), + 'started' => DateTime::createFromFormat('Y-m-d', $this->plan_started), 'expires' => $plan_expires, - 'paid' => \DateTime::createFromFormat('Y-m-d', $this->plan_paid), + 'paid' => DateTime::createFromFormat('Y-m-d', $this->plan_paid), 'term' => $this->plan_term, 'active' => $plan_active, ]; diff --git a/app/Models/BankAccount.php b/app/Models/BankAccount.php index 04947823a668..a57fb57d5674 100644 --- a/app/Models/BankAccount.php +++ b/app/Models/BankAccount.php @@ -13,6 +13,8 @@ namespace App\Models; use Crypt; use Illuminate\Database\Eloquent\Model; +use Illuminate\Database\Eloquent\Relations\BelongsTo; +use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\SoftDeletes; /** @@ -45,7 +47,7 @@ class BankAccount extends BaseModel } /** - * @param $config + * @param $value */ public function setUsername($value) { @@ -53,7 +55,7 @@ class BankAccount extends BaseModel } /** - * @return \Illuminate\Database\Eloquent\Relations\BelongsTo + * @return BelongsTo */ public function bank() { @@ -61,11 +63,11 @@ class BankAccount extends BaseModel } /** - * @return \Illuminate\Database\Eloquent\Relations\HasMany + * @return HasMany */ public function bank_subaccounts() { - return $this->hasMany(\App\Models\BankSubaccount::class); + return $this->hasMany(BankSubaccount::class); } public function getEntityType() diff --git a/app/Models/BankSubaccount.php b/app/Models/BankSubaccount.php index b975df1164d0..af5e0e910d69 100644 --- a/app/Models/BankSubaccount.php +++ b/app/Models/BankSubaccount.php @@ -12,6 +12,7 @@ namespace App\Models; use Illuminate\Database\Eloquent\Model; +use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\SoftDeletes; /** @@ -26,7 +27,7 @@ class BankSubaccount extends BaseModel protected $dates = ['deleted_at']; /** - * @return \Illuminate\Database\Eloquent\Relations\BelongsTo + * @return BelongsTo */ public function bank_account() { diff --git a/app/Models/BaseModel.php b/app/Models/BaseModel.php index a1cb856d2cb0..305fcd4ff451 100644 --- a/app/Models/BaseModel.php +++ b/app/Models/BaseModel.php @@ -30,7 +30,7 @@ class BaseModel extends Model use MakesHash; use UserSessionAttributes; use HasFactory; - + //todo customise names of archived_at / updated_at columns ///const CREATED_AT = 'creation_date'; //const UPDATED_AT = 'last_update'; @@ -112,9 +112,10 @@ class BaseModel extends Model * to persist the new settings we will also need to pass back a * reference to the parent class. * - * @param mixes $key The key of property + * @param mixes $key The key of property + * @return */ - public function getSettingsByKey($key) + public function getSettingsByKey(mixes $key) { /* Does Setting Exist @ client level */ if (isset($this->getSettings()->{$key})) { @@ -161,8 +162,9 @@ class BaseModel extends Model /** * Retrieve the model for a bound value. * - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Model|null + * @param mixed $value + * @param null $field + * @return Model|null */ public function resolveRouteBinding($value, $field = NULL) { @@ -176,6 +178,7 @@ class BaseModel extends Model } /** + * @param string $extension * @return string */ public function getFileName($extension = 'pdf') diff --git a/app/Models/Client.php b/app/Models/Client.php index 5894e91872a7..b563c9fa82a0 100644 --- a/app/Models/Client.php +++ b/app/Models/Client.php @@ -30,6 +30,7 @@ use App\Models\GatewayType; use App\Models\GroupSetting; use App\Models\Invoice; use App\Models\Language; +use App\Models\Presenters\ClientPresenter; use App\Models\Quote; use App\Models\Timezone; use App\Models\User; @@ -38,6 +39,7 @@ use App\Utils\Traits\CompanyGatewaySettings; use App\Utils\Traits\GeneratesCounter; use App\Utils\Traits\MakesDates; use App\Utils\Traits\MakesHash; +use Exception; use Hashids\Hashids; use Illuminate\Contracts\Translation\HasLocalePreference; use Illuminate\Database\Eloquent\SoftDeletes; @@ -54,7 +56,7 @@ class Client extends BaseModel implements HasLocalePreference use Filterable; use GeneratesCounter; - protected $presenter = \App\Models\Presenters\ClientPresenter::class; + protected $presenter = ClientPresenter::class; protected $hidden = [ 'id', @@ -283,7 +285,7 @@ class Client extends BaseModel implements HasLocalePreference * of settings which have been merged from * Client > Group > Company levels. * - * @return object stdClass object of settings + * @return stdClass stdClass object of settings */ public function getMergedSettings() :object { @@ -350,7 +352,7 @@ class Client extends BaseModel implements HasLocalePreference return $this->company; } - throw new \Exception('Could not find a settings object', 1); + throw new Exception('Could not find a settings object', 1); } public function documents() @@ -469,14 +471,14 @@ class Client extends BaseModel implements HasLocalePreference $company_gateways = $this->getSetting('company_gateway_ids'); //we need to check for "0" here as we disable a payment gateway for a client with the number "0" - if ($company_gateways || $company_gateways == '0') { + if ($company_gateways || $company_gateways == '0') { $transformed_ids = $this->transformKeys(explode(',', $company_gateways)); $gateways = $this->company ->company_gateways ->whereIn('id', $transformed_ids) - ->sortby(function ($model) use ($transformed_ids) { //company gateways are sorted in order of priority - return array_search($model->id, $transformed_ids);// this closure sorts for us + ->sortby(function ($model) use ($transformed_ids) { //company gateways are sorted in order of priority + return array_search($model->id, $transformed_ids);// this closure sorts for us }); } else { $gateways = $this->company->company_gateways->where('is_deleted', false); @@ -492,13 +494,13 @@ class Client extends BaseModel implements HasLocalePreference if($this->validGatewayForAmount($gateway->fees_and_limits->{$type}, $amount)) $payment_methods[] = [$gateway->id => $type]; - + } - else + else { $payment_methods[] = [$gateway->id => $type]; - + } } @@ -539,7 +541,7 @@ class Client extends BaseModel implements HasLocalePreference public function validGatewayForAmount($fees_and_limits_for_payment_type, $amount) :bool { if (isset($fees_and_limits_for_payment_type)) { - $fees_and_limits = $fees_and_limits_for_payment_type; + $fees_and_limits = $fees_and_limits_for_payment_type; } else { return true; } diff --git a/app/Models/ClientContact.php b/app/Models/ClientContact.php index 022649b94b98..c800db4c8ff6 100644 --- a/app/Models/ClientContact.php +++ b/app/Models/ClientContact.php @@ -13,6 +13,7 @@ namespace App\Models; use App\Models\Company; use App\Models\Language; +use App\Models\Presenters\ClientContactPresenter; use App\Models\User; use App\Notifications\ClientContactResetPassword as ResetPasswordNotification; use App\Notifications\ClientContactResetPassword; @@ -21,6 +22,7 @@ use Hashids\Hashids; use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Contracts\Translation\HasLocalePreference; use Illuminate\Database\Eloquent\Factories\HasFactory; +use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; @@ -35,7 +37,7 @@ class ClientContact extends Authenticatable implements HasLocalePreference use PresentableTrait; use SoftDeletes; use HasFactory; - + /* Used to authenticate a contact */ protected $guard = 'contact'; @@ -44,7 +46,7 @@ class ClientContact extends Authenticatable implements HasLocalePreference /* Allow microtime timestamps */ protected $dateFormat = 'Y-m-d H:i:s.u'; - protected $presenter = \App\Models\Presenters\ClientContactPresenter::class; + protected $presenter = ClientContactPresenter::class; protected $dates = [ 'deleted_at', @@ -179,8 +181,9 @@ class ClientContact extends Authenticatable implements HasLocalePreference /** * Retrieve the model for a bound value. * - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Model|null + * @param mixed $value + * @param null $field + * @return Model|null */ public function resolveRouteBinding($value, $field = NULL) { @@ -204,7 +207,7 @@ class ClientContact extends Authenticatable implements HasLocalePreference /** * Provides a convenience login click for contacts to bypass the * contact authentication layer - * + * * @return string URL */ public function getLoginLink() @@ -212,8 +215,8 @@ class ClientContact extends Authenticatable implements HasLocalePreference $domain = isset($this->company->portal_domain) ?: $this->company->domain(); - return $domain . 'client/key_login/' . $this->contact_key; + return $domain . 'client/key_login/' . $this->contact_key; } - + } diff --git a/app/Models/ClientGatewayToken.php b/app/Models/ClientGatewayToken.php index 4426b777f94b..d8148e15c2d5 100644 --- a/app/Models/ClientGatewayToken.php +++ b/app/Models/ClientGatewayToken.php @@ -17,6 +17,7 @@ use App\Models\CompanyGateway; use App\Models\GatewayType; use App\Models\User; use App\Utils\Traits\MakesDates; +use Illuminate\Database\Eloquent\Model; class ClientGatewayToken extends BaseModel { @@ -66,8 +67,9 @@ class ClientGatewayToken extends BaseModel /** * Retrieve the model for a bound value. * - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Model|null + * @param mixed $value + * @param null $field + * @return Model|null */ public function resolveRouteBinding($value, $field = NULL) { diff --git a/app/Models/Company.php b/app/Models/Company.php index b7bc9676f614..df64f0716182 100644 --- a/app/Models/Company.php +++ b/app/Models/Company.php @@ -28,6 +28,7 @@ use App\Models\Invoice; use App\Models\Language; use App\Models\Payment; use App\Models\PaymentType; +use App\Models\Presenters\CompanyPresenter; use App\Models\Product; use App\Models\RecurringInvoice; use App\Models\TaxRate; @@ -40,9 +41,13 @@ use App\Utils\Traits\CompanySettingsSaver; use App\Utils\Traits\MakesHash; use App\Utils\Traits\ThrottlesEmail; use Illuminate\Database\Eloquent\Model; +use Illuminate\Database\Eloquent\Relations\BelongsTo; +use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Notifications\Notification; use Illuminate\Support\Facades\Log; use Laracasts\Presenter\PresentableTrait; +use Staudenmeir\EloquentHasManyDeep\HasRelationships; +use Staudenmeir\EloquentHasManyDeep\HasTableAlias; class Company extends BaseModel { @@ -50,8 +55,8 @@ class Company extends BaseModel use MakesHash; use CompanySettingsSaver; use ThrottlesEmail; - use \Staudenmeir\EloquentHasManyDeep\HasRelationships; - use \Staudenmeir\EloquentHasManyDeep\HasTableAlias; + use HasRelationships; + use HasTableAlias; const ENTITY_RECURRING_INVOICE = 'recurring_invoice'; const ENTITY_CREDIT = 'credit'; @@ -66,9 +71,11 @@ class Company extends BaseModel const ENTITY_RECURRING_TASK = 'task'; const ENTITY_RECURRING_QUOTE = 'recurring_quote'; - protected $presenter = \App\Models\Presenters\CompanyPresenter::class; + protected $presenter = CompanyPresenter::class; protected $fillable = [ + 'invoice_expense_documents', + 'invoice_task_documents', 'show_tasks_table', 'mark_expenses_invoiceable', 'mark_expenses_paid', @@ -100,6 +107,7 @@ class Company extends BaseModel 'enable_shop_api', 'invoice_task_timelog', 'auto_start_tasks', + 'is_disabled', ]; protected $hidden = [ @@ -182,7 +190,7 @@ class Company extends BaseModel return $this->hasMany(Client::class)->withTrashed(); } /** - * @return \Illuminate\Database\Eloquent\Relations\HasMany + * @return HasMany */ public function tasks() { @@ -195,7 +203,7 @@ class Company extends BaseModel } /** - * @return \Illuminate\Database\Eloquent\Relations\HasMany + * @return HasMany */ public function projects() { @@ -203,7 +211,7 @@ class Company extends BaseModel } /** - * @return \Illuminate\Database\Eloquent\Relations\HasMany + * @return HasMany */ public function vendors() { @@ -216,7 +224,7 @@ class Company extends BaseModel } /** - * @return \Illuminate\Database\Eloquent\Relations\HasMany + * @return HasMany */ public function contacts() { @@ -229,7 +237,7 @@ class Company extends BaseModel } /** - * @return \Illuminate\Database\Eloquent\Relations\HasMany + * @return HasMany */ public function invoices() { @@ -237,7 +245,7 @@ class Company extends BaseModel } /** - * @return \Illuminate\Database\Eloquent\Relations\HasMany + * @return HasMany */ public function recurring_invoices() { @@ -245,7 +253,7 @@ class Company extends BaseModel } /** - * @return \Illuminate\Database\Eloquent\Relations\HasMany + * @return HasMany */ public function quotes() { @@ -253,7 +261,7 @@ class Company extends BaseModel } /** - * @return \Illuminate\Database\Eloquent\Relations\HasMany + * @return HasMany */ public function credits() { @@ -261,7 +269,7 @@ class Company extends BaseModel } /** - * @return \Illuminate\Database\Eloquent\Relations\HasMany + * @return HasMany */ public function company_gateways() { @@ -269,7 +277,7 @@ class Company extends BaseModel } /** - * @return \Illuminate\Database\Eloquent\Relations\HasMany + * @return HasMany */ public function tax_rates() { @@ -277,7 +285,7 @@ class Company extends BaseModel } /** - * @return \Illuminate\Database\Eloquent\Relations\HasMany + * @return HasMany */ public function products() { @@ -285,7 +293,7 @@ class Company extends BaseModel } /** - * @return \Illuminate\Database\Eloquent\Relations\BelongsTo + * @return BelongsTo */ public function country() { @@ -314,7 +322,7 @@ class Company extends BaseModel } /** - * @return \Illuminate\Database\Eloquent\Relations\BelongsTo + * @return BelongsTo */ public function language() { @@ -346,7 +354,7 @@ class Company extends BaseModel } /** - * @return \Illuminate\Database\Eloquent\Relations\BelongsTo + * @return BelongsTo */ public function currency() { @@ -354,7 +362,7 @@ class Company extends BaseModel } /** - * @return \Illuminate\Database\Eloquent\Relations\BelongsTo + * @return BelongsTo */ public function industry() { @@ -362,7 +370,7 @@ class Company extends BaseModel } /** - * @return \Illuminate\Database\Eloquent\Relations\BelongsTo + * @return BelongsTo */ public function payment_type() { @@ -436,13 +444,5 @@ class Company extends BaseModel return $this->slack_webhook_url; } - public function setMigration($status) - { - $company_users = CompanyUser::where('company_id', $this->id)->get(); - - foreach ($company_users as $cu) { - $cu->is_migrating = $status; - $cu->save(); - } - } + } diff --git a/app/Models/CompanyGateway.php b/app/Models/CompanyGateway.php index f37f594112af..0de3bd5f226e 100644 --- a/app/Models/CompanyGateway.php +++ b/app/Models/CompanyGateway.php @@ -15,9 +15,11 @@ use App\Models\Client; use App\Models\Company; use App\Models\Gateway; use App\Models\GatewayType; +use App\PaymentDrivers\BasePaymentDriver; use App\Utils\Number; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; +use stdClass; class CompanyGateway extends BaseModel { @@ -101,7 +103,7 @@ class CompanyGateway extends BaseModel if (class_exists($class)) { return $class; } else { - return \App\PaymentDrivers\BasePaymentDriver::class; + return BasePaymentDriver::class; } } @@ -241,8 +243,9 @@ class CompanyGateway extends BaseModel /** * Returns the formatted fee amount for the gateway. * - * @param float $amount The payment amount - * @param Client $client The client object + * @param float $amount The payment amount + * @param Client $client The client object + * @param int $gateway_type_id * @return string The fee amount formatted in the client currency */ public function calcGatewayFeeLabel($amount, Client $client, $gateway_type_id = GatewayType::CREDIT_CARD) :string @@ -317,33 +320,36 @@ class CompanyGateway extends BaseModel * so lets iterate. * * we MAY need to adjust the final fee to ensure our rounding makes sense! + * @param $amount + * @param $invoice_count + * @return stdClass */ - public function calcGatewayFeeObject($amount, $invoice_count) - { - $total_gateway_fee = $this->calcGatewayFee($amount); + // public function calcGatewayFeeObject($amount, $invoice_count) + // { + // $total_gateway_fee = $this->calcGatewayFee($amount); - $fee_object = new \stdClass; + // $fee_object = new stdClass; - $fees_and_limits = $this->getFeesAndLimits(); + // $fees_and_limits = $this->getFeesAndLimits(); - if (! $fees_and_limits) { - return $fee_object; - } + // if (! $fees_and_limits) { + // return $fee_object; + // } - $fee_component_amount = $fees_and_limits->fee_amount ?: 0; - $fee_component_percent = $fees_and_limits->fee_percent ? ($amount * $fees_and_limits->fee_percent / 100) : 0; + // $fee_component_amount = $fees_and_limits->fee_amount ?: 0; + // $fee_component_percent = $fees_and_limits->fee_percent ? ($amount * $fees_and_limits->fee_percent / 100) : 0; - $combined_fee_component = $fee_component_amount + $fee_component_percent; + // $combined_fee_component = $fee_component_amount + $fee_component_percent; - $fee_component_tax_name1 = $fees_and_limits->fee_tax_name1 ?: ''; - $fee_component_tax_rate1 = $fees_and_limits->fee_tax_rate1 ? ($combined_fee_component * $fees_and_limits->fee_tax_rate1 / 100) : 0; + // $fee_component_tax_name1 = $fees_and_limits->fee_tax_name1 ?: ''; + // $fee_component_tax_rate1 = $fees_and_limits->fee_tax_rate1 ? ($combined_fee_component * $fees_and_limits->fee_tax_rate1 / 100) : 0; - $fee_component_tax_name2 = $fees_and_limits->fee_tax_name2 ?: ''; - $fee_component_tax_rate2 = $fees_and_limits->fee_tax_rate2 ? ($combined_fee_component * $fees_and_limits->fee_tax_rate2 / 100) : 0; + // $fee_component_tax_name2 = $fees_and_limits->fee_tax_name2 ?: ''; + // $fee_component_tax_rate2 = $fees_and_limits->fee_tax_rate2 ? ($combined_fee_component * $fees_and_limits->fee_tax_rate2 / 100) : 0; - $fee_component_tax_name3 = $fees_and_limits->fee_tax_name3 ?: ''; - $fee_component_tax_rate3 = $fees_and_limits->fee_tax_rate3 ? ($combined_fee_component * $fees_and_limits->fee_tax_rate3 / 100) : 0; - } + // $fee_component_tax_name3 = $fees_and_limits->fee_tax_name3 ?: ''; + // $fee_component_tax_rate3 = $fees_and_limits->fee_tax_rate3 ? ($combined_fee_component * $fees_and_limits->fee_tax_rate3 / 100) : 0; + // } public function resolveRouteBinding($value, $field = NULL) { diff --git a/app/Models/CompanyUser.php b/app/Models/CompanyUser.php index 3d4b63780308..8655e398be78 100644 --- a/app/Models/CompanyUser.php +++ b/app/Models/CompanyUser.php @@ -13,10 +13,11 @@ namespace App\Models; use Illuminate\Database\Eloquent\Relations\Pivot; use Illuminate\Database\Eloquent\SoftDeletes; +use Staudenmeir\EloquentHasManyDeep\HasRelationships; class CompanyUser extends Pivot { - use \Staudenmeir\EloquentHasManyDeep\HasRelationships; + use HasRelationships; use SoftDeletes; // protected $guarded = ['id']; diff --git a/app/Models/Credit.php b/app/Models/Credit.php index f1517bb654ba..63050b2a7b65 100644 --- a/app/Models/Credit.php +++ b/app/Models/Credit.php @@ -16,6 +16,7 @@ use App\Helpers\Invoice\InvoiceSum; use App\Helpers\Invoice\InvoiceSumInclusive; use App\Jobs\Entity\CreateEntityPdf; use App\Models\Filterable; +use App\Models\Presenters\CreditPresenter; use App\Services\Credit\CreditService; use App\Services\Ledger\LedgerService; use App\Utils\Ninja; @@ -36,7 +37,7 @@ class Credit extends BaseModel use PresentableTrait; use MakesInvoiceValues; - protected $presenter = \App\Models\Presenters\CreditPresenter::class; + protected $presenter = CreditPresenter::class; protected $fillable = [ 'assigned_user_id', @@ -184,7 +185,7 @@ class Credit extends BaseModel /** * Access the invoice calculator object. * - * @return object The invoice calculator object getters + * @return stdClass The invoice calculator object getters */ public function calc() { diff --git a/app/Models/CreditInvitation.php b/app/Models/CreditInvitation.php index 02f5428c7ef4..18904920c2f9 100644 --- a/app/Models/CreditInvitation.php +++ b/app/Models/CreditInvitation.php @@ -18,6 +18,7 @@ use App\Utils\Ninja; use App\Utils\Traits\Inviteable; use App\Utils\Traits\MakesDates; use Illuminate\Database\Eloquent\Model; +use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Support\Carbon; use Illuminate\Support\Facades\Storage; @@ -107,7 +108,7 @@ class CreditInvitation extends BaseModel } /** - * @return \Illuminate\Database\Eloquent\Relations\BelongsTo + * @return BelongsTo */ public function company() { diff --git a/app/Models/Expense.php b/app/Models/Expense.php index 1747164b7769..47e80d7398b1 100644 --- a/app/Models/Expense.php +++ b/app/Models/Expense.php @@ -26,7 +26,7 @@ class Expense extends BaseModel 'assigned_user_id', 'vendor_id', 'invoice_id', - 'expense_currency_id', + 'currency_id', 'date', 'invoice_currency_id', 'amount', @@ -53,6 +53,7 @@ class Expense extends BaseModel 'custom_value2', 'custom_value3', 'custom_value4', + 'number', ]; protected $casts = [ diff --git a/app/Models/ExpenseCategory.php b/app/Models/ExpenseCategory.php index edc826661ffb..bedf598ca3ee 100644 --- a/app/Models/ExpenseCategory.php +++ b/app/Models/ExpenseCategory.php @@ -13,6 +13,7 @@ namespace App\Models; use App\Utils\Traits\MakesHash; use Illuminate\Database\Eloquent\Model; +use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\SoftDeletes; class ExpenseCategory extends BaseModel @@ -29,10 +30,10 @@ class ExpenseCategory extends BaseModel } /** - * @return \Illuminate\Database\Eloquent\Relations\BelongsTo + * @return BelongsTo */ public function expense() { - return $this->belongsTo(\App\Models\Expense::class); + return $this->belongsTo(Expense::class); } } diff --git a/app/Models/GroupSetting.php b/app/Models/GroupSetting.php index 75490ce3d82b..f87dbb5c2979 100644 --- a/app/Models/GroupSetting.php +++ b/app/Models/GroupSetting.php @@ -60,8 +60,9 @@ class GroupSetting extends StaticModel /** * Retrieve the model for a bound value. * - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Model|null + * @param mixed $value + * @param null $field + * @return Model|null */ public function resolveRouteBinding($value, $field = NULL) { diff --git a/app/Models/Invoice.php b/app/Models/Invoice.php index 0d4f8df9f74f..d850444409f3 100644 --- a/app/Models/Invoice.php +++ b/app/Models/Invoice.php @@ -24,6 +24,7 @@ use App\Models\CompanyLedger; use App\Models\Currency; use App\Models\Filterable; use App\Models\PaymentTerm; +use App\Models\Presenters\InvoicePresenter; use App\Services\Invoice\InvoiceService; use App\Services\Ledger\LedgerService; use App\Utils\Ninja; @@ -52,7 +53,7 @@ class Invoice extends BaseModel use MakesReminders; use ActionsInvoice; - protected $presenter = \App\Models\Presenters\InvoicePresenter::class; + protected $presenter = InvoicePresenter::class; protected $touches = []; @@ -178,11 +179,6 @@ class Invoice extends BaseModel return $this->belongsTo(Client::class)->withTrashed(); } - // public function contacts() - // { - // return $this->hasManyThrough(ClientContact::class, Client::class); - // } - public function documents() { return $this->morphMany(Document::class, 'documentable'); @@ -213,14 +209,15 @@ class Invoice extends BaseModel return $this->hasMany(Credit::class); } - // public function credits() - // { - // return $this->belongsToMany(Credit::class)->using(Paymentable::class)->withPivot( - // 'amount', - // 'refunded' - // )->withTimestamps(); - // } + public function tasks() + { + return $this->hasMany(Task::class); + } + public function expenses() + { + return $this->hasMany(Expense::class); + } /** * Service entry points. */ @@ -368,7 +365,7 @@ class Invoice extends BaseModel /** * Access the invoice calculator object. * - * @return object The invoice calculator object getters + * @return stdClass The invoice calculator object getters */ public function calc() { @@ -438,50 +435,6 @@ class Invoice extends BaseModel } } - /* Graveyard */ - -// /** -// * Determines if invoice overdue. -// * -// * @param float $balance The balance -// * @param date. $due_date The due date -// * -// * @return boolean True if overdue, False otherwise. -// */ -// public static function isOverdue($balance, $due_date) -// { -// if (! $this->formatValue($balance,2) > 0 || ! $due_date) { -// return false; -// } -// -// // it isn't considered overdue until the end of the day -// return strtotime($this->createClientDate(date(), $this->client->timezone()->name)) > (strtotime($due_date) + (60 * 60 * 24)); -// } - - /** - * @param bool $save - * - * Has this been dragged from V1? - */ - // public function updatePaidStatus($paid = false, $save = true) : bool - // { - // $status_id = false; - // if ($paid && $this->balance == 0) { - // $status_id = self::STATUS_PAID; - // } elseif ($paid && $this->balance > 0 && $this->balance < $this->amount) { - // $status_id = self::STATUS_PARTIAL; - // } elseif ($this->hasPartial() && $this->balance > 0) { - // $status_id = ($this->balance == $this->amount ? self::STATUS_SENT : self::STATUS_PARTIAL); - // } - - // if ($status_id && $status_id != $this->status_id) { - // $this->status_id = $status_id; - // if ($save) { - // $this->save(); - // } - // } - // } - public function getBalanceDueAttribute() { return $this->balance; diff --git a/app/Models/InvoiceInvitation.php b/app/Models/InvoiceInvitation.php index f4599868446b..1022d56ed42a 100644 --- a/app/Models/InvoiceInvitation.php +++ b/app/Models/InvoiceInvitation.php @@ -17,6 +17,7 @@ use App\Models\Invoice; use App\Utils\Ninja; use App\Utils\Traits\Inviteable; use App\Utils\Traits\MakesDates; +use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Support\Carbon; use Illuminate\Support\Facades\Storage; @@ -105,7 +106,7 @@ class InvoiceInvitation extends BaseModel } /** - * @return \Illuminate\Database\Eloquent\Relations\BelongsTo + * @return BelongsTo */ public function company() { diff --git a/app/Models/Presenters/VendorPresenter.php b/app/Models/Presenters/VendorPresenter.php index b74212cf67a8..849b4aee9552 100644 --- a/app/Models/Presenters/VendorPresenter.php +++ b/app/Models/Presenters/VendorPresenter.php @@ -108,14 +108,14 @@ class VendorPresenter extends EntityPresenter */ public function company_name() { - $settings = $this->entity->company->settings;; + $settings = $this->entity->company->settings; return $settings->name ?: ctrans('texts.untitled_account'); } public function company_address() { - $settings = $this->entity->company->settings;; + $settings = $this->entity->company->settings; $str = ''; @@ -137,7 +137,7 @@ class VendorPresenter extends EntityPresenter public function getCityState() { - $settings = $this->entity->company->settings;; + $settings = $this->entity->company->settings; $country = false; diff --git a/app/Models/Project.php b/app/Models/Project.php index 6e43247fd3a6..4ca4eeade66c 100644 --- a/app/Models/Project.php +++ b/app/Models/Project.php @@ -3,6 +3,7 @@ namespace App\Models; use App\Models\Filterable; +use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\SoftDeletes; use Laracasts\Presenter\PresentableTrait; @@ -11,11 +12,11 @@ use Laracasts\Presenter\PresentableTrait; */ class Project extends BaseModel { - + use SoftDeletes; use PresentableTrait; use Filterable; - + /** * @var array */ @@ -36,6 +37,7 @@ class Project extends BaseModel 'custom_value2', 'custom_value3', 'custom_value4', + 'assigned_user_id', ]; public function getEntityType() @@ -46,7 +48,7 @@ class Project extends BaseModel protected $touches = []; /** - * @return \Illuminate\Database\Eloquent\Relations\BelongsTo + * @return BelongsTo */ public function company() { diff --git a/app/Models/Quote.php b/app/Models/Quote.php index caed1e3fd3c1..94ee3fece16f 100644 --- a/app/Models/Quote.php +++ b/app/Models/Quote.php @@ -16,6 +16,7 @@ use App\Helpers\Invoice\InvoiceSum; use App\Helpers\Invoice\InvoiceSumInclusive; use App\Jobs\Entity\CreateEntityPdf; use App\Models\Filterable; +use App\Models\Presenters\QuotePresenter; use App\Services\Quote\QuoteService; use App\Utils\Ninja; use App\Utils\Traits\Archivable; @@ -39,7 +40,7 @@ class Quote extends BaseModel use PresentableTrait; use MakesInvoiceValues; - protected $presenter = \App\Models\Presenters\QuotePresenter::class; + protected $presenter = QuotePresenter::class; protected $touches = []; @@ -158,7 +159,7 @@ class Quote extends BaseModel /** * Access the quote calculator object. * - * @return object The quote calculator object getters + * @return stdClass The quote calculator object getters */ public function calc() { diff --git a/app/Models/QuoteInvitation.php b/app/Models/QuoteInvitation.php index d46e1ce901f7..1ece2d56f9de 100644 --- a/app/Models/QuoteInvitation.php +++ b/app/Models/QuoteInvitation.php @@ -18,6 +18,7 @@ use App\Utils\Ninja; use App\Utils\Traits\Inviteable; use App\Utils\Traits\MakesDates; use Illuminate\Database\Eloquent\Model; +use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Support\Carbon; use Illuminate\Support\Facades\Storage; @@ -107,7 +108,7 @@ class QuoteInvitation extends BaseModel } /** - * @return \Illuminate\Database\Eloquent\Relations\BelongsTo + * @return BelongsTo */ public function company() { diff --git a/app/Models/RecurringInvoiceInvitation.php b/app/Models/RecurringInvoiceInvitation.php index 3b54b32ad9a5..bd24c7c535a7 100644 --- a/app/Models/RecurringInvoiceInvitation.php +++ b/app/Models/RecurringInvoiceInvitation.php @@ -15,6 +15,7 @@ use App\Models\RecurringInvoice; use App\Utils\Traits\Inviteable; use App\Utils\Traits\MakesDates; use Illuminate\Database\Eloquent\Model; +use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\SoftDeletes; class RecurringInvoiceInvitation extends BaseModel @@ -22,7 +23,7 @@ class RecurringInvoiceInvitation extends BaseModel use MakesDates; use SoftDeletes; use Inviteable; - + protected $fillable = ['client_contact_id']; protected $touches = ['recurring_invoice']; @@ -31,7 +32,7 @@ class RecurringInvoiceInvitation extends BaseModel 'company', 'contact', ]; - + public function getEntityType() { return self::class; @@ -67,7 +68,7 @@ class RecurringInvoiceInvitation extends BaseModel } /** - * @return \Illuminate\Database\Eloquent\Relations\BelongsTo + * @return BelongsTo */ public function company() { diff --git a/app/Models/SystemLog.php b/app/Models/SystemLog.php index 32cb0248aca0..54da10e23ad1 100644 --- a/app/Models/SystemLog.php +++ b/app/Models/SystemLog.php @@ -86,4 +86,4 @@ class SystemLog extends Model return $query; } -} +} \ No newline at end of file diff --git a/app/Models/Task.php b/app/Models/Task.php index 373ae4f548f3..47412d915618 100644 --- a/app/Models/Task.php +++ b/app/Models/Task.php @@ -15,6 +15,7 @@ use App\Models\Filterable; use App\Utils\Traits\MakesHash; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; +use Illuminate\Support\Carbon; class Task extends BaseModel { @@ -37,6 +38,8 @@ class Task extends BaseModel 'status_id', 'status_sort_order', 'invoice_documents', + 'rate', + 'number', ]; protected $touches = []; @@ -80,4 +83,69 @@ class Task extends BaseModel { return $this->belongsTo(Project::class); } + + + + + + + + + + + public function calcStartTime() + { + $parts = json_decode($this->time_log) ?: []; + + if (count($parts)) { + return Carbon::createFromTimeStamp($parts[0][0])->timestamp; + } else { + return null; + } + } + + public function getLastStartTime() + { + $parts = json_decode($this->time_log) ?: []; + + if (count($parts)) { + $index = count($parts) - 1; + + return $parts[$index][0]; + } else { + return ''; + } + + } + + public function calcDuration($start_time_cutoff = 0, $end_time_cutoff = 0) + { + $duration = 0; + $parts = json_decode($this->time_log) ?: []; + + foreach ($parts as $part) { + $start_time = $part[0]; + if (count($part) == 1 || ! $part[1]) { + $end_time = time(); + } else { + $end_time = $part[1]; + } + + if ($start_time_cutoff) { + $start_time = max($start_time, $start_time_cutoff); + } + if ($end_time_cutoff) { + $end_time = min($end_time, $end_time_cutoff); + } + + $duration += max($end_time - $start_time, 0); + } + + return round($duration); + } + + + + + } diff --git a/app/Models/User.php b/app/Models/User.php index 5b5bc5c0b7e2..232464e89307 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -16,6 +16,7 @@ use App\Models\CompanyToken; use App\Models\CompanyUser; use App\Models\Filterable; use App\Models\Language; +use App\Models\Presenters\UserPresenter; use App\Models\Traits\UserTrait; use App\Notifications\ResetPasswordNotification; use App\Utils\Traits\MakesHash; @@ -24,6 +25,7 @@ use App\Utils\Traits\UserSettings; use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Contracts\Translation\HasLocalePreference; use Illuminate\Database\Eloquent\Factories\HasFactory; +use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; @@ -31,6 +33,7 @@ use Illuminate\Support\Carbon; use Illuminate\Support\Collection; use Illuminate\Support\Facades\Auth; use Laracasts\Presenter\PresentableTrait; +use Staudenmeir\EloquentHasManyDeep\HasRelationships; class User extends Authenticatable implements MustVerifyEmail { @@ -41,14 +44,14 @@ class User extends Authenticatable implements MustVerifyEmail use UserSessionAttributes; use UserSettings; use Filterable; - use \Staudenmeir\EloquentHasManyDeep\HasRelationships; + use HasRelationships; use HasFactory; - + protected $guard = 'user'; protected $dates = ['deleted_at']; - protected $presenter = \App\Models\Presenters\UserPresenter::class; + protected $presenter = UserPresenter::class; protected $with = []; // ? companies also @@ -118,7 +121,7 @@ class User extends Authenticatable implements MustVerifyEmail /** * Returns a account. * - * @return Collection + * @return \Illuminate\Database\Eloquent\Relations\BelongsTo */ public function account() { @@ -128,7 +131,7 @@ class User extends Authenticatable implements MustVerifyEmail /** * Returns all company tokens. * - * @return Collection + * @return \Illuminate\Database\Eloquent\Relations\HasMany */ public function tokens() { @@ -138,7 +141,7 @@ class User extends Authenticatable implements MustVerifyEmail /** * Returns all companies a user has access to. * - * @return Collection + * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany */ public function companies() { @@ -149,6 +152,7 @@ class User extends Authenticatable implements MustVerifyEmail * As we are authenticating on CompanyToken, * we need to link the company to the user manually. This allows * us to decouple a $user and their attached companies. + * @param $company */ public function setCompany($company) { @@ -267,7 +271,7 @@ class User extends Authenticatable implements MustVerifyEmail /** * Returns all user created contacts. * - * @return Collection + * @return \Illuminate\Database\Eloquent\Relations\HasMany */ public function contacts() { @@ -346,8 +350,9 @@ class User extends Authenticatable implements MustVerifyEmail /** * Retrieve the model for a bound value. * - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Model|null + * @param mixed $value + * @param null $field + * @return Model|null */ public function resolveRouteBinding($value, $field = NULL) { diff --git a/app/Models/Vendor.php b/app/Models/Vendor.php index 7538b3ed5f10..8fe542e71ab8 100644 --- a/app/Models/Vendor.php +++ b/app/Models/Vendor.php @@ -12,6 +12,7 @@ namespace App\Models; use App\Models\Filterable; +use App\Models\Presenters\VendorPresenter; use App\Models\VendorContact; use App\Utils\Traits\GeneratesCounter; use App\Utils\Traits\MakesHash; @@ -31,7 +32,7 @@ class Vendor extends BaseModel 'assigned_user_id', 'id_number', 'vat_number', - 'work_phone', + 'phone', 'address1', 'address2', 'city', @@ -64,7 +65,7 @@ class Vendor extends BaseModel // 'contacts', ]; - protected $presenter = \App\Models\Presenters\VendorPresenter::class; + protected $presenter = VendorPresenter::class; public function getEntityType() { diff --git a/app/Models/VendorContact.php b/app/Models/VendorContact.php index a37d1b4b6d6e..acbff497cf43 100644 --- a/app/Models/VendorContact.php +++ b/app/Models/VendorContact.php @@ -21,6 +21,7 @@ use Hashids\Hashids; use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Contracts\Translation\HasLocalePreference; use Illuminate\Database\Eloquent\Factories\HasFactory; +use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; @@ -73,6 +74,7 @@ class VendorContact extends Authenticatable implements HasLocalePreference 'custom_value4', 'email', 'is_primary', + 'vendor_id', ]; public function getEntityType() @@ -131,8 +133,9 @@ class VendorContact extends Authenticatable implements HasLocalePreference /** * Retrieve the model for a bound value. * - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Model|null + * @param mixed $value + * @param null $field + * @return Model|null */ public function resolveRouteBinding($value, $field = NULL) { diff --git a/app/Notifications/Admin/EntitySentNotification.php b/app/Notifications/Admin/EntitySentNotification.php index eb649440434d..5040c89aadbd 100644 --- a/app/Notifications/Admin/EntitySentNotification.php +++ b/app/Notifications/Admin/EntitySentNotification.php @@ -73,7 +73,7 @@ class EntitySentNotification extends Notification implements ShouldQueue * Get the mail representation of the notification. * * @param mixed $notifiable - * @return \Illuminate\Notifications\Messages\MailMessage + * @return MailMessage */ public function toMail($notifiable) { diff --git a/app/Notifications/Admin/EntityViewedNotification.php b/app/Notifications/Admin/EntityViewedNotification.php index 04c73dfbca10..4f36227ceb93 100644 --- a/app/Notifications/Admin/EntityViewedNotification.php +++ b/app/Notifications/Admin/EntityViewedNotification.php @@ -72,7 +72,7 @@ class EntityViewedNotification extends Notification implements ShouldQueue * Get the mail representation of the notification. * * @param mixed $notifiable - * @return \Illuminate\Notifications\Messages\MailMessage + * @return MailMessage */ public function toMail($notifiable) { diff --git a/app/Notifications/Admin/InvoiceSentNotification.php b/app/Notifications/Admin/InvoiceSentNotification.php index 88cfe260768a..23520c79fa2d 100644 --- a/app/Notifications/Admin/InvoiceSentNotification.php +++ b/app/Notifications/Admin/InvoiceSentNotification.php @@ -67,7 +67,7 @@ class InvoiceSentNotification extends Notification implements ShouldQueue * Get the mail representation of the notification. * * @param mixed $notifiable - * @return \Illuminate\Notifications\Messages\MailMessage + * @return MailMessage */ public function toMail($notifiable) { diff --git a/app/Notifications/Admin/InvoiceViewedNotification.php b/app/Notifications/Admin/InvoiceViewedNotification.php index 55e956ca441a..e8e0ed3a8e67 100644 --- a/app/Notifications/Admin/InvoiceViewedNotification.php +++ b/app/Notifications/Admin/InvoiceViewedNotification.php @@ -66,7 +66,7 @@ class InvoiceViewedNotification extends Notification implements ShouldQueue * Get the mail representation of the notification. * * @param mixed $notifiable - * @return \Illuminate\Notifications\Messages\MailMessage + * @return MailMessage */ public function toMail($notifiable) { diff --git a/app/Notifications/Admin/NewPartialPaymentNotification.php b/app/Notifications/Admin/NewPartialPaymentNotification.php index 55e0eef18189..c12d78005ba6 100644 --- a/app/Notifications/Admin/NewPartialPaymentNotification.php +++ b/app/Notifications/Admin/NewPartialPaymentNotification.php @@ -62,7 +62,7 @@ class NewPartialPaymentNotification extends Notification implements ShouldQueue * Get the mail representation of the notification. * * @param mixed $notifiable - * @return \Illuminate\Notifications\Messages\MailMessage + * @return MailMessage */ public function toMail($notifiable) { diff --git a/app/Notifications/Admin/NewPaymentNotification.php b/app/Notifications/Admin/NewPaymentNotification.php index 5dab2f612e45..7025e42de931 100644 --- a/app/Notifications/Admin/NewPaymentNotification.php +++ b/app/Notifications/Admin/NewPaymentNotification.php @@ -65,7 +65,7 @@ class NewPaymentNotification extends Notification implements ShouldQueue * Get the mail representation of the notification. * * @param mixed $notifiable - * @return \Illuminate\Notifications\Messages\MailMessage + * @return MailMessage */ public function toMail($notifiable) { diff --git a/app/Notifications/BaseNotification.php b/app/Notifications/BaseNotification.php index 3fe2314da4a0..9e7a50d26c8c 100644 --- a/app/Notifications/BaseNotification.php +++ b/app/Notifications/BaseNotification.php @@ -48,7 +48,7 @@ class BaseNotification extends Notification implements ShouldQueue * Get the mail representation of the notification. * * @param mixed $notifiable - * @return \Illuminate\Notifications\Messages\MailMessage + * @return MailMessage */ public function toMail($notifiable) { @@ -117,7 +117,6 @@ class BaseNotification extends Notification implements ShouldQueue 'design' => $design_style, 'footer' => '', 'title' => '', - 'settings' => '', 'company' => '', 'view_link' => $this->invitation->getLink(), 'view_text' => ctrans('texts.view_'.$this->entity_string), diff --git a/app/Notifications/ClientContactRequestCancellation.php b/app/Notifications/ClientContactRequestCancellation.php index 927b07e25802..7567d4833c72 100644 --- a/app/Notifications/ClientContactRequestCancellation.php +++ b/app/Notifications/ClientContactRequestCancellation.php @@ -12,6 +12,7 @@ namespace App\Notifications; use App\Mail\RecurringCancellationRequest; +use Closure; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; @@ -38,7 +39,7 @@ class ClientContactRequestCancellation extends Notification implements ShouldQue /** * The callback that should be used to build the mail message. * - * @var \Closure|null + * @var Closure|null */ public static $toMailCallback; @@ -63,7 +64,7 @@ class ClientContactRequestCancellation extends Notification implements ShouldQue * Get the mail representation of the notification. * * @param mixed $notifiable - * @return \Illuminate\Notifications\Messages\MailMessage + * @return MailMessage */ public function toMail($notifiable) { @@ -112,7 +113,7 @@ class ClientContactRequestCancellation extends Notification implements ShouldQue /** * Set a callback that should be used when building the notification mail message. * - * @param \Closure $callback + * @param Closure $callback * @return void */ public static function toMailUsing($callback) diff --git a/app/Notifications/ClientContactResetPassword.php b/app/Notifications/ClientContactResetPassword.php index 2b53f66b978e..b278573cb3b9 100644 --- a/app/Notifications/ClientContactResetPassword.php +++ b/app/Notifications/ClientContactResetPassword.php @@ -11,6 +11,7 @@ namespace App\Notifications; +use Closure; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; @@ -33,7 +34,7 @@ class ClientContactResetPassword extends Notification /** * The callback that should be used to build the mail message. * - * @var \Closure|null + * @var Closure|null */ public static $toMailCallback; @@ -63,7 +64,7 @@ class ClientContactResetPassword extends Notification * Build the mail representation of the notification. * * @param mixed $notifiable - * @return \Illuminate\Notifications\Messages\MailMessage + * @return MailMessage */ public function toMail($notifiable) { @@ -82,7 +83,7 @@ class ClientContactResetPassword extends Notification /** * Set a callback that should be used when building the notification mail message. * - * @param \Closure $callback + * @param Closure $callback * @return void */ public static function toMailUsing($callback) diff --git a/app/Notifications/GmailTestNotification.php b/app/Notifications/GmailTestNotification.php index 6418377aee5e..a5056f96d65c 100644 --- a/app/Notifications/GmailTestNotification.php +++ b/app/Notifications/GmailTestNotification.php @@ -48,7 +48,7 @@ class GmailTestNotification extends Notification implements ShouldQueue * Get the mail representation of the notification. * * @param mixed $notifiable - * @return \Illuminate\Notifications\Messages\MailMessage + * @return MailMessage */ public function toMail($notifiable) { diff --git a/app/Notifications/NewAccountCreated.php b/app/Notifications/NewAccountCreated.php index 81f6230f20a3..e2140932f6e2 100644 --- a/app/Notifications/NewAccountCreated.php +++ b/app/Notifications/NewAccountCreated.php @@ -58,7 +58,7 @@ class NewAccountCreated extends Notification implements ShouldQueue * Get the mail representation of the notification. * * @param mixed $notifiable - * @return \Illuminate\Notifications\Messages\MailMessage + * @return MailMessage */ public function toMail($notifiable) { @@ -73,7 +73,7 @@ class NewAccountCreated extends Notification implements ShouldQueue 'button' => ctrans('texts.account_login'), 'signature' => $this->company->settings->email_signature, 'logo' => $this->company->present()->logo(), - 'settings' => $this->company->settings, + 'settings' => $this->company->settings, ]; return (new MailMessage) diff --git a/app/Notifications/Ninja/NewAccountCreated.php b/app/Notifications/Ninja/NewAccountCreated.php index 13d586ec21d1..4acc78fe6eb6 100644 --- a/app/Notifications/Ninja/NewAccountCreated.php +++ b/app/Notifications/Ninja/NewAccountCreated.php @@ -58,7 +58,7 @@ class NewAccountCreated extends Notification implements ShouldQueue * Get the mail representation of the notification. * * @param mixed $notifiable - * @return \Illuminate\Notifications\Messages\MailMessage + * @return MailMessage */ public function toMail($notifiable) { diff --git a/app/Notifications/Ninja/VerifyUser.php b/app/Notifications/Ninja/VerifyUser.php index 74712d0697b5..0e673b7cbe6c 100644 --- a/app/Notifications/Ninja/VerifyUser.php +++ b/app/Notifications/Ninja/VerifyUser.php @@ -55,7 +55,7 @@ class VerifyUser extends Notification implements ShouldQueue * Get the mail representation of the notification. * * @param mixed $notifiable - * @return \Illuminate\Notifications\Messages\MailMessage + * @return MailMessage */ public function toMail($notifiable) { diff --git a/app/Notifications/ResetPasswordNotification.php b/app/Notifications/ResetPasswordNotification.php index 56a341e5fcd5..66c5eb6f1fc2 100644 --- a/app/Notifications/ResetPasswordNotification.php +++ b/app/Notifications/ResetPasswordNotification.php @@ -16,7 +16,7 @@ class ResetPasswordNotification extends Notification /** * Create a new notification instance. * - * @return void + * @param string $token */ public function __construct(string $token) { @@ -38,7 +38,7 @@ class ResetPasswordNotification extends Notification * Get the mail representation of the notification. * * @param mixed $notifiable - * @return \Illuminate\Notifications\Messages\MailMessage + * @return MailMessage */ public function toMail($notifiable) { diff --git a/app/Notifications/SendGenericNotification.php b/app/Notifications/SendGenericNotification.php index b85f39e20c9e..62a4584c15cb 100644 --- a/app/Notifications/SendGenericNotification.php +++ b/app/Notifications/SendGenericNotification.php @@ -77,7 +77,7 @@ class SendGenericNotification extends BaseNotification implements ShouldQueue * Get the mail representation of the notification. * * @param mixed $notifiable - * @return \Illuminate\Notifications\Messages\MailMessage + * @return MailMessage */ public function toMail($notifiable) { diff --git a/app/Observers/AccountObserver.php b/app/Observers/AccountObserver.php index 086cd8596243..f77ef4a5b53a 100644 --- a/app/Observers/AccountObserver.php +++ b/app/Observers/AccountObserver.php @@ -18,7 +18,7 @@ class AccountObserver /** * Handle the account "created" event. * - * @param \App\App\Models\Account $account + * @param Account $account * @return void */ public function created(Account $account) @@ -29,7 +29,7 @@ class AccountObserver /** * Handle the account "updated" event. * - * @param \App\App\Models\Account $account + * @param Account $account * @return void */ public function updated(Account $account) @@ -40,7 +40,7 @@ class AccountObserver /** * Handle the account "deleted" event. * - * @param \App\App\Models\Account $account + * @param Account $account * @return void */ public function deleted(Account $account) @@ -51,7 +51,7 @@ class AccountObserver /** * Handle the account "restored" event. * - * @param \App\App\Models\Account $account + * @param Account $account * @return void */ public function restored(Account $account) @@ -62,7 +62,7 @@ class AccountObserver /** * Handle the account "force deleted" event. * - * @param \App\App\Models\Account $account + * @param Account $account * @return void */ public function forceDeleted(Account $account) diff --git a/app/Observers/ClientContactObserver.php b/app/Observers/ClientContactObserver.php index 97aa5a1aada0..262f87f3f6a1 100644 --- a/app/Observers/ClientContactObserver.php +++ b/app/Observers/ClientContactObserver.php @@ -18,7 +18,7 @@ class ClientContactObserver /** * Handle the client contact "created" event. * - * @param \App\Models\ClientContact $clientContact + * @param ClientContact $clientContact * @return void */ public function created(ClientContact $clientContact) @@ -29,7 +29,7 @@ class ClientContactObserver /** * Handle the client contact "updated" event. * - * @param \App\Models\ClientContact $clientContact + * @param ClientContact $clientContact * @return void */ public function updated(ClientContact $clientContact) @@ -40,7 +40,7 @@ class ClientContactObserver /** * Handle the client contact "deleted" event. * - * @param \App\Models\ClientContact $clientContact + * @param ClientContact $clientContact * @return void */ public function deleted(ClientContact $clientContact) @@ -53,7 +53,7 @@ class ClientContactObserver /** * Handle the client contact "restored" event. * - * @param \App\Models\ClientContact $clientContact + * @param ClientContact $clientContact * @return void */ public function restored(ClientContact $clientContact) @@ -66,7 +66,7 @@ class ClientContactObserver /** * Handle the client contact "force deleted" event. * - * @param \App\Models\ClientContact $clientContact + * @param ClientContact $clientContact * @return void */ public function forceDeleted(ClientContact $clientContact) diff --git a/app/Observers/ClientObserver.php b/app/Observers/ClientObserver.php index ad3e1b4c7e56..6a46c9347fb3 100644 --- a/app/Observers/ClientObserver.php +++ b/app/Observers/ClientObserver.php @@ -20,7 +20,7 @@ class ClientObserver /** * Handle the client "created" event. * - * @param \App\Client $client + * @param Client $client * @return void */ public function created(Client $client) @@ -31,7 +31,7 @@ class ClientObserver /** * Handle the client "updated" event. * - * @param \App\Client $client + * @param Client $client * @return void */ public function updated(Client $client) @@ -42,7 +42,7 @@ class ClientObserver /** * Handle the client "deleted" event. * - * @param \App\Client $client + * @param Client $client * @return void */ public function deleted(Client $client) @@ -53,7 +53,7 @@ class ClientObserver /** * Handle the client "restored" event. * - * @param \App\Client $client + * @param Client $client * @return void */ public function restored(Client $client) @@ -64,7 +64,7 @@ class ClientObserver /** * Handle the client "force deleted" event. * - * @param \App\Client $client + * @param Client $client * @return void */ public function forceDeleted(Client $client) diff --git a/app/Observers/CompanyGatewayObserver.php b/app/Observers/CompanyGatewayObserver.php index 10b9adac5c63..83eb246108ab 100644 --- a/app/Observers/CompanyGatewayObserver.php +++ b/app/Observers/CompanyGatewayObserver.php @@ -9,7 +9,7 @@ class CompanyGatewayObserver /** * Handle the company gateway "created" event. * - * @param \App\CompanyGateway $company_gateway + * @param CompanyGateway $company_gateway * @return void */ public function created(CompanyGateway $company_gateway) @@ -25,7 +25,7 @@ class CompanyGatewayObserver /** * Handle the company gateway "updated" event. * - * @param \App\CompanyGateway $company_gateway + * @param CompanyGateway $company_gateway * @return void */ public function updated(CompanyGateway $company_gateway) @@ -36,7 +36,7 @@ class CompanyGatewayObserver /** * Handle the company gateway "deleted" event. * - * @param \App\CompanyGateway $company_gateway + * @param CompanyGateway $company_gateway * @return void */ public function deleted(CompanyGateway $company_gateway) @@ -47,7 +47,7 @@ class CompanyGatewayObserver /** * Handle the company gateway "restored" event. * - * @param \App\CompanyGateway $company_gateway + * @param CompanyGateway $company_gateway * @return void */ public function restored(CompanyGateway $company_gateway) @@ -58,7 +58,7 @@ class CompanyGatewayObserver /** * Handle the company gateway "force deleted" event. * - * @param \App\CompanyGateway $company_gateway + * @param CompanyGateway $company_gateway * @return void */ public function forceDeleted(CompanyGateway $company_gateway) diff --git a/app/Observers/CompanyObserver.php b/app/Observers/CompanyObserver.php index 2877fe8d1f9e..9342d365ca56 100644 --- a/app/Observers/CompanyObserver.php +++ b/app/Observers/CompanyObserver.php @@ -20,7 +20,7 @@ class CompanyObserver /** * Handle the company "created" event. * - * @param \App\Models\Company $company + * @param Company $company * @return void */ public function created(Company $company) @@ -31,7 +31,7 @@ class CompanyObserver /** * Handle the company "updated" event. * - * @param \App\Models\Company $company + * @param Company $company * @return void */ public function updated(Company $company) @@ -42,7 +42,7 @@ class CompanyObserver /** * Handle the company "deleted" event. * - * @param \App\Models\Company $company + * @param Company $company * @return void */ public function deleted(Company $company) @@ -53,7 +53,7 @@ class CompanyObserver /** * Handle the company "restored" event. * - * @param \App\Models\Company $company + * @param Company $company * @return void */ public function restored(Company $company) @@ -64,7 +64,7 @@ class CompanyObserver /** * Handle the company "force deleted" event. * - * @param \App\Models\Company $company + * @param Company $company * @return void */ public function forceDeleted(Company $company) diff --git a/app/Observers/CompanyTokenObserver.php b/app/Observers/CompanyTokenObserver.php index f1b34626302d..e460c37b7f7b 100644 --- a/app/Observers/CompanyTokenObserver.php +++ b/app/Observers/CompanyTokenObserver.php @@ -18,7 +18,7 @@ class CompanyTokenObserver /** * Handle the company token "created" event. * - * @param \App\Models\CompanyToken $companyToken + * @param CompanyToken $companyToken * @return void */ public function created(CompanyToken $companyToken) @@ -29,7 +29,7 @@ class CompanyTokenObserver /** * Handle the company token "updated" event. * - * @param \App\Models\CompanyToken $companyToken + * @param CompanyToken $companyToken * @return void */ public function updated(CompanyToken $companyToken) @@ -40,7 +40,7 @@ class CompanyTokenObserver /** * Handle the company token "deleted" event. * - * @param \App\Models\CompanyToken $companyToken + * @param CompanyToken $companyToken * @return void */ public function deleted(CompanyToken $companyToken) @@ -51,7 +51,7 @@ class CompanyTokenObserver /** * Handle the company token "restored" event. * - * @param \App\Models\CompanyToken $companyToken + * @param CompanyToken $companyToken * @return void */ public function restored(CompanyToken $companyToken) @@ -62,7 +62,7 @@ class CompanyTokenObserver /** * Handle the company token "force deleted" event. * - * @param \App\Models\CompanyToken $companyToken + * @param CompanyToken $companyToken * @return void */ public function forceDeleted(CompanyToken $companyToken) diff --git a/app/Observers/ExpenseObserver.php b/app/Observers/ExpenseObserver.php index 31257560ea44..9c3b6b32c875 100644 --- a/app/Observers/ExpenseObserver.php +++ b/app/Observers/ExpenseObserver.php @@ -20,7 +20,7 @@ class ExpenseObserver /** * Handle the expense "created" event. * - * @param \App\Models\Expense $expense + * @param Expense $expense * @return void */ public function created(Expense $expense) @@ -31,7 +31,7 @@ class ExpenseObserver /** * Handle the expense "updated" event. * - * @param \App\Models\Expense $expense + * @param Expense $expense * @return void */ public function updated(Expense $expense) @@ -42,7 +42,7 @@ class ExpenseObserver /** * Handle the expense "deleted" event. * - * @param \App\Models\Expense $expense + * @param Expense $expense * @return void */ public function deleted(Expense $expense) @@ -53,7 +53,7 @@ class ExpenseObserver /** * Handle the expense "restored" event. * - * @param \App\Models\Expense $expense + * @param Expense $expense * @return void */ public function restored(Expense $expense) @@ -64,7 +64,7 @@ class ExpenseObserver /** * Handle the expense "force deleted" event. * - * @param \App\Models\Expense $expense + * @param Expense $expense * @return void */ public function forceDeleted(Expense $expense) diff --git a/app/Observers/InvoiceObserver.php b/app/Observers/InvoiceObserver.php index d0be0b8a3878..e777b807b5f2 100644 --- a/app/Observers/InvoiceObserver.php +++ b/app/Observers/InvoiceObserver.php @@ -12,6 +12,7 @@ namespace App\Observers; use App\Jobs\Util\WebhookHandler; +use App\Models\Client; use App\Models\Invoice; use App\Models\Webhook; @@ -20,7 +21,7 @@ class InvoiceObserver /** * Handle the client "created" event. * - * @param \App\Models\Client $client + * @param Invoice $invoice * @return void */ public function created(Invoice $invoice) @@ -31,7 +32,7 @@ class InvoiceObserver /** * Handle the client "updated" event. * - * @param \App\Models\Client $client + * @param Invoice $invoice * @return void */ public function updated(Invoice $invoice) @@ -42,7 +43,7 @@ class InvoiceObserver /** * Handle the client "deleted" event. * - * @param \App\Models\Client $client + * @param Invoice $invoice * @return void */ public function deleted(Invoice $invoice) @@ -53,7 +54,7 @@ class InvoiceObserver /** * Handle the client "restored" event. * - * @param \App\Models\Client $client + * @param Invoice $invoice * @return void */ public function restored(Invoice $invoice) @@ -64,7 +65,7 @@ class InvoiceObserver /** * Handle the client "force deleted" event. * - * @param \App\Models\Client $client + * @param Invoice $invoice * @return void */ public function forceDeleted(Invoice $invoice) diff --git a/app/Observers/PaymentObserver.php b/app/Observers/PaymentObserver.php index 76b8d876cc17..c425ef1c1e20 100644 --- a/app/Observers/PaymentObserver.php +++ b/app/Observers/PaymentObserver.php @@ -21,7 +21,7 @@ class PaymentObserver /** * Handle the payment "created" event. * - * @param \App\Models\Payment $payment + * @param Payment $payment * @return void */ public function created(Payment $payment) @@ -32,7 +32,7 @@ class PaymentObserver /** * Handle the payment "updated" event. * - * @param \App\Models\Payment $payment + * @param Payment $payment * @return void */ public function updated(Payment $payment) @@ -42,7 +42,7 @@ class PaymentObserver /** * Handle the payment "deleted" event. * - * @param \App\Models\Payment $payment + * @param Payment $payment * @return void */ public function deleted(Payment $payment) @@ -53,7 +53,7 @@ class PaymentObserver /** * Handle the payment "restored" event. * - * @param \App\Models\Payment $payment + * @param Payment $payment * @return void */ public function restored(Payment $payment) @@ -64,7 +64,7 @@ class PaymentObserver /** * Handle the payment "force deleted" event. * - * @param \App\Models\Payment $payment + * @param Payment $payment * @return void */ public function forceDeleted(Payment $payment) diff --git a/app/Observers/ProductObserver.php b/app/Observers/ProductObserver.php index 6d8cd1d4c919..3d6c7526a9b0 100644 --- a/app/Observers/ProductObserver.php +++ b/app/Observers/ProductObserver.php @@ -18,7 +18,7 @@ class ProductObserver /** * Handle the product "created" event. * - * @param \App\Models\Product $product + * @param Product $product * @return void */ public function created(Product $product) @@ -29,7 +29,7 @@ class ProductObserver /** * Handle the product "updated" event. * - * @param \App\Models\Product $product + * @param Product $product * @return void */ public function updated(Product $product) @@ -40,7 +40,7 @@ class ProductObserver /** * Handle the product "deleted" event. * - * @param \App\Models\Product $product + * @param Product $product * @return void */ public function deleted(Product $product) @@ -51,7 +51,7 @@ class ProductObserver /** * Handle the product "restored" event. * - * @param \App\Models\Product $product + * @param Product $product * @return void */ public function restored(Product $product) @@ -62,7 +62,7 @@ class ProductObserver /** * Handle the product "force deleted" event. * - * @param \App\Models\Product $product + * @param Product $product * @return void */ public function forceDeleted(Product $product) diff --git a/app/Observers/ProposalObserver.php b/app/Observers/ProposalObserver.php index a41b61c5f8d4..cb4a98bc9c1f 100644 --- a/app/Observers/ProposalObserver.php +++ b/app/Observers/ProposalObserver.php @@ -18,7 +18,7 @@ class ProposalObserver /** * Handle the proposal "created" event. * - * @param \App\Models\Proposal $proposal + * @param Proposal $proposal * @return void */ public function created(Proposal $proposal) @@ -29,7 +29,7 @@ class ProposalObserver /** * Handle the proposal "updated" event. * - * @param \App\Models\Proposal $proposal + * @param Proposal $proposal * @return void */ public function updated(Proposal $proposal) @@ -40,7 +40,7 @@ class ProposalObserver /** * Handle the proposal "deleted" event. * - * @param \App\Models\Proposal $proposal + * @param Proposal $proposal * @return void */ public function deleted(Proposal $proposal) @@ -51,7 +51,7 @@ class ProposalObserver /** * Handle the proposal "restored" event. * - * @param \App\Models\Proposal $proposal + * @param Proposal $proposal * @return void */ public function restored(Proposal $proposal) @@ -62,7 +62,7 @@ class ProposalObserver /** * Handle the proposal "force deleted" event. * - * @param \App\Models\Proposal $proposal + * @param Proposal $proposal * @return void */ public function forceDeleted(Proposal $proposal) diff --git a/app/Observers/QuoteObserver.php b/app/Observers/QuoteObserver.php index ffb28454a521..3dc3281159ff 100644 --- a/app/Observers/QuoteObserver.php +++ b/app/Observers/QuoteObserver.php @@ -20,7 +20,7 @@ class QuoteObserver /** * Handle the quote "created" event. * - * @param \App\Models\Quote $quote + * @param Quote $quote * @return void */ public function created(Quote $quote) @@ -31,7 +31,7 @@ class QuoteObserver /** * Handle the quote "updated" event. * - * @param \App\Models\Quote $quote + * @param Quote $quote * @return void */ public function updated(Quote $quote) @@ -42,7 +42,7 @@ class QuoteObserver /** * Handle the quote "deleted" event. * - * @param \App\Models\Quote $quote + * @param Quote $quote * @return void */ public function deleted(Quote $quote) @@ -53,7 +53,7 @@ class QuoteObserver /** * Handle the quote "restored" event. * - * @param \App\Models\Quote $quote + * @param Quote $quote * @return void */ public function restored(Quote $quote) @@ -64,7 +64,7 @@ class QuoteObserver /** * Handle the quote "force deleted" event. * - * @param \App\Models\Quote $quote + * @param Quote $quote * @return void */ public function forceDeleted(Quote $quote) diff --git a/app/Observers/TaskObserver.php b/app/Observers/TaskObserver.php index a9df8be1058e..25ebb1ea0bfc 100644 --- a/app/Observers/TaskObserver.php +++ b/app/Observers/TaskObserver.php @@ -20,7 +20,7 @@ class TaskObserver /** * Handle the task "created" event. * - * @param \App\Models\Task $task + * @param Task $task * @return void */ public function created(Task $task) @@ -31,7 +31,7 @@ class TaskObserver /** * Handle the task "updated" event. * - * @param \App\Models\Task $task + * @param Task $task * @return void */ public function updated(Task $task) @@ -42,7 +42,7 @@ class TaskObserver /** * Handle the task "deleted" event. * - * @param \App\Models\Task $task + * @param Task $task * @return void */ public function deleted(Task $task) @@ -53,7 +53,7 @@ class TaskObserver /** * Handle the task "restored" event. * - * @param \App\Models\Task $task + * @param Task $task * @return void */ public function restored(Task $task) @@ -64,7 +64,7 @@ class TaskObserver /** * Handle the task "force deleted" event. * - * @param \App\Models\Task $task + * @param Task $task * @return void */ public function forceDeleted(Task $task) diff --git a/app/Observers/UserObserver.php b/app/Observers/UserObserver.php index 6d104d05c8f1..cd587214d61f 100644 --- a/app/Observers/UserObserver.php +++ b/app/Observers/UserObserver.php @@ -19,7 +19,7 @@ class UserObserver /** * Handle the app models user "created" event. * - * @param \App\Models\User $user + * @param User $user * @return void */ public function created(User $user) @@ -30,7 +30,7 @@ class UserObserver /** * Handle the app models user "updated" event. * - * @param \App\Models\User $user + * @param User $user * @return void */ public function updated(User $user) @@ -40,7 +40,7 @@ class UserObserver /** * Handle the app models user "deleted" event. * - * @param \App\Models\User $user + * @param User $user * @return void */ public function deleted(User $user) @@ -51,7 +51,7 @@ class UserObserver /** * Handle the app models user "restored" event. * - * @param \App\Models\User $user + * @param User $user * @return void */ public function restored(User $user) @@ -62,7 +62,7 @@ class UserObserver /** * Handle the app models user "force deleted" event. * - * @param \App\Models\User $user + * @param User $user * @return void */ public function forceDeleted(User $user) diff --git a/app/PaymentDrivers/Authorize/AuthorizePaymentMethod.php b/app/PaymentDrivers/Authorize/AuthorizePaymentMethod.php index 96ae0e871be1..b2bc21c3991f 100644 --- a/app/PaymentDrivers/Authorize/AuthorizePaymentMethod.php +++ b/app/PaymentDrivers/Authorize/AuthorizePaymentMethod.php @@ -28,6 +28,7 @@ use net\authorize\api\contract\v1\PaymentType; use net\authorize\api\controller\CreateCustomerPaymentProfileController; use net\authorize\api\controller\CreateCustomerProfileController; use net\authorize\api\controller\GetCustomerPaymentProfileController; +use stdClass; /** * Class AuthorizePaymentMethod. @@ -131,7 +132,7 @@ class AuthorizePaymentMethod public function buildPaymentMethod($payment_profile) { - $payment_meta = new \stdClass; + $payment_meta = new stdClass; $payment_meta->exp_month = 'xx'; $payment_meta->exp_year = 'xx'; $payment_meta->brand = (string)$payment_profile->getPaymentProfile()->getPayment()->getCreditCard()->getCardType(); diff --git a/app/PaymentDrivers/AuthorizePaymentDriver.php b/app/PaymentDrivers/AuthorizePaymentDriver.php index bf61c854b389..ec40bcaae3b7 100644 --- a/app/PaymentDrivers/AuthorizePaymentDriver.php +++ b/app/PaymentDrivers/AuthorizePaymentDriver.php @@ -146,9 +146,9 @@ class AuthorizePaymentDriver extends BaseDriver /** * Detach payment method from Authorize.net. - * - * @param \App\Models\ClientGatewayToken $token - * @return void + * + * @param ClientGatewayToken $token + * @return void */ public function detach(ClientGatewayToken $token) { diff --git a/app/PaymentDrivers/BaseDriver.php b/app/PaymentDrivers/BaseDriver.php index ce2b9ff5bac6..1ae24f09aeeb 100644 --- a/app/PaymentDrivers/BaseDriver.php +++ b/app/PaymentDrivers/BaseDriver.php @@ -31,6 +31,8 @@ use App\PaymentDrivers\AbstractPaymentDriver; use App\Utils\Ninja; use App\Utils\Traits\MakesHash; use App\Utils\Traits\SystemLogTrait; +use Checkout\Library\Exceptions\CheckoutHttpException; +use Exception; use Illuminate\Support\Carbon; /** @@ -63,7 +65,7 @@ class BaseDriver extends AbstractPaymentDriver public $payment_method; /** - * @var \App\Models\PaymentHash + * @var PaymentHash */ public $payment_hash; @@ -82,8 +84,8 @@ class BaseDriver extends AbstractPaymentDriver * Authorize a payment method. * * Returns a reusable token for storage for future payments - * @param const $payment_method The GatewayType::constant - * @return view Return a view for collecting payment method information + * @param const $payment_method The GatewayType::constant + * @return void Return a view for collecting payment method information */ public function authorize($payment_method) { @@ -131,8 +133,8 @@ class BaseDriver extends AbstractPaymentDriver /** * Helper method to attach invoices to a payment. * - * @param Payment $payment The payment - * @param array $hashed_ids The array of invoice hashed_ids + * @param Payment $payment The payment + * @param PaymentHash $payment_hash * @return Payment The payment object */ public function attachInvoices(Payment $payment, PaymentHash $payment_hash): Payment @@ -188,9 +190,9 @@ class BaseDriver extends AbstractPaymentDriver /** * Process an unattended payment. * - * @param ClientGatewayToken $cgt The client gateway token object - * @param PaymentHash $payment_hash The Payment hash containing the payment meta data - * @return Response The payment response + * @param ClientGatewayToken $cgt The client gateway token object + * @param PaymentHash $payment_hash The Payment hash containing the payment meta data + * @return void The payment response */ public function tokenBilling(ClientGatewayToken $cgt, PaymentHash $payment_hash) { @@ -230,11 +232,11 @@ class BaseDriver extends AbstractPaymentDriver } /** - * In case of a payment failure we should always + * In case of a payment failure we should always * return the invoice to its original state - * + * * @param PaymentHash $payment_hash The payment hash containing the list of invoices - * @return void + * @return void */ public function unWindGatewayFees(PaymentHash $payment_hash) { @@ -244,7 +246,7 @@ class BaseDriver extends AbstractPaymentDriver $invoices->each(function ($invoice) { $invoice->service()->removeUnpaidGatewayFees(); }); - + } /** @@ -266,9 +268,9 @@ class BaseDriver extends AbstractPaymentDriver /** * Store payment method as company gateway token. - * - * @param array $data - * @return null|\App\Models\ClientGatewayToken + * + * @param array $data + * @return null|ClientGatewayToken */ public function storeGatewayToken(array $data, array $additional = []): ?ClientGatewayToken { @@ -298,11 +300,11 @@ class BaseDriver extends AbstractPaymentDriver public function processInternallyFailedPayment($gateway, $e) { - if ($e instanceof \Exception) { + if ($e instanceof Exception) { $error = $e->getMessage(); } - if ($e instanceof \Checkout\Library\Exceptions\CheckoutHttpException) { + if ($e instanceof CheckoutHttpException) { $error = $e->getBody(); } diff --git a/app/PaymentDrivers/BasePaymentDriver.php b/app/PaymentDrivers/BasePaymentDriver.php index b2b5acdfe3fa..2ae2a66e20ce 100644 --- a/app/PaymentDrivers/BasePaymentDriver.php +++ b/app/PaymentDrivers/BasePaymentDriver.php @@ -72,7 +72,7 @@ class BasePaymentDriver /** * Returns the Omnipay driver. - * @return object Omnipay initialized object + * @return stdClass Omnipay initialized object */ protected function gateway() { @@ -128,7 +128,7 @@ class BasePaymentDriver /** * Returns whether gateway can * authorise and credit card. - * @return [type] [description] + * @return bool [type] [description] */ public function canAuthoriseCreditCard(): bool { @@ -137,7 +137,9 @@ class BasePaymentDriver /** * Refunds a given payment. - * @return void + * @param $payment + * @param int $amount + * @return false */ public function refundPayment($payment, $amount = 0) { @@ -210,14 +212,16 @@ class BasePaymentDriver } /************************************* Omnipay ****************************************** - authorize($options) - authorize an amount on the customer's card - completeAuthorize($options) - handle return from off-site gateways after authorization - capture($options) - capture an amount you have previously authorized - purchase($options) - authorize and immediately capture an amount on the customer's card - completePurchase($options) - handle return from off-site gateways after purchase - refund($options) - refund an already processed transaction - void($options) - generally can only be called up to 24 hours after submitting a transaction - acceptNotification() - convert an incoming request from an off-site gateway to a generic notification object for further processing + * authorize($options) - authorize an amount on the customer's card + * completeAuthorize($options) - handle return from off-site gateways after authorization + * capture($options) - capture an amount you have previously authorized + * purchase($options) - authorize and immediately capture an amount on the customer's card + * completePurchase($options) - handle return from off-site gateways after purchase + * refund($options) - refund an already processed transaction + * void($options) - generally can only be called up to 24 hours after submitting a transaction + * acceptNotification() - convert an incoming request from an off-site gateway to a generic notification object for further processing + * @param $input + * @return array */ protected function paymentDetails($input): array diff --git a/app/PaymentDrivers/CheckoutCom/CreditCard.php b/app/PaymentDrivers/CheckoutCom/CreditCard.php index ec0cb84735c2..a34ca706f400 100644 --- a/app/PaymentDrivers/CheckoutCom/CreditCard.php +++ b/app/PaymentDrivers/CheckoutCom/CreditCard.php @@ -15,16 +15,19 @@ namespace App\PaymentDrivers\CheckoutCom; use App\Http\Requests\ClientPortal\Payments\PaymentResponseRequest; use App\Models\PaymentHash; use App\PaymentDrivers\CheckoutComPaymentDriver; +use Checkout\Library\Exceptions\CheckoutHttpException; use Checkout\Models\Payments\IdSource; use Checkout\Models\Payments\Payment; use Checkout\Models\Payments\TokenSource; +use Illuminate\Contracts\View\Factory; +use Illuminate\View\View; class CreditCard { use Utilities; /** - * @var \App\PaymentDrivers\CheckoutComPaymentDriver + * @var CheckoutComPaymentDriver */ public $checkout; @@ -35,9 +38,9 @@ class CreditCard /** * An authorization view for credit card. - * - * @param mixed $data - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + * + * @param mixed $data + * @return Factory|View */ public function authorizeView($data) { @@ -47,9 +50,9 @@ class CreditCard /** * Checkout.com supports doesn't support direct authorization of the credit card. * Token can be saved after the first (successful) purchase. - * - * @param mixed $data - * @return void + * + * @param mixed $data + * @return void */ public function authorizeResponse($data) { @@ -143,9 +146,9 @@ class CreditCard return $this->processUnsuccessfulPayment($response); } - } catch (\Checkout\Library\Exceptions\CheckoutHttpException $e) { + } catch (CheckoutHttpException $e) { $this->checkout->unWindGatewayFees($this->checkout->payment_hash); - + return $this->checkout->processInternallyFailedPayment($this->checkout, $e); } } diff --git a/app/PaymentDrivers/CheckoutCom/Utilities.php b/app/PaymentDrivers/CheckoutCom/Utilities.php index 05740d3e8e10..75115fe0fa69 100644 --- a/app/PaymentDrivers/CheckoutCom/Utilities.php +++ b/app/PaymentDrivers/CheckoutCom/Utilities.php @@ -18,6 +18,9 @@ use App\Jobs\Util\SystemLogger; use App\Models\GatewayType; use App\Models\PaymentType; use App\Models\SystemLog; +use Checkout\Models\Payments\Payment; +use Exception; +use stdClass; trait Utilities { @@ -47,7 +50,7 @@ trait Utilities return round($amount * 100); } - private function processSuccessfulPayment(\Checkout\Models\Payments\Payment $_payment) + private function processSuccessfulPayment(Payment $_payment) { if ($this->checkout->payment_hash->data->store_card) { $this->storePaymentMethod($_payment); @@ -73,7 +76,7 @@ trait Utilities return redirect()->route('client.payments.show', ['payment' => $this->checkout->encodePrimaryKey($payment->id)]); } - public function processUnsuccessfulPayment(\Checkout\Models\Payments\Payment $_payment) + public function processUnsuccessfulPayment(Payment $_payment) { PaymentFailureMailer::dispatch( $this->checkout->client, @@ -98,7 +101,7 @@ trait Utilities throw new PaymentFailed($_payment->status, $_payment->http_code); } - private function processPendingPayment(\Checkout\Models\Payments\Payment $_payment) + private function processPendingPayment(Payment $_payment) { $data = [ 'payment_method' => $_payment->source['id'], @@ -118,15 +121,15 @@ trait Utilities try { return redirect($_payment->_links['redirect']['href']); - } catch (\Exception $e) { + } catch (Exception $e) { return $this->processInternallyFailedPayment($this->checkout, $e); } } - private function storePaymentMethod(\Checkout\Models\Payments\Payment $response) + private function storePaymentMethod(Payment $response) { try { - $payment_meta = new \stdClass; + $payment_meta = new stdClass; $payment_meta->exp_month = (string) $response->source['expiry_month']; $payment_meta->exp_year = (string) $response->source['expiry_year']; $payment_meta->brand = (string) $response->source['scheme']; @@ -140,7 +143,7 @@ trait Utilities ]; return $this->checkout->storePaymentMethod($data); - } catch (\Exception $e) { + } catch (Exception $e) { session()->flash('message', ctrans('texts.payment_method_saving_failed')); } } diff --git a/app/PaymentDrivers/CheckoutComPaymentDriver.php b/app/PaymentDrivers/CheckoutComPaymentDriver.php index f479ab1db6a8..ba644ebc9471 100644 --- a/app/PaymentDrivers/CheckoutComPaymentDriver.php +++ b/app/PaymentDrivers/CheckoutComPaymentDriver.php @@ -18,10 +18,12 @@ use App\Models\Payment; use App\Models\PaymentHash; use App\Models\SystemLog; use App\PaymentDrivers\BaseDriver; +use App\PaymentDrivers\CheckoutCom\CreditCard; use App\PaymentDrivers\CheckoutCom\Utilities; use App\Utils\Traits\SystemLogTrait; use Checkout\CheckoutApi; use Checkout\Library\Exceptions\CheckoutHttpException; +use Checkout\Models\Payments\Refund; class CheckoutComPaymentDriver extends BaseDriver { @@ -43,14 +45,17 @@ class CheckoutComPaymentDriver extends BaseDriver public $can_authorise_credit_card = true; /** - * @var \Checkout\CheckoutApi; + * @var CheckoutApi; */ public $gateway; + /** + * @var + */ public $payment_method; //the gateway type id public static $methods = [ - GatewayType::CREDIT_CARD => \App\PaymentDrivers\CheckoutCom\CreditCard::class, + GatewayType::CREDIT_CARD => CreditCard::class, ]; const SYSTEM_LOG_TYPE = SystemLog::TYPE_CHECKOUT; @@ -65,13 +70,14 @@ class CheckoutComPaymentDriver extends BaseDriver ]; } - /** + /** * Since with Checkout.com we handle only credit cards, this method should be empty. - * @param $string payment_method string + * @param int|null $payment_method + * @return CheckoutComPaymentDriver */ - public function setPaymentMethod($payment_method = null) + public function setPaymentMethod($payment_method = null): CheckoutComPaymentDriver { - // At the moment Checkout.com payment + // At the moment Checkout.com payment // driver only supports payments using credit card. $class = self::$methods[GatewayType::CREDIT_CARD]; @@ -105,7 +111,7 @@ class CheckoutComPaymentDriver extends BaseDriver */ public function viewForType($gateway_type_id) { - // At the moment Checkout.com payment + // At the moment Checkout.com payment // driver only supports payments using credit card. return 'gateways.checkout.credit_card.pay'; @@ -123,7 +129,7 @@ class CheckoutComPaymentDriver extends BaseDriver /** * Payment View - * + * * @param array $data Payment data array * @return view The payment view */ @@ -134,7 +140,7 @@ class CheckoutComPaymentDriver extends BaseDriver /** * Process the payment response - * + * * @param Request $request The payment request * @return view The payment response view */ @@ -152,7 +158,7 @@ class CheckoutComPaymentDriver extends BaseDriver { $this->init(); - $checkout_payment = new \Checkout\Models\Payments\Refund($payment->transaction_reference); + $checkout_payment = new Refund($payment->transaction_reference); try { $refund = $this->gateway->payments()->refund($checkout_payment); diff --git a/app/PaymentDrivers/CustomPaymentDriver.php b/app/PaymentDrivers/CustomPaymentDriver.php index 88a063983fe7..b4210da8d3f3 100644 --- a/app/PaymentDrivers/CustomPaymentDriver.php +++ b/app/PaymentDrivers/CustomPaymentDriver.php @@ -78,9 +78,9 @@ class CustomPaymentDriver extends BaseDriver /** * Detach payment method from custom payment driver. - * - * @param \App\Models\ClientGatewayToken $token - * @return void + * + * @param ClientGatewayToken $token + * @return void */ public function detach(ClientGatewayToken $token) { diff --git a/app/PaymentDrivers/PayPalExpressPaymentDriver.php b/app/PaymentDrivers/PayPalExpressPaymentDriver.php index 6dff4333694c..c36b63e0b758 100644 --- a/app/PaymentDrivers/PayPalExpressPaymentDriver.php +++ b/app/PaymentDrivers/PayPalExpressPaymentDriver.php @@ -23,7 +23,9 @@ use App\Models\PaymentType; use App\Models\SystemLog; use App\Utils\Ninja; use App\Utils\Traits\MakesHash; +use Exception; use Omnipay\Common\Item; +use stdClass; /** * Response array @@ -85,16 +87,10 @@ class PayPalExpressPaymentDriver extends BasePaymentDriver /** * Processes the payment with this gateway. * - * @var['invoices'] - * @var['amount'] - * @var['fee'] - * @var['amount_with_fee'] - * @var['token'] - * @var['payment_method_id'] - * @var['payment_hash'] * - * @param array $data variables required to build payment page - * @return view Gateway and payment method specific view + * @param array $data variables required to build payment page + * @return void Gateway and payment method specific view + * @throws Exception */ public function processPaymentView(array $data) { @@ -120,7 +116,7 @@ class PayPalExpressPaymentDriver extends BasePaymentDriver $this->client ); - throw new \Exception('Error Processing Payment', 1); + throw new Exception('Error Processing Payment', 1); } } @@ -157,7 +153,7 @@ class PayPalExpressPaymentDriver extends BasePaymentDriver $this->client ); - throw new \Exception($response->getMessage()); + throw new Exception($response->getMessage()); } $payment = $this->createPayment($response->getData()); @@ -165,7 +161,7 @@ class PayPalExpressPaymentDriver extends BasePaymentDriver $payment_hash->payment_id = $payment->id; $payment_hash->save(); - + $this->attachInvoices($payment, $payment_hash); $payment->service()->updateInvoicePayment($payment_hash); @@ -266,7 +262,7 @@ class PayPalExpressPaymentDriver extends BasePaymentDriver public function createPayment($data, $status = Payment::STATUS_COMPLETED): Payment { - $payment_meta = new \stdClass; + $payment_meta = new stdClass; $payment_meta->exp_month = 'xx'; $payment_meta->exp_year = 'xx'; $payment_meta->brand = 'PayPal'; @@ -325,9 +321,9 @@ class PayPalExpressPaymentDriver extends BasePaymentDriver /** * Detach payment method from PayPal. - * - * @param \App\Models\ClientGatewayToken $token - * @return void + * + * @param ClientGatewayToken $token + * @return void */ public function detach(ClientGatewayToken $token) { diff --git a/app/PaymentDrivers/Stripe/ACH.php b/app/PaymentDrivers/Stripe/ACH.php index 934946e89640..76d4405b5a26 100644 --- a/app/PaymentDrivers/Stripe/ACH.php +++ b/app/PaymentDrivers/Stripe/ACH.php @@ -23,6 +23,7 @@ use App\Models\PaymentType; use App\Models\SystemLog; use App\PaymentDrivers\StripePaymentDriver; use Stripe\Exception\InvalidRequestException; +use Stripe\StripeClient; class ACH { @@ -78,7 +79,7 @@ class ACH return redirect() ->route('client.invoices.index') ->with('success', __('texts.payment_method_verified')); - } catch (\Stripe\Exception\CardException $e) { + } catch (CardException $e) { return back()->with('error', $e->getMessage()); } } @@ -131,8 +132,8 @@ class ACH } return $this->processUnsuccessfulPayment($state); - } catch (\Exception $e) { - if ($e instanceof \Stripe\Exception\CardException) { + } catch (Exception $e) { + if ($e instanceof CardException) { return redirect()->route('client.payment_methods.verification', ['id' => ClientGatewayToken::first()->hashed_id, 'method' => GatewayType::BANK_TRANSFER]); } } diff --git a/app/PaymentDrivers/Stripe/Alipay.php b/app/PaymentDrivers/Stripe/Alipay.php index 06a37692066a..213bd8a261fd 100644 --- a/app/PaymentDrivers/Stripe/Alipay.php +++ b/app/PaymentDrivers/Stripe/Alipay.php @@ -22,6 +22,7 @@ use App\Models\PaymentType; use App\Models\SystemLog; use App\PaymentDrivers\StripePaymentDriver; use App\Utils\Ninja; +use Exception; class Alipay { @@ -111,6 +112,6 @@ class Alipay SystemLogger::dispatch($message, SystemLog::CATEGORY_GATEWAY_RESPONSE, SystemLog::EVENT_GATEWAY_FAILURE, SystemLog::TYPE_STRIPE, $this->stripe->client); - throw new \Exception('Failed to process the payment.', 1); + throw new Exception('Failed to process the payment.', 1); } } diff --git a/app/PaymentDrivers/Stripe/Charge.php b/app/PaymentDrivers/Stripe/Charge.php index 7e779e69403c..2c9b7f725315 100644 --- a/app/PaymentDrivers/Stripe/Charge.php +++ b/app/PaymentDrivers/Stripe/Charge.php @@ -22,11 +22,18 @@ use App\Models\SystemLog; use App\PaymentDrivers\StripePaymentDriver; use App\Utils\Ninja; use App\Utils\Traits\MakesHash; +use Stripe\Exception\ApiConnectionException; +use Stripe\Exception\ApiErrorException; +use Stripe\Exception\AuthenticationException; +use Stripe\Exception\CardException; +use Stripe\Exception\InvalidRequestException; +use Stripe\Exception\RateLimitException; +use Stripe\StripeClient; class Charge { use MakesHash; - + /** @var StripePaymentDriver */ public $stripe; @@ -37,7 +44,10 @@ class Charge /** * Create a charge against a payment method. + * @param ClientGatewayToken $cgt + * @param PaymentHash $payment_hash * @return bool success/failure + * @throws \Laracasts\Presenter\Exceptions\PresenterException */ public function tokenBilling(ClientGatewayToken $cgt, PaymentHash $payment_hash) { @@ -52,7 +62,7 @@ class Charge $this->stripe->init(); - $local_stripe = new \Stripe\StripeClient( + $local_stripe = new StripeClient( $this->stripe->company_gateway->getConfigField('apiKey') ); @@ -69,7 +79,7 @@ class Charge ]); SystemLogger::dispatch($response, SystemLog::CATEGORY_GATEWAY_RESPONSE, SystemLog::EVENT_GATEWAY_SUCCESS, SystemLog::TYPE_STRIPE, $this->stripe->client); - } catch (\Stripe\Exception\CardException $e) { + } catch (CardException $e) { // Since it's a decline, \Stripe\Exception\CardException will be caught $data = [ @@ -81,7 +91,7 @@ class Charge ]; SystemLogger::dispatch($data, SystemLog::CATEGORY_GATEWAY_RESPONSE, SystemLog::EVENT_GATEWAY_FAILURE, SystemLog::TYPE_STRIPE, $this->stripe->client); - } catch (\Stripe\Exception\RateLimitException $e) { + } catch (RateLimitException $e) { // Too many requests made to the API too quickly $data = [ @@ -93,7 +103,7 @@ class Charge ]; SystemLogger::dispatch($data, SystemLog::CATEGORY_GATEWAY_RESPONSE, SystemLog::EVENT_GATEWAY_FAILURE, SystemLog::TYPE_STRIPE, $this->stripe->client); - } catch (\Stripe\Exception\InvalidRequestException $e) { + } catch (InvalidRequestException $e) { // Invalid parameters were supplied to Stripe's API // $data = [ @@ -105,7 +115,7 @@ class Charge ]; SystemLogger::dispatch($data, SystemLog::CATEGORY_GATEWAY_RESPONSE, SystemLog::EVENT_GATEWAY_FAILURE, SystemLog::TYPE_STRIPE, $this->stripe->client); - } catch (\Stripe\Exception\AuthenticationException $e) { + } catch (AuthenticationException $e) { // Authentication with Stripe's API failed $data = [ @@ -117,7 +127,7 @@ class Charge ]; SystemLogger::dispatch($data, SystemLog::CATEGORY_GATEWAY_RESPONSE, SystemLog::EVENT_GATEWAY_FAILURE, SystemLog::TYPE_STRIPE, $this->stripe->client); - } catch (\Stripe\Exception\ApiConnectionException $e) { + } catch (ApiConnectionException $e) { // Network communication with Stripe failed $data = [ @@ -129,7 +139,7 @@ class Charge ]; SystemLogger::dispatch($data, SystemLog::CATEGORY_GATEWAY_RESPONSE, SystemLog::EVENT_GATEWAY_FAILURE, SystemLog::TYPE_STRIPE, $this->stripe->client); - } catch (\Stripe\Exception\ApiErrorException $e) { + } catch (ApiErrorException $e) { $data = [ 'status' => '', 'error_type' => '', @@ -172,7 +182,7 @@ class Charge $payment_hash->payment_id = $payment->id; $payment_hash->save(); - + $this->stripe->attachInvoices($payment, $payment_hash); $payment->service()->updateInvoicePayment($payment_hash); diff --git a/app/PaymentDrivers/Stripe/CreditCard.php b/app/PaymentDrivers/Stripe/CreditCard.php index d512f6a0d2db..565b038207b7 100644 --- a/app/PaymentDrivers/Stripe/CreditCard.php +++ b/app/PaymentDrivers/Stripe/CreditCard.php @@ -26,6 +26,9 @@ use App\Models\PaymentType; use App\Models\SystemLog; use App\PaymentDrivers\StripePaymentDriver; use App\Utils\Ninja; +use Exception; +use stdClass; +use Stripe\PaymentIntent; use Stripe\PaymentMethod; class CreditCard diff --git a/app/PaymentDrivers/StripePaymentDriver.php b/app/PaymentDrivers/StripePaymentDriver.php index af9dfab04de8..13d761a5f26c 100644 --- a/app/PaymentDrivers/StripePaymentDriver.php +++ b/app/PaymentDrivers/StripePaymentDriver.php @@ -35,9 +35,12 @@ use App\PaymentDrivers\Stripe\SOFORT; use App\PaymentDrivers\Stripe\Utilities; use App\Utils\Traits\MakesHash; use Illuminate\Support\Carbon; +use Illuminate\View\View; +use Stripe\Customer; use Stripe\PaymentIntent; use Stripe\SetupIntent; use Stripe\Stripe; +use Stripe\StripeClient; class StripePaymentDriver extends BaseDriver { @@ -71,7 +74,7 @@ class StripePaymentDriver extends BaseDriver */ public function init(): void { - $this->stripe = new \Stripe\StripeClient( + $this->stripe = new StripeClient( $this->company_gateway->getConfigField('apiKey') ); @@ -154,7 +157,7 @@ class StripePaymentDriver extends BaseDriver * * @param array $data * - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + * @return Factory|View */ public function authorizeView(array $data) { @@ -164,9 +167,8 @@ class StripePaymentDriver extends BaseDriver /** * Processes the gateway response for credit card authorization. * - * @param \Illuminate\Http\Request $request The returning request object - - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + * @param Request $request The returning request object + * @return Factory|View */ public function authorizeResponse($request) { @@ -177,8 +179,7 @@ class StripePaymentDriver extends BaseDriver * Process the payment with gateway. * * @param array $data - - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View|void + * @return Factory|View|void */ public function processPaymentView(array $data) { @@ -187,31 +188,33 @@ class StripePaymentDriver extends BaseDriver /** * Payment Intent Reponse looks like this. - +"id": "pi_1FMR7JKmol8YQE9DuC4zMeN3" - +"object": "payment_intent" - +"allowed_source_types": array:1 [â–¼ - 0 => "card" - ] - +"amount": 2372484 - +"canceled_at": null - +"cancellation_reason": null - +"capture_method": "automatic" - +"client_secret": "pi_1FMR7JKmol8YQE9DuC4zMeN3_secret_J3yseWJG6uV0MmsrAT1FlUklV" - +"confirmation_method": "automatic" - +"created": 1569381877 - +"->currency()": "usd" - +"description": "[3]" - +"last_payment_error": null - +"livemode": false - +"next_action": null - +"next_source_action": null - +"payment_method": "pm_1FMR7ZKmol8YQE9DQWqPuyke" - +"payment_method_types": array:1 [â–¶] - +"receipt_email": null - +"setup_future_usage": "off_session" - +"shipping": null - +"source": null - +"status": "succeeded" + * +"id": "pi_1FMR7JKmol8YQE9DuC4zMeN3" + * +"object": "payment_intent" + * +"allowed_source_types": array:1 [â–¼ + * 0 => "card" + * ] + * +"amount": 2372484 + * +"canceled_at": null + * +"cancellation_reason": null + * +"capture_method": "automatic" + * +"client_secret": "pi_1FMR7JKmol8YQE9DuC4zMeN3_secret_J3yseWJG6uV0MmsrAT1FlUklV" + * +"confirmation_method": "automatic" + * +"created": 1569381877 + * +"->currency()": "usd" + * +"description": "[3]" + * +"last_payment_error": null + * +"livemode": false + * +"next_action": null + * +"next_source_action": null + * +"payment_method": "pm_1FMR7ZKmol8YQE9DQWqPuyke" + * +"payment_method_types": array:1 [â–¶] + * +"receipt_email": null + * +"setup_future_usage": "off_session" + * +"shipping": null + * +"source": null + * +"status": "succeeded" + * @param $request + * @return */ public function processPaymentResponse($request) //We never have to worry about unsuccessful payments as failures are handled at the front end for this driver. { @@ -221,8 +224,9 @@ class StripePaymentDriver extends BaseDriver /** * Creates a new String Payment Intent. * - * @param array $data The data array to be passed to Stripe + * @param array $data The data array to be passed to Stripe * @return PaymentIntent The Stripe payment intent object + * @throws \Stripe\Exception\ApiErrorException */ public function createPaymentIntent($data): ?PaymentIntent { @@ -235,7 +239,8 @@ class StripePaymentDriver extends BaseDriver * Returns a setup intent that allows the user * to enter card details without initiating a transaction. * - * @return \Stripe\SetupIntent + * @return SetupIntent + * @throws \Stripe\Exception\ApiErrorException */ public function getSetupIntent(): SetupIntent { @@ -256,9 +261,11 @@ class StripePaymentDriver extends BaseDriver /** * Finds or creates a Stripe Customer object. * - * @return null|\Stripe\Customer A Stripe customer object + * @return null|Customer A Stripe customer object + * @throws \Laracasts\Presenter\Exceptions\PresenterException + * @throws \Stripe\Exception\ApiErrorException */ - public function findOrCreateCustomer(): ?\Stripe\Customer + public function findOrCreateCustomer(): ?Customer { $customer = null; @@ -267,7 +274,7 @@ class StripePaymentDriver extends BaseDriver $client_gateway_token = ClientGatewayToken::whereClientId($this->client->id)->whereCompanyGatewayId($this->company_gateway->id)->first(); if ($client_gateway_token && $client_gateway_token->gateway_customer_reference) { - $customer = \Stripe\Customer::retrieve($client_gateway_token->gateway_customer_reference); + $customer = Customer::retrieve($client_gateway_token->gateway_customer_reference); } else { $data['name'] = $this->client->present()->name(); $data['phone'] = $this->client->present()->phone(); @@ -276,11 +283,11 @@ class StripePaymentDriver extends BaseDriver $data['email'] = $this->client->present()->email(); } - $customer = \Stripe\Customer::create($data); + $customer = Customer::create($data); } if (!$customer) { - throw new \Exception('Unable to create gateway customer'); + throw new Exception('Unable to create gateway customer'); } return $customer; @@ -395,19 +402,19 @@ class StripePaymentDriver extends BaseDriver /** * Detach payment method from the Stripe. * https://stripe.com/docs/api/payment_methods/detach - * - * @param \App\Models\ClientGatewayToken $token - * @return bool - */ + * + * @param ClientGatewayToken $token +* @return void +*/ public function detach(ClientGatewayToken $token) { - $stripe = new \Stripe\StripeClient( + $stripe = new StripeClient( $this->company_gateway->getConfigField('apiKey') ); try { $response = $stripe->paymentMethods->detach($token->token); - } catch (\Exception $e) { + } catch (Exception $e) { SystemLogger::dispatch([ 'server_response' => $e->getMessage(), 'data' => request()->all(), ], SystemLog::CATEGORY_GATEWAY_RESPONSE, SystemLog::EVENT_GATEWAY_FAILURE, SystemLog::TYPE_STRIPE, $this->client); diff --git a/app/Policies/EntityPolicy.php b/app/Policies/EntityPolicy.php index 6082e444daf0..207923281511 100644 --- a/app/Policies/EntityPolicy.php +++ b/app/Policies/EntityPolicy.php @@ -25,9 +25,9 @@ class EntityPolicy * * Do not use this function!!!! We MUST also check company_id, * - * @param User $user + * @param User $user * @param $ability - * @return bool/void + * @return void /void */ public function before($user, $ability) { diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index ca68f008cef4..fba158b7c4b6 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -56,9 +56,9 @@ class AppServiceProvider extends ServiceProvider public function boot() { Relation::morphMap([ - 'invoices' => \App\Models\Invoice::class, + 'invoices' => Invoice::class, // 'credits' => \App\Models\Credit::class, - 'proposals' => \App\Models\Proposal::class, + 'proposals' => Proposal::class, ]); Blade::if('env', function ($environment) { diff --git a/app/Providers/ComposerServiceProvider.php b/app/Providers/ComposerServiceProvider.php index 56092e54716b..9551f9b5998c 100644 --- a/app/Providers/ComposerServiceProvider.php +++ b/app/Providers/ComposerServiceProvider.php @@ -11,6 +11,7 @@ namespace App\Providers; +use App\Http\ViewComposers\PortalComposer; use Illuminate\Support\ServiceProvider; class ComposerServiceProvider extends ServiceProvider @@ -22,7 +23,7 @@ class ComposerServiceProvider extends ServiceProvider */ public function boot() { - view()->composer('portal.*', \App\Http\ViewComposers\PortalComposer::class); + view()->composer('portal.*', PortalComposer::class); } /** diff --git a/app/Providers/EventServiceProvider.php b/app/Providers/EventServiceProvider.php index 75ff36321ea5..40bfe5214a59 100644 --- a/app/Providers/EventServiceProvider.php +++ b/app/Providers/EventServiceProvider.php @@ -87,8 +87,8 @@ use App\Listeners\Invoice\InvoiceArchivedActivity; use App\Listeners\Invoice\InvoiceCancelledActivity; use App\Listeners\Invoice\InvoiceDeletedActivity; use App\Listeners\Invoice\InvoiceEmailActivity; -use App\Listeners\Invoice\InvoiceEmailedNotification; use App\Listeners\Invoice\InvoiceEmailFailedActivity; +use App\Listeners\Invoice\InvoiceEmailedNotification; use App\Listeners\Invoice\InvoicePaidActivity; use App\Listeners\Invoice\InvoiceRestoredActivity; use App\Listeners\Invoice\InvoiceReversedActivity; @@ -98,6 +98,7 @@ use App\Listeners\Invoice\UpdateInvoiceInvitations; use App\Listeners\Misc\InvitationViewedListener; use App\Listeners\Payment\PaymentNotification; use App\Listeners\Payment\PaymentRestoredActivity; +use App\Listeners\Quote\QuoteApprovedActivity; use App\Listeners\Quote\QuoteArchivedActivity; use App\Listeners\Quote\QuoteDeletedActivity; use App\Listeners\Quote\QuoteEmailActivity; @@ -262,6 +263,7 @@ class EventServiceProvider extends ServiceProvider ], QuoteWasApproved::class => [ ReachWorkflowSettings::class, + QuoteApprovedActivity::class, ], QuoteWasCreated::class => [ CreatedQuoteActivity::class, diff --git a/app/Providers/MultiDBProvider.php b/app/Providers/MultiDBProvider.php index 77474135226b..84d4addad436 100644 --- a/app/Providers/MultiDBProvider.php +++ b/app/Providers/MultiDBProvider.php @@ -12,6 +12,7 @@ namespace App\Providers; use App\Libraries\MultiDB; +use Illuminate\Queue\Events\JobProcessing; use Illuminate\Support\ServiceProvider; class MultiDBProvider extends ServiceProvider @@ -33,7 +34,7 @@ class MultiDBProvider extends ServiceProvider public function register() { $this->app['events']->listen( - \Illuminate\Queue\Events\JobProcessing::class, + JobProcessing::class, function ($event) { if (isset($event->job->payload()['db'])) { MultiDB::setDb($event->job->payload()['db']); diff --git a/app/Providers/MultiDatabaseUserProvider.php b/app/Providers/MultiDatabaseUserProvider.php index e248196442c2..4b3e01cfa870 100644 --- a/app/Providers/MultiDatabaseUserProvider.php +++ b/app/Providers/MultiDatabaseUserProvider.php @@ -16,6 +16,7 @@ use Illuminate\Contracts\Auth\Authenticatable as UserContract; use Illuminate\Contracts\Auth\UserProvider; use Illuminate\Contracts\Hashing\Hasher as HasherContract; use Illuminate\Contracts\Support\Arrayable; +use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Facades\Log; use Illuminate\Support\Str; @@ -24,7 +25,7 @@ class MultiDatabaseUserProvider implements UserProvider /** * The hasher implementation. * - * @var \Illuminate\Contracts\Hashing\Hasher + * @var HasherContract */ protected $hasher; @@ -38,7 +39,7 @@ class MultiDatabaseUserProvider implements UserProvider /** * Create a new database user provider. * - * @param \Illuminate\Contracts\Hashing\Hasher $hasher + * @param HasherContract $hasher * @param string $model * @return void */ @@ -52,7 +53,7 @@ class MultiDatabaseUserProvider implements UserProvider * Retrieve a user by their unique identifier. * * @param mixed $identifier - * @return \Illuminate\Contracts\Auth\Authenticatable|null + * @return UserContract|null */ public function retrieveById($identifier) { @@ -70,7 +71,7 @@ class MultiDatabaseUserProvider implements UserProvider * * @param mixed $identifier * @param string $token - * @return \Illuminate\Contracts\Auth\Authenticatable|null + * @return UserContract|null */ public function retrieveByToken($identifier, $token) { @@ -92,7 +93,7 @@ class MultiDatabaseUserProvider implements UserProvider /** * Update the "remember me" token for the given user in storage. * - * @param \Illuminate\Contracts\Auth\Authenticatable|\Illuminate\Database\Eloquent\Model $user + * @param UserContract|Model $user * @param string $token * @return void */ @@ -113,7 +114,7 @@ class MultiDatabaseUserProvider implements UserProvider * Retrieve a user by the given credentials. * * @param array $credentials - * @return \Illuminate\Contracts\Auth\Authenticatable|null + * @return UserContract|null */ public function retrieveByCredentials(array $credentials) { @@ -148,7 +149,7 @@ class MultiDatabaseUserProvider implements UserProvider /** * Validate a user against the given credentials. * - * @param \Illuminate\Contracts\Auth\Authenticatable $user + * @param UserContract $user * @param array $credentials * @return bool */ @@ -162,7 +163,7 @@ class MultiDatabaseUserProvider implements UserProvider /** * Create a new instance of the model. * - * @return \Illuminate\Database\Eloquent\Model + * @return Model */ public function createModel() { @@ -174,7 +175,7 @@ class MultiDatabaseUserProvider implements UserProvider /** * Gets the hasher implementation. * - * @return \Illuminate\Contracts\Hashing\Hasher + * @return HasherContract */ public function getHasher() { @@ -184,7 +185,7 @@ class MultiDatabaseUserProvider implements UserProvider /** * Sets the hasher implementation. * - * @param \Illuminate\Contracts\Hashing\Hasher $hasher + * @param HasherContract $hasher * @return $this */ public function setHasher(HasherContract $hasher) @@ -219,6 +220,9 @@ class MultiDatabaseUserProvider implements UserProvider /** * Sets correct database by variable. + * @param bool $id + * @param bool $email + * @param bool $token */ private function setDefaultDatabase($id = false, $email = false, $token = false) : void { @@ -258,6 +262,7 @@ class MultiDatabaseUserProvider implements UserProvider /** * Sets the database at runtime. + * @param $database */ private function setDB($database) { diff --git a/app/Repositories/ActivityRepository.php b/app/Repositories/ActivityRepository.php index ec1de4df14e8..fc0be7bbea77 100644 --- a/app/Repositories/ActivityRepository.php +++ b/app/Repositories/ActivityRepository.php @@ -37,11 +37,13 @@ class ActivityRepository extends BaseRepository { use MakesInvoiceHtml; use MakesHash; + /** * Save the Activity. * - * @param stdClass $fields The fields - * @param Collection $entity The entity that you wish to have backed up (typically Invoice, Quote etc etc rather than Payment) + * @param stdClass $fields The fields + * @param Collection $entity The entity that you wish to have backed up (typically Invoice, Quote etc etc rather than Payment) + * @param $event_vars */ public function save($fields, $entity, $event_vars) { diff --git a/app/Repositories/BaseRepository.php b/app/Repositories/BaseRepository.php index f2e14b03c0bf..582dd5165d55 100644 --- a/app/Repositories/BaseRepository.php +++ b/app/Repositories/BaseRepository.php @@ -188,6 +188,10 @@ class BaseRepository /** * Alternative save used for Invoices, Quotes & Credits. + * @param $data + * @param $model + * @return mixed + * @throws \ReflectionException */ protected function alternativeSave($data, $model) { @@ -204,7 +208,7 @@ class BaseRepository $lcfirst_resource_id = lcfirst($resource).'_id'; $state['starting_amount'] = $model->amount; - + if (! $model->id) { $company_defaults = $client->setCompanyDefaults($data, lcfirst($resource)); $model->uses_inclusive_taxes = $client->getSetting('inclusive_taxes'); @@ -315,12 +319,16 @@ class BaseRepository if (! $model->design_id) { $model->design_id = $this->decodePrimaryKey($client->getSetting('invoice_design_id')); } + + //links tasks and expenses back to the invoice. + $model->service()->linkEntities()->save(); + } if ($class->name == Credit::class) { $model = $model->calc()->getCredit(); - + $model->ledger()->updateCreditBalance(($state['finished_amount'] - $state['starting_amount'])); if (! $model->design_id) { diff --git a/app/Repositories/ClientRepository.php b/app/Repositories/ClientRepository.php index 852daef6e6f8..806fa4ba553e 100644 --- a/app/Repositories/ClientRepository.php +++ b/app/Repositories/ClientRepository.php @@ -53,11 +53,12 @@ class ClientRepository extends BaseRepository /** * Saves the client and its contacts. * - * @param array $data The data - * @param \App\Models\Client $client The client + * @param array $data The data + * @param Client $client The client * - * @return Client|\App\Models\Client|null Client Object + * @return Client|Client|null Client Object * + * @throws \Laracasts\Presenter\Exceptions\PresenterException * @todo Write tests to make sure that custom client numbers work as expected. */ public function save(array $data, Client $client) : ?Client diff --git a/app/Repositories/CompanyRepository.php b/app/Repositories/CompanyRepository.php index 9480a82fa2ec..296e3fba29a7 100644 --- a/app/Repositories/CompanyRepository.php +++ b/app/Repositories/CompanyRepository.php @@ -36,10 +36,9 @@ class CompanyRepository extends BaseRepository /** * Saves the client and its contacts. * - * @param array $data The data - * @param \App\Models\Company $client The Company - * - * @return Client|\App\Models\Company|null Company Object + * @param array $data The data + * @param Company $company + * @return Client|Company|null Company Object */ public function save(array $data, Company $company) : ?Company { diff --git a/app/Repositories/CreditRepository.php b/app/Repositories/CreditRepository.php index 7bbe3ce76df7..dd2963a316a1 100644 --- a/app/Repositories/CreditRepository.php +++ b/app/Repositories/CreditRepository.php @@ -13,6 +13,7 @@ namespace App\Repositories; use App\Factory\CreditInvitationFactory; use App\Models\ClientContact; +use App\Models\Company; use App\Models\Credit; use App\Models\CreditInvitation; use App\Utils\Traits\MakesHash; @@ -42,10 +43,10 @@ class CreditRepository extends BaseRepository /** * Saves the client and its contacts. * - * @param array $data The data - * @param \App\Models\Company $client The Company - * - * @return Credit|\App\Models\Credit|null Credit Object + * @param array $data The data + * @param Credit $credit + * @return Credit|Credit|null Credit Object + * @throws \ReflectionException */ public function save(array $data, Credit $credit) : ?Credit { diff --git a/app/Repositories/ExpenseRepository.php b/app/Repositories/ExpenseRepository.php index 990cf0b93818..0044514ffbdd 100644 --- a/app/Repositories/ExpenseRepository.php +++ b/app/Repositories/ExpenseRepository.php @@ -44,23 +44,18 @@ class ExpenseRepository extends BaseRepository * @param array $data The data * @param \App\Models\expense $expense The expense * - * @return expense|\App\Models\expense|null expense Object + * @return expense|null expense Object */ public function save(array $data, Expense $expense) : ?Expense { $expense->fill($data); - + $expense->number = empty($expense->number) ? $this->getNextExpenseNumber($expense) : $expense->number; $expense->save(); - if (array_key_exists('documents', $data)) { $this->saveDocuments($data['documents'], $expense); } - // if ($expense->id_number == "" || !$expense->id_number) { - // $expense->id_number = $this->getNextExpenseNumber($expense); - // } //todo write tests for this and make sure that custom expense numbers also works as expected from here - return $expense; } diff --git a/app/Repositories/InvoiceRepository.php b/app/Repositories/InvoiceRepository.php index 8bcfc705d3f2..a6d00636803e 100644 --- a/app/Repositories/InvoiceRepository.php +++ b/app/Repositories/InvoiceRepository.php @@ -41,9 +41,9 @@ class InvoiceRepository extends BaseRepository * Saves the invoices. * * @param array. $data The invoice data - * @param InvoiceSum|\App\Models\Invoice $invoice The invoice + * @param InvoiceSum|Invoice $invoice The invoice * - * @return Invoice|InvoiceSum|\App\Models\Invoice|null Returns the invoice object + * @return Invoice|InvoiceSum|null Returns the invoice object */ public function save($data, Invoice $invoice):?Invoice { @@ -53,9 +53,9 @@ class InvoiceRepository extends BaseRepository /** * Mark the invoice as sent. * - * @param \App\Models\Invoice $invoice The invoice + * @param Invoice $invoice The invoice * - * @return Invoice|\App\Models\Invoice|null Return the invoice object + * @return Invoice|null Return the invoice object */ public function markSent(Invoice $invoice):?Invoice { @@ -74,8 +74,8 @@ class InvoiceRepository extends BaseRepository * * ie. invoice can be deleted from a business logic perspective. * - * @param Invoice $invoice - * @return Invoice $invoice + * @param Invoice $invoice + * @return void $invoice */ public function delete($invoice) { diff --git a/app/Repositories/Migration/PaymentMigrationRepository.php b/app/Repositories/Migration/PaymentMigrationRepository.php index 505576b13f57..632c5ef47932 100644 --- a/app/Repositories/Migration/PaymentMigrationRepository.php +++ b/app/Repositories/Migration/PaymentMigrationRepository.php @@ -28,6 +28,7 @@ use App\Utils\Traits\MakesHash; use App\Utils\Traits\SavesDocuments; use Illuminate\Http\Request; use Illuminate\Support\Carbon; +use stdClass; /** * PaymentMigrationRepository. @@ -131,7 +132,7 @@ class PaymentMigrationRepository extends BaseRepository } - $fields = new \stdClass; + $fields = new stdClass; $fields->payment_id = $payment->id; $fields->user_id = $payment->user_id; @@ -162,6 +163,9 @@ class PaymentMigrationRepository extends BaseRepository /** * If the client is paying in a currency other than * the company currency, we need to set a record. + * @param $data + * @param $payment + * @return */ private function processExchangeRates($data, $payment) { diff --git a/app/Repositories/PaymentRepository.php b/app/Repositories/PaymentRepository.php index 376060ebb487..b83851a1ea39 100644 --- a/app/Repositories/PaymentRepository.php +++ b/app/Repositories/PaymentRepository.php @@ -41,6 +41,10 @@ class PaymentRepository extends BaseRepository $this->credit_repo = $credit_repo; } + /** + * @return string + */ + public function getClassName() { return Payment::class; @@ -97,7 +101,7 @@ class PaymentRepository extends BaseRepository $data['amount'] = 0; else $client->service()->updatePaidToDate($_credit_totals)->save(); - + } } @@ -175,6 +179,9 @@ class PaymentRepository extends BaseRepository /** * If the client is paying in a currency other than * the company currency, we need to set a record. + * @param $data + * @param $payment + * @return */ private function processExchangeRates($data, $payment) { diff --git a/app/Repositories/RecurringInvoiceRepository.php b/app/Repositories/RecurringInvoiceRepository.php index 117c8dc5a1e3..7ef4d778ab36 100644 --- a/app/Repositories/RecurringInvoiceRepository.php +++ b/app/Repositories/RecurringInvoiceRepository.php @@ -31,7 +31,7 @@ class RecurringInvoiceRepository extends BaseRepository $invoice->save(); - $invoice_calc = new InvoiceSum($invoice, $invoice->settings); + $invoice_calc = new InvoiceSum($invoice); $invoice->service() ->applyNumber() diff --git a/app/Repositories/TaskRepository.php b/app/Repositories/TaskRepository.php index 2bf267e53edb..e73f3109a357 100644 --- a/app/Repositories/TaskRepository.php +++ b/app/Repositories/TaskRepository.php @@ -30,9 +30,9 @@ class TaskRepository extends BaseRepository /** * Gets the class name. * - * @return string The class name. + * @return string The class name. */ - public function getClassName() + public function getClassName() { return Task::class; } @@ -40,18 +40,60 @@ class TaskRepository extends BaseRepository /** * Saves the task and its contacts. * - * @param array $data The data - * @param \App\Models\task $task The task + * @param array $data The data + * @param \App\Models\Task $task The task * - * @return task|\App\Models\task|null task Object + * @return task|null task Object */ - public function save(array $data, Task $task) : ?Task { $task->fill($data); $task->save(); + $task->number = empty($task->number) ? $this->getNextTaskNumber($task) : $data['number']; + + if (isset($data['description'])) { + $task->description = trim($data['description']); + } + + if (isset($data['status_sort_order'])) { + $task->status_sort_order = $data['status_sort_order']; + } + + if (isset($data['time_log'])) { + $time_log = json_decode($data['time_log']); + } elseif ($task->time_log) { + $time_log = json_decode($task->time_log); + } else { + $time_log = []; + } + + array_multisort($time_log); + + if (isset($data['action'])) { + if ($data['action'] == 'start') { + $task->is_running = true; + $time_log[] = [strtotime('now'), false]; + } elseif ($data['action'] == 'resume') { + $task->is_running = true; + $time_log[] = [strtotime('now'), false]; + } elseif ($data['action'] == 'stop' && $task->is_running) { + $time_log[count($time_log) - 1][1] = time(); + $task->is_running = false; + } elseif ($data['action'] == 'offline'){ + $task->is_running = $data['is_running'] ? 1 : 0; + } + } elseif (isset($data['is_running'])) { + $task->is_running = $data['is_running'] ? 1 : 0; + } + + $task->time_log = json_encode($time_log); + $task->start_time = $task->start_time ?: $task->calcStartTime(); + $task->duration = $task->calcDuration(); + + $task->save(); + if (array_key_exists('documents', $data)) { $this->saveDocuments($data['documents'], $task); } diff --git a/app/Repositories/TokenRepository.php b/app/Repositories/TokenRepository.php index 03a6b6628c73..39a559f376b1 100644 --- a/app/Repositories/TokenRepository.php +++ b/app/Repositories/TokenRepository.php @@ -29,9 +29,9 @@ class TokenRepository extends BaseRepository * Saves the companytoken. * * @param array $data The data - * @param \App\Models\CompanyToken $company_token The company_token + * @param CompanyToken $company_token The company_token * - * @return CompanyToken|\App\Models\CompanyToken|null CompanyToken Object + * @return CompanyToken|null CompanyToken Object */ public function save(array $data, CompanyToken $company_token) { diff --git a/app/Repositories/UserRepository.php b/app/Repositories/UserRepository.php index 2c344ae66ce2..dfa0c531a117 100644 --- a/app/Repositories/UserRepository.php +++ b/app/Repositories/UserRepository.php @@ -40,12 +40,13 @@ class UserRepository extends BaseRepository /** * Saves the user and its contacts. * - * @param array $data The data - * @param \App\Models\user $user The user + * @param array $data The data + * @param \App\Models\user $user The user * + * @param bool $unset_company_user * @return user|\App\Models\user|null user Object */ - public function save(array $data, User $user, $is_migrating = false, $unset_company_user = false) + public function save(array $data, User $user, $unset_company_user = false) { $details = $data; @@ -83,13 +84,11 @@ class UserRepository extends BaseRepository if (! $cu) { $data['company_user']['account_id'] = $account->id; $data['company_user']['notifications'] = CompanySettings::notificationDefaults(); - $data['company_user']['is_migrating'] = $is_migrating; $user->companies()->attach($company->id, $data['company_user']); } else { $cu->fill($data['company_user']); $cu->restore(); $cu->tokens()->restore(); - $cu->is_migrating = true; $cu->save(); } @@ -106,8 +105,6 @@ class UserRepository extends BaseRepository public function destroy(array $data, User $user) { -info("destroy user"); - if (array_key_exists('company_user', $data)) { $this->forced_includes = 'company_users'; @@ -134,8 +131,6 @@ info("destroy user"); public function delete($user) { -info("delete user"); - $company = auth()->user()->company(); $cu = CompanyUser::whereUserId($user->id) diff --git a/app/Repositories/VendorContactRepository.php b/app/Repositories/VendorContactRepository.php index 8682c4ec460f..3700c59e6034 100644 --- a/app/Repositories/VendorContactRepository.php +++ b/app/Repositories/VendorContactRepository.php @@ -23,14 +23,17 @@ class VendorContactRepository extends BaseRepository { public $is_primary; - public function save($contacts, Vendor $vendor) : void + public function save(array $data, Vendor $vendor) : void { - /* Convert array to collection */ - $contacts = collect($contacts); + if (isset($data['contacts'])) { + $contacts = collect($data['contacts']); + } else { + $contacts = collect(); + } /* Get array of IDs which have been removed from the contacts array and soft delete each contact */ - collect($vendor->contacts->pluck('id'))->diff($contacts->pluck('id'))->each(function ($contact) { + $vendor->contacts->pluck('id')->diff($contacts->pluck('id'))->each(function ($contact) { VendorContact::destroy($contact); }); @@ -62,9 +65,7 @@ class VendorContactRepository extends BaseRepository $update_contact->fill($contact); if (array_key_exists('password', $contact) && strlen($contact['password']) > 1) { - $update_contact->password = Hash::make($contact['password']); - } $update_contact->save(); @@ -73,7 +74,7 @@ class VendorContactRepository extends BaseRepository $vendor->load('contacts'); //always made sure we have one blank contact to maintain state - if ($contacts->count() == 0) { + if ($vendor->contacts->count() == 0) { $new_contact = new VendorContact; $new_contact->vendor_id = $vendor->id; $new_contact->company_id = $vendor->company_id; diff --git a/app/Repositories/VendorRepository.php b/app/Repositories/VendorRepository.php index fca84a6ba067..165478c7e5ff 100644 --- a/app/Repositories/VendorRepository.php +++ b/app/Repositories/VendorRepository.php @@ -50,14 +50,15 @@ class VendorRepository extends BaseRepository /** * Saves the vendor and its contacts. * - * @param array $data The data - * @param \App\Models\vendor $vendor The vendor + * @param array $data The data + * @param \App\Models\vendor $vendor The vendor * * @return vendor|\App\Models\vendor|null vendor Object + * @throws \Laracasts\Presenter\Exceptions\PresenterException */ public function save(array $data, Vendor $vendor) : ?Vendor { - + $vendor->fill($data); $vendor->save(); @@ -69,7 +70,7 @@ class VendorRepository extends BaseRepository $vendor->save(); if (isset($data['contacts'])) { - $contacts = $this->contact_repo->save($data['contacts'], $vendor); + $contacts = $this->contact_repo->save($data, $vendor); } if (empty($data['name'])) { diff --git a/app/Services/Credit/SendEmail.php b/app/Services/Credit/SendEmail.php index 31e12ac6b371..fec8604b1a03 100644 --- a/app/Services/Credit/SendEmail.php +++ b/app/Services/Credit/SendEmail.php @@ -36,8 +36,7 @@ class SendEmail /** * Builds the correct template to send. - * @param string $this->reminder_template The template name ie reminder1 - * @return array + * @return void */ public function run() { diff --git a/app/Services/Invoice/ApplyRecurringNumber.php b/app/Services/Invoice/ApplyRecurringNumber.php index 50a5b14b68cf..43126dffcfbd 100644 --- a/app/Services/Invoice/ApplyRecurringNumber.php +++ b/app/Services/Invoice/ApplyRecurringNumber.php @@ -44,11 +44,11 @@ class ApplyRecurringNumber extends AbstractService switch ($this->client->getSetting('counter_number_applied')) { case 'when_saved': - $this->invoice->number = $this->getNextRecurringInvoiceNumber($this->client);; + $this->invoice->number = $this->getNextRecurringInvoiceNumber($this->client); break; case 'when_sent': if ($this->invoice->status_id == Invoice::STATUS_SENT) { - $this->invoice->number = $this->getNextRecurringInvoiceNumber($this->client);; + $this->invoice->number = $this->getNextRecurringInvoiceNumber($this->client); } break; diff --git a/app/Services/Invoice/AutoBillInvoice.php b/app/Services/Invoice/AutoBillInvoice.php index 784a3cdd453e..878d766075e7 100644 --- a/app/Services/Invoice/AutoBillInvoice.php +++ b/app/Services/Invoice/AutoBillInvoice.php @@ -45,26 +45,26 @@ class AutoBillInvoice extends AbstractService public function run() { /* Is the invoice payable? */ - if (! $this->invoice->isPayable()) + if (! $this->invoice->isPayable()) return $this->invoice; - + /* Mark the invoice as sent */ $this->invoice = $this->invoice->service()->markSent()->save(); /* Mark the invoice as paid if there is no balance */ - if ((int)$this->invoice->balance == 0) + if ((int)$this->invoice->balance == 0) return $this->invoice->service()->markPaid()->save(); //if the credits cover the payments, we stop here, build the payment with credits and exit early - + if($this->client->getSetting('use_credits_payment') != 'off') - $this->applyCreditPayment(); + $this->applyCreditPayment(); info("partial = {$this->invoice->partial}"); info("balance = {$this->invoice->balance}"); /* Determine $amount */ - if ($this->invoice->partial > 0) + if ($this->invoice->partial > 0) $amount = $this->invoice->partial; elseif($this->invoice->balance > 0) $amount = $this->invoice->balance; @@ -76,7 +76,7 @@ class AutoBillInvoice extends AbstractService $gateway_token = $this->getGateway($amount); /* Bail out if no payment methods available */ - if (! $gateway_token || ! $gateway_token->gateway->driver($this->client)->token_billing) + if (! $gateway_token || ! $gateway_token->gateway->driver($this->client)->token_billing) return $this->invoice; /* $gateway fee */ @@ -102,7 +102,7 @@ class AutoBillInvoice extends AbstractService /** * If the credits on file cover the invoice amount * the we create a matching payment using credits only - * + * * @return Invoice $invoice */ private function finalizePaymentUsingCredits() @@ -128,7 +128,7 @@ class AutoBillInvoice extends AbstractService { $current_credit = Credit::find($credit['credit_id']); $payment->credits()->attach($current_credit->id, ['amount' => $credit['amount']]); - + info("adjusting credit balance {$current_credit->balance} by this amount ". $credit['amount']); $current_credit->balance -= $credit['amount']; @@ -160,12 +160,12 @@ class AutoBillInvoice extends AbstractService /** * Applies credits to a payment prior to push * to the payment gateway - * + * * @return $this */ - private function applyCreditPayment() + private function applyCreditPayment() { - + $available_credits = $this->client ->credits ->where('is_deleted', false) @@ -274,6 +274,7 @@ class AutoBillInvoice extends AbstractService * Adds a gateway fee to the invoice. * * @param float $fee The fee amount. + * @return AutoBillInvoice */ private function addFeeToInvoice(float $fee) { diff --git a/app/Services/Invoice/HandleCancellation.php b/app/Services/Invoice/HandleCancellation.php index 11c0668c4ed9..8b841da1b34a 100644 --- a/app/Services/Invoice/HandleCancellation.php +++ b/app/Services/Invoice/HandleCancellation.php @@ -26,6 +26,7 @@ use App\Services\Client\ClientService; use App\Services\Payment\PaymentService; use App\Utils\Ninja; use App\Utils\Traits\GeneratesCounter; +use stdClass; class HandleCancellation extends AbstractService { @@ -95,11 +96,11 @@ class HandleCancellation extends AbstractService private function backupCancellation($adjustment) { if (! is_object($this->invoice->backup)) { - $backup = new \stdClass; + $backup = new stdClass; $this->invoice->backup = $backup; } - $cancellation = new \stdClass; + $cancellation = new stdClass; $cancellation->adjustment = $adjustment; $cancellation->status_id = $this->invoice->status_id; diff --git a/app/Services/Invoice/InvoiceService.php b/app/Services/Invoice/InvoiceService.php index 73ec742d1709..0a17c929ea44 100644 --- a/app/Services/Invoice/InvoiceService.php +++ b/app/Services/Invoice/InvoiceService.php @@ -14,8 +14,10 @@ namespace App\Services\Invoice; use App\Jobs\Entity\CreateEntityPdf; use App\Jobs\Util\UnlinkFile; use App\Models\CompanyGateway; +use App\Models\Expense; use App\Models\Invoice; use App\Models\Payment; +use App\Models\Task; use App\Services\Client\ClientService; use App\Services\Invoice\ApplyNumber; use App\Services\Invoice\ApplyPayment; @@ -30,10 +32,13 @@ use App\Services\Invoice\MarkInvoicePaid; use App\Services\Invoice\MarkSent; use App\Services\Invoice\TriggeredActions; use App\Services\Invoice\UpdateBalance; +use App\Utils\Traits\MakesHash; use Illuminate\Support\Carbon; class InvoiceService { + use MakesHash; + private $invoice; protected $client_service; @@ -113,6 +118,9 @@ class InvoiceService { $this->invoice = (new UpdateBalance($this->invoice, $balance_adjustment))->run(); + if((int)$this->invoice->balance == 0) + $this->invoice->next_send_date = null; + return $this; } @@ -228,7 +236,7 @@ class InvoiceService if($this->invoice->balance > 0 && $this->invoice->balance < $this->invoice->amount) $this->setStatus(Invoice::STATUS_PARTIAL); - + return $this; } @@ -287,9 +295,9 @@ class InvoiceService } /** - * Sometimes we need to refresh the + * Sometimes we need to refresh the * PDF when it is updated etc. - * @return void + * @return InvoiceService */ public function touchPdf() { @@ -325,6 +333,30 @@ class InvoiceService return $this; } + public function linkEntities() + { + //set all task.invoice_ids = 0 + $this->invoice->tasks()->update(['invoice_id' => null]); + + //set all tasks.invoice_ids = x with the current line_items + $tasks = collect($this->invoice->line_items)->map(function ($item){ + + if(isset($item->task_id)) + $item->task_id = $this->decodePrimaryKey($item->task_id); + + if(isset($item->expense_id)) + $item->expense_id = $this->decodePrimaryKey($item->expense_id); + + return $item; + + }); + + Task::whereIn('id',$tasks->pluck('task_id'))->update(['invoice_id' => $this->invoice->id]); + Expense::whereIn('id',$tasks->pluck('expense_id'))->update(['invoice_id' => $this->invoice->id]); + + return $this; + } + /** * Saves the invoice. * @return Invoice object diff --git a/app/Services/Invoice/MarkInvoiceDeleted.php b/app/Services/Invoice/MarkInvoiceDeleted.php index 2d98ed2ed4fb..7d245d64b487 100644 --- a/app/Services/Invoice/MarkInvoiceDeleted.php +++ b/app/Services/Invoice/MarkInvoiceDeleted.php @@ -53,6 +53,10 @@ class MarkInvoiceDeleted extends AbstractService $this->invoice->number = $number; + //wipe references to invoices from related entities. + $this->invoice->tasks()->update(['invoice_id' => null]); + $this->invoice->expenses()->update(['invoice_id' => null]); + return $this->invoice; } diff --git a/app/Services/Invoice/SendEmail.php b/app/Services/Invoice/SendEmail.php index 911aea4411e9..28f0f62f8346 100644 --- a/app/Services/Invoice/SendEmail.php +++ b/app/Services/Invoice/SendEmail.php @@ -37,8 +37,7 @@ class SendEmail extends AbstractService /** * Builds the correct template to send. - * @param string $reminder_template The template name ie reminder1 - * @return array + * @return void */ public function run() { diff --git a/app/Services/Payment/RefundPayment.php b/app/Services/Payment/RefundPayment.php index 1826f7297460..29e4d79491c7 100644 --- a/app/Services/Payment/RefundPayment.php +++ b/app/Services/Payment/RefundPayment.php @@ -21,6 +21,7 @@ use App\Models\Invoice; use App\Models\Payment; use App\Repositories\ActivityRepository; use App\Utils\Ninja; +use stdClass; class RefundPayment { @@ -67,6 +68,7 @@ class RefundPayment * Process the refund through the gateway. * * @return $this + * @throws PaymentRefundFailed */ private function processGatewayRefund() { @@ -99,7 +101,7 @@ class RefundPayment */ private function createActivity($notes) { - $fields = new \stdClass; + $fields = new stdClass; $activity_repo = new ActivityRepository(); $fields->payment_id = $this->payment->id; diff --git a/app/Services/Payment/SendEmail.php b/app/Services/Payment/SendEmail.php index 0f923828ba2e..dc4b42b7d008 100644 --- a/app/Services/Payment/SendEmail.php +++ b/app/Services/Payment/SendEmail.php @@ -29,16 +29,15 @@ class SendEmail /** * Builds the correct template to send. - * @param string $reminder_template The template name ie reminder1 - * @return array + * @return void */ public function run() { - $email_builder = (new PaymentEmail())->build($this->payment, $contact); + $email_builder = (new PaymentEmail())->build($this->payment, $this->contact); $this->payment->client->contacts->each(function ($contact) use ($email_builder) { if ($contact->send && $contact->email) { - EmailPayment::dispatchNow($this->payment, $email_builder, $contact); + EmailPayment::dispatchNow($this->payment, $email_builder, $contact, $this->payment->company); } }); } diff --git a/app/Services/PdfMaker/Design.php b/app/Services/PdfMaker/Design.php index 93c695bfe5ed..f4474c9ec90a 100644 --- a/app/Services/PdfMaker/Design.php +++ b/app/Services/PdfMaker/Design.php @@ -12,6 +12,7 @@ namespace App\Services\PdfMaker; +use App\Models\Quote; use App\Services\PdfMaker\Designs\Utilities\BaseDesign; use App\Services\PdfMaker\Designs\Utilities\DesignHelpers; use App\Utils\Number; @@ -161,7 +162,7 @@ class Design extends BaseDesign { $variables = $this->context['pdf_variables']['invoice_details']; - if ($this->entity instanceof \App\Models\Quote) { + if ($this->entity instanceof Quote) { $variables = $this->context['pdf_variables']['quote_details']; } diff --git a/app/Services/PdfMaker/Designs/Utilities/DesignHelpers.php b/app/Services/PdfMaker/Designs/Utilities/DesignHelpers.php index b9f39557d148..5c9afc2670c2 100644 --- a/app/Services/PdfMaker/Designs/Utilities/DesignHelpers.php +++ b/app/Services/PdfMaker/Designs/Utilities/DesignHelpers.php @@ -14,6 +14,7 @@ namespace App\Services\PdfMaker\Designs\Utilities; use DOMDocument; use DOMXPath; +use Exception; trait DesignHelpers { @@ -175,8 +176,8 @@ trait DesignHelpers try { $_variable = explode('.', $variable)[1]; - } catch (\Exception $e) { - throw new \Exception('Company settings seems to be broken. Missing $entity.variable type.'); + } catch (Exception $e) { + throw new Exception('Company settings seems to be broken. Missing $entity.variable type.'); } if (is_null($this->entity->{$_variable})) { diff --git a/app/Services/Quote/ConvertQuote.php b/app/Services/Quote/ConvertQuote.php index 2bbace59f2ee..be13069ab525 100644 --- a/app/Services/Quote/ConvertQuote.php +++ b/app/Services/Quote/ConvertQuote.php @@ -33,7 +33,7 @@ class ConvertQuote */ public function run($quote) { - $invoice = CloneQuoteToInvoiceFactory::create($quote, $quote->user_id, $quote->company_id); + $invoice = CloneQuoteToInvoiceFactory::create($quote, $quote->user_id); $invoice = $this->invoice_repo->save([], $invoice); $invoice->fresh(); diff --git a/app/Services/Quote/SendEmail.php b/app/Services/Quote/SendEmail.php index 23d900c4b141..f9ec5d5e2183 100644 --- a/app/Services/Quote/SendEmail.php +++ b/app/Services/Quote/SendEmail.php @@ -36,8 +36,7 @@ class SendEmail /** * Builds the correct template to send. - * @param string $this->reminder_template The template name ie reminder1 - * @return array + * @return void */ public function run() { diff --git a/app/Services/Recurring/CreateRecurringInvitations.php b/app/Services/Recurring/CreateRecurringInvitations.php index 9e753e462696..b85a211e685e 100644 --- a/app/Services/Recurring/CreateRecurringInvitations.php +++ b/app/Services/Recurring/CreateRecurringInvitations.php @@ -18,6 +18,7 @@ use App\Models\RecurringInvoice; use App\Models\InvoiceInvitation; use App\Models\RecurringInvoiceInvitation; use App\Services\AbstractService; +use Exception; use Illuminate\Support\Str; class CreateRecurringInvitations extends AbstractService @@ -64,11 +65,11 @@ class CreateRecurringInvitations extends AbstractService }); } - catch(\Exception $e) + catch(Exception $e) { info($e->getMessage()); } return $this->entity; } -} \ No newline at end of file +} diff --git a/app/Transformers/AccountTransformer.php b/app/Transformers/AccountTransformer.php index a6cd87aa7114..1a08165a5445 100644 --- a/app/Transformers/AccountTransformer.php +++ b/app/Transformers/AccountTransformer.php @@ -20,6 +20,7 @@ use App\Transformers\CompanyTransformer; use App\Transformers\CompanyUserTransformer; use App\Transformers\UserTransformer; use App\Utils\Traits\MakesHash; +use Laracasts\Presenter\Exceptions\PresenterException; /** * Class AccountTransformer. @@ -49,7 +50,6 @@ class AccountTransformer extends EntityTransformer /** * @param Account $account * - * @throws \Laracasts\Presenter\Exceptions\PresenterException * * @return array */ diff --git a/app/Transformers/ClientGatewayTokenTransformer.php b/app/Transformers/ClientGatewayTokenTransformer.php index 1507d73a6ad8..7c6958acda51 100644 --- a/app/Transformers/ClientGatewayTokenTransformer.php +++ b/app/Transformers/ClientGatewayTokenTransformer.php @@ -13,6 +13,7 @@ namespace App\Transformers; use App\Models\ClientGatewayToken; use App\Utils\Traits\MakesHash; +use stdClass; /** * Class ClientGatewayTokenTransformer. @@ -45,7 +46,7 @@ class ClientGatewayTokenTransformer extends EntityTransformer private function typeCastMeta($meta) { - $casted = new \stdClass; + $casted = new stdClass; if(property_exists($meta, 'exp_month')) $casted->exp_month = (string)$meta->exp_month; diff --git a/app/Transformers/ClientTransformer.php b/app/Transformers/ClientTransformer.php index 6593b2dfce0c..6e4bfb7c81aa 100644 --- a/app/Transformers/ClientTransformer.php +++ b/app/Transformers/ClientTransformer.php @@ -24,6 +24,8 @@ use App\Transformers\CompanyLedgerTransformer; use App\Transformers\DocumentTransformer; use App\Transformers\SystemLogTransformer; use App\Utils\Traits\MakesHash; +use League\Fractal\Resource\Collection; +use stdClass; /** * class ClientTransformer. @@ -52,7 +54,7 @@ class ClientTransformer extends EntityTransformer /** * @param Client $client * - * @return \League\Fractal\Resource\Collection + * @return Collection */ public function includeActivities(Client $client) { @@ -71,7 +73,7 @@ class ClientTransformer extends EntityTransformer /** * @param Client $client * - * @return \League\Fractal\Resource\Collection + * @return Collection */ public function includeContacts(Client $client) { @@ -105,6 +107,7 @@ class ClientTransformer extends EntityTransformer * @param Client $client * * @return array + * @throws \Laracasts\Presenter\Exceptions\PresenterException */ public function transform(Client $client) { @@ -141,7 +144,7 @@ class ClientTransformer extends EntityTransformer 'shipping_state' => $client->shipping_state ?: '', 'shipping_postal_code' => $client->shipping_postal_code ?: '', 'shipping_country_id' => (string) $client->shipping_country_id ?: '', - 'settings' => $client->settings ?: new \stdClass, + 'settings' => $client->settings ?: new stdClass, 'is_deleted' => (bool) $client->is_deleted, 'vat_number' => $client->vat_number ?: '', 'id_number' => $client->id_number ?: '', diff --git a/app/Transformers/CompanyGatewayTransformer.php b/app/Transformers/CompanyGatewayTransformer.php index 64e87a1ed9e4..160391b735cc 100644 --- a/app/Transformers/CompanyGatewayTransformer.php +++ b/app/Transformers/CompanyGatewayTransformer.php @@ -15,6 +15,7 @@ use App\Models\CompanyGateway; use App\Transformers\GatewayTransformer; use App\Utils\Traits\MakesHash; use Illuminate\Database\Eloquent\SoftDeletes; +use stdClass; /** * Class CompanyGatewayTransformer. @@ -52,7 +53,7 @@ class CompanyGatewayTransformer extends EntityTransformer 'show_shipping_address' => (bool) $company_gateway->show_shipping_address, 'update_details' => (bool) $company_gateway->update_details, 'config' => (string) $company_gateway->getConfigTransformed(), - 'fees_and_limits' => $company_gateway->fees_and_limits ?: new \stdClass, + 'fees_and_limits' => $company_gateway->fees_and_limits ?: new stdClass, 'updated_at' => (int) $company_gateway->updated_at, 'archived_at' => (int) $company_gateway->deleted_at, 'created_at' => (int) $company_gateway->created_at, diff --git a/app/Transformers/CompanyLedgerTransformer.php b/app/Transformers/CompanyLedgerTransformer.php index ffc082e3a1a5..2f5eda5fa143 100644 --- a/app/Transformers/CompanyLedgerTransformer.php +++ b/app/Transformers/CompanyLedgerTransformer.php @@ -22,7 +22,7 @@ class CompanyLedgerTransformer extends EntityTransformer use MakesHash; /** - * @param ClientContact $company_ledger + * @param CompanyLedger $company_ledger * * @return array */ diff --git a/app/Transformers/CompanyTransformer.php b/app/Transformers/CompanyTransformer.php index cb3df61e8317..add89be0f830 100644 --- a/app/Transformers/CompanyTransformer.php +++ b/app/Transformers/CompanyTransformer.php @@ -50,6 +50,7 @@ use App\Transformers\TaskStatusTransformer; use App\Transformers\TaskTransformer; use App\Transformers\WebhookTransformer; use App\Utils\Traits\MakesHash; +use stdClass; /** * Class CompanyTransformer. @@ -110,7 +111,7 @@ class CompanyTransformer extends EntityTransformer */ public function transform(Company $company) { - $std = new \stdClass; + $std = new stdClass; return [ 'id' => (string) $this->encodePrimaryKey($company->id), @@ -147,6 +148,7 @@ class CompanyTransformer extends EntityTransformer 'enabled_item_tax_rates' => (int) $company->enabled_item_tax_rates, 'client_can_register' => (bool) $company->client_can_register, 'is_large' => (bool) $company->is_large, + 'is_disabled' => (bool) $company->is_disabled, 'enable_shop_api' => (bool) $company->enable_shop_api, 'mark_expenses_invoiceable'=> (bool) $company->mark_expenses_invoiceable, 'mark_expenses_paid' => (bool) $company->mark_expenses_paid, @@ -154,6 +156,7 @@ class CompanyTransformer extends EntityTransformer 'invoice_task_timelog' => (bool) $company->invoice_task_timelog, 'auto_start_tasks' => (bool) $company->auto_start_tasks, 'invoice_task_documents' => (bool) $company->invoice_task_documents, + 'show_tasks_table' => (bool) $company->show_tasks_table, 'use_credits_payment' => 'always', //todo remove ]; } diff --git a/app/Transformers/ExpenseCategoryTransformer.php b/app/Transformers/ExpenseCategoryTransformer.php index 9a5d522ef537..21df0ade7563 100644 --- a/app/Transformers/ExpenseCategoryTransformer.php +++ b/app/Transformers/ExpenseCategoryTransformer.php @@ -23,7 +23,7 @@ class ExpenseCategoryTransformer extends EntityTransformer { use MakesHash; use SoftDeletes; - + protected $defaultIncludes = [ ]; @@ -34,9 +34,8 @@ class ExpenseCategoryTransformer extends EntityTransformer ]; - /** - * @param Expense $expense_category + * @param ExpenseCategory $expense_category * * @return array */ diff --git a/app/Transformers/ExpenseTransformer.php b/app/Transformers/ExpenseTransformer.php index e3278bd2b8ca..2760fe9c0033 100644 --- a/app/Transformers/ExpenseTransformer.php +++ b/app/Transformers/ExpenseTransformer.php @@ -58,7 +58,8 @@ class ExpenseTransformer extends EntityTransformer 'client_id' => $this->encodePrimaryKey($expense->client_id), 'bank_id' => (string) $expense->bank_id ?: '', 'invoice_currency_id' => (string) $expense->invoice_currency_id ?: '', - 'expense_currency_id' => (string) $expense->expense_currency_id ?: '', + 'expense_currency_id' => '', //todo remove redundant in 5.0.25 + 'currency_id' => (string) $expense->expense_currency_id ?: '', 'category_id' => $this->encodePrimaryKey($expense->category_id), 'payment_type_id' => (string) $expense->payment_type_id ?: '', 'recurring_expense_id' => (string) $expense->recurring_expense_id ?: '', @@ -78,8 +79,8 @@ class ExpenseTransformer extends EntityTransformer 'public_notes' => (string) $expense->public_notes ?: '', 'transaction_reference' => (string) $expense->transaction_reference ?: '', 'transaction_id' => (string) $expense->transaction_id ?: '', - //'date' => $expense->date ?: '', - 'expense_date' => $expense->date ?: '', + 'date' => $expense->date ?: '', + //'expense_date' => $expense->date ?: '', 'number' => (string)$expense->number ?: '', 'payment_date' => $expense->payment_date ?: '', 'custom_value1' => $expense->custom_value1 ?: '', diff --git a/app/Transformers/GatewayTransformer.php b/app/Transformers/GatewayTransformer.php index 56006f4d9b78..59580591b325 100644 --- a/app/Transformers/GatewayTransformer.php +++ b/app/Transformers/GatewayTransformer.php @@ -31,8 +31,7 @@ class GatewayTransformer extends EntityTransformer ]; /** - * @param Client $client - * + * @param Gateway $gateway * @return array */ public function transform(Gateway $gateway) diff --git a/app/Transformers/GroupSettingTransformer.php b/app/Transformers/GroupSettingTransformer.php index 6a3aa8e349f7..1a0b730a2443 100644 --- a/app/Transformers/GroupSettingTransformer.php +++ b/app/Transformers/GroupSettingTransformer.php @@ -13,6 +13,7 @@ namespace App\Transformers; use App\Models\GroupSetting; use App\Utils\Traits\MakesHash; +use stdClass; /** * class ClientTransformer. @@ -31,8 +32,7 @@ class GroupSettingTransformer extends EntityTransformer ]; /** - * @param Client $client - * + * @param GroupSetting $group_setting * @return array */ public function transform(GroupSetting $group_setting) @@ -40,7 +40,7 @@ class GroupSettingTransformer extends EntityTransformer return [ 'id' => $this->encodePrimaryKey($group_setting->id), 'name' => (string) $group_setting->name ?: '', - 'settings' => $group_setting->settings ?: new \stdClass, + 'settings' => $group_setting->settings ?: new stdClass, 'created_at' => (int) $group_setting->created_at, 'updated_at' => (int) $group_setting->updated_at, 'archived_at' => (int) $group_setting->deleted_at, diff --git a/app/Transformers/ProductTransformer.php b/app/Transformers/ProductTransformer.php index 1b9a592f09f4..db5b8473563f 100644 --- a/app/Transformers/ProductTransformer.php +++ b/app/Transformers/ProductTransformer.php @@ -17,6 +17,7 @@ use App\Models\Product; use App\Models\User; use App\Transformers\DocumentTransformer; use App\Utils\Traits\MakesHash; +use League\Fractal\Resource\Collection; class ProductTransformer extends EntityTransformer { @@ -38,7 +39,7 @@ class ProductTransformer extends EntityTransformer /** * @param Product $product * - * @return \League\Fractal\Resource\Collection + * @return Collection */ public function includeUser(Product $product) { @@ -50,7 +51,7 @@ class ProductTransformer extends EntityTransformer /** * @param Product $product * - * @return \League\Fractal\Resource\Collection + * @return Collection */ public function includeCompany(Product $product) { diff --git a/app/Transformers/Shop/CompanyShopProfileTransformer.php b/app/Transformers/Shop/CompanyShopProfileTransformer.php index 429a16b644c2..1aa70ede4f38 100644 --- a/app/Transformers/Shop/CompanyShopProfileTransformer.php +++ b/app/Transformers/Shop/CompanyShopProfileTransformer.php @@ -41,6 +41,7 @@ use App\Transformers\PaymentTermTransformer; use App\Transformers\TaskTransformer; use App\Transformers\WebhookTransformer; use App\Utils\Traits\MakesHash; +use stdClass; /** * Class CompanyShopProfileTransformer. @@ -68,7 +69,7 @@ class CompanyShopProfileTransformer extends EntityTransformer */ public function transform(Company $company) { - $std = new \stdClass; + $std = new stdClass; return [ 'company_key' => (string) $company->company_key ?: '', @@ -78,7 +79,7 @@ class CompanyShopProfileTransformer extends EntityTransformer private function trimCompany($company) { - $std = new \stdClass; + $std = new stdClass; $trimmed_company_settings = [ 'custom_fields' => $company->custom_fields ?: $std, @@ -100,7 +101,7 @@ class CompanyShopProfileTransformer extends EntityTransformer 'vat_number' => $company->settings->vat_number, ]; - $new_settings = new \stdClass; + $new_settings = new stdClass; foreach ($trimmed_company_settings as $key => $value) { $new_settings->{$key} = $value; diff --git a/app/Transformers/SystemLogTransformer.php b/app/Transformers/SystemLogTransformer.php index 965bf69112cc..37ccc13a78f6 100644 --- a/app/Transformers/SystemLogTransformer.php +++ b/app/Transformers/SystemLogTransformer.php @@ -17,7 +17,7 @@ class SystemLogTransformer extends EntityTransformer protected $availableIncludes = []; /** - * @param Activity $system_log + * @param SystemLog $system_log * * @return array */ diff --git a/app/Transformers/UserTransformer.php b/app/Transformers/UserTransformer.php index 886840a35eb4..2540693c59af 100644 --- a/app/Transformers/UserTransformer.php +++ b/app/Transformers/UserTransformer.php @@ -54,7 +54,6 @@ class UserTransformer extends EntityTransformer 'created_at' => (int) $user->created_at, 'updated_at' => (int) $user->updated_at, 'archived_at' => (int) $user->deleted_at, - 'created_at' => (int) $user->created_at, 'is_deleted' => (bool) $user->is_deleted, 'phone' => $user->phone ?: '', 'email_verified_at' => $user->getEmailVerifiedAt(), diff --git a/app/Transformers/VendorContactTransformer.php b/app/Transformers/VendorContactTransformer.php index fb3382c212dc..ea01cb8b8da3 100644 --- a/app/Transformers/VendorContactTransformer.php +++ b/app/Transformers/VendorContactTransformer.php @@ -22,7 +22,7 @@ class VendorContactTransformer extends EntityTransformer use MakesHash; /** - * @param ClientContact $vendor + * @param VendorContact $vendor * * @return array */ diff --git a/app/Transformers/VendorTransformer.php b/app/Transformers/VendorTransformer.php index 5f5da73700fa..44de810166a5 100644 --- a/app/Transformers/VendorTransformer.php +++ b/app/Transformers/VendorTransformer.php @@ -20,6 +20,7 @@ use App\Transformers\ActivityTransformer; use App\Transformers\VendorContactTransformer; use App\Transformers\VendorGatewayTokenTransformer; use App\Utils\Traits\MakesHash; +use League\Fractal\Resource\Collection; /** * class VendorTransformer. @@ -44,7 +45,7 @@ class VendorTransformer extends EntityTransformer /** * @param Vendor $vendor * - * @return \League\Fractal\Resource\Collection + * @return Collection */ public function includeActivities(Vendor $vendor) { @@ -56,7 +57,7 @@ class VendorTransformer extends EntityTransformer /** * @param Vendor $vendor * - * @return \League\Fractal\Resource\Collection + * @return Collection */ public function includeContacts(Vendor $vendor) { diff --git a/app/Transformers/WebhookTransformer.php b/app/Transformers/WebhookTransformer.php index a5557daae0ad..8c4f62884ca9 100644 --- a/app/Transformers/WebhookTransformer.php +++ b/app/Transformers/WebhookTransformer.php @@ -17,7 +17,7 @@ class WebhookTransformer extends EntityTransformer protected $availableIncludes = []; /** - * @param Activity $webhook + * @param Webhook $webhook * * @return array */ diff --git a/app/Utils/CurlUtils.php b/app/Utils/CurlUtils.php index 94b2f3330e0c..abff544cd058 100644 --- a/app/Utils/CurlUtils.php +++ b/app/Utils/CurlUtils.php @@ -11,6 +11,8 @@ namespace App\Utils; +use Log; + class CurlUtils { public static function post($url, $data, $headers = false) @@ -42,7 +44,7 @@ class CurlUtils $response = curl_exec($curl); if ($error = curl_error($curl)) { - \Log::error('CURL Error #'.curl_errno($curl).': '.$error); + Log::error('CURL Error #'.curl_errno($curl).': '.$error); } curl_close($curl); diff --git a/app/Utils/EmailStats.php b/app/Utils/EmailStats.php index 14daf255b7ee..51481387dadc 100644 --- a/app/Utils/EmailStats.php +++ b/app/Utils/EmailStats.php @@ -57,7 +57,7 @@ class EmailStats * Iterates through a list of companies * and flushes the email sent data. * - * @param string $companies The company key + * @param Collection $companies The company key * @return void */ public static function clearCompanies($companies) diff --git a/app/Utils/Helpers.php b/app/Utils/Helpers.php index 38bc2feacc9b..961daef961be 100644 --- a/app/Utils/Helpers.php +++ b/app/Utils/Helpers.php @@ -13,6 +13,7 @@ namespace App\Utils; use App\Models\Client; +use stdClass; class Helpers { @@ -21,7 +22,7 @@ class Helpers if(!$client){ $elements['signature'] = ''; - $elements['settings'] = new \stdClass; + $elements['settings'] = new stdClass; $elements['whitelabel'] = true; return $elements; diff --git a/app/Utils/HtmlEngine.php b/app/Utils/HtmlEngine.php index aabbe2e2754b..8269c8127cd9 100644 --- a/app/Utils/HtmlEngine.php +++ b/app/Utils/HtmlEngine.php @@ -19,6 +19,7 @@ use App\Models\QuoteInvitation; use App\Models\RecurringInvoiceInvitation; use App\Utils\Number; use App\Utils\Traits\MakesDates; +use Exception; use Illuminate\Support\Facades\App; class HtmlEngine @@ -89,7 +90,7 @@ class HtmlEngine public function buildEntityDataArray() :array { if (! $this->client->currency()) { - throw new \Exception(debug_backtrace()[1]['function'], 1); + throw new Exception(debug_backtrace()[1]['function'], 1); exit; } @@ -250,8 +251,8 @@ class HtmlEngine $data['$contact.phone'] = ['value' => $this->contact->phone, 'label' => ctrans('texts.phone')]; $data['$contact.name'] = ['value' => isset($this->contact) ? $this->contact->present()->name() : 'no contact name on record', 'label' => ctrans('texts.contact_name')]; - $data['$contact.first_name'] = ['value' => isset($contact) ? $contact->first_name : '', 'label' => ctrans('texts.first_name')]; - $data['$contact.last_name'] = ['value' => isset($contact) ? $contact->last_name : '', 'label' => ctrans('texts.last_name')]; + $data['$contact.first_name'] = ['value' => isset($this->contact) ? $this->contact->first_name : '', 'label' => ctrans('texts.first_name')]; + $data['$contact.last_name'] = ['value' => isset($this->contact) ? $this->contact->last_name : '', 'label' => ctrans('texts.last_name')]; $data['$contact.custom1'] = ['value' => isset($this->contact) ? $this->contact->custom_value1 : ' ', 'label' => $this->makeCustomField('contact1')]; $data['$contact.custom2'] = ['value' => isset($this->contact) ? $this->contact->custom_value2 : ' ', 'label' => $this->makeCustomField('contact1')]; $data['$contact.custom3'] = ['value' => isset($this->contact) ? $this->contact->custom_value3 : ' ', 'label' => $this->makeCustomField('contact1')]; @@ -370,7 +371,7 @@ class HtmlEngine array_multisort($arrKeysLength, SORT_DESC, $data); //info(print_r($data,1)); - + return $data; } @@ -498,7 +499,7 @@ class HtmlEngine if ($custom_fields && property_exists($custom_fields, $field)) { $custom_field = $custom_fields->{$field}; - + $custom_field_parts = explode('|', $custom_field); return $custom_field_parts[0]; @@ -524,7 +525,7 @@ class HtmlEngine case 'date': return $this->formatDate($value, $this->client->date_format()); break; - + default: return is_null($value) ? '' : $value; break; diff --git a/app/Utils/Number.php b/app/Utils/Number.php index 977b83b0fb20..3ec322a7cf4c 100644 --- a/app/Utils/Number.php +++ b/app/Utils/Number.php @@ -53,9 +53,7 @@ class Number * Formats a given value based on the clients currency * BACK to a float. * - * @param string $value The formatted number to be converted back to float - * @param object $currency The client currency object - * + * @param string $value The formatted number to be converted back to float * @return float The formatted value */ public static function parseFloat($value) @@ -76,10 +74,8 @@ class Number /** * Formats a given value based on the clients currency AND country. * - * @param floatval $value The number to be formatted - * @param object $currency The client currency object - * @param object $country The client country - * + * @param floatval $value The number to be formatted + * @param $client * @return string The formatted value */ public static function formatMoney($value, $client) :string diff --git a/app/Utils/PhantomJS/Phantom.php b/app/Utils/PhantomJS/Phantom.php index 700e64dbea16..5dcd14d330c8 100644 --- a/app/Utils/PhantomJS/Phantom.php +++ b/app/Utils/PhantomJS/Phantom.php @@ -19,6 +19,7 @@ use App\Models\QuoteInvitation; use App\Services\PdfMaker\Design as PdfDesignModel; use App\Services\PdfMaker\Design as PdfMakerDesign; use App\Services\PdfMaker\PdfMaker as PdfMakerService; +use App\Utils\CurlUtils; use App\Utils\HtmlEngine; use App\Utils\Traits\MakesHash; use Illuminate\Support\Facades\App; @@ -33,9 +34,9 @@ class Phantom * Generate a PDF from the * Phantom JS API. * - * @return pdf HTML to PDF conversion + * @param $invitation */ - public function generate($invitation) + public function generate($invitation) { $entity = false; @@ -72,7 +73,7 @@ class Phantom $secret = config('ninja.phantomjs_key'); $phantom_url = "https://phantomjscloud.com/api/browser/v2/{$key}/?request=%7Burl:%22{$url}%22,renderType:%22pdf%22%7D"; - $pdf = \App\Utils\CurlUtils::get($phantom_url); + $pdf = CurlUtils::get($phantom_url); Storage::makeDirectory($path, 0775); @@ -89,7 +90,7 @@ class Phantom $invitation_instance = 'App\Models\\'.Str::camel(ucfirst($entity)).'Invitation'; $invitation = $invitation_instance::whereRaw('BINARY `key`= ?', [$invitation_key])->first(); - + $entity_obj = $invitation->{$entity}; $entity_obj->load('client'); diff --git a/app/Utils/SystemHealth.php b/app/Utils/SystemHealth.php index 50446575b464..4fb7997b2c7d 100644 --- a/app/Utils/SystemHealth.php +++ b/app/Utils/SystemHealth.php @@ -15,6 +15,7 @@ use App\Http\Requests\Setup\CheckDatabaseRequest; use App\Http\Requests\Setup\CheckMailRequest; use App\Libraries\MultiDB; use App\Mail\TestMailServer; +use Exception; use Illuminate\Support\Arr; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Mail; @@ -43,6 +44,7 @@ class SystemHealth /** * Check loaded extensions / PHP version / DB Connections. * + * @param bool $check_database * @return array Result set of checks */ public static function check($check_database = true) : array @@ -87,7 +89,7 @@ class SystemHealth if ($exitCode === 0) { return empty($foo[0]) ? 'Found node, but no version information' : $foo[0]; } - } catch (\Exception $e) { + } catch (Exception $e) { return false; } } @@ -100,7 +102,7 @@ class SystemHealth if ($exitCode === 0) { return empty($foo[0]) ? 'Found npm, but no version information' : $foo[0]; } - } catch (\Exception $e) { + } catch (Exception $e) { return false; } } @@ -112,7 +114,7 @@ class SystemHealth try { $pdo = DB::connection()->getPdo(); $result = true; - } catch (\Exception $e) { + } catch (Exception $e) { $result = false; } @@ -128,7 +130,7 @@ class SystemHealth if ($exitCode === 0) { return empty($foo[0]) ? 'Found php cli, but no version information' : $foo[0]; } - } catch (\Exception $e) { + } catch (Exception $e) { return false; } @@ -164,7 +166,7 @@ class SystemHealth $pdo = DB::connection()->getPdo(); $result[] = [DB::connection()->getDatabaseName() => true]; $result['success'] = true; - } catch (\Exception $e) { + } catch (Exception $e) { $result[] = [config('database.connections.'.config('database.default').'.database') => false]; $result['success'] = false; $result['message'] = $e->getMessage(); @@ -177,7 +179,7 @@ class SystemHealth $pdo = DB::connection()->getPdo(); $result[] = [DB::connection()->getDatabaseName() => true]; $result['success'] = true; - } catch (\Exception $e) { + } catch (Exception $e) { $result[] = [config('database.connections.'.config('database.default').'.database') => false]; $result['success'] = false; } @@ -208,7 +210,7 @@ class SystemHealth try { Mail::to(config('mail.from.address')) ->send(new TestMailServer('Email Server Works!', config('mail.from.address'))); - } catch (\Exception $e) { + } catch (Exception $e) { return $e->getMessage(); } diff --git a/app/Utils/TemplateEngine.php b/app/Utils/TemplateEngine.php index f83e917fb0db..1adbe37f2659 100644 --- a/app/Utils/TemplateEngine.php +++ b/app/Utils/TemplateEngine.php @@ -20,6 +20,7 @@ use App\Utils\HtmlEngine; use App\Utils\Traits\MakesHash; use App\Utils\Traits\MakesInvoiceHtml; use App\Utils\Traits\MakesTemplateData; +use DB; use League\CommonMark\CommonMarkConverter; class TemplateEngine @@ -180,7 +181,7 @@ class TemplateEngine $data['title'] = ''; $data['body'] = '$body'; $data['footer'] = ''; - + $data = array_merge($data, Helpers::sharedEmailVariables($this->entity_obj->client)); if ($email_style == 'custom') { @@ -212,7 +213,7 @@ class TemplateEngine private function mockEntity() { - \DB::beginTransaction(); + DB::beginTransaction(); $client = Client::factory()->create([ 'user_id' => auth()->user()->id, @@ -252,7 +253,7 @@ class TemplateEngine private function tearDown() { - \DB::rollBack(); + DB::rollBack(); } diff --git a/app/Utils/Traits/CleanLineItems.php b/app/Utils/Traits/CleanLineItems.php index 2cb6081832d9..13451e35d654 100644 --- a/app/Utils/Traits/CleanLineItems.php +++ b/app/Utils/Traits/CleanLineItems.php @@ -36,6 +36,7 @@ trait CleanLineItems /** * Sets default values for the line_items. + * @param $item * @return $this */ private function cleanLineItem($item) diff --git a/app/Utils/Traits/ClientGroupSettingsSaver.php b/app/Utils/Traits/ClientGroupSettingsSaver.php index 97d5f67738da..94b8c239ae0b 100644 --- a/app/Utils/Traits/ClientGroupSettingsSaver.php +++ b/app/Utils/Traits/ClientGroupSettingsSaver.php @@ -12,6 +12,7 @@ namespace App\Utils\Traits; use App\DataMapper\CompanySettings; +use stdClass; /** * Class ClientGroupSettingsSaver. @@ -138,9 +139,9 @@ trait ClientGroupSettingsSaver * so that it can be saved cleanly * * @param array $settings The settings request() array - * @return object stdClass object + * @return stdClass stdClass object */ - private function checkSettingType($settings) : \stdClass + private function checkSettingType($settings) : stdClass { $settings = (object) $settings; $casts = CompanySettings::$casts; @@ -197,7 +198,8 @@ trait ClientGroupSettingsSaver switch ($key) { case 'int': case 'integer': - return ctype_digit(strval(abs($value))); + // return ctype_digit(strval(abs($value))); + return ctype_digit(strval($value)); case 'real': case 'float': case 'double': @@ -212,8 +214,7 @@ trait ClientGroupSettingsSaver case 'array': return is_array($value); case 'json': - json_decode($string); - + json_decode($value); return json_last_error() == JSON_ERROR_NONE; default: return false; diff --git a/app/Utils/Traits/CompanyGatewayFeesAndLimitsSaver.php b/app/Utils/Traits/CompanyGatewayFeesAndLimitsSaver.php index 989812584993..10f64d37563d 100644 --- a/app/Utils/Traits/CompanyGatewayFeesAndLimitsSaver.php +++ b/app/Utils/Traits/CompanyGatewayFeesAndLimitsSaver.php @@ -71,7 +71,7 @@ trait CompanyGatewayFeesAndLimitsSaver case 'array': return is_array($value); case 'json': - json_decode($string); + json_decode($value); return json_last_error() == JSON_ERROR_NONE; default: diff --git a/app/Utils/Traits/CompanySettingsSaver.php b/app/Utils/Traits/CompanySettingsSaver.php index a8b173bb0aa3..9e71d4611f57 100644 --- a/app/Utils/Traits/CompanySettingsSaver.php +++ b/app/Utils/Traits/CompanySettingsSaver.php @@ -14,6 +14,7 @@ namespace App\Utils\Traits; use App\DataMapper\CompanySettings; use App\Models\Company; use App\Utils\Ninja; +use stdClass; /** * Class CompanySettingsSaver. @@ -130,9 +131,9 @@ trait CompanySettingsSaver * so that it can be saved cleanly * * @param array $settings The settings request() array - * @return object stdClass object + * @return stdClass stdClass object */ - private function checkSettingType($settings) : \stdClass + private function checkSettingType($settings) : stdClass { $settings = (object) $settings; @@ -223,7 +224,7 @@ trait CompanySettingsSaver case 'array': return is_array($value); case 'json': - json_decode($string); + json_decode($value); return json_last_error() == JSON_ERROR_NONE; default: diff --git a/app/Utils/Traits/GeneratesCounter.php b/app/Utils/Traits/GeneratesCounter.php index 7cf5b771ed4e..739321840703 100644 --- a/app/Utils/Traits/GeneratesCounter.php +++ b/app/Utils/Traits/GeneratesCounter.php @@ -11,6 +11,7 @@ namespace App\Utils\Traits; +use App\Models\BaseModel; use App\Models\Client; use App\Models\Credit; use App\Models\Expense; @@ -19,6 +20,7 @@ use App\Models\Payment; use App\Models\Project; use App\Models\Quote; use App\Models\RecurringInvoice; +use App\Models\Task; use App\Models\Timezone; use App\Models\Vendor; use Illuminate\Support\Carbon; @@ -34,8 +36,9 @@ trait GeneratesCounter /** * Gets the next invoice number. * - * @param \App\Models\Client $client The client + * @param Client $client The client * + * @param Invoice|null $invoice * @return string The next invoice number. */ public function getNextInvoiceNumber(Client $client, ?Invoice $invoice) :string @@ -80,7 +83,7 @@ trait GeneratesCounter /** * Gets the next credit number. * - * @param \App\Models\Client $client The client + * @param Client $client The client * * @return string The next credit number. */ @@ -190,6 +193,7 @@ trait GeneratesCounter /** * Payment Number Generator. + * @param Client $client * @return string The payment number */ public function getNextPaymentNumber(Client $client) :string @@ -226,50 +230,13 @@ trait GeneratesCounter return (string) $payment_number; } - /** - * Project Number Generator. - * @return string The project number - */ - public function getNextProjectNumber(Client $client) :string - { - - //Reset counters if enabled - $this->resetCounters($client); - - $is_client_counter = false; - - //todo handle if we have specific client patterns in the future - $pattern = $client->company->settings->project_number_pattern; - - //Determine if we are using client_counters - if (strpos($pattern, 'client_counter') === false) { - $counter = $client->company->settings->project_number_counter; - } else { - $counter = $client->settings->project_number_counter; - $is_client_counter = true; - } - - //Return a valid counter - $pattern = ''; - $padding = $client->getSetting('counter_padding'); - $project_number = $this->checkEntityNumber(Project::class, $client, $counter, $padding, $pattern); - - //increment the correct invoice_number Counter (company vs client) - if ($is_client_counter) { - $this->incrementCounter($client, 'project_number_counter'); - } else { - $this->incrementCounter($client->company, 'project_number_counter'); - } - - return (string) $project_number; - } - /** * Gets the next client number. * - * @param \App\Models\Client $client The client + * @param Client $client The client * * @return string The next client number. + * @throws \Exception */ public function getNextClientNumber(Client $client) :string { @@ -290,7 +257,7 @@ trait GeneratesCounter /** * Gets the next client number. * - * @param \App\Models\Vendor $vendor The vendor + * @param Vendor $vendor The vendor * @return string The next vendor number. */ public function getNextVendorNumber(Vendor $vendor) :string @@ -307,11 +274,71 @@ trait GeneratesCounter return $vendor_number; } + /** + * Project Number Generator. + * @param Project $project + * @return string The project number + */ + public function getNextProjectNumber(Project $project) :string + { + + $this->resetCompanyCounters($project->company); + + $counter = $project->company->settings->project_number_counter; + $setting_entity = $project->company->settings->project_number_counter; + + $project_number = $this->checkEntityNumber(Project::class, $project, $counter, $project->company->settings->counter_padding, $project->company->settings->project_number_pattern); + + $this->incrementCounter($project->company, 'project_number_counter'); + + return $project_number; + } + + + /** + * Gets the next task number. + * + * @param Task $task The task + * @return string The next task number. + */ + public function getNextTaskNumber(Task $task) :string + { + $this->resetCompanyCounters($task->company); + + $counter = $task->company->settings->task_number_counter; + $setting_entity = $task->company->settings->task_number_counter; + + $task_number = $this->checkEntityNumber(Task::class, $task, $counter, $task->company->settings->counter_padding, $task->company->settings->task_number_pattern); + + $this->incrementCounter($task->company, 'task_number_counter'); + + return $task_number; + } + + /** + * Gets the next expense number. + * + * @param Expense $expense The expense + * @return string The next expense number. + */ + public function getNextExpenseNumber(Expense $expense) :string + { + $this->resetCompanyCounters($expense->company); + + $counter = $expense->company->settings->expense_number_counter; + $setting_entity = $expense->company->settings->expense_number_counter; + + $expense_number = $this->checkEntityNumber(Expense::class, $expense, $counter, $expense->company->settings->counter_padding, $expense->company->settings->expense_number_pattern); + + $this->incrementCounter($expense->company, 'expense_number_counter'); + + return $expense_number; + } /** * Determines if it has shared counter. * - * @param \App\Models\Client $client The client + * @param Client $client The client * * @return bool True if has shared counter, False otherwise. */ @@ -323,10 +350,13 @@ trait GeneratesCounter /** * Checks that the number has not already been used. * - * @param Collection $entity The entity ie App\Models\Client, Invoice, Quote etc - * @param int $counter The counter - * @param int $padding The padding + * @param $class + * @param Collection $entity The entity ie App\Models\Client, Invoice, Quote etc + * @param int $counter The counter + * @param int $padding The padding * + * @param $pattern + * @param string $prefix * @return string The padded and prefixed entity number */ private function checkEntityNumber($class, $entity, $counter, $padding, $pattern, $prefix = '') @@ -340,13 +370,13 @@ trait GeneratesCounter $number = $this->prefixCounter($number, $prefix); - if ($class == Invoice::class || $class == RecurringInvoice::class) + if ($class == Invoice::class || $class == RecurringInvoice::class) $check = $class::whereCompanyId($entity->company_id)->whereNumber($number)->withTrashed()->first(); - elseif ($class == Client::class || $class == Vendor::class) + elseif ($class == Client::class || $class == Vendor::class) $check = $class::whereCompanyId($entity->company_id)->whereIdNumber($number)->withTrashed()->first(); else $check = $class::whereCompanyId($entity->company_id)->whereNumber($number)->withTrashed()->first(); - + $counter++; } while ($check); @@ -360,15 +390,15 @@ trait GeneratesCounter { if($entity = $class::whereCompanyId($entity->company_id)->whereNumber($number)->withTrashed()->first()) return false; - + return true; } /** * Saves counters at both the company and client level. * - * @param \App\Models\Client $client The client - * @param \App\Models\Client|int|string $counter_name The counter name + * @param $entity + * @param string $counter_name The counter name */ private function incrementCounter($entity, string $counter_name) :void { @@ -400,7 +430,7 @@ trait GeneratesCounter * @param int $counter The counter * @param int $padding The padding * - * @return int the padded counter + * @return string the padded counter */ private function padCounter($counter, $padding) :string { @@ -411,7 +441,7 @@ trait GeneratesCounter * If we are using counter reset, * check if we need to reset here. * - * @param Client $client client entity + * @param Client $client client entity * @return void */ private function resetCounters(Client $client) @@ -523,13 +553,13 @@ trait GeneratesCounter $settings->expense_number_counter = 1; $company->settings = $settings; - $company->save(); + $company->save(); } /** * Formats a entity number by pattern * - * @param \App\Models\BaseModel $entity The entity object + * @param BaseModel $entity The entity object * @param string $counter The counter * @param null|string $pattern The pattern * diff --git a/app/Utils/Traits/Inviteable.php b/app/Utils/Traits/Inviteable.php index 3ff2afda17af..af598a3ce12b 100644 --- a/app/Utils/Traits/Inviteable.php +++ b/app/Utils/Traits/Inviteable.php @@ -44,13 +44,9 @@ trait Inviteable public function getLink() :string { - //$entity_type = strtolower(class_basename($this->entityType())); $entity_type = Str::snake(class_basename($this->entityType())); - //$this->with('company','contact',$this->entity_type); - //$this->with('company'); - $domain = isset($this->company->portal_domain) ?: $this->company->domain(); switch ($this->company->portal_mode) { @@ -65,6 +61,9 @@ trait Inviteable return $domain.'client/'.$entity_type.'/'.$this->key; break; + default: + return ''; + break; } } diff --git a/app/Utils/Traits/MakesDates.php b/app/Utils/Traits/MakesDates.php index e18659b095a9..739e24f741ab 100644 --- a/app/Utils/Traits/MakesDates.php +++ b/app/Utils/Traits/MakesDates.php @@ -12,6 +12,8 @@ namespace App\Utils\Traits; use Carbon\Carbon; +use DateTime; +use DateTimeZone; use Illuminate\Support\Facades\Log; /** @@ -31,14 +33,13 @@ trait MakesDates $utc_date = $this->convertToDateObject($utc_date); } - return $utc_date->setTimezone(new \DateTimeZone($timezone)); + return $utc_date->setTimezone(new DateTimeZone($timezone)); } /** * Converts from client timezone to UTC. - * @param datetime object $utc_date - * @param string $timezone ie Australia/Sydney - * @return Carbon Carbon object + * @param datetime object $utc_date + * @return Carbon Carbon object */ public function createUtcDate($client_date) { @@ -46,20 +47,22 @@ trait MakesDates $client_date = $this->convertToDateObject($client_date); } - return $client_date->setTimezone(new \DateTimeZone('GMT')); + return $client_date->setTimezone(new DateTimeZone('GMT')); } /** * Formats a date. - * @param Carbon/String $date Carbon object or date string + * @param Carbon|string $date Carbon object or date string * @param string $format The date display format * @return string The formatted date */ public function formatDate($date, string $format) :string { - if (! $date || strlen($date) < 1) { + if(!isset($date)) return ''; - } + // if (!$date || strlen($date) < 1) { + // return ''; + // } if (is_string($date)) { $date = $this->convertToDateObject($date); @@ -81,6 +84,6 @@ trait MakesDates private function convertToDateObject($date) { - return new \DateTime($date); + return new DateTime($date); } } diff --git a/app/Utils/Traits/MakesHash.php b/app/Utils/Traits/MakesHash.php index b957494ea7d9..1571c73c4475 100644 --- a/app/Utils/Traits/MakesHash.php +++ b/app/Utils/Traits/MakesHash.php @@ -14,6 +14,7 @@ namespace App\Utils\Traits; use App\Exceptions\ModelNotFoundException; use App\Libraries\MultiDB; use Hashids\Hashids; +use Illuminate\Support\Str; /** * Class MakesHash. @@ -26,7 +27,7 @@ trait MakesHash */ public function createHash() : string { - return \Illuminate\Support\Str::random(config('ninja.key_length')); + return Str::random(config('ninja.key_length')); } /** @@ -37,7 +38,7 @@ trait MakesHash */ public function createDbHash($db) : string { - return $this->getDbCode($db).'-'.\Illuminate\Support\Str::random(config('ninja.key_length')); + return $this->getDbCode($db).'-'. Str::random(config('ninja.key_length')); } /** @@ -66,7 +67,8 @@ trait MakesHash $decoded_array = $hashids->decode($value); if (! is_array($decoded_array)) { - throw new ModelNotFoundException('Resource not found', 1); + throw new \Exception("Invalid Primary Key"); + //response()->json(['error'=>'Invalid primary key'], 400); } return $decoded_array[0]; diff --git a/app/Utils/Traits/MakesInvoiceHtml.php b/app/Utils/Traits/MakesInvoiceHtml.php index 3c747ebb21f1..7a6b25689cf2 100644 --- a/app/Utils/Traits/MakesInvoiceHtml.php +++ b/app/Utils/Traits/MakesInvoiceHtml.php @@ -12,10 +12,13 @@ namespace App\Utils\Traits; use App\Designs\Designer; +use Exception; use Illuminate\Support\Facades\App; use Illuminate\Support\Facades\Blade; use Illuminate\Support\Facades\File; +use Illuminate\View\Factory; use Symfony\Component\Debug\Exception\FatalThrowableError; +use Throwable; /** * Class MakesInvoiceHtml. @@ -26,12 +29,12 @@ trait MakesInvoiceHtml * Generate the HTML invoice parsing variables * and generating the final invoice HTML. * - * @param string $design either the path to the design template, OR the full design template string - * @param Collection $invoice The invoice object - * + * @param $labels + * @param $values + * @param $section + * @return string The invoice string in HTML format * @deprecated replaced by generateEntityHtml * - * @return string The invoice string in HTML format */ // public function generateEntityHtml(Designer $designer, $entity, $contact = null) :string // { @@ -84,13 +87,14 @@ trait MakesInvoiceHtml /** * Parses the blade file string and processes the template variables. * - * @param string $string The Blade file string - * @param array $data The array of template variables + * @param string $string The Blade file string + * @param array $data The array of template variables * @return string The return HTML string + * @throws FatalThrowableError */ public function renderView($string, $data = []) :string { - $data['__env'] = app(\Illuminate\View\Factory::class); + $data['__env'] = app(Factory::class); $php = Blade::compileString($string); @@ -100,13 +104,13 @@ trait MakesInvoiceHtml try { eval('?'.'>'.$php); - } catch (\Exception $e) { + } catch (Exception $e) { while (ob_get_level() > $obLevel) { ob_end_clean(); } throw $e; - } catch (\Throwable $e) { + } catch (Throwable $e) { while (ob_get_level() > $obLevel) { ob_end_clean(); } diff --git a/app/Utils/Traits/MakesInvoiceValues.php b/app/Utils/Traits/MakesInvoiceValues.php index c4f02543c46a..edb30cc5826f 100644 --- a/app/Utils/Traits/MakesInvoiceValues.php +++ b/app/Utils/Traits/MakesInvoiceValues.php @@ -141,6 +141,7 @@ trait MakesInvoiceValues * Transforms all placeholders * to invoice values. * + * @param null $contact * @return array returns an array * of keyed labels (appended with _label) */ @@ -224,7 +225,7 @@ trait MakesInvoiceValues // $data['$number'] = ['value' => $this->number ?: ' ', 'label' => ctrans('texts.quote_number')]; // $data['$entity.terms'] = ['value' => $this->terms ?: ' ', 'label' => ctrans('texts.quote_terms')]; // $data['$terms'] = &$data['$entity.terms']; - + // if($invitation) // $data['$view_link'] = ['value' => ''.ctrans('texts.view_quote').'', 'label' => ctrans('texts.view_quote')]; // // $data['$view_link'] = ['value' => $invitation->getLink(), 'label' => ctrans('texts.view_quote')]; @@ -235,7 +236,7 @@ trait MakesInvoiceValues // $data['$number'] = ['value' => $this->number ?: ' ', 'label' => ctrans('texts.credit_number')]; // $data['$entity.terms'] = ['value' => $this->terms ?: ' ', 'label' => ctrans('texts.credit_terms')]; // $data['$terms'] = &$data['$entity.terms']; - + // if($invitation) // $data['$view_link'] = ['value' => ''.ctrans('texts.view_credit').'', 'label' => ctrans('texts.view_credit')]; // // $data['$view_link'] = ['value' => $invitation->getLink(), 'label' => ctrans('texts.view_credit')]; @@ -476,7 +477,9 @@ trait MakesInvoiceValues /** * V2 of building a table body for PDFs. - * @param array $columns The array (or string of column headers) + * @param array $default_columns + * @param $user_columns + * @param string $table_prefix * @return string injectable HTML string */ public function buildTableBody(array $default_columns, $user_columns, string $table_prefix) :?string @@ -588,7 +591,8 @@ trait MakesInvoiceValues /** * Formats the line items for display. - * @param array $items The array of invoice items + * @param array $items The array of invoice items + * @param string $table_type * @return array The formatted array of invoice items */ public function transformLineItems($items, $table_type = '$product') :array @@ -603,13 +607,13 @@ trait MakesInvoiceValues if ($table_type == '$product' && $item->type_id != 1) { if ($item->type_id != 4) { continue; - } + } } if ($table_type == '$task' && $item->type_id != 2) { if ($item->type_id != 4) { continue; - } + } } $data[$key][$table_type.'.product_key'] = $item->product_key; @@ -808,7 +812,7 @@ trait MakesInvoiceValues } @media print { - thead {display: table-header-group;} + thead {display: table-header-group;} tfoot {display: table-footer-group;} button {display: none;} body {margin: 0;} @@ -826,7 +830,7 @@ trait MakesInvoiceValues } @media print { - thead {display: table-header-group;} + thead {display: table-header-group;} button {display: none;} body {margin: 0;} }'; diff --git a/app/Utils/Traits/MakesMenu.php b/app/Utils/Traits/MakesMenu.php index 7e58701a8862..c70c7dcc253c 100644 --- a/app/Utils/Traits/MakesMenu.php +++ b/app/Utils/Traits/MakesMenu.php @@ -40,7 +40,7 @@ trait MakesMenu /** * Builds an array items to be presented on the sidebar. - * @return array menu items + * @return void menu items */ public function makeSideBarMenu() { diff --git a/app/Utils/Traits/MakesReminders.php b/app/Utils/Traits/MakesReminders.php index 51aaeb5c399f..7efe062e157b 100644 --- a/app/Utils/Traits/MakesReminders.php +++ b/app/Utils/Traits/MakesReminders.php @@ -39,9 +39,8 @@ trait MakesReminders $settings->num_days_reminder1 > 0) { $reminder_date = Carbon::parse($this->date)->addDays($settings->num_days_reminder1); - if (! $nsd) { - $nsd = $reminder_date->format('Y-m-d'); - } + $nsd = $reminder_date->format('Y-m-d'); + if ($reminder_date->lt($nsd)) { $nsd = $reminder_date->format('Y-m-d'); diff --git a/app/Utils/Traits/Notifications/UserNotifies.php b/app/Utils/Traits/Notifications/UserNotifies.php index 38382a03f07b..7a9f7c22b38c 100644 --- a/app/Utils/Traits/Notifications/UserNotifies.php +++ b/app/Utils/Traits/Notifications/UserNotifies.php @@ -18,7 +18,7 @@ trait UserNotifies { public function findUserNotificationTypes($invitation, $company_user, $entity_name, $required_permissions) :array { - if ($this->migrationRunning($company_user)) { + if ($company_user->company->is_disabled) { return []; } @@ -41,7 +41,7 @@ trait UserNotifies public function findUserEntityNotificationType($entity, $company_user, $required_permissions) :array { - if ($this->migrationRunning($company_user)) { + if ($company_user->company->is_disabled) { return []; } @@ -65,7 +65,7 @@ trait UserNotifies public function findCompanyUserNotificationType($company_user, $required_permissions) :array { - if ($this->migrationRunning($company_user)) { + if ($company_user->company->is_disabled) { return []; } @@ -79,8 +79,4 @@ trait UserNotifies return $notifiable_methods; } - private function migrationRunning($company_user) - { - return $company_user->is_migrating; - } } diff --git a/app/Utils/Traits/Payment/Refundable.php b/app/Utils/Traits/Payment/Refundable.php index 61456209f112..d1e1e5aa8d11 100644 --- a/app/Utils/Traits/Payment/Refundable.php +++ b/app/Utils/Traits/Payment/Refundable.php @@ -21,11 +21,15 @@ use App\Models\Invoice; use App\Models\Payment; use App\Repositories\ActivityRepository; use App\Utils\Ninja; +use stdClass; trait Refundable { /** * Entry point for processing of refunds. + * @param array $data + * @return Refundable + * @throws PaymentRefundFailed */ public function processRefund(array $data) { @@ -194,7 +198,7 @@ trait Refundable private function createActivity(array $data, int $credit_id) { - $fields = new \stdClass; + $fields = new stdClass; $activity_repo = new ActivityRepository(); $fields->payment_id = $this->id; diff --git a/app/Utils/Traits/PaymentEmailBuilder.php b/app/Utils/Traits/PaymentEmailBuilder.php index d739aea896ec..04f69fbf7a39 100644 --- a/app/Utils/Traits/PaymentEmailBuilder.php +++ b/app/Utils/Traits/PaymentEmailBuilder.php @@ -24,7 +24,8 @@ trait PaymentEmailBuilder { /** * Builds the correct template to send. - * @param string $reminder_template The template name ie reminder1 + * @param null $reminder_template The template name ie reminder1 + * @param null $contact * @return array */ public function getEmailData($reminder_template = null, $contact = null) :array diff --git a/app/Utils/Traits/QuoteEmailBuilder.php b/app/Utils/Traits/QuoteEmailBuilder.php index b31f7a3c771c..230f3f817bd5 100644 --- a/app/Utils/Traits/QuoteEmailBuilder.php +++ b/app/Utils/Traits/QuoteEmailBuilder.php @@ -24,7 +24,8 @@ trait QuoteEmailBuilder { /** * Builds the correct template to send. - * @param string $reminder_template The template name ie reminder1 + * @param null $reminder_template The template name ie reminder1 + * @param null $contact * @return array */ public function getEmailData($reminder_template = null, $contact = null) :array diff --git a/app/Utils/Traits/Recurring/HasRecurrence.php b/app/Utils/Traits/Recurring/HasRecurrence.php index 0a553c30ada1..e56bdcb00ab2 100644 --- a/app/Utils/Traits/Recurring/HasRecurrence.php +++ b/app/Utils/Traits/Recurring/HasRecurrence.php @@ -53,12 +53,8 @@ trait HasRecurrence */ public function setDayOfMonth($date, $day_of_month) { - info($date); - $carbon_date = Carbon::parse($date); - info($carbon_date); - $set_date = $carbon_date->copy()->setUnitNoOverflow('day', $day_of_month, 'month'); //If the set date is less than the original date we need to add a month. diff --git a/app/Utils/Traits/SettingsSaver.php b/app/Utils/Traits/SettingsSaver.php index 41fa06c39d4c..87f0f29a3a25 100644 --- a/app/Utils/Traits/SettingsSaver.php +++ b/app/Utils/Traits/SettingsSaver.php @@ -99,7 +99,7 @@ trait SettingsSaver case 'array': return is_array($value); case 'json': - json_decode($string); + json_decode($value); return json_last_error() == JSON_ERROR_NONE; default: diff --git a/app/Utils/Traits/SystemLogTrait.php b/app/Utils/Traits/SystemLogTrait.php index 088ecdf560cd..f685801b0c97 100644 --- a/app/Utils/Traits/SystemLogTrait.php +++ b/app/Utils/Traits/SystemLogTrait.php @@ -19,7 +19,7 @@ use App\Models\SystemLog; */ trait SystemLogTrait { - public function sysLog($log, $category_id = SystemLog::GATEWAY_RESPONSE, $event_id = SystemLog::GATEWAY_FAILURE, Client $client = null) + public function sysLog($log, $category_id = SystemLog::CATEGORY_GATEWAY_RESPONSE, $event_id = SystemLog::EVENT_GATEWAY_FAILURE, Client $client = null) { if ($client != null) { $this->client = $client; diff --git a/app/Utils/Traits/ThrottlesEmail.php b/app/Utils/Traits/ThrottlesEmail.php index 775d388cea5e..95433df0b71d 100644 --- a/app/Utils/Traits/ThrottlesEmail.php +++ b/app/Utils/Traits/ThrottlesEmail.php @@ -35,7 +35,7 @@ trait ThrottlesEmail // http://stackoverflow.com/questions/1375501/how-do-i-throttle-my-sites-api-users $day = 60 * 60 * 24; - $day_limit = $this->getDailyEmailLimit(); + $day_limit = $this->getDailyEmailLimit($company); $day_throttle = Cache::get("email_day_throttle:{$key}", null); $last_api_request = Cache::get("last_email_request:{$key}", 0); $last_api_diff = time() - $last_api_request; diff --git a/app/Utils/Traits/UserSettings.php b/app/Utils/Traits/UserSettings.php index 5174cfc94856..bbea8e77e1df 100644 --- a/app/Utils/Traits/UserSettings.php +++ b/app/Utils/Traits/UserSettings.php @@ -11,6 +11,8 @@ namespace App\Utils\Traits; +use stdClass; + /** * Class UserSettings. */ @@ -18,18 +20,18 @@ trait UserSettings { /** * @param string $entity - * @return \stdClass + * @return stdClass */ - public function getEntity(string $entity) : \stdClass + public function getEntity(string $entity) : stdClass { return $this->settings()->{$entity}; } /** * @param string $entity - * @return \stdClass + * @return stdClass */ - public function getColumnVisibility(string $entity) : \stdClass + public function getColumnVisibility(string $entity) : stdClass { return $this->settings()->{class_basename($entity)}->datatable->column_visibility; } diff --git a/composer.lock b/composer.lock index b13bd824bad7..ed49f75badaf 100644 --- a/composer.lock +++ b/composer.lock @@ -116,16 +116,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.158.14", + "version": "3.158.18", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "8eb1bfc65424c40e4d66d6ec71f5add6d91993b4" + "reference": "75aebc2f5dfd23ad7272ff1d59c521bc2a8e2802" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/8eb1bfc65424c40e4d66d6ec71f5add6d91993b4", - "reference": "8eb1bfc65424c40e4d66d6ec71f5add6d91993b4", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/75aebc2f5dfd23ad7272ff1d59c521bc2a8e2802", + "reference": "75aebc2f5dfd23ad7272ff1d59c521bc2a8e2802", "shasum": "" }, "require": { @@ -200,9 +200,9 @@ "support": { "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.158.14" + "source": "https://github.com/aws/aws-sdk-php/tree/3.158.18" }, - "time": "2020-10-26T18:18:44+00:00" + "time": "2020-10-30T18:12:38+00:00" }, { "name": "brick/math", @@ -521,16 +521,16 @@ }, { "name": "composer/composer", - "version": "1.10.16", + "version": "1.10.17", "source": { "type": "git", "url": "https://github.com/composer/composer.git", - "reference": "217f0272673c72087862c40cf91ac07eb438d778" + "reference": "09d42e18394d8594be24e37923031c4b7442a1cb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/217f0272673c72087862c40cf91ac07eb438d778", - "reference": "217f0272673c72087862c40cf91ac07eb438d778", + "url": "https://api.github.com/repos/composer/composer/zipball/09d42e18394d8594be24e37923031c4b7442a1cb", + "reference": "09d42e18394d8594be24e37923031c4b7442a1cb", "shasum": "" }, "require": { @@ -600,7 +600,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/composer/issues", - "source": "https://github.com/composer/composer/tree/1.10.16" + "source": "https://github.com/composer/composer/tree/1.10.17" }, "funding": [ { @@ -616,7 +616,7 @@ "type": "tidelift" } ], - "time": "2020-10-24T07:55:59+00:00" + "time": "2020-10-30T21:31:58+00:00" }, { "name": "composer/package-versions-deprecated", @@ -1536,16 +1536,16 @@ }, { "name": "egulias/email-validator", - "version": "2.1.22", + "version": "2.1.23", "source": { "type": "git", "url": "https://github.com/egulias/EmailValidator.git", - "reference": "68e418ec08fbfc6f58f6fd2eea70ca8efc8cc7d5" + "reference": "5fa792ad1853ae2bc60528dd3e5cbf4542d3c1df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/68e418ec08fbfc6f58f6fd2eea70ca8efc8cc7d5", - "reference": "68e418ec08fbfc6f58f6fd2eea70ca8efc8cc7d5", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/5fa792ad1853ae2bc60528dd3e5cbf4542d3c1df", + "reference": "5fa792ad1853ae2bc60528dd3e5cbf4542d3c1df", "shasum": "" }, "require": { @@ -1592,9 +1592,9 @@ ], "support": { "issues": "https://github.com/egulias/EmailValidator/issues", - "source": "https://github.com/egulias/EmailValidator/tree/2.1.22" + "source": "https://github.com/egulias/EmailValidator/tree/2.1.23" }, - "time": "2020-09-26T15:48:38+00:00" + "time": "2020-10-31T20:37:35+00:00" }, { "name": "fedeisas/laravel-mail-css-inliner", @@ -1824,16 +1824,16 @@ }, { "name": "google/apiclient", - "version": "v2.8.0", + "version": "v2.8.1", "source": { "type": "git", "url": "https://github.com/googleapis/google-api-php-client.git", - "reference": "cf9a070f9da78cd207a69b2a94832d381c8c4163" + "reference": "c8f6d09f50f859fa9457104bb0fb72c893804ede" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/googleapis/google-api-php-client/zipball/cf9a070f9da78cd207a69b2a94832d381c8c4163", - "reference": "cf9a070f9da78cd207a69b2a94832d381c8c4163", + "url": "https://api.github.com/repos/googleapis/google-api-php-client/zipball/c8f6d09f50f859fa9457104bb0fb72c893804ede", + "reference": "c8f6d09f50f859fa9457104bb0fb72c893804ede", "shasum": "" }, "require": { @@ -1849,7 +1849,7 @@ "require-dev": { "cache/filesystem-adapter": "^0.3.2", "composer/composer": "^1.10", - "dealerdirect/phpcodesniffer-composer-installer": "^0.5.0", + "dealerdirect/phpcodesniffer-composer-installer": "^0.7", "phpcompatibility/php-compatibility": "^9.2", "phpunit/phpunit": "^4.8.36|^5.0", "squizlabs/php_codesniffer": "~2.3", @@ -1887,9 +1887,9 @@ ], "support": { "issues": "https://github.com/googleapis/google-api-php-client/issues", - "source": "https://github.com/googleapis/google-api-php-client/tree/v2.8.0" + "source": "https://github.com/googleapis/google-api-php-client/tree/v2.8.1" }, - "time": "2020-10-23T20:29:29+00:00" + "time": "2020-10-27T23:20:13+00:00" }, { "name": "google/apiclient-services", @@ -2662,16 +2662,16 @@ }, { "name": "laravel/framework", - "version": "v8.11.2", + "version": "v8.12.3", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "8d1f25fb8d124d5a24df9714ed8d481c43f9efe6" + "reference": "6707480c5f0db7aa07537f9ad93255b64b65b85e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/8d1f25fb8d124d5a24df9714ed8d481c43f9efe6", - "reference": "8d1f25fb8d124d5a24df9714ed8d481c43f9efe6", + "url": "https://api.github.com/repos/laravel/framework/zipball/6707480c5f0db7aa07537f9ad93255b64b65b85e", + "reference": "6707480c5f0db7aa07537f9ad93255b64b65b85e", "shasum": "" }, "require": { @@ -2686,7 +2686,7 @@ "monolog/monolog": "^2.0", "nesbot/carbon": "^2.31", "opis/closure": "^3.6", - "php": "^7.3", + "php": "^7.3|^8.0", "psr/container": "^1.0", "psr/simple-cache": "^1.0", "ramsey/uuid": "^4.0", @@ -2750,7 +2750,7 @@ "guzzlehttp/guzzle": "^6.5.5|^7.0.1", "league/flysystem-cached-adapter": "^1.0", "mockery/mockery": "^1.4.2", - "orchestra/testbench-core": "^6.0", + "orchestra/testbench-core": "^6.5", "pda/pheanstalk": "^4.0", "phpunit/phpunit": "^8.5.8|^9.3.3", "predis/predis": "^1.1.1", @@ -2765,8 +2765,8 @@ "ext-pcntl": "Required to use all features of the queue worker.", "ext-posix": "Required to use all features of the queue worker.", "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).", + "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", "filp/whoops": "Required for friendly error pages in development (^2.8).", - "fzaninotto/faker": "Required to use the eloquent factory builder (^1.9.1).", "guzzlehttp/guzzle": "Required to use the HTTP Client, Mailgun mail driver and the ping methods on schedules (^6.5.5|^7.0.1).", "laravel/tinker": "Required to use the tinker console command (^2.0).", "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", @@ -2825,7 +2825,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2020-10-20T20:12:53+00:00" + "time": "2020-10-29T22:01:29+00:00" }, { "name": "laravel/slack-notification-channel", @@ -2959,29 +2959,29 @@ }, { "name": "laravel/tinker", - "version": "v2.4.2", + "version": "v2.5.0", "source": { "type": "git", "url": "https://github.com/laravel/tinker.git", - "reference": "58424c24e8aec31c3a3ac54eb3adb15e8a0a067b" + "reference": "45884b526e10a88a1b179fa1a1a24d5468c668c2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/tinker/zipball/58424c24e8aec31c3a3ac54eb3adb15e8a0a067b", - "reference": "58424c24e8aec31c3a3ac54eb3adb15e8a0a067b", + "url": "https://api.github.com/repos/laravel/tinker/zipball/45884b526e10a88a1b179fa1a1a24d5468c668c2", + "reference": "45884b526e10a88a1b179fa1a1a24d5468c668c2", "shasum": "" }, "require": { "illuminate/console": "^6.0|^7.0|^8.0", "illuminate/contracts": "^6.0|^7.0|^8.0", "illuminate/support": "^6.0|^7.0|^8.0", - "php": "^7.2", - "psy/psysh": "^0.10.3", - "symfony/var-dumper": "^4.3|^5.0" + "php": "^7.2.5|^8.0", + "psy/psysh": "^0.10.4", + "symfony/var-dumper": "^4.3.4|^5.0" }, "require-dev": { - "mockery/mockery": "^1.3.1", - "phpunit/phpunit": "^8.4|^9.0" + "mockery/mockery": "~1.3.3|^1.4.2", + "phpunit/phpunit": "^8.5.8|^9.3.3" }, "suggest": { "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0)." @@ -3021,9 +3021,9 @@ ], "support": { "issues": "https://github.com/laravel/tinker/issues", - "source": "https://github.com/laravel/tinker/tree/2.x" + "source": "https://github.com/laravel/tinker/tree/v2.5.0" }, - "time": "2020-08-11T19:28:08+00:00" + "time": "2020-10-29T13:07:12+00:00" }, { "name": "laravel/ui", @@ -3085,16 +3085,16 @@ }, { "name": "league/commonmark", - "version": "1.5.6", + "version": "1.5.7", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "a56e91e0fa1f6d0049153a9c34f63488f6b7ce61" + "reference": "11df9b36fd4f1d2b727a73bf14931d81373b9a54" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/a56e91e0fa1f6d0049153a9c34f63488f6b7ce61", - "reference": "a56e91e0fa1f6d0049153a9c34f63488f6b7ce61", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/11df9b36fd4f1d2b727a73bf14931d81373b9a54", + "reference": "11df9b36fd4f1d2b727a73bf14931d81373b9a54", "shasum": "" }, "require": { @@ -3182,7 +3182,7 @@ "type": "tidelift" } ], - "time": "2020-10-17T21:33:03+00:00" + "time": "2020-10-31T13:49:32+00:00" }, { "name": "league/flysystem", @@ -3646,7 +3646,7 @@ }, { "name": "league/omnipay", - "version": "dev-master", + "version": "v3.1.0", "source": { "type": "git", "url": "https://github.com/thephpleague/omnipay.git", @@ -3667,7 +3667,6 @@ "require-dev": { "omnipay/tests": "^3" }, - "default-branch": true, "type": "metapackage", "extra": { "branch-alias": { @@ -3698,7 +3697,7 @@ ], "support": { "issues": "https://github.com/thephpleague/omnipay/issues", - "source": "https://github.com/thephpleague/omnipay/tree/master" + "source": "https://github.com/thephpleague/omnipay/tree/v3.1.0" }, "time": "2020-09-22T14:02:17+00:00" }, @@ -4352,16 +4351,16 @@ }, { "name": "omnipay/common", - "version": "v3.0.4", + "version": "v3.0.5", "source": { "type": "git", "url": "https://github.com/thephpleague/omnipay-common.git", - "reference": "d6a1bed63cae270da32b2171fe31f820d334d452" + "reference": "0d1f4486c1c873537ac030d37c7ce2986c4de1d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/omnipay-common/zipball/d6a1bed63cae270da32b2171fe31f820d334d452", - "reference": "d6a1bed63cae270da32b2171fe31f820d334d452", + "url": "https://api.github.com/repos/thephpleague/omnipay-common/zipball/0d1f4486c1c873537ac030d37c7ce2986c4de1d2", + "reference": "0d1f4486c1c873537ac030d37c7ce2986c4de1d2", "shasum": "" }, "require": { @@ -4432,9 +4431,9 @@ ], "support": { "issues": "https://github.com/thephpleague/omnipay-common/issues", - "source": "https://github.com/thephpleague/omnipay-common/tree/master" + "source": "https://github.com/thephpleague/omnipay-common/tree/v3.0.5" }, - "time": "2020-06-02T05:57:19+00:00" + "time": "2020-08-20T18:22:12+00:00" }, { "name": "omnipay/paypal", @@ -6867,16 +6866,16 @@ }, { "name": "symfony/console", - "version": "v5.1.7", + "version": "v5.1.8", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "ae789a8a2ad189ce7e8216942cdb9b77319f5eb8" + "reference": "e0b2c29c0fa6a69089209bbe8fcff4df2a313d0e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/ae789a8a2ad189ce7e8216942cdb9b77319f5eb8", - "reference": "ae789a8a2ad189ce7e8216942cdb9b77319f5eb8", + "url": "https://api.github.com/repos/symfony/console/zipball/e0b2c29c0fa6a69089209bbe8fcff4df2a313d0e", + "reference": "e0b2c29c0fa6a69089209bbe8fcff4df2a313d0e", "shasum": "" }, "require": { @@ -6913,11 +6912,6 @@ "symfony/process": "" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, "autoload": { "psr-4": { "Symfony\\Component\\Console\\": "" @@ -6943,7 +6937,7 @@ "description": "Symfony Console Component", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/console/tree/v5.1.7" + "source": "https://github.com/symfony/console/tree/v5.1.8" }, "funding": [ { @@ -6959,31 +6953,26 @@ "type": "tidelift" } ], - "time": "2020-10-07T15:23:00+00:00" + "time": "2020-10-24T12:01:57+00:00" }, { "name": "symfony/css-selector", - "version": "v5.1.7", + "version": "v5.1.8", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "e544e24472d4c97b2d11ade7caacd446727c6bf9" + "reference": "6cbebda22ffc0d4bb8fea0c1311c2ca54c4c8fa0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/e544e24472d4c97b2d11ade7caacd446727c6bf9", - "reference": "e544e24472d4c97b2d11ade7caacd446727c6bf9", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/6cbebda22ffc0d4bb8fea0c1311c2ca54c4c8fa0", + "reference": "6cbebda22ffc0d4bb8fea0c1311c2ca54c4c8fa0", "shasum": "" }, "require": { "php": ">=7.2.5" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, "autoload": { "psr-4": { "Symfony\\Component\\CssSelector\\": "" @@ -7013,7 +7002,7 @@ "description": "Symfony CssSelector Component", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v5.1.4" + "source": "https://github.com/symfony/css-selector/tree/v5.1.8" }, "funding": [ { @@ -7029,7 +7018,7 @@ "type": "tidelift" } ], - "time": "2020-05-20T17:43:50+00:00" + "time": "2020-10-24T12:01:57+00:00" }, { "name": "symfony/deprecation-contracts", @@ -7100,16 +7089,16 @@ }, { "name": "symfony/error-handler", - "version": "v5.1.7", + "version": "v5.1.8", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "5e4d8ef8d71822922d1eebd130219ae3491a5ca9" + "reference": "a154f2b12fd1ec708559ba73ed58bd1304e55718" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/5e4d8ef8d71822922d1eebd130219ae3491a5ca9", - "reference": "5e4d8ef8d71822922d1eebd130219ae3491a5ca9", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/a154f2b12fd1ec708559ba73ed58bd1304e55718", + "reference": "a154f2b12fd1ec708559ba73ed58bd1304e55718", "shasum": "" }, "require": { @@ -7124,11 +7113,6 @@ "symfony/serializer": "^4.4|^5.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, "autoload": { "psr-4": { "Symfony\\Component\\ErrorHandler\\": "" @@ -7154,7 +7138,7 @@ "description": "Symfony ErrorHandler Component", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v5.1.7" + "source": "https://github.com/symfony/error-handler/tree/v5.1.8" }, "funding": [ { @@ -7170,20 +7154,20 @@ "type": "tidelift" } ], - "time": "2020-10-02T08:49:02+00:00" + "time": "2020-10-24T12:01:57+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v5.1.7", + "version": "v5.1.8", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "d5de97d6af175a9e8131c546db054ca32842dd0f" + "reference": "26f4edae48c913fc183a3da0553fe63bdfbd361a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d5de97d6af175a9e8131c546db054ca32842dd0f", - "reference": "d5de97d6af175a9e8131c546db054ca32842dd0f", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/26f4edae48c913fc183a3da0553fe63bdfbd361a", + "reference": "26f4edae48c913fc183a3da0553fe63bdfbd361a", "shasum": "" }, "require": { @@ -7214,11 +7198,6 @@ "symfony/http-kernel": "" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, "autoload": { "psr-4": { "Symfony\\Component\\EventDispatcher\\": "" @@ -7244,7 +7223,7 @@ "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v5.1.7" + "source": "https://github.com/symfony/event-dispatcher/tree/v5.1.8" }, "funding": [ { @@ -7260,7 +7239,7 @@ "type": "tidelift" } ], - "time": "2020-09-18T14:27:32+00:00" + "time": "2020-10-24T12:01:57+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -7343,16 +7322,16 @@ }, { "name": "symfony/filesystem", - "version": "v5.1.7", + "version": "v5.1.8", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "1a8697545a8d87b9f2f6b1d32414199cc5e20aae" + "reference": "df08650ea7aee2d925380069c131a66124d79177" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/1a8697545a8d87b9f2f6b1d32414199cc5e20aae", - "reference": "1a8697545a8d87b9f2f6b1d32414199cc5e20aae", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/df08650ea7aee2d925380069c131a66124d79177", + "reference": "df08650ea7aee2d925380069c131a66124d79177", "shasum": "" }, "require": { @@ -7360,11 +7339,6 @@ "symfony/polyfill-ctype": "~1.8" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, "autoload": { "psr-4": { "Symfony\\Component\\Filesystem\\": "" @@ -7390,7 +7364,7 @@ "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v5.1.7" + "source": "https://github.com/symfony/filesystem/tree/v5.1.8" }, "funding": [ { @@ -7406,31 +7380,26 @@ "type": "tidelift" } ], - "time": "2020-09-27T14:02:37+00:00" + "time": "2020-10-24T12:01:57+00:00" }, { "name": "symfony/finder", - "version": "v5.1.7", + "version": "v5.1.8", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "2c3ba7ad6884e6c4451ce2340e2dc23f6fa3e0d8" + "reference": "e70eb5a69c2ff61ea135a13d2266e8914a67b3a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/2c3ba7ad6884e6c4451ce2340e2dc23f6fa3e0d8", - "reference": "2c3ba7ad6884e6c4451ce2340e2dc23f6fa3e0d8", + "url": "https://api.github.com/repos/symfony/finder/zipball/e70eb5a69c2ff61ea135a13d2266e8914a67b3a0", + "reference": "e70eb5a69c2ff61ea135a13d2266e8914a67b3a0", "shasum": "" }, "require": { "php": ">=7.2.5" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, "autoload": { "psr-4": { "Symfony\\Component\\Finder\\": "" @@ -7456,7 +7425,7 @@ "description": "Symfony Finder Component", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v5.1.7" + "source": "https://github.com/symfony/finder/tree/v5.1.8" }, "funding": [ { @@ -7472,20 +7441,20 @@ "type": "tidelift" } ], - "time": "2020-09-02T16:23:27+00:00" + "time": "2020-10-24T12:01:57+00:00" }, { "name": "symfony/http-client", - "version": "v5.1.7", + "version": "v5.1.8", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "df757997ee95101c0ca94c7ea2b76e16a758e0ca" + "reference": "97a6a1f9f5bb3a6094833107b58a72bc9a9165cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/df757997ee95101c0ca94c7ea2b76e16a758e0ca", - "reference": "df757997ee95101c0ca94c7ea2b76e16a758e0ca", + "url": "https://api.github.com/repos/symfony/http-client/zipball/97a6a1f9f5bb3a6094833107b58a72bc9a9165cc", + "reference": "97a6a1f9f5bb3a6094833107b58a72bc9a9165cc", "shasum": "" }, "require": { @@ -7515,11 +7484,6 @@ "symfony/process": "^4.4|^5.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, "autoload": { "psr-4": { "Symfony\\Component\\HttpClient\\": "" @@ -7545,7 +7509,7 @@ "description": "Symfony HttpClient component", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-client/tree/v5.1.7" + "source": "https://github.com/symfony/http-client/tree/v5.1.8" }, "funding": [ { @@ -7561,7 +7525,7 @@ "type": "tidelift" } ], - "time": "2020-10-02T14:24:03+00:00" + "time": "2020-10-24T12:01:57+00:00" }, { "name": "symfony/http-client-contracts", @@ -7644,16 +7608,16 @@ }, { "name": "symfony/http-foundation", - "version": "v5.1.7", + "version": "v5.1.8", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "353b42e7b4fd1c898aab09a059466c9cea74039b" + "reference": "a2860ec970404b0233ab1e59e0568d3277d32b6f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/353b42e7b4fd1c898aab09a059466c9cea74039b", - "reference": "353b42e7b4fd1c898aab09a059466c9cea74039b", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a2860ec970404b0233ab1e59e0568d3277d32b6f", + "reference": "a2860ec970404b0233ab1e59e0568d3277d32b6f", "shasum": "" }, "require": { @@ -7672,11 +7636,6 @@ "symfony/mime": "To use the file extension guesser" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, "autoload": { "psr-4": { "Symfony\\Component\\HttpFoundation\\": "" @@ -7702,7 +7661,7 @@ "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v5.1.7" + "source": "https://github.com/symfony/http-foundation/tree/v5.1.8" }, "funding": [ { @@ -7718,20 +7677,20 @@ "type": "tidelift" } ], - "time": "2020-09-27T14:14:57+00:00" + "time": "2020-10-24T12:01:57+00:00" }, { "name": "symfony/http-kernel", - "version": "v5.1.7", + "version": "v5.1.8", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "1764b87d2f10d5c9ce6e4850fe27934116d89708" + "reference": "a13b3c4d994a4fd051f4c6800c5e33c9508091dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1764b87d2f10d5c9ce6e4850fe27934116d89708", - "reference": "1764b87d2f10d5c9ce6e4850fe27934116d89708", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/a13b3c4d994a4fd051f4c6800c5e33c9508091dd", + "reference": "a13b3c4d994a4fd051f4c6800c5e33c9508091dd", "shasum": "" }, "require": { @@ -7789,11 +7748,6 @@ "symfony/dependency-injection": "" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, "autoload": { "psr-4": { "Symfony\\Component\\HttpKernel\\": "" @@ -7819,7 +7773,7 @@ "description": "Symfony HttpKernel Component", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v5.1.7" + "source": "https://github.com/symfony/http-kernel/tree/v5.1.8" }, "funding": [ { @@ -7835,20 +7789,20 @@ "type": "tidelift" } ], - "time": "2020-10-04T07:57:28+00:00" + "time": "2020-10-28T05:55:23+00:00" }, { "name": "symfony/mime", - "version": "v5.1.7", + "version": "v5.1.8", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "4404d6545125863561721514ad9388db2661eec5" + "reference": "f5485a92c24d4bcfc2f3fc648744fb398482ff1b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/4404d6545125863561721514ad9388db2661eec5", - "reference": "4404d6545125863561721514ad9388db2661eec5", + "url": "https://api.github.com/repos/symfony/mime/zipball/f5485a92c24d4bcfc2f3fc648744fb398482ff1b", + "reference": "f5485a92c24d4bcfc2f3fc648744fb398482ff1b", "shasum": "" }, "require": { @@ -7865,11 +7819,6 @@ "symfony/dependency-injection": "^4.4|^5.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, "autoload": { "psr-4": { "Symfony\\Component\\Mime\\": "" @@ -7899,7 +7848,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v5.1.7" + "source": "https://github.com/symfony/mime/tree/v5.1.8" }, "funding": [ { @@ -7915,20 +7864,20 @@ "type": "tidelift" } ], - "time": "2020-09-02T16:23:27+00:00" + "time": "2020-10-24T12:01:57+00:00" }, { "name": "symfony/options-resolver", - "version": "v5.1.7", + "version": "v5.1.8", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "4c7e155bf7d93ea4ba3824d5a14476694a5278dd" + "reference": "c6a02905e4ffc7a1498e8ee019db2b477cd1cc02" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/4c7e155bf7d93ea4ba3824d5a14476694a5278dd", - "reference": "4c7e155bf7d93ea4ba3824d5a14476694a5278dd", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/c6a02905e4ffc7a1498e8ee019db2b477cd1cc02", + "reference": "c6a02905e4ffc7a1498e8ee019db2b477cd1cc02", "shasum": "" }, "require": { @@ -7937,11 +7886,6 @@ "symfony/polyfill-php80": "^1.15" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, "autoload": { "psr-4": { "Symfony\\Component\\OptionsResolver\\": "" @@ -7972,7 +7916,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v5.1.7" + "source": "https://github.com/symfony/options-resolver/tree/v5.1.8" }, "funding": [ { @@ -7988,7 +7932,7 @@ "type": "tidelift" } ], - "time": "2020-09-27T03:44:28+00:00" + "time": "2020-10-24T12:01:57+00:00" }, { "name": "symfony/polyfill-ctype", @@ -8800,16 +8744,16 @@ }, { "name": "symfony/process", - "version": "v5.1.7", + "version": "v5.1.8", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "d3a2e64866169586502f0cd9cab69135ad12cee9" + "reference": "f00872c3f6804150d6a0f73b4151daab96248101" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/d3a2e64866169586502f0cd9cab69135ad12cee9", - "reference": "d3a2e64866169586502f0cd9cab69135ad12cee9", + "url": "https://api.github.com/repos/symfony/process/zipball/f00872c3f6804150d6a0f73b4151daab96248101", + "reference": "f00872c3f6804150d6a0f73b4151daab96248101", "shasum": "" }, "require": { @@ -8817,11 +8761,6 @@ "symfony/polyfill-php80": "^1.15" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, "autoload": { "psr-4": { "Symfony\\Component\\Process\\": "" @@ -8847,7 +8786,7 @@ "description": "Symfony Process Component", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/5.1" + "source": "https://github.com/symfony/process/tree/v5.1.8" }, "funding": [ { @@ -8863,20 +8802,20 @@ "type": "tidelift" } ], - "time": "2020-09-02T16:23:27+00:00" + "time": "2020-10-24T12:01:57+00:00" }, { "name": "symfony/routing", - "version": "v5.1.7", + "version": "v5.1.8", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "720348c2ae011f8c56964c0fc3e992840cb60ccf" + "reference": "d6ceee2a37b61b41079005207bf37746d1bfe71f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/720348c2ae011f8c56964c0fc3e992840cb60ccf", - "reference": "720348c2ae011f8c56964c0fc3e992840cb60ccf", + "url": "https://api.github.com/repos/symfony/routing/zipball/d6ceee2a37b61b41079005207bf37746d1bfe71f", + "reference": "d6ceee2a37b61b41079005207bf37746d1bfe71f", "shasum": "" }, "require": { @@ -8906,11 +8845,6 @@ "symfony/yaml": "For using the YAML loader" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, "autoload": { "psr-4": { "Symfony\\Component\\Routing\\": "" @@ -8942,7 +8876,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v5.1.7" + "source": "https://github.com/symfony/routing/tree/v5.1.8" }, "funding": [ { @@ -8958,7 +8892,7 @@ "type": "tidelift" } ], - "time": "2020-10-02T13:05:43+00:00" + "time": "2020-10-24T12:01:57+00:00" }, { "name": "symfony/service-contracts", @@ -9041,16 +8975,16 @@ }, { "name": "symfony/string", - "version": "v5.1.7", + "version": "v5.1.8", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "4a9afe9d07bac506f75bcee8ed3ce76da5a9343e" + "reference": "a97573e960303db71be0dd8fda9be3bca5e0feea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/4a9afe9d07bac506f75bcee8ed3ce76da5a9343e", - "reference": "4a9afe9d07bac506f75bcee8ed3ce76da5a9343e", + "url": "https://api.github.com/repos/symfony/string/zipball/a97573e960303db71be0dd8fda9be3bca5e0feea", + "reference": "a97573e960303db71be0dd8fda9be3bca5e0feea", "shasum": "" }, "require": { @@ -9068,11 +9002,6 @@ "symfony/var-exporter": "^4.4|^5.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, "autoload": { "psr-4": { "Symfony\\Component\\String\\": "" @@ -9109,7 +9038,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.1.7" + "source": "https://github.com/symfony/string/tree/v5.1.8" }, "funding": [ { @@ -9125,20 +9054,20 @@ "type": "tidelift" } ], - "time": "2020-09-15T12:23:47+00:00" + "time": "2020-10-24T12:01:57+00:00" }, { "name": "symfony/translation", - "version": "v5.1.7", + "version": "v5.1.8", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "e3cdd5119b1b5bf0698c351b8ee20fb5a4ea248b" + "reference": "27980838fd261e04379fa91e94e81e662fe5a1b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/e3cdd5119b1b5bf0698c351b8ee20fb5a4ea248b", - "reference": "e3cdd5119b1b5bf0698c351b8ee20fb5a4ea248b", + "url": "https://api.github.com/repos/symfony/translation/zipball/27980838fd261e04379fa91e94e81e662fe5a1b6", + "reference": "27980838fd261e04379fa91e94e81e662fe5a1b6", "shasum": "" }, "require": { @@ -9174,11 +9103,6 @@ "symfony/yaml": "" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, "autoload": { "psr-4": { "Symfony\\Component\\Translation\\": "" @@ -9204,7 +9128,7 @@ "description": "Symfony Translation Component", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v5.1.7" + "source": "https://github.com/symfony/translation/tree/v5.1.8" }, "funding": [ { @@ -9220,7 +9144,7 @@ "type": "tidelift" } ], - "time": "2020-09-27T03:44:28+00:00" + "time": "2020-10-24T12:01:57+00:00" }, { "name": "symfony/translation-contracts", @@ -9302,16 +9226,16 @@ }, { "name": "symfony/var-dumper", - "version": "v5.1.7", + "version": "v5.1.8", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "c976c115a0d788808f7e71834c8eb0844f678d02" + "reference": "4e13f3fcefb1fcaaa5efb5403581406f4e840b9a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/c976c115a0d788808f7e71834c8eb0844f678d02", - "reference": "c976c115a0d788808f7e71834c8eb0844f678d02", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/4e13f3fcefb1fcaaa5efb5403581406f4e840b9a", + "reference": "4e13f3fcefb1fcaaa5efb5403581406f4e840b9a", "shasum": "" }, "require": { @@ -9338,11 +9262,6 @@ "Resources/bin/var-dump-server" ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, "autoload": { "files": [ "Resources/functions/dump.php" @@ -9375,7 +9294,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.1.7" + "source": "https://github.com/symfony/var-dumper/tree/v5.1.8" }, "funding": [ { @@ -9391,7 +9310,7 @@ "type": "tidelift" } ], - "time": "2020-09-18T14:27:32+00:00" + "time": "2020-10-27T10:11:13+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -10534,28 +10453,27 @@ }, { "name": "facade/ignition", - "version": "2.4.1", + "version": "2.5.0", "source": { "type": "git", "url": "https://github.com/facade/ignition.git", - "reference": "9fc6c3d3de5271a1b94cff19dce2c9295abf0ffa" + "reference": "81698c5e32837c74abf9bb764ff0c1b3e001afb3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/facade/ignition/zipball/9fc6c3d3de5271a1b94cff19dce2c9295abf0ffa", - "reference": "9fc6c3d3de5271a1b94cff19dce2c9295abf0ffa", + "url": "https://api.github.com/repos/facade/ignition/zipball/81698c5e32837c74abf9bb764ff0c1b3e001afb3", + "reference": "81698c5e32837c74abf9bb764ff0c1b3e001afb3", "shasum": "" }, "require": { "ext-json": "*", "ext-mbstring": "*", - "facade/flare-client-php": "^1.0", - "facade/ignition-contracts": "^1.0", + "facade/flare-client-php": "^1.3.7", + "facade/ignition-contracts": "^1.0.2", "filp/whoops": "^2.4", "illuminate/support": "^7.0|^8.0", "monolog/monolog": "^2.0", - "php": "^7.2.5", - "scrivo/highlight.php": "^9.15", + "php": "^7.2.5|^8.0", "symfony/console": "^5.0", "symfony/var-dumper": "^5.0" }, @@ -10608,7 +10526,7 @@ "issues": "https://github.com/facade/ignition/issues", "source": "https://github.com/facade/ignition" }, - "time": "2020-10-14T08:59:59+00:00" + "time": "2020-10-27T13:02:22+00:00" }, { "name": "facade/ignition-contracts", @@ -11128,22 +11046,22 @@ }, { "name": "nunomaduro/collision", - "version": "v5.0.2", + "version": "v5.1.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/collision.git", - "reference": "4a343299054e9368d0db4a982a780cc4ffa12707" + "reference": "7c2b95589bf81e274e61e47f7672a1b2c3e06eaa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/4a343299054e9368d0db4a982a780cc4ffa12707", - "reference": "4a343299054e9368d0db4a982a780cc4ffa12707", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/7c2b95589bf81e274e61e47f7672a1b2c3e06eaa", + "reference": "7c2b95589bf81e274e61e47f7672a1b2c3e06eaa", "shasum": "" }, "require": { "facade/ignition-contracts": "^1.0", "filp/whoops": "^2.7.2", - "php": "^7.3", + "php": "^7.3 || ^8.0", "symfony/console": "^5.0" }, "require-dev": { @@ -11212,7 +11130,7 @@ "type": "patreon" } ], - "time": "2020-08-27T18:58:22+00:00" + "time": "2020-10-29T14:50:40+00:00" }, { "name": "openlss/lib-array2xml", @@ -11605,23 +11523,23 @@ }, { "name": "phpunit/php-code-coverage", - "version": "9.2.1", + "version": "9.2.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "ed363c3ce393560a1c300dce0298bbf0f0528b13" + "reference": "6b20e2055f7c29b56cb3870b3de7cc463d7add41" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ed363c3ce393560a1c300dce0298bbf0f0528b13", - "reference": "ed363c3ce393560a1c300dce0298bbf0f0528b13", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6b20e2055f7c29b56cb3870b3de7cc463d7add41", + "reference": "6b20e2055f7c29b56cb3870b3de7cc463d7add41", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.8", + "nikic/php-parser": "^4.10.2", "php": ">=7.3", "phpunit/php-file-iterator": "^3.0.3", "phpunit/php-text-template": "^2.0.2", @@ -11670,7 +11588,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.1" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.3" }, "funding": [ { @@ -11678,7 +11596,7 @@ "type": "github" } ], - "time": "2020-10-26T15:46:21+00:00" + "time": "2020-10-30T10:46:41+00:00" }, { "name": "phpunit/php-file-iterator", @@ -12024,85 +11942,6 @@ ], "time": "2020-10-19T09:23:29+00:00" }, - { - "name": "scrivo/highlight.php", - "version": "v9.18.1.3", - "source": { - "type": "git", - "url": "https://github.com/scrivo/highlight.php.git", - "reference": "6a1699707b099081f20a488ac1f92d682181018c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/scrivo/highlight.php/zipball/6a1699707b099081f20a488ac1f92d682181018c", - "reference": "6a1699707b099081f20a488ac1f92d682181018c", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-mbstring": "*", - "php": ">=5.4" - }, - "require-dev": { - "phpunit/phpunit": "^4.8|^5.7", - "sabberworm/php-css-parser": "^8.3", - "symfony/finder": "^2.8|^3.4", - "symfony/var-dumper": "^2.8|^3.4" - }, - "suggest": { - "ext-dom": "Needed to make use of the features in the utilities namespace" - }, - "type": "library", - "autoload": { - "psr-0": { - "Highlight\\": "", - "HighlightUtilities\\": "" - }, - "files": [ - "HighlightUtilities/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Geert Bergman", - "homepage": "http://www.scrivo.org/", - "role": "Project Author" - }, - { - "name": "Vladimir Jimenez", - "homepage": "https://allejo.io", - "role": "Maintainer" - }, - { - "name": "Martin Folkers", - "homepage": "https://twobrain.io", - "role": "Contributor" - } - ], - "description": "Server side syntax highlighter that supports 185 languages. It's a PHP port of highlight.js", - "keywords": [ - "code", - "highlight", - "highlight.js", - "highlight.php", - "syntax" - ], - "support": { - "issues": "https://github.com/scrivo/highlight.php/issues", - "source": "https://github.com/scrivo/highlight.php" - }, - "funding": [ - { - "url": "https://github.com/allejo", - "type": "github" - } - ], - "time": "2020-10-16T07:43:22+00:00" - }, { "name": "sebastian/cli-parser", "version": "1.0.1", @@ -13069,16 +12908,16 @@ }, { "name": "swagger-api/swagger-ui", - "version": "v3.36.0", + "version": "v3.36.1", "source": { "type": "git", "url": "https://github.com/swagger-api/swagger-ui.git", - "reference": "b9915b112821eca7bd99926787fbe38b91204d5d" + "reference": "7a0c1ea556a4b393bace21f80a5c65acaed7a49f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/swagger-api/swagger-ui/zipball/b9915b112821eca7bd99926787fbe38b91204d5d", - "reference": "b9915b112821eca7bd99926787fbe38b91204d5d", + "url": "https://api.github.com/repos/swagger-api/swagger-ui/zipball/7a0c1ea556a4b393bace21f80a5c65acaed7a49f", + "reference": "7a0c1ea556a4b393bace21f80a5c65acaed7a49f", "shasum": "" }, "type": "library", @@ -13124,22 +12963,22 @@ ], "support": { "issues": "https://github.com/swagger-api/swagger-ui/issues", - "source": "https://github.com/swagger-api/swagger-ui/tree/v3.36.0" + "source": "https://github.com/swagger-api/swagger-ui/tree/v3.36.1" }, - "time": "2020-10-22T17:41:54+00:00" + "time": "2020-10-29T17:39:16+00:00" }, { "name": "symfony/debug", - "version": "v4.4.15", + "version": "v4.4.16", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "726b85e69342e767d60e3853b98559a68ff74183" + "reference": "c87adf3fc1cd0bf4758316a3a150d50a8f957ef4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/726b85e69342e767d60e3853b98559a68ff74183", - "reference": "726b85e69342e767d60e3853b98559a68ff74183", + "url": "https://api.github.com/repos/symfony/debug/zipball/c87adf3fc1cd0bf4758316a3a150d50a8f957ef4", + "reference": "c87adf3fc1cd0bf4758316a3a150d50a8f957ef4", "shasum": "" }, "require": { @@ -13154,11 +12993,6 @@ "symfony/http-kernel": "^3.4|^4.0|^5.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, "autoload": { "psr-4": { "Symfony\\Component\\Debug\\": "" @@ -13184,7 +13018,7 @@ "description": "Symfony Debug Component", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/debug/tree/4.4" + "source": "https://github.com/symfony/debug/tree/v4.4.16" }, "funding": [ { @@ -13200,20 +13034,20 @@ "type": "tidelift" } ], - "time": "2020-09-09T05:20:36+00:00" + "time": "2020-10-24T11:50:19+00:00" }, { "name": "symfony/yaml", - "version": "v5.1.7", + "version": "v5.1.8", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "e147a68cb66a8b510f4b7481fe4da5b2ab65ec6a" + "reference": "f284e032c3cefefb9943792132251b79a6127ca6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/e147a68cb66a8b510f4b7481fe4da5b2ab65ec6a", - "reference": "e147a68cb66a8b510f4b7481fe4da5b2ab65ec6a", + "url": "https://api.github.com/repos/symfony/yaml/zipball/f284e032c3cefefb9943792132251b79a6127ca6", + "reference": "f284e032c3cefefb9943792132251b79a6127ca6", "shasum": "" }, "require": { @@ -13234,11 +13068,6 @@ "Resources/bin/yaml-lint" ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, "autoload": { "psr-4": { "Symfony\\Component\\Yaml\\": "" @@ -13264,7 +13093,7 @@ "description": "Symfony Yaml Component", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v5.1.7" + "source": "https://github.com/symfony/yaml/tree/v5.1.8" }, "funding": [ { @@ -13280,7 +13109,7 @@ "type": "tidelift" } ], - "time": "2020-09-27T03:44:28+00:00" + "time": "2020-10-24T12:03:25+00:00" }, { "name": "theseer/tokenizer", @@ -13334,16 +13163,16 @@ }, { "name": "vimeo/psalm", - "version": "4.0.1", + "version": "4.1.0", "source": { "type": "git", "url": "https://github.com/vimeo/psalm.git", - "reference": "b1e2e30026936ef8d5bf6a354d1c3959b6231f44" + "reference": "8929bde5354595dc61947b7e27cfe59db45e3bb0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vimeo/psalm/zipball/b1e2e30026936ef8d5bf6a354d1c3959b6231f44", - "reference": "b1e2e30026936ef8d5bf6a354d1c3959b6231f44", + "url": "https://api.github.com/repos/vimeo/psalm/zipball/8929bde5354595dc61947b7e27cfe59db45e3bb0", + "reference": "8929bde5354595dc61947b7e27cfe59db45e3bb0", "shasum": "" }, "require": { @@ -13364,10 +13193,9 @@ "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0", "nikic/php-parser": "^4.10.1", "openlss/lib-array2xml": "^1.0", - "php": "^7.3|^8", + "php": "^7.1|^8", "sebastian/diff": "^3.0 || ^4.0", "symfony/console": "^3.4.17 || ^4.1.6 || ^5.0", - "webmozart/glob": "^4.1", "webmozart/path-util": "^2.3" }, "provide": { @@ -13378,6 +13206,7 @@ "bamarni/composer-bin-plugin": "^1.2", "brianium/paratest": "^4.0.0", "ext-curl": "*", + "php": "^7.3|^8", "phpdocumentor/reflection-docblock": "^5", "phpmyadmin/sql-parser": "5.1.0", "phpspec/prophecy": ">=1.9.0", @@ -13433,9 +13262,9 @@ ], "support": { "issues": "https://github.com/vimeo/psalm/issues", - "source": "https://github.com/vimeo/psalm/tree/4.0.1" + "source": "https://github.com/vimeo/psalm/tree/4.1.0" }, - "time": "2020-10-20T13:40:17+00:00" + "time": "2020-10-29T23:55:10+00:00" }, { "name": "webmozart/assert", @@ -13490,57 +13319,6 @@ }, "time": "2020-07-08T17:02:28+00:00" }, - { - "name": "webmozart/glob", - "version": "4.1.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/glob.git", - "reference": "3cbf63d4973cf9d780b93d2da8eec7e4a9e63bbe" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/glob/zipball/3cbf63d4973cf9d780b93d2da8eec7e4a9e63bbe", - "reference": "3cbf63d4973cf9d780b93d2da8eec7e4a9e63bbe", - "shasum": "" - }, - "require": { - "php": "^5.3.3|^7.0", - "webmozart/path-util": "^2.2" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1", - "symfony/filesystem": "^2.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.1-dev" - } - }, - "autoload": { - "psr-4": { - "Webmozart\\Glob\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "A PHP implementation of Ant's glob.", - "support": { - "issues": "https://github.com/webmozart/glob/issues", - "source": "https://github.com/webmozart/glob/tree/master" - }, - "time": "2015-12-29T11:14:33+00:00" - }, { "name": "webmozart/path-util", "version": "2.3.0", diff --git a/config/ninja.php b/config/ninja.php index 2ea9e28e7557..a304af58b545 100644 --- a/config/ninja.php +++ b/config/ninja.php @@ -12,7 +12,7 @@ return [ 'require_https' => env('REQUIRE_HTTPS', true), 'app_url' => rtrim(env('APP_URL', ''), '/').'/', 'app_domain' => env('APP_DOMAIN', ''), - 'app_version' => '5.0.22', + 'app_version' => '5.0.23', 'minimum_client_version' => '5.0.16', 'terms_version' => '1.0.1', 'api_secret' => env('API_SECRET', ''), diff --git a/database/factories/ExpenseFactory.php b/database/factories/ExpenseFactory.php index ea5716ca6402..685bead9803e 100644 --- a/database/factories/ExpenseFactory.php +++ b/database/factories/ExpenseFactory.php @@ -42,6 +42,7 @@ class ExpenseFactory extends Factory 'public_notes' => $this->faker->text(50), 'private_notes' => $this->faker->text(50), 'transaction_reference' => $this->faker->text(5), + 'invoice_id' => null, ]; } } diff --git a/database/factories/TaskFactory.php b/database/factories/TaskFactory.php index 759114c9d8f2..b18016f3e14a 100644 --- a/database/factories/TaskFactory.php +++ b/database/factories/TaskFactory.php @@ -33,6 +33,7 @@ class TaskFactory extends Factory { return [ 'description' => $this->faker->text(50), + 'invoice_id' => null, ]; } } \ No newline at end of file diff --git a/database/migrations/2020_10_27_021751_tasks_invoice_documents.php b/database/migrations/2020_10_27_021751_tasks_invoice_documents.php index 3bb2c8ddd366..a36319b11635 100644 --- a/database/migrations/2020_10_27_021751_tasks_invoice_documents.php +++ b/database/migrations/2020_10_27_021751_tasks_invoice_documents.php @@ -21,6 +21,18 @@ class TasksInvoiceDocuments extends Migration $table->boolean('show_tasks_table')->default(); }); + Schema::table('invoice_invitations', function(Blueprint $table){ + $table->text('signature_ip')->nullable(); + }); + + Schema::table('quote_invitations', function(Blueprint $table){ + $table->text('signature_ip')->nullable(); + }); + + Schema::table('credit_invitations', function(Blueprint $table){ + $table->text('signature_ip')->nullable(); + }); + } /** diff --git a/database/migrations/2020_10_28_224711_status_sort_order.php b/database/migrations/2020_10_28_224711_status_sort_order.php new file mode 100644 index 000000000000..dc674e5c69ba --- /dev/null +++ b/database/migrations/2020_10_28_224711_status_sort_order.php @@ -0,0 +1,31 @@ +renameColumn('sort_order', 'status_sort_order'); + }); + + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +} diff --git a/database/migrations/2020_10_28_225022_assigned_user_tasks_table.php b/database/migrations/2020_10_28_225022_assigned_user_tasks_table.php new file mode 100644 index 000000000000..5313d450c120 --- /dev/null +++ b/database/migrations/2020_10_28_225022_assigned_user_tasks_table.php @@ -0,0 +1,32 @@ +unsignedInteger('assigned_user_id')->nullable()->change(); + + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +} diff --git a/database/migrations/2020_10_29_001541_vendors_phone_column.php b/database/migrations/2020_10_29_001541_vendors_phone_column.php new file mode 100644 index 000000000000..f1cec4e9a616 --- /dev/null +++ b/database/migrations/2020_10_29_001541_vendors_phone_column.php @@ -0,0 +1,30 @@ +renameColumn('work_phone', 'phone'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +} diff --git a/database/migrations/2020_10_29_093836_change_start_time_column_type.php b/database/migrations/2020_10_29_093836_change_start_time_column_type.php new file mode 100644 index 000000000000..26cde14da1c3 --- /dev/null +++ b/database/migrations/2020_10_29_093836_change_start_time_column_type.php @@ -0,0 +1,30 @@ +unsignedInteger('duration')->nullable()->change(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +} diff --git a/database/migrations/2020_10_29_204434_tasks_table_project_nullable.php b/database/migrations/2020_10_29_204434_tasks_table_project_nullable.php new file mode 100644 index 000000000000..516c71735907 --- /dev/null +++ b/database/migrations/2020_10_29_204434_tasks_table_project_nullable.php @@ -0,0 +1,32 @@ +unsignedInteger('assigned_user_id')->nullable()->change(); + + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +} diff --git a/database/migrations/2020_10_29_210402_change_default_show_tasks_table.php b/database/migrations/2020_10_29_210402_change_default_show_tasks_table.php new file mode 100644 index 000000000000..81d178cd9c29 --- /dev/null +++ b/database/migrations/2020_10_29_210402_change_default_show_tasks_table.php @@ -0,0 +1,30 @@ +boolean('show_tasks_table')->default(false)->change(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +} diff --git a/database/migrations/2020_10_30_084139_change_expense_currency_id_column.php b/database/migrations/2020_10_30_084139_change_expense_currency_id_column.php new file mode 100644 index 000000000000..340cc851b533 --- /dev/null +++ b/database/migrations/2020_10_30_084139_change_expense_currency_id_column.php @@ -0,0 +1,34 @@ +renameColumn('expense_currency_id', 'currency_id'); + }); + + Schema::table('companies', function(Blueprint $table){ + $table->boolean('is_disabled')->default(false); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +} diff --git a/database/migrations/2020_11_01_031750_drop_migrating_column.php b/database/migrations/2020_11_01_031750_drop_migrating_column.php new file mode 100644 index 000000000000..a85f1bbac1ee --- /dev/null +++ b/database/migrations/2020_11_01_031750_drop_migrating_column.php @@ -0,0 +1,30 @@ +dropColumn('is_migrating'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +} diff --git a/psalm.xml b/psalm.xml index 151fa3530cc5..73bb3b38d930 100644 --- a/psalm.xml +++ b/psalm.xml @@ -31,6 +31,37 @@