mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
Events and listeners for Recurring Invoices
This commit is contained in:
parent
9f9bcb0fce
commit
3b5a6d5392
47
app/Events/RecurringInvoice/RecurringInvoiceWasArchived.php
Normal file
47
app/Events/RecurringInvoice/RecurringInvoiceWasArchived.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://opensource.org/licenses/AAL
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace App\Events\RecurringInvoice;
|
||||||
|
|
||||||
|
use App\Models\Company;
|
||||||
|
use App\Models\RecurringInvoice;
|
||||||
|
use Illuminate\Queue\SerializesModels;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class RecurringInvoiceWasArchived.
|
||||||
|
*/
|
||||||
|
class RecurringInvoiceWasArchived
|
||||||
|
{
|
||||||
|
use SerializesModels;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var Invoice
|
||||||
|
*/
|
||||||
|
public $recurring_invoice;
|
||||||
|
|
||||||
|
public $company;
|
||||||
|
|
||||||
|
public $event_vars;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new event instance.
|
||||||
|
*
|
||||||
|
* @param Invoice $recurring_invoice
|
||||||
|
* @param Company $company
|
||||||
|
* @param array $event_vars
|
||||||
|
*/
|
||||||
|
public function __construct(RecurringInvoice $recurring_invoice, Company $company, array $event_vars)
|
||||||
|
{
|
||||||
|
$this->recurring_invoice = $recurring_invoice;
|
||||||
|
$this->company = $company;
|
||||||
|
$this->event_vars = $event_vars;
|
||||||
|
}
|
||||||
|
}
|
47
app/Events/RecurringInvoice/RecurringInvoiceWasCreated.php
Normal file
47
app/Events/RecurringInvoice/RecurringInvoiceWasCreated.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://opensource.org/licenses/AAL
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace App\Events\RecurringInvoice;
|
||||||
|
|
||||||
|
use App\Models\Company;
|
||||||
|
use App\Models\RecurringInvoice;
|
||||||
|
use Illuminate\Queue\SerializesModels;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class RecurringInvoiceWasCreated.
|
||||||
|
*/
|
||||||
|
class RecurringInvoiceWasCreated
|
||||||
|
{
|
||||||
|
use SerializesModels;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var RecurringInvoice
|
||||||
|
*/
|
||||||
|
public $recurring_invoice;
|
||||||
|
|
||||||
|
public $company;
|
||||||
|
|
||||||
|
public $event_vars;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new event instance.
|
||||||
|
*
|
||||||
|
* @param RecurringInvoice $recurring_invoice
|
||||||
|
* @param Company $company
|
||||||
|
* @param array $event_vars
|
||||||
|
*/
|
||||||
|
public function __construct(RecurringInvoice $recurring_invoice, Company $company, array $event_vars)
|
||||||
|
{
|
||||||
|
$this->recurring_invoice = $recurring_invoice;
|
||||||
|
$this->company = $company;
|
||||||
|
$this->event_vars = $event_vars;
|
||||||
|
}
|
||||||
|
}
|
47
app/Events/RecurringInvoice/RecurringInvoiceWasDeleted.php
Normal file
47
app/Events/RecurringInvoice/RecurringInvoiceWasDeleted.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://opensource.org/licenses/AAL
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace App\Events\RecurringInvoice;
|
||||||
|
|
||||||
|
use App\Models\Company;
|
||||||
|
use App\Models\RecurringInvoice;
|
||||||
|
use Illuminate\Queue\SerializesModels;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class RecurringInvoiceWasDeleted.
|
||||||
|
*/
|
||||||
|
class RecurringInvoiceWasDeleted
|
||||||
|
{
|
||||||
|
use SerializesModels;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var RecurringInvoice
|
||||||
|
*/
|
||||||
|
public $recurring_invoice;
|
||||||
|
|
||||||
|
public $company;
|
||||||
|
|
||||||
|
public $event_vars;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new event instance.
|
||||||
|
*
|
||||||
|
* @param Invoice $invoice
|
||||||
|
* @param Company $company
|
||||||
|
* @param array $event_vars
|
||||||
|
*/
|
||||||
|
public function __construct(RecurringInvoice $recurring_invoice, Company $company, array $event_vars)
|
||||||
|
{
|
||||||
|
$this->recurring_invoice = $recurring_invoice;
|
||||||
|
$this->company = $company;
|
||||||
|
$this->event_vars = $event_vars;
|
||||||
|
}
|
||||||
|
}
|
51
app/Events/RecurringInvoice/RecurringInvoiceWasRestored.php
Normal file
51
app/Events/RecurringInvoice/RecurringInvoiceWasRestored.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://opensource.org/licenses/AAL
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace App\Events\RecurringInvoice;
|
||||||
|
|
||||||
|
use App\Models\Company;
|
||||||
|
use App\Models\RecurringInvoice;
|
||||||
|
use Illuminate\Queue\SerializesModels;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class RecurringInvoiceWasRestored.
|
||||||
|
*/
|
||||||
|
class RecurringInvoiceWasRestored
|
||||||
|
{
|
||||||
|
use SerializesModels;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var RecurringInvoice
|
||||||
|
*/
|
||||||
|
public $recurring_invoice;
|
||||||
|
|
||||||
|
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(RecurringInvoice $recurring_invoice, $fromDeleted, Company $company, array $event_vars)
|
||||||
|
{
|
||||||
|
$this->recurring_invoice = $recurring_invoice;
|
||||||
|
$this->fromDeleted = $fromDeleted;
|
||||||
|
$this->company = $company;
|
||||||
|
$this->event_vars = $event_vars;
|
||||||
|
}
|
||||||
|
}
|
49
app/Events/RecurringInvoice/RecurringInvoiceWasUpdated.php
Normal file
49
app/Events/RecurringInvoice/RecurringInvoiceWasUpdated.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://opensource.org/licenses/AAL
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace App\Events\RecurringInvoice;
|
||||||
|
|
||||||
|
use App\Models\Company;
|
||||||
|
use App\Models\RecurringInvoice;
|
||||||
|
use Illuminate\Broadcasting\InteractsWithSockets;
|
||||||
|
use Illuminate\Foundation\Events\Dispatchable;
|
||||||
|
use Illuminate\Queue\SerializesModels;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class RecurringInvoiceWasUpdated.
|
||||||
|
*/
|
||||||
|
class RecurringInvoiceWasUpdated
|
||||||
|
{
|
||||||
|
use Dispatchable, InteractsWithSockets, SerializesModels;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var Invoice
|
||||||
|
*/
|
||||||
|
public $recurring_invoice;
|
||||||
|
|
||||||
|
public $company;
|
||||||
|
|
||||||
|
public $event_vars;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new event instance.
|
||||||
|
*
|
||||||
|
* @param RecurringInvoice $recurring_invoice
|
||||||
|
* @param Company $company
|
||||||
|
* @param array $event_vars
|
||||||
|
*/
|
||||||
|
public function __construct(RecurringInvoice $recurring_invoice, Company $company, array $event_vars)
|
||||||
|
{
|
||||||
|
$this->recurring_invoice = $recurring_invoice;
|
||||||
|
$this->company = $company;
|
||||||
|
$this->event_vars = $event_vars;
|
||||||
|
}
|
||||||
|
}
|
@ -11,6 +11,8 @@
|
|||||||
|
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use App\Events\RecurringInvoice\RecurringInvoiceWasCreated;
|
||||||
|
use App\Events\RecurringInvoice\RecurringInvoiceWasUpdated;
|
||||||
use App\Factory\RecurringInvoiceFactory;
|
use App\Factory\RecurringInvoiceFactory;
|
||||||
use App\Filters\RecurringInvoiceFilters;
|
use App\Filters\RecurringInvoiceFilters;
|
||||||
use App\Http\Requests\RecurringInvoice\ActionRecurringInvoiceRequest;
|
use App\Http\Requests\RecurringInvoice\ActionRecurringInvoiceRequest;
|
||||||
@ -200,7 +202,7 @@ class RecurringInvoiceController extends BaseController
|
|||||||
{
|
{
|
||||||
$recurring_invoice = $this->recurring_invoice_repo->save($request->all(), RecurringInvoiceFactory::create(auth()->user()->company()->id, auth()->user()->id));
|
$recurring_invoice = $this->recurring_invoice_repo->save($request->all(), RecurringInvoiceFactory::create(auth()->user()->company()->id, auth()->user()->id));
|
||||||
|
|
||||||
nlog($recurring_invoice);
|
event(new RecurringInvoiceWasCreated($recurring_invoice, $recurring_invoice->company, Ninja::eventVars(auth()->user() ? auth()->user()->id : null)));
|
||||||
|
|
||||||
return $this->itemResponse($recurring_invoice);
|
return $this->itemResponse($recurring_invoice);
|
||||||
}
|
}
|
||||||
@ -378,6 +380,8 @@ nlog($recurring_invoice);
|
|||||||
|
|
||||||
$recurring_invoice->service()->deletePdf()->save();
|
$recurring_invoice->service()->deletePdf()->save();
|
||||||
|
|
||||||
|
event(new RecurringInvoiceWasUpdated($recurring_invoice, $recurring_invoice->company, Ninja::eventVars(auth()->user() ? auth()->user()->id : null)));
|
||||||
|
|
||||||
return $this->itemResponse($recurring_invoice);
|
return $this->itemResponse($recurring_invoice);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -0,0 +1,54 @@
|
|||||||
|
<?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://opensource.org/licenses/AAL
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace App\Listeners\RecurringInvoice;
|
||||||
|
|
||||||
|
use App\Libraries\MultiDB;
|
||||||
|
use App\Models\Activity;
|
||||||
|
use App\Repositories\ActivityRepository;
|
||||||
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||||
|
use stdClass;
|
||||||
|
|
||||||
|
class CreateRecurringInvoiceActivity 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;
|
||||||
|
|
||||||
|
$fields->recurring_invoice_id = $event->recurring_invoice_id->id;
|
||||||
|
$fields->client_id = $event->recurring_invoice_id->client_id;
|
||||||
|
$fields->user_id = $event->recurring_invoice_id->user_id;
|
||||||
|
$fields->company_id = $event->recurring_invoice_id->company_id;
|
||||||
|
$fields->activity_type_id = Activity::CREATE_RECURRING_INVOICE;
|
||||||
|
|
||||||
|
$this->activity_repo->save($fields, $event->recurring_invoice_id, $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://opensource.org/licenses/AAL
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace App\Listeners\RecurringInvoice;
|
||||||
|
|
||||||
|
use App\Libraries\MultiDB;
|
||||||
|
use App\Models\Activity;
|
||||||
|
use App\Repositories\ActivityRepository;
|
||||||
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||||
|
use stdClass;
|
||||||
|
|
||||||
|
class RecurringInvoiceArchivedActivity 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_invoice->service()->deletePdf();
|
||||||
|
|
||||||
|
$fields = new stdClass;
|
||||||
|
|
||||||
|
$fields->recurring_invoice_id = $event->recurring_invoice->id;
|
||||||
|
$fields->client_id = $event->recurring_invoice->client_id;
|
||||||
|
$fields->user_id = $event->recurring_invoice->user_id;
|
||||||
|
$fields->company_id = $event->recurring_invoice->company_id;
|
||||||
|
$fields->activity_type_id = Activity::ARCHIVE_RECURRING_INVOICE;
|
||||||
|
|
||||||
|
$this->activity_repo->save($fields, $event->recurring_invoice, $event->event_vars);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,54 @@
|
|||||||
|
<?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://opensource.org/licenses/AAL
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace App\Listeners\RecurringInvoice;
|
||||||
|
|
||||||
|
use App\Libraries\MultiDB;
|
||||||
|
use App\Models\Activity;
|
||||||
|
use App\Repositories\ActivityRepository;
|
||||||
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||||
|
use stdClass;
|
||||||
|
|
||||||
|
class RecurringInvoiceDeletedActivity 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;
|
||||||
|
|
||||||
|
$fields->recurring_invoice_id = $event->recurring_invoice->id;
|
||||||
|
$fields->client_id = $event->recurring_invoice->client_id;
|
||||||
|
$fields->user_id = $event->recurring_invoice->user_id;
|
||||||
|
$fields->company_id = $event->recurring_invoice->company_id;
|
||||||
|
$fields->activity_type_id = Activity::DELETE_RECURRING_INVOICE;
|
||||||
|
|
||||||
|
$this->activity_repo->save($fields, $event->recurring_invoice, $event->event_vars);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,54 @@
|
|||||||
|
<?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://opensource.org/licenses/AAL
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace App\Listeners\RecurringInvoice;
|
||||||
|
|
||||||
|
use App\Libraries\MultiDB;
|
||||||
|
use App\Models\Activity;
|
||||||
|
use App\Repositories\ActivityRepository;
|
||||||
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||||
|
use stdClass;
|
||||||
|
|
||||||
|
class RecurringInvoiceRestoredActivity 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;
|
||||||
|
|
||||||
|
$fields->recurring_invoice_id = $event->recurring_invoice->id;
|
||||||
|
$fields->client_id = $event->recurring_invoice->client_id;
|
||||||
|
$fields->user_id = $event->recurring_invoice->user_id;
|
||||||
|
$fields->company_id = $event->recurring_invoice->company_id;
|
||||||
|
$fields->activity_type_id = Activity::RESTORE_RECURRING_INVOICE;
|
||||||
|
|
||||||
|
$this->activity_repo->save($fields, $event->recurring_invoice, $event->event_vars);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,54 @@
|
|||||||
|
<?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://opensource.org/licenses/AAL
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace App\Listeners\RecurringInvoice;
|
||||||
|
|
||||||
|
use App\Libraries\MultiDB;
|
||||||
|
use App\Models\Activity;
|
||||||
|
use App\Repositories\ActivityRepository;
|
||||||
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||||
|
use stdClass;
|
||||||
|
|
||||||
|
class UpdateRecurringInvoiceActivity 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;
|
||||||
|
|
||||||
|
$fields->client_id = $event->recurring_invoice->client_id;
|
||||||
|
$fields->user_id = $event->recurring_invoice->user_id;
|
||||||
|
$fields->company_id = $event->recurring_invoice->company_id;
|
||||||
|
$fields->activity_type_id = Activity::UPDATE_RECURRING_INVOICE;
|
||||||
|
$fields->recurring_invoice_id = $event->recurring_invoice->id;
|
||||||
|
|
||||||
|
$this->activity_repo->save($fields, $event->recurring_invoice, $event->event_vars);
|
||||||
|
}
|
||||||
|
}
|
@ -90,6 +90,12 @@ class Activity extends StaticModel
|
|||||||
const DELETE_SUBSCRIPTION = 83;
|
const DELETE_SUBSCRIPTION = 83;
|
||||||
const RESTORE_SUBSCRIPTION = 84;
|
const RESTORE_SUBSCRIPTION = 84;
|
||||||
|
|
||||||
|
const CREATE_RECURRING_INVOICE = 100;
|
||||||
|
const UPDATE_RECURRING_INVOICE = 101;
|
||||||
|
const ARCHIVE_RECURRING_INVOICE = 102;
|
||||||
|
const DELETE_RECURRING_INVOICE = 103;
|
||||||
|
const RESTORE_RECURRING_INVOICE = 104;
|
||||||
|
|
||||||
protected $casts = [
|
protected $casts = [
|
||||||
'is_system' => 'boolean',
|
'is_system' => 'boolean',
|
||||||
'updated_at' => 'timestamp',
|
'updated_at' => 'timestamp',
|
||||||
|
@ -68,6 +68,11 @@ use App\Events\Quote\QuoteWasEmailed;
|
|||||||
use App\Events\Quote\QuoteWasRestored;
|
use App\Events\Quote\QuoteWasRestored;
|
||||||
use App\Events\Quote\QuoteWasUpdated;
|
use App\Events\Quote\QuoteWasUpdated;
|
||||||
use App\Events\Quote\QuoteWasViewed;
|
use App\Events\Quote\QuoteWasViewed;
|
||||||
|
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\Subscription\SubscriptionWasArchived;
|
use App\Events\Subscription\SubscriptionWasArchived;
|
||||||
use App\Events\Subscription\SubscriptionWasCreated;
|
use App\Events\Subscription\SubscriptionWasCreated;
|
||||||
use App\Events\Subscription\SubscriptionWasDeleted;
|
use App\Events\Subscription\SubscriptionWasDeleted;
|
||||||
@ -164,6 +169,11 @@ use App\Listeners\Quote\QuoteEmailedNotification;
|
|||||||
use App\Listeners\Quote\QuoteRestoredActivity;
|
use App\Listeners\Quote\QuoteRestoredActivity;
|
||||||
use App\Listeners\Quote\QuoteViewedActivity;
|
use App\Listeners\Quote\QuoteViewedActivity;
|
||||||
use App\Listeners\Quote\ReachWorkflowSettings;
|
use App\Listeners\Quote\ReachWorkflowSettings;
|
||||||
|
use App\Listeners\RecurringInvoice\CreateRecurringInvoiceActivity;
|
||||||
|
use App\Listeners\RecurringInvoice\RecurringInvoiceArchivedActivity;
|
||||||
|
use App\Listeners\RecurringInvoice\RecurringInvoiceDeletedActivity;
|
||||||
|
use App\Listeners\RecurringInvoice\RecurringInvoiceRestoredActivity;
|
||||||
|
use App\Listeners\RecurringInvoice\UpdateRecurringInvoiceActivity;
|
||||||
use App\Listeners\SendVerificationNotification;
|
use App\Listeners\SendVerificationNotification;
|
||||||
use App\Listeners\User\ArchivedUserActivity;
|
use App\Listeners\User\ArchivedUserActivity;
|
||||||
use App\Listeners\User\CreatedUserActivity;
|
use App\Listeners\User\CreatedUserActivity;
|
||||||
@ -400,6 +410,21 @@ class EventServiceProvider extends ServiceProvider
|
|||||||
QuoteWasRestored::class => [
|
QuoteWasRestored::class => [
|
||||||
QuoteRestoredActivity::class,
|
QuoteRestoredActivity::class,
|
||||||
],
|
],
|
||||||
|
RecurringInvoiceWasUpdated::class => [
|
||||||
|
UpdateRecurringInvoiceActivity::class,
|
||||||
|
],
|
||||||
|
RecurringInvoiceWasCreated::class => [
|
||||||
|
CreateRecurringInvoiceActivity::class,
|
||||||
|
],
|
||||||
|
RecurringInvoiceWasDeleted::class => [
|
||||||
|
RecurringInvoiceDeletedActivity::class,
|
||||||
|
],
|
||||||
|
RecurringInvoiceWasArchived::class => [
|
||||||
|
RecurringInvoiceArchivedActivity::class,
|
||||||
|
],
|
||||||
|
RecurringInvoiceWasRestored::class => [
|
||||||
|
RecurringInvoiceRestoredActivity::class,
|
||||||
|
],
|
||||||
TaskWasCreated::class => [
|
TaskWasCreated::class => [
|
||||||
CreatedTaskActivity::class,
|
CreatedTaskActivity::class,
|
||||||
],
|
],
|
||||||
|
Loading…
x
Reference in New Issue
Block a user