mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-05-24 02:14:21 -04:00
Recurring Quotes / Expenses events
This commit is contained in:
parent
06157e95a6
commit
827dba0bed
47
app/Events/RecurringQuote/RecurringQuoteWasArchived.php
Normal file
47
app/Events/RecurringQuote/RecurringQuoteWasArchived.php
Normal file
@ -0,0 +1,47 @@
|
||||
<?php
|
||||
/**
|
||||
* Invoice Ninja (https://invoiceninja.com).
|
||||
*
|
||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
||||
*
|
||||
* @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com)
|
||||
*
|
||||
* @license https://www.elastic.co/licensing/elastic-license
|
||||
*/
|
||||
|
||||
namespace App\Events\RecurringQuote;
|
||||
|
||||
use App\Models\Company;
|
||||
use App\Models\RecurringQuote;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
|
||||
/**
|
||||
* Class RecurringQuoteWasArchived.
|
||||
*/
|
||||
class RecurringQuoteWasArchived
|
||||
{
|
||||
use SerializesModels;
|
||||
|
||||
/**
|
||||
* @var Invoice
|
||||
*/
|
||||
public $recurring_quote;
|
||||
|
||||
public $company;
|
||||
|
||||
public $event_vars;
|
||||
|
||||
/**
|
||||
* Create a new event instance.
|
||||
*
|
||||
* @param Invoice $recurring_quote
|
||||
* @param Company $company
|
||||
* @param array $event_vars
|
||||
*/
|
||||
public function __construct(RecurringQuote $recurring_quote, Company $company, array $event_vars)
|
||||
{
|
||||
$this->recurring_quote = $recurring_quote;
|
||||
$this->company = $company;
|
||||
$this->event_vars = $event_vars;
|
||||
}
|
||||
}
|
47
app/Events/RecurringQuote/RecurringQuoteWasCreated.php
Normal file
47
app/Events/RecurringQuote/RecurringQuoteWasCreated.php
Normal file
@ -0,0 +1,47 @@
|
||||
<?php
|
||||
/**
|
||||
* Invoice Ninja (https://invoiceninja.com).
|
||||
*
|
||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
||||
*
|
||||
* @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com)
|
||||
*
|
||||
* @license https://www.elastic.co/licensing/elastic-license
|
||||
*/
|
||||
|
||||
namespace App\Events\RecurringQuote;
|
||||
|
||||
use App\Models\Company;
|
||||
use App\Models\RecurringQuote;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
|
||||
/**
|
||||
* Class RecurringQuoteWasCreated.
|
||||
*/
|
||||
class RecurringQuoteWasCreated
|
||||
{
|
||||
use SerializesModels;
|
||||
|
||||
/**
|
||||
* @var RecurringQuote
|
||||
*/
|
||||
public $recurring_quote;
|
||||
|
||||
public $company;
|
||||
|
||||
public $event_vars;
|
||||
|
||||
/**
|
||||
* Create a new event instance.
|
||||
*
|
||||
* @param RecurringQuote $recurring_quote
|
||||
* @param Company $company
|
||||
* @param array $event_vars
|
||||
*/
|
||||
public function __construct(RecurringQuote $recurring_quote, Company $company, array $event_vars)
|
||||
{
|
||||
$this->recurring_quote = $recurring_quote;
|
||||
$this->company = $company;
|
||||
$this->event_vars = $event_vars;
|
||||
}
|
||||
}
|
47
app/Events/RecurringQuote/RecurringQuoteWasDeleted.php
Normal file
47
app/Events/RecurringQuote/RecurringQuoteWasDeleted.php
Normal file
@ -0,0 +1,47 @@
|
||||
<?php
|
||||
/**
|
||||
* Invoice Ninja (https://invoiceninja.com).
|
||||
*
|
||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
||||
*
|
||||
* @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com)
|
||||
*
|
||||
* @license https://www.elastic.co/licensing/elastic-license
|
||||
*/
|
||||
|
||||
namespace App\Events\RecurringQuote;
|
||||
|
||||
use App\Models\Company;
|
||||
use App\Models\RecurringQuote;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
|
||||
/**
|
||||
* Class RecurringQuoteWasDeleted.
|
||||
*/
|
||||
class RecurringQuoteWasDeleted
|
||||
{
|
||||
use SerializesModels;
|
||||
|
||||
/**
|
||||
* @var RecurringQuote
|
||||
*/
|
||||
public $recurring_quote;
|
||||
|
||||
public $company;
|
||||
|
||||
public $event_vars;
|
||||
|
||||
/**
|
||||
* Create a new event instance.
|
||||
*
|
||||
* @param Invoice $invoice
|
||||
* @param Company $company
|
||||
* @param array $event_vars
|
||||
*/
|
||||
public function __construct(RecurringQuote $recurring_quote, Company $company, array $event_vars)
|
||||
{
|
||||
$this->recurring_quote = $recurring_quote;
|
||||
$this->company = $company;
|
||||
$this->event_vars = $event_vars;
|
||||
}
|
||||
}
|
51
app/Events/RecurringQuote/RecurringQuoteWasRestored.php
Normal file
51
app/Events/RecurringQuote/RecurringQuoteWasRestored.php
Normal file
@ -0,0 +1,51 @@
|
||||
<?php
|
||||
/**
|
||||
* Invoice Ninja (https://invoiceninja.com).
|
||||
*
|
||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
||||
*
|
||||
* @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com)
|
||||
*
|
||||
* @license https://www.elastic.co/licensing/elastic-license
|
||||
*/
|
||||
|
||||
namespace App\Events\RecurringQuote;
|
||||
|
||||
use App\Models\Company;
|
||||
use App\Models\RecurringQuote;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
|
||||
/**
|
||||
* Class RecurringQuoteWasRestored.
|
||||
*/
|
||||
class RecurringQuoteWasRestored
|
||||
{
|
||||
use SerializesModels;
|
||||
|
||||
/**
|
||||
* @var RecurringQuote
|
||||
*/
|
||||
public $recurring_quote;
|
||||
|
||||
public $fromDeleted;
|
||||
|
||||
public $company;
|
||||
|
||||
public $event_vars;
|
||||
|
||||
/**
|
||||
* Create a new event instance.
|
||||
*
|
||||
* @param Invoice $invoice
|
||||
* @param $fromDeleted
|
||||
* @param Company $company
|
||||
* @param array $event_vars
|
||||
*/
|
||||
public function __construct(RecurringQuote $recurring_quote, $fromDeleted, Company $company, array $event_vars)
|
||||
{
|
||||
$this->recurring_quote = $recurring_quote;
|
||||
$this->fromDeleted = $fromDeleted;
|
||||
$this->company = $company;
|
||||
$this->event_vars = $event_vars;
|
||||
}
|
||||
}
|
49
app/Events/RecurringQuote/RecurringQuoteWasUpdated.php
Normal file
49
app/Events/RecurringQuote/RecurringQuoteWasUpdated.php
Normal file
@ -0,0 +1,49 @@
|
||||
<?php
|
||||
/**
|
||||
* Invoice Ninja (https://invoiceninja.com).
|
||||
*
|
||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
||||
*
|
||||
* @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com)
|
||||
*
|
||||
* @license https://www.elastic.co/licensing/elastic-license
|
||||
*/
|
||||
|
||||
namespace App\Events\RecurringQuote;
|
||||
|
||||
use App\Models\Company;
|
||||
use App\Models\RecurringQuote;
|
||||
use Illuminate\Broadcasting\InteractsWithSockets;
|
||||
use Illuminate\Foundation\Events\Dispatchable;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
|
||||
/**
|
||||
* Class RecurringQuoteWasUpdated.
|
||||
*/
|
||||
class RecurringQuoteWasUpdated
|
||||
{
|
||||
use Dispatchable, InteractsWithSockets, SerializesModels;
|
||||
|
||||
/**
|
||||
* @var Invoice
|
||||
*/
|
||||
public $recurring_quote;
|
||||
|
||||
public $company;
|
||||
|
||||
public $event_vars;
|
||||
|
||||
/**
|
||||
* Create a new event instance.
|
||||
*
|
||||
* @param RecurringQuote $recurring_quote
|
||||
* @param Company $company
|
||||
* @param array $event_vars
|
||||
*/
|
||||
public function __construct(RecurringQuote $recurring_quote, Company $company, array $event_vars)
|
||||
{
|
||||
$this->recurring_quote = $recurring_quote;
|
||||
$this->company = $company;
|
||||
$this->event_vars = $event_vars;
|
||||
}
|
||||
}
|
@ -0,0 +1,57 @@
|
||||
<?php
|
||||
/**
|
||||
* Invoice Ninja (https://invoiceninja.com).
|
||||
*
|
||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
||||
*
|
||||
* @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com)
|
||||
*
|
||||
* @license https://www.elastic.co/licensing/elastic-license
|
||||
*/
|
||||
|
||||
namespace App\Listeners\RecurringExpense;
|
||||
|
||||
use App\Libraries\MultiDB;
|
||||
use App\Models\Activity;
|
||||
use App\Repositories\ActivityRepository;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use stdClass;
|
||||
|
||||
class RecurringExpenseArchivedActivity implements ShouldQueue
|
||||
{
|
||||
protected $activity_repo;
|
||||
|
||||
/**
|
||||
* Create the event listener.
|
||||
*
|
||||
* @param ActivityRepository $activity_repo
|
||||
*/
|
||||
public function __construct(ActivityRepository $activity_repo)
|
||||
{
|
||||
$this->activity_repo = $activity_repo;
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the event.
|
||||
*
|
||||
* @param object $event
|
||||
* @return void
|
||||
*/
|
||||
public function handle($event)
|
||||
{
|
||||
MultiDB::setDb($event->company->db);
|
||||
|
||||
$recurring_expense = $event->recurring_expense;
|
||||
|
||||
$fields = new stdClass;
|
||||
|
||||
$user_id = array_key_exists('user_id', $event->event_vars) ? $event->event_vars['user_id'] : $event->recurring_expense->user_id;
|
||||
|
||||
$fields->recurring_expense_id = $recurring_expense->id;
|
||||
$fields->user_id = $user_id;
|
||||
$fields->company_id = $recurring_expense->company_id;
|
||||
$fields->activity_type_id = Activity::ARCHIVE_RECURRING_EXPENSE;
|
||||
|
||||
$this->activity_repo->save($fields, $recurring_expense, $event->event_vars);
|
||||
}
|
||||
}
|
@ -0,0 +1,57 @@
|
||||
<?php
|
||||
/**
|
||||
* Invoice Ninja (https://invoiceninja.com).
|
||||
*
|
||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
||||
*
|
||||
* @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com)
|
||||
*
|
||||
* @license https://www.elastic.co/licensing/elastic-license
|
||||
*/
|
||||
|
||||
namespace App\Listeners\RecurringExpense;
|
||||
|
||||
use App\Libraries\MultiDB;
|
||||
use App\Models\Activity;
|
||||
use App\Repositories\ActivityRepository;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use stdClass;
|
||||
|
||||
class RecurringExpenseArchivedActivity implements ShouldQueue
|
||||
{
|
||||
protected $activity_repo;
|
||||
|
||||
/**
|
||||
* Create the event listener.
|
||||
*
|
||||
* @param ActivityRepository $activity_repo
|
||||
*/
|
||||
public function __construct(ActivityRepository $activity_repo)
|
||||
{
|
||||
$this->activity_repo = $activity_repo;
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the event.
|
||||
*
|
||||
* @param object $event
|
||||
* @return void
|
||||
*/
|
||||
public function handle($event)
|
||||
{
|
||||
MultiDB::setDb($event->company->db);
|
||||
|
||||
$recurring_expense = $event->recurring_expense;
|
||||
|
||||
$fields = new stdClass;
|
||||
|
||||
$user_id = array_key_exists('user_id', $event->event_vars) ? $event->event_vars['user_id'] : $event->recurring_expense->user_id;
|
||||
|
||||
$fields->recurring_expense_id = $recurring_expense->id;
|
||||
$fields->user_id = $user_id;
|
||||
$fields->company_id = $recurring_expense->company_id;
|
||||
$fields->activity_type_id = Activity::ARCHIVE_RECURRING_EXPENSE;
|
||||
|
||||
$this->activity_repo->save($fields, $recurring_expense, $event->event_vars);
|
||||
}
|
||||
}
|
@ -0,0 +1,55 @@
|
||||
<?php
|
||||
/**
|
||||
* Invoice Ninja (https://invoiceninja.com).
|
||||
*
|
||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
||||
*
|
||||
* @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com)
|
||||
*
|
||||
* @license https://www.elastic.co/licensing/elastic-license
|
||||
*/
|
||||
|
||||
namespace App\Listeners\RecurringExpense;
|
||||
|
||||
use App\Libraries\MultiDB;
|
||||
use App\Models\Activity;
|
||||
use App\Repositories\ActivityRepository;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use stdClass;
|
||||
|
||||
class RecurringExpenseDeletedActivity implements ShouldQueue
|
||||
{
|
||||
protected $activity_repo;
|
||||
|
||||
/**
|
||||
* Create the event listener.
|
||||
*
|
||||
* @param ActivityRepository $activity_repo
|
||||
*/
|
||||
public function __construct(ActivityRepository $activity_repo)
|
||||
{
|
||||
$this->activity_repo = $activity_repo;
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the event.
|
||||
*
|
||||
* @param object $event
|
||||
* @return void
|
||||
*/
|
||||
public function handle($event)
|
||||
{
|
||||
MultiDB::setDb($event->company->db);
|
||||
|
||||
$fields = new stdClass;
|
||||
|
||||
$user_id = array_key_exists('user_id', $event->event_vars) ? $event->event_vars['user_id'] : $event->recurring_expense->user_id;
|
||||
|
||||
$fields->recurring_expense_id = $event->recurring_expense->id;
|
||||
$fields->user_id = $user_id;
|
||||
$fields->company_id = $event->recurring_expense->company_id;
|
||||
$fields->activity_type_id = Activity::DELETE_RECURRING_EXPENSE;
|
||||
|
||||
$this->activity_repo->save($fields, $event->recurring_expense, $event->event_vars);
|
||||
}
|
||||
}
|
@ -0,0 +1,55 @@
|
||||
<?php
|
||||
/**
|
||||
* Invoice Ninja (https://invoiceninja.com).
|
||||
*
|
||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
||||
*
|
||||
* @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com)
|
||||
*
|
||||
* @license https://www.elastic.co/licensing/elastic-license
|
||||
*/
|
||||
|
||||
namespace App\Listeners\RecurringExpense;
|
||||
|
||||
use App\Libraries\MultiDB;
|
||||
use App\Models\Activity;
|
||||
use App\Repositories\ActivityRepository;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use stdClass;
|
||||
|
||||
class RecurringExpenseRestoredActivity implements ShouldQueue
|
||||
{
|
||||
protected $activity_repo;
|
||||
|
||||
/**
|
||||
* Create the event listener.
|
||||
*
|
||||
* @param ActivityRepository $activity_repo
|
||||
*/
|
||||
public function __construct(ActivityRepository $activity_repo)
|
||||
{
|
||||
$this->activity_repo = $activity_repo;
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the event.
|
||||
*
|
||||
* @param object $event
|
||||
* @return void
|
||||
*/
|
||||
public function handle($event)
|
||||
{
|
||||
MultiDB::setDb($event->company->db);
|
||||
|
||||
$fields = new stdClass;
|
||||
|
||||
$user_id = array_key_exists('user_id', $event->event_vars) ? $event->event_vars['user_id'] : $event->recurring_expense->user_id;
|
||||
|
||||
$fields->recurring_expense_id = $event->recurring_expense->id;
|
||||
$fields->user_id = $user_id;
|
||||
$fields->company_id = $event->recurring_expense->company_id;
|
||||
$fields->activity_type_id = Activity::RESTORE_RECURRING_EXPENSE;
|
||||
|
||||
$this->activity_repo->save($fields, $event->recurring_expense, $event->event_vars);
|
||||
}
|
||||
}
|
@ -0,0 +1,57 @@
|
||||
<?php
|
||||
/**
|
||||
* Invoice Ninja (https://invoiceninja.com).
|
||||
*
|
||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
||||
*
|
||||
* @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com)
|
||||
*
|
||||
* @license https://www.elastic.co/licensing/elastic-license
|
||||
*/
|
||||
|
||||
namespace App\Listeners\RecurringExpense;
|
||||
|
||||
use App\Libraries\MultiDB;
|
||||
use App\Models\Activity;
|
||||
use App\Repositories\ActivityRepository;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use stdClass;
|
||||
|
||||
class RecurringExpenseUpdatedActivity implements ShouldQueue
|
||||
{
|
||||
protected $activity_repo;
|
||||
|
||||
/**
|
||||
* Create the event listener.
|
||||
*
|
||||
* @param ActivityRepository $activity_repo
|
||||
*/
|
||||
public function __construct(ActivityRepository $activity_repo)
|
||||
{
|
||||
$this->activity_repo = $activity_repo;
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the event.
|
||||
*
|
||||
* @param object $event
|
||||
* @return void
|
||||
*/
|
||||
public function handle($event)
|
||||
{
|
||||
MultiDB::setDb($event->company->db);
|
||||
|
||||
$recurring_expense = $event->recurring_expense;
|
||||
|
||||
$user_id = array_key_exists('user_id', $event->event_vars) ? $event->event_vars['user_id'] : $event->recurring_expense->user_id;
|
||||
|
||||
$fields = new stdClass;
|
||||
|
||||
$fields->recurring_expense_id = $recurring_expense->id;
|
||||
$fields->user_id = $user_id;
|
||||
$fields->company_id = $recurring_expense->company_id;
|
||||
$fields->activity_type_id = Activity::UPDATE_RECURRING_EXPENSE;
|
||||
|
||||
$this->activity_repo->save($fields, $recurring_expense, $event->event_vars);
|
||||
}
|
||||
}
|
@ -0,0 +1,56 @@
|
||||
<?php
|
||||
/**
|
||||
* Invoice Ninja (https://invoiceninja.com).
|
||||
*
|
||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
||||
*
|
||||
* @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com)
|
||||
*
|
||||
* @license https://www.elastic.co/licensing/elastic-license
|
||||
*/
|
||||
|
||||
namespace App\Listeners\RecurringQuote;
|
||||
|
||||
use App\Libraries\MultiDB;
|
||||
use App\Models\Activity;
|
||||
use App\Repositories\ActivityRepository;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use stdClass;
|
||||
|
||||
class CreateRecurringQuoteActivity implements ShouldQueue
|
||||
{
|
||||
protected $activity_repo;
|
||||
|
||||
/**
|
||||
* Create the event listener.
|
||||
*
|
||||
* @param ActivityRepository $activity_repo
|
||||
*/
|
||||
public function __construct(ActivityRepository $activity_repo)
|
||||
{
|
||||
$this->activity_repo = $activity_repo;
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the event.
|
||||
*
|
||||
* @param object $event
|
||||
* @return void
|
||||
*/
|
||||
public function handle($event)
|
||||
{
|
||||
MultiDB::setDb($event->company->db);
|
||||
|
||||
$fields = new stdClass;
|
||||
|
||||
$user_id = array_key_exists('user_id', $event->event_vars) ? $event->event_vars['user_id'] : $event->recurring_quote->user_id;
|
||||
|
||||
$fields->user_id = $user_id;
|
||||
$fields->recurring_quote_id = $event->recurring_quote->id;
|
||||
$fields->client_id = $event->recurring_quote->client_id;
|
||||
$fields->company_id = $event->recurring_quote->company_id;
|
||||
$fields->activity_type_id = Activity::CREATE_RECURRING_QUOTE;
|
||||
|
||||
$this->activity_repo->save($fields, $event->recurring_quote, $event->event_vars);
|
||||
}
|
||||
}
|
@ -0,0 +1,57 @@
|
||||
<?php
|
||||
/**
|
||||
* Invoice Ninja (https://invoiceninja.com).
|
||||
*
|
||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
||||
*
|
||||
* @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com)
|
||||
*
|
||||
* @license https://www.elastic.co/licensing/elastic-license
|
||||
*/
|
||||
|
||||
namespace App\Listeners\RecurringQuote;
|
||||
|
||||
use App\Libraries\MultiDB;
|
||||
use App\Models\Activity;
|
||||
use App\Repositories\ActivityRepository;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use stdClass;
|
||||
|
||||
class RecurringQuoteArchivedActivity implements ShouldQueue
|
||||
{
|
||||
protected $activity_repo;
|
||||
|
||||
/**
|
||||
* Create the event listener.
|
||||
*
|
||||
* @param ActivityRepository $activity_repo
|
||||
*/
|
||||
public function __construct(ActivityRepository $activity_repo)
|
||||
{
|
||||
$this->activity_repo = $activity_repo;
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the event.
|
||||
*
|
||||
* @param object $event
|
||||
* @return void
|
||||
*/
|
||||
public function handle($event)
|
||||
{
|
||||
MultiDB::setDb($event->company->db);
|
||||
|
||||
$event->recurring_quote->service()->deletePdf();
|
||||
|
||||
$fields = new stdClass;
|
||||
$user_id = array_key_exists('user_id', $event->event_vars) ? $event->event_vars['user_id'] : $event->recurring_quote->user_id;
|
||||
|
||||
$fields->user_id = $user_id;
|
||||
$fields->recurring_quote_id = $event->recurring_quote->id;
|
||||
$fields->client_id = $event->recurring_quote->client_id;
|
||||
$fields->company_id = $event->recurring_quote->company_id;
|
||||
$fields->activity_type_id = Activity::ARCHIVE_RECURRING_QUOTE;
|
||||
|
||||
$this->activity_repo->save($fields, $event->recurring_quote, $event->event_vars);
|
||||
}
|
||||
}
|
@ -0,0 +1,55 @@
|
||||
<?php
|
||||
/**
|
||||
* Invoice Ninja (https://invoiceninja.com).
|
||||
*
|
||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
||||
*
|
||||
* @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com)
|
||||
*
|
||||
* @license https://www.elastic.co/licensing/elastic-license
|
||||
*/
|
||||
|
||||
namespace App\Listeners\RecurringQuote;
|
||||
|
||||
use App\Libraries\MultiDB;
|
||||
use App\Models\Activity;
|
||||
use App\Repositories\ActivityRepository;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use stdClass;
|
||||
|
||||
class RecurringQuoteDeletedActivity implements ShouldQueue
|
||||
{
|
||||
protected $activity_repo;
|
||||
|
||||
/**
|
||||
* Create the event listener.
|
||||
*
|
||||
* @param ActivityRepository $activity_repo
|
||||
*/
|
||||
public function __construct(ActivityRepository $activity_repo)
|
||||
{
|
||||
$this->activity_repo = $activity_repo;
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the event.
|
||||
*
|
||||
* @param object $event
|
||||
* @return void
|
||||
*/
|
||||
public function handle($event)
|
||||
{
|
||||
MultiDB::setDb($event->company->db);
|
||||
|
||||
$fields = new stdClass;
|
||||
$user_id = array_key_exists('user_id', $event->event_vars) ? $event->event_vars['user_id'] : $event->recurring_quote->user_id;
|
||||
|
||||
$fields->user_id = $user_id;
|
||||
$fields->recurring_quote_id = $event->recurring_quote->id;
|
||||
$fields->client_id = $event->recurring_quote->client_id;
|
||||
$fields->company_id = $event->recurring_quote->company_id;
|
||||
$fields->activity_type_id = Activity::DELETE_RECURRING_QUOTE;
|
||||
|
||||
$this->activity_repo->save($fields, $event->recurring_quote, $event->event_vars);
|
||||
}
|
||||
}
|
@ -0,0 +1,55 @@
|
||||
<?php
|
||||
/**
|
||||
* Invoice Ninja (https://invoiceninja.com).
|
||||
*
|
||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
||||
*
|
||||
* @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com)
|
||||
*
|
||||
* @license https://www.elastic.co/licensing/elastic-license
|
||||
*/
|
||||
|
||||
namespace App\Listeners\RecurringQuote;
|
||||
|
||||
use App\Libraries\MultiDB;
|
||||
use App\Models\Activity;
|
||||
use App\Repositories\ActivityRepository;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use stdClass;
|
||||
|
||||
class RecurringQuoteRestoredActivity implements ShouldQueue
|
||||
{
|
||||
protected $activity_repo;
|
||||
|
||||
/**
|
||||
* Create the event listener.
|
||||
*
|
||||
* @param ActivityRepository $activity_repo
|
||||
*/
|
||||
public function __construct(ActivityRepository $activity_repo)
|
||||
{
|
||||
$this->activity_repo = $activity_repo;
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the event.
|
||||
*
|
||||
* @param object $event
|
||||
* @return void
|
||||
*/
|
||||
public function handle($event)
|
||||
{
|
||||
MultiDB::setDb($event->company->db);
|
||||
|
||||
$fields = new stdClass;
|
||||
$user_id = array_key_exists('user_id', $event->event_vars) ? $event->event_vars['user_id'] : $event->recurring_quote->user_id;
|
||||
|
||||
$fields->user_id = $user_id;
|
||||
$fields->recurring_quote_id = $event->recurring_quote->id;
|
||||
$fields->client_id = $event->recurring_quote->client_id;
|
||||
$fields->company_id = $event->recurring_quote->company_id;
|
||||
$fields->activity_type_id = Activity::RESTORE_RECURRING_QUOTE;
|
||||
|
||||
$this->activity_repo->save($fields, $event->recurring_quote, $event->event_vars);
|
||||
}
|
||||
}
|
@ -0,0 +1,55 @@
|
||||
<?php
|
||||
/**
|
||||
* Invoice Ninja (https://invoiceninja.com).
|
||||
*
|
||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
||||
*
|
||||
* @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com)
|
||||
*
|
||||
* @license https://www.elastic.co/licensing/elastic-license
|
||||
*/
|
||||
|
||||
namespace App\Listeners\RecurringQuote;
|
||||
|
||||
use App\Libraries\MultiDB;
|
||||
use App\Models\Activity;
|
||||
use App\Repositories\ActivityRepository;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use stdClass;
|
||||
|
||||
class UpdateRecurringQuoteActivity implements ShouldQueue
|
||||
{
|
||||
protected $activity_repo;
|
||||
|
||||
/**
|
||||
* Create the event listener.
|
||||
*
|
||||
* @param ActivityRepository $activity_repo
|
||||
*/
|
||||
public function __construct(ActivityRepository $activity_repo)
|
||||
{
|
||||
$this->activity_repo = $activity_repo;
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the event.
|
||||
*
|
||||
* @param object $event
|
||||
* @return void
|
||||
*/
|
||||
public function handle($event)
|
||||
{
|
||||
MultiDB::setDB($event->company->db);
|
||||
|
||||
$fields = new stdClass;
|
||||
$user_id = array_key_exists('user_id', $event->event_vars) ? $event->event_vars['user_id'] : $event->recurring_quote->user_id;
|
||||
|
||||
$fields->user_id = $user_id;
|
||||
$fields->client_id = $event->recurring_quote->client_id;
|
||||
$fields->company_id = $event->recurring_quote->company_id;
|
||||
$fields->activity_type_id = Activity::UPDATE_RECURRING_QUOTE;
|
||||
$fields->recurring_quote_id = $event->recurring_quote->id;
|
||||
|
||||
$this->activity_repo->save($fields, $event->recurring_quote, $event->event_vars);
|
||||
}
|
||||
}
|
@ -96,6 +96,18 @@ class Activity extends StaticModel
|
||||
const DELETE_RECURRING_INVOICE = 103;
|
||||
const RESTORE_RECURRING_INVOICE = 104;
|
||||
|
||||
const CREATE_RECURRING_QUOTE = 110;
|
||||
const UPDATE_RECURRING_QUOTE = 111;
|
||||
const ARCHIVE_RECURRING_QUOTE = 112;
|
||||
const DELETE_RECURRING_QUOTE = 113;
|
||||
const RESTORE_RECURRING_QUOTE = 114;
|
||||
|
||||
const CREATE_RECURRING_EXPENSE = 120;
|
||||
const UPDATE_RECURRING_EXPENSE = 121;
|
||||
const ARCHIVE_RECURRING_EXPENSE = 122;
|
||||
const DELETE_RECURRING_EXPENSE = 123;
|
||||
const RESTORE_RECURRING_EXPENSE = 124;
|
||||
|
||||
protected $casts = [
|
||||
'is_system' => 'boolean',
|
||||
'updated_at' => 'timestamp',
|
||||
|
@ -68,11 +68,21 @@ use App\Events\Quote\QuoteWasEmailed;
|
||||
use App\Events\Quote\QuoteWasRestored;
|
||||
use App\Events\Quote\QuoteWasUpdated;
|
||||
use App\Events\Quote\QuoteWasViewed;
|
||||
use App\Events\RecurringExpense\RecurringExpenseWasArchived;
|
||||
use App\Events\RecurringExpense\RecurringExpenseWasCreated;
|
||||
use App\Events\RecurringExpense\RecurringExpenseWasDeleted;
|
||||
use App\Events\RecurringExpense\RecurringExpenseWasRestored;
|
||||
use App\Events\RecurringExpense\RecurringExpenseWasUpdated;
|
||||
use App\Events\RecurringInvoice\RecurringInvoiceWasArchived;
|
||||
use App\Events\RecurringInvoice\RecurringInvoiceWasCreated;
|
||||
use App\Events\RecurringInvoice\RecurringInvoiceWasDeleted;
|
||||
use App\Events\RecurringInvoice\RecurringInvoiceWasRestored;
|
||||
use App\Events\RecurringInvoice\RecurringInvoiceWasUpdated;
|
||||
use App\Events\RecurringQuote\RecurringQuoteWasArchived;
|
||||
use App\Events\RecurringQuote\RecurringQuoteWasCreated;
|
||||
use App\Events\RecurringQuote\RecurringQuoteWasDeleted;
|
||||
use App\Events\RecurringQuote\RecurringQuoteWasRestored;
|
||||
use App\Events\RecurringQuote\RecurringQuoteWasUpdated;
|
||||
use App\Events\Subscription\SubscriptionWasArchived;
|
||||
use App\Events\Subscription\SubscriptionWasCreated;
|
||||
use App\Events\Subscription\SubscriptionWasDeleted;
|
||||
@ -174,6 +184,11 @@ use App\Listeners\RecurringInvoice\RecurringInvoiceArchivedActivity;
|
||||
use App\Listeners\RecurringInvoice\RecurringInvoiceDeletedActivity;
|
||||
use App\Listeners\RecurringInvoice\RecurringInvoiceRestoredActivity;
|
||||
use App\Listeners\RecurringInvoice\UpdateRecurringInvoiceActivity;
|
||||
use App\Listeners\RecurringQuote\CreateRecurringQuoteActivity;
|
||||
use App\Listeners\RecurringQuote\RecurringQuoteArchivedActivity;
|
||||
use App\Listeners\RecurringQuote\RecurringQuoteDeletedActivity;
|
||||
use App\Listeners\RecurringQuote\RecurringQuoteRestoredActivity;
|
||||
use App\Listeners\RecurringQuote\UpdateRecurringQuoteActivity;
|
||||
use App\Listeners\SendVerificationNotification;
|
||||
use App\Listeners\User\ArchivedUserActivity;
|
||||
use App\Listeners\User\CreatedUserActivity;
|
||||
@ -410,6 +425,36 @@ class EventServiceProvider extends ServiceProvider
|
||||
QuoteWasRestored::class => [
|
||||
QuoteRestoredActivity::class,
|
||||
],
|
||||
RecurringExpenseWasCreated::class => [
|
||||
CreatedRecurringExpenseActivity::class,
|
||||
],
|
||||
RecurringExpenseWasUpdated::class => [
|
||||
RecurringExpenseUpdatedActivity::class,
|
||||
],
|
||||
RecurringExpenseWasArchived::class => [
|
||||
RecurringExpenseArchivedActivity::class,
|
||||
],
|
||||
RecurringExpenseWasDeleted::class => [
|
||||
RecurringExpenseDeletedActivity::class,
|
||||
],
|
||||
RecurringExpenseWasRestored::class => [
|
||||
RecurringExpenseRestoredActivity::class
|
||||
],
|
||||
RecurringQuoteWasUpdated::class => [
|
||||
UpdateRecurringQuoteActivity::class,
|
||||
],
|
||||
RecurringQuoteWasCreated::class => [
|
||||
CreateRecurringQuoteActivity::class,
|
||||
],
|
||||
RecurringQuoteWasDeleted::class => [
|
||||
RecurringQuoteDeletedActivity::class,
|
||||
],
|
||||
RecurringQuoteWasArchived::class => [
|
||||
RecurringQuoteArchivedActivity::class,
|
||||
],
|
||||
RecurringQuoteWasRestored::class => [
|
||||
RecurringQuoteRestoredActivity::class,
|
||||
],
|
||||
RecurringInvoiceWasUpdated::class => [
|
||||
UpdateRecurringInvoiceActivity::class,
|
||||
],
|
||||
|
@ -141,8 +141,6 @@ Route::group(['middleware' => ['api_db', 'token_auth', 'locale'], 'prefix' => 'a
|
||||
Route::post('recurring_quotes/bulk', 'RecurringQuoteController@bulk')->name('recurring_quotes.bulk');
|
||||
Route::put('recurring_quotes/{recurring_quote}/upload', 'RecurringQuoteController@upload');
|
||||
|
||||
Route::post('recurring_quotes/bulk', 'RecurringQuoteController@bulk')->name('recurring_quotes.bulk');
|
||||
|
||||
Route::post('refresh', 'Auth\LoginController@refresh');
|
||||
|
||||
Route::get('scheduler', 'SchedulerController@index');
|
||||
|
Loading…
x
Reference in New Issue
Block a user