diff --git a/app/Events/Subscription/SubscriptionWasArchived.php b/app/Events/Subscription/SubscriptionWasArchived.php new file mode 100644 index 000000000000..08811ecc796a --- /dev/null +++ b/app/Events/Subscription/SubscriptionWasArchived.php @@ -0,0 +1,47 @@ +task = $subscription; + $this->company = $company; + $this->event_vars = $event_vars; + } +} diff --git a/app/Events/Subscription/SubscriptionWasDeleted.php b/app/Events/Subscription/SubscriptionWasDeleted.php new file mode 100644 index 000000000000..386bd5fa4cc3 --- /dev/null +++ b/app/Events/Subscription/SubscriptionWasDeleted.php @@ -0,0 +1,47 @@ +task = $subscription; + $this->company = $company; + $this->event_vars = $event_vars; + } +} diff --git a/app/Events/Subscription/SubscriptionWasRestored.php b/app/Events/Subscription/SubscriptionWasRestored.php new file mode 100644 index 000000000000..fdf56706f431 --- /dev/null +++ b/app/Events/Subscription/SubscriptionWasRestored.php @@ -0,0 +1,49 @@ +task = $subscription; + $this->fromDeleted = $fromDeleted; + $this->company = $company; + $this->event_vars = $event_vars; + } +} diff --git a/app/Events/Subscription/SubscriptionWasUpdated.php b/app/Events/Subscription/SubscriptionWasUpdated.php new file mode 100644 index 000000000000..694f32f9c2da --- /dev/null +++ b/app/Events/Subscription/SubscriptionWasUpdated.php @@ -0,0 +1,47 @@ +task = $subscription; + $this->company = $company; + $this->event_vars = $event_vars; + } +} diff --git a/app/Http/Controllers/ClientController.php b/app/Http/Controllers/ClientController.php index 38b043510a24..483218ad37f1 100644 --- a/app/Http/Controllers/ClientController.php +++ b/app/Http/Controllers/ClientController.php @@ -282,7 +282,7 @@ class ClientController extends BaseController $this->uploadLogo($request->file('company_logo'), $client->company, $client); - event(new ClientWasUpdated($client, $client->company, Ninja::eventVars())); + event(new ClientWasUpdated($client, $client->company, Ninja::eventVars(auth()->user()->id))); return $this->itemResponse($client->fresh()); } @@ -380,7 +380,7 @@ class ClientController extends BaseController $this->uploadLogo($request->file('company_logo'), $client->company, $client); - event(new ClientWasCreated($client, $client->company, Ninja::eventVars())); + event(new ClientWasCreated($client, $client->company, Ninja::eventVars(auth()->user()->id))); return $this->itemResponse($client); } diff --git a/app/Http/Controllers/ClientPortal/PaymentMethodController.php b/app/Http/Controllers/ClientPortal/PaymentMethodController.php index 1ed3c9c00453..6eef2cb5abaa 100644 --- a/app/Http/Controllers/ClientPortal/PaymentMethodController.php +++ b/app/Http/Controllers/ClientPortal/PaymentMethodController.php @@ -148,7 +148,7 @@ class PaymentMethodController extends Controller ->detach($payment_method); try { - event(new MethodDeleted($payment_method, auth('contact')->user()->company, Ninja::eventVars())); + event(new MethodDeleted($payment_method, auth('contact')->user()->company, Ninja::eventVars(auth('contact')->user()->id))); $payment_method->delete(); } catch (Exception $e) { diff --git a/app/Http/Controllers/ClientSubscriptionController.php b/app/Http/Controllers/ClientSubscriptionController.php index bf0a9b39b167..5052231b3771 100644 --- a/app/Http/Controllers/ClientSubscriptionController.php +++ b/app/Http/Controllers/ClientSubscriptionController.php @@ -173,7 +173,7 @@ class ClientSubscriptionController extends BaseController { $client_subscription = $this->client_subscription_repo->save($request->all(), ClientSubscriptionFactory::create(auth()->user()->company()->id, auth()->user()->id)); - event(new ClientsubscriptionWasCreated($client_subscription, $client_subscription->company, Ninja::eventVars())); + event(new ClientsubscriptionWasCreated($client_subscription, $client_subscription->company, Ninja::eventVars(auth()->user()->id))); return $this->itemResponse($client_subscription); } diff --git a/app/Http/Controllers/CreditController.php b/app/Http/Controllers/CreditController.php index 7a7dcc6cb104..0c48504bf405 100644 --- a/app/Http/Controllers/CreditController.php +++ b/app/Http/Controllers/CreditController.php @@ -201,7 +201,7 @@ class CreditController extends BaseController ->fillDefaults() ->save(); - event(new CreditWasCreated($credit, $credit->company, Ninja::eventVars())); + event(new CreditWasCreated($credit, $credit->company, Ninja::eventVars(auth()->user()->id))); return $this->itemResponse($credit); } @@ -378,7 +378,7 @@ class CreditController extends BaseController $credit->service()->deletePdf(); - event(new CreditWasUpdated($credit, $credit->company, Ninja::eventVars())); + event(new CreditWasUpdated($credit, $credit->company, Ninja::eventVars(auth()->user()->id))); return $this->itemResponse($credit); } diff --git a/app/Http/Controllers/EmailController.php b/app/Http/Controllers/EmailController.php index cdd13ea89094..0d10c051306a 100644 --- a/app/Http/Controllers/EmailController.php +++ b/app/Http/Controllers/EmailController.php @@ -157,7 +157,7 @@ class EmailController extends BaseController $this->entity_transformer = QuoteTransformer::class; if ($entity_obj->invitations->count() >= 1) - event(new QuoteWasEmailed($entity_obj->invitations->first(), $entity_obj->company, Ninja::eventVars(), 'quote')); + event(new QuoteWasEmailed($entity_obj->invitations->first(), $entity_obj->company, Ninja::eventVars(auth()->user()->id), 'quote')); } @@ -166,7 +166,7 @@ class EmailController extends BaseController $this->entity_transformer = CreditTransformer::class; if ($entity_obj->invitations->count() >= 1) - event(new CreditWasEmailed($entity_obj->invitations->first(), $entity_obj->company, Ninja::eventVars(), 'credit')); + event(new CreditWasEmailed($entity_obj->invitations->first(), $entity_obj->company, Ninja::eventVars(auth()->user()->id), 'credit')); } diff --git a/app/Http/Controllers/ExpenseController.php b/app/Http/Controllers/ExpenseController.php index b1b5e9db9c35..35984b3d5282 100644 --- a/app/Http/Controllers/ExpenseController.php +++ b/app/Http/Controllers/ExpenseController.php @@ -279,7 +279,7 @@ class ExpenseController extends BaseController $this->uploadLogo($request->file('company_logo'), $expense->company, $expense); - event(new ExpenseWasUpdated($expense, $expense->company, Ninja::eventVars())); + event(new ExpenseWasUpdated($expense, $expense->company, Ninja::eventVars(auth()->user()->id))); return $this->itemResponse($expense->fresh()); } @@ -373,7 +373,7 @@ class ExpenseController extends BaseController { $expense = $this->expense_repo->save($request->all(), ExpenseFactory::create(auth()->user()->company()->id, auth()->user()->id)); - event(new ExpenseWasCreated($expense, $expense->company, Ninja::eventVars())); + event(new ExpenseWasCreated($expense, $expense->company, Ninja::eventVars(auth()->user()->id))); return $this->itemResponse($expense); } diff --git a/app/Http/Controllers/InvoiceController.php b/app/Http/Controllers/InvoiceController.php index 3379ecf4a763..306f7745fb4d 100644 --- a/app/Http/Controllers/InvoiceController.php +++ b/app/Http/Controllers/InvoiceController.php @@ -218,7 +218,7 @@ class InvoiceController extends BaseController ->triggeredActions($request) ->save(); - event(new InvoiceWasCreated($invoice, $invoice->company, Ninja::eventVars())); + event(new InvoiceWasCreated($invoice, $invoice->company, Ninja::eventVars(auth()->user()->id))); return $this->itemResponse($invoice); } @@ -399,7 +399,7 @@ class InvoiceController extends BaseController $invoice->service()->deletePdf(); - event(new InvoiceWasUpdated($invoice, $invoice->company, Ninja::eventVars())); + event(new InvoiceWasUpdated($invoice, $invoice->company, Ninja::eventVars(auth()->user()->id))); return $this->itemResponse($invoice); } diff --git a/app/Http/Controllers/PaymentController.php b/app/Http/Controllers/PaymentController.php index a4265f800f9b..480a0816ee43 100644 --- a/app/Http/Controllers/PaymentController.php +++ b/app/Http/Controllers/PaymentController.php @@ -382,7 +382,7 @@ class PaymentController extends BaseController $payment = $this->payment_repo->save($request->all(), $payment); - event(new PaymentWasUpdated($payment, $payment->company, Ninja::eventVars())); + event(new PaymentWasUpdated($payment, $payment->company, Ninja::eventVars(auth()->user()->id))); return $this->itemResponse($payment); } diff --git a/app/Http/Controllers/QuoteController.php b/app/Http/Controllers/QuoteController.php index f4a0c7e675ab..b570c8ede058 100644 --- a/app/Http/Controllers/QuoteController.php +++ b/app/Http/Controllers/QuoteController.php @@ -211,7 +211,7 @@ class QuoteController extends BaseController $quote = $quote->service()->fillDefaults()->save(); - event(new QuoteWasCreated($quote, $quote->company, Ninja::eventVars())); + event(new QuoteWasCreated($quote, $quote->company, Ninja::eventVars(auth()->user()->id))); return $this->itemResponse($quote); } @@ -389,7 +389,7 @@ class QuoteController extends BaseController $quote->service()->deletePdf(); - event(new QuoteWasUpdated($quote, $quote->company, Ninja::eventVars())); + event(new QuoteWasUpdated($quote, $quote->company, Ninja::eventVars(auth()->user()->id))); return $this->itemResponse($quote); } diff --git a/app/Http/Controllers/Shop/ClientController.php b/app/Http/Controllers/Shop/ClientController.php index 3bc3e8b72dd7..a6db57a47dd4 100644 --- a/app/Http/Controllers/Shop/ClientController.php +++ b/app/Http/Controllers/Shop/ClientController.php @@ -85,7 +85,7 @@ class ClientController extends BaseController $this->uploadLogo($request->file('company_logo'), $company, $client); - event(new ClientWasCreated($client, $company, Ninja::eventVars())); + event(new ClientWasCreated($client, $company, Ninja::eventVars(auth()->user() ? auth()->user()->id : null))); return $this->itemResponse($client); } diff --git a/app/Http/Controllers/Shop/InvoiceController.php b/app/Http/Controllers/Shop/InvoiceController.php index e8c58b92273e..e6634272c891 100644 --- a/app/Http/Controllers/Shop/InvoiceController.php +++ b/app/Http/Controllers/Shop/InvoiceController.php @@ -85,7 +85,7 @@ class InvoiceController extends BaseController $invoice = $invoice->service()->triggeredActions($request)->save(); - event(new InvoiceWasCreated($invoice, $company, Ninja::eventVars())); + event(new InvoiceWasCreated($invoice, $company, Ninja::eventVars(auth()->user()->id))); return $this->itemResponse($invoice); } diff --git a/app/Http/Controllers/SubscriptionController.php b/app/Http/Controllers/SubscriptionController.php index a3a82c09fdc9..f7662aad50ff 100644 --- a/app/Http/Controllers/SubscriptionController.php +++ b/app/Http/Controllers/SubscriptionController.php @@ -13,6 +13,7 @@ namespace App\Http\Controllers; use App\Events\Subscription\SubscriptionWasCreated; +use App\Events\Subscription\SubscriptionWasUpdated; use App\Factory\SubscriptionFactory; use App\Http\Requests\Subscription\CreateSubscriptionRequest; use App\Http\Requests\Subscription\DestroySubscriptionRequest; @@ -176,7 +177,7 @@ class SubscriptionController extends BaseController { $subscription = $this->subscription_repo->save($request->all(), SubscriptionFactory::create(auth()->user()->company()->id, auth()->user()->id)); - event(new SubscriptionWasCreated($subscription, $subscription->company, Ninja::eventVars())); + event(new SubscriptionWasCreated($subscription, $subscription->company, Ninja::eventVars(auth()->user()->id))); return $this->itemResponse($subscription); } @@ -351,6 +352,8 @@ class SubscriptionController extends BaseController $subscription = $this->subscription_repo->save($request->all(), $subscription); + event(new SubscriptionWasUpdated($subscription, $subscription->company, Ninja::eventVars(auth()->user()->id))); + return $this->itemResponse($subscription); } diff --git a/app/Http/Controllers/TaskController.php b/app/Http/Controllers/TaskController.php index 247c20e444ed..28efb452caf1 100644 --- a/app/Http/Controllers/TaskController.php +++ b/app/Http/Controllers/TaskController.php @@ -282,7 +282,7 @@ class TaskController extends BaseController if($task->status_order != $old_task->status_order) $this->task_repo->sortStatuses($old_task, $task); - event(new TaskWasUpdated($task, $task->company, Ninja::eventVars())); + event(new TaskWasUpdated($task, $task->company, Ninja::eventVars(auth()->user()->id))); return $this->itemResponse($task->fresh()); } @@ -376,7 +376,7 @@ class TaskController extends BaseController { $task = $this->task_repo->save($request->all(), TaskFactory::create(auth()->user()->company()->id, auth()->user()->id)); - event(new TaskWasCreated($task, $task->company, Ninja::eventVars())); + event(new TaskWasCreated($task, $task->company, Ninja::eventVars(auth()->user()->id))); return $this->itemResponse($task); } diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 3b91f594de4c..6f9fa7a56a82 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -211,7 +211,7 @@ class UserController extends BaseController nlog("in the store method of the usercontroller class"); - event(new UserWasCreated($user, auth()->user(), $company, Ninja::eventVars())); + event(new UserWasCreated($user, auth()->user(), $company, Ninja::eventVars(auth()->user()->id))); return $this->itemResponse($user->fresh()); } @@ -401,7 +401,7 @@ class UserController extends BaseController $user->company_user()->update(["permissions_updated_at" => now()]); } - event(new UserWasUpdated($user, auth()->user(), auth()->user()->company, Ninja::eventVars())); + event(new UserWasUpdated($user, auth()->user(), auth()->user()->company, Ninja::eventVars(auth()->user()->id))); return $this->itemResponse($user); } @@ -474,7 +474,7 @@ class UserController extends BaseController /* If the user passes the company user we archive the company user */ $user = $this->user_repo->delete($request->all(), $user); - event(new UserWasDeleted($user, auth()->user(), auth()->user()->company, Ninja::eventVars())); + event(new UserWasDeleted($user, auth()->user(), auth()->user()->company, Ninja::eventVars(auth()->user()->id))); return $this->itemResponse($user->fresh()); } diff --git a/app/Http/Controllers/VendorController.php b/app/Http/Controllers/VendorController.php index 375f82eb6bfc..01ddf93bd4e6 100644 --- a/app/Http/Controllers/VendorController.php +++ b/app/Http/Controllers/VendorController.php @@ -278,7 +278,7 @@ class VendorController extends BaseController $this->uploadLogo($request->file('company_logo'), $vendor->company, $vendor); - event(new VendorWasUpdated($vendor, $vendor->company, Ninja::eventVars())); + event(new VendorWasUpdated($vendor, $vendor->company, Ninja::eventVars(auth()->user()->id))); return $this->itemResponse($vendor->fresh()); } @@ -376,7 +376,7 @@ class VendorController extends BaseController $this->uploadLogo($request->file('company_logo'), $vendor->company, $vendor); - event(new VendorWasCreated($vendor, $vendor->company, Ninja::eventVars())); + event(new VendorWasCreated($vendor, $vendor->company, Ninja::eventVars(auth()->user()->id))); return $this->itemResponse($vendor); } diff --git a/app/Jobs/Entity/EmailEntity.php b/app/Jobs/Entity/EmailEntity.php index d6e6c1235817..3dd8118d8c34 100644 --- a/app/Jobs/Entity/EmailEntity.php +++ b/app/Jobs/Entity/EmailEntity.php @@ -142,7 +142,7 @@ class EmailEntity implements ShouldQueue { switch ($this->entity_string) { case 'invoice': - event(new InvoiceWasEmailedAndFailed($this->invitation, $this->company, $message, $this->reminder_template, Ninja::eventVars())); + event(new InvoiceWasEmailedAndFailed($this->invitation, $this->company, $message, $this->reminder_template, Ninja::eventVars(auth()->user()->id))); break; default: diff --git a/app/Jobs/Mail/NinjaMailerJob.php b/app/Jobs/Mail/NinjaMailerJob.php index af1b42f525f2..23aafa6c51ea 100644 --- a/app/Jobs/Mail/NinjaMailerJob.php +++ b/app/Jobs/Mail/NinjaMailerJob.php @@ -105,10 +105,10 @@ class NinjaMailerJob implements ShouldQueue switch ($class) { case Invoice::class: - event(new InvoiceWasEmailedAndFailed($this->nmo->invitation, $this->nmo->company, $message, $this->nmo->reminder_template, Ninja::eventVars())); + event(new InvoiceWasEmailedAndFailed($this->nmo->invitation, $this->nmo->company, $message, $this->nmo->reminder_template, Ninja::eventVars(auth()->user()->id))); break; case Payment::class: - event(new PaymentWasEmailedAndFailed($this->nmo->entity, $this->nmo->company, $message, Ninja::eventVars())); + event(new PaymentWasEmailedAndFailed($this->nmo->entity, $this->nmo->company, $message, Ninja::eventVars(auth()->user()->id))); break; default: # code... diff --git a/app/Jobs/Payment/EmailPayment.php b/app/Jobs/Payment/EmailPayment.php index 2abdfd802af6..6c00e8b5638d 100644 --- a/app/Jobs/Payment/EmailPayment.php +++ b/app/Jobs/Payment/EmailPayment.php @@ -91,7 +91,7 @@ class EmailPayment implements ShouldQueue NinjaMailerJob::dispatch($nmo); - event(new PaymentWasEmailed($this->payment, $this->payment->company, Ninja::eventVars())); + event(new PaymentWasEmailed($this->payment, $this->payment->company, Ninja::eventVars(auth()->user() ? auth()->user()->id : null))); } } } diff --git a/app/Jobs/User/CreateUser.php b/app/Jobs/User/CreateUser.php index da3209994584..9ad0aa5ecf61 100644 --- a/app/Jobs/User/CreateUser.php +++ b/app/Jobs/User/CreateUser.php @@ -84,7 +84,7 @@ class CreateUser if(!Ninja::isSelfHost()){ nlog("in the create user class"); - event(new UserWasCreated($user, $user, $this->company, Ninja::eventVars())); + event(new UserWasCreated($user, $user, $this->company, Ninja::eventVars(auth()->user()->id))); } return $user; diff --git a/app/Listeners/Activity/ArchivedClientActivity.php b/app/Listeners/Activity/ArchivedClientActivity.php index 06c5289ea810..3823c6ac4125 100644 --- a/app/Listeners/Activity/ArchivedClientActivity.php +++ b/app/Listeners/Activity/ArchivedClientActivity.php @@ -43,8 +43,10 @@ class ArchivedClientActivity implements ShouldQueue $fields = new stdClass; + $user_id = $event->event_vars['user_id'] ?: $event->client->user_id; + $fields->client_id = $event->client->id; - $fields->user_id = $event->client->user_id; + $fields->user_id = $user_id; $fields->company_id = $event->client->company_id; $fields->activity_type_id = Activity::ARCHIVE_CLIENT; diff --git a/app/Listeners/Activity/ClientUpdatedActivity.php b/app/Listeners/Activity/ClientUpdatedActivity.php index 066cc27211c8..7013d020209a 100644 --- a/app/Listeners/Activity/ClientUpdatedActivity.php +++ b/app/Listeners/Activity/ClientUpdatedActivity.php @@ -45,8 +45,10 @@ class ClientUpdatedActivity implements ShouldQueue $fields = new stdClass; + $user_id = $event->event_vars['user_id'] ?: $event->client->user_id; + $fields->client_id = $client->id; - $fields->user_id = $client->user_id; + $fields->user_id = $user_id; $fields->company_id = $client->company_id; $fields->activity_type_id = Activity::UPDATE_CLIENT; diff --git a/app/Listeners/Activity/CreatedClientActivity.php b/app/Listeners/Activity/CreatedClientActivity.php index 8602966f3819..c3c13bf26b7e 100644 --- a/app/Listeners/Activity/CreatedClientActivity.php +++ b/app/Listeners/Activity/CreatedClientActivity.php @@ -43,8 +43,10 @@ class CreatedClientActivity implements ShouldQueue $fields = new stdClass; + $user_id = $event->event_vars['user_id'] ?: $event->client->user_id; + $fields->client_id = $event->client->id; - $fields->user_id = $event->client->user_id; + $fields->user_id = $user_id; $fields->company_id = $event->client->company_id; $fields->activity_type_id = Activity::CREATE_CLIENT; diff --git a/app/Listeners/Activity/CreatedCreditActivity.php b/app/Listeners/Activity/CreatedCreditActivity.php index c6fbb77f705f..e190d9eff8b4 100644 --- a/app/Listeners/Activity/CreatedCreditActivity.php +++ b/app/Listeners/Activity/CreatedCreditActivity.php @@ -43,8 +43,10 @@ class CreatedCreditActivity implements ShouldQueue $fields = new stdClass; + $user_id = $event->event_vars['user_id'] ?: $event->credit->user_id; + $fields->credit_id = $event->credit->id; - $fields->user_id = $event->credit->user_id; + $fields->user_id = $user_id; $fields->client_id = $event->credit->client_id; $fields->company_id = $event->credit->company_id; diff --git a/app/Listeners/Activity/CreatedExpenseActivity.php b/app/Listeners/Activity/CreatedExpenseActivity.php index a32737e0b1fd..f78e6a86e33a 100644 --- a/app/Listeners/Activity/CreatedExpenseActivity.php +++ b/app/Listeners/Activity/CreatedExpenseActivity.php @@ -43,8 +43,11 @@ class CreatedExpenseActivity implements ShouldQueue $fields = new stdClass; + + $user_id = $event->event_vars['user_id'] ?: $event->expense->user_id; + $fields->expense_id = $event->expense->id; - $fields->user_id = $event->expense->user_id; + $fields->user_id = $user_id; $fields->company_id = $event->expense->company_id; $fields->activity_type_id = Activity::CREATE_EXPENSE; diff --git a/app/Listeners/Activity/CreatedQuoteActivity.php b/app/Listeners/Activity/CreatedQuoteActivity.php index 06f96b9a4f0d..f647c0d8ea71 100644 --- a/app/Listeners/Activity/CreatedQuoteActivity.php +++ b/app/Listeners/Activity/CreatedQuoteActivity.php @@ -43,9 +43,11 @@ class CreatedQuoteActivity implements ShouldQueue $fields = new stdClass; + $user_id = $event->event_vars['user_id'] ?: $event->quote->user_id; + $fields->quote_id = $event->quote->id; $fields->client_id = $event->quote->client_id; - $fields->user_id = $event->quote->user_id; + $fields->user_id = $user_id; $fields->company_id = $event->quote->company_id; $fields->activity_type_id = Activity::CREATE_QUOTE; diff --git a/app/Listeners/Activity/CreatedSubscriptionActivity.php b/app/Listeners/Activity/CreatedSubscriptionActivity.php new file mode 100644 index 000000000000..83df729fc64c --- /dev/null +++ b/app/Listeners/Activity/CreatedSubscriptionActivity.php @@ -0,0 +1,55 @@ +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 = $event->event_vars['user_id'] ?: $event->subscription->user_id; + + $fields->subscription_id = $event->subscription->id; + $fields->user_id = $user_id; + $fields->company_id = $event->subscription->company_id; + $fields->activity_type_id = Activity::CREATE_SUBSCRIPTION; + + $this->activity_repo->save($fields, $event->subscription, $event->event_vars); + } +} diff --git a/app/Listeners/Activity/CreatedTaskActivity.php b/app/Listeners/Activity/CreatedTaskActivity.php index 97d4917885f0..2250c9e2f63f 100644 --- a/app/Listeners/Activity/CreatedTaskActivity.php +++ b/app/Listeners/Activity/CreatedTaskActivity.php @@ -43,8 +43,10 @@ class CreatedTaskActivity implements ShouldQueue $fields = new stdClass; + $user_id = $event->event_vars['user_id'] ?: $event->task->user_id; + $fields->task_id = $event->task->id; - $fields->user_id = $event->task->user_id; + $fields->user_id = $user_id; $fields->company_id = $event->task->company_id; $fields->activity_type_id = Activity::CREATE_TASK; diff --git a/app/Listeners/Activity/CreatedVendorActivity.php b/app/Listeners/Activity/CreatedVendorActivity.php index 7e2d73149aa0..0b732ef00703 100644 --- a/app/Listeners/Activity/CreatedVendorActivity.php +++ b/app/Listeners/Activity/CreatedVendorActivity.php @@ -43,8 +43,10 @@ class CreatedVendorActivity implements ShouldQueue $fields = new stdClass; + $user_id = $event->event_vars['user_id'] ?: $event->vendor->user_id; + $fields->vendor_id = $event->vendor->id; - $fields->user_id = $event->vendor->user_id; + $fields->user_id = $user_id; $fields->company_id = $event->vendor->company_id; $fields->activity_type_id = Activity::CREATE_VENDOR; diff --git a/app/Listeners/Activity/CreditArchivedActivity.php b/app/Listeners/Activity/CreditArchivedActivity.php index 239082c81f39..de26e7441d90 100644 --- a/app/Listeners/Activity/CreditArchivedActivity.php +++ b/app/Listeners/Activity/CreditArchivedActivity.php @@ -43,9 +43,11 @@ class CreditArchivedActivity implements ShouldQueue $fields = new stdClass; + $user_id = $event->event_vars['user_id'] ?: $event->credit->user_id; + $fields->payment_id = $event->credit->id; $fields->client_id = $event->credit->client_id; - $fields->user_id = $event->credit->user_id; + $fields->user_id = $user_id; $fields->company_id = $event->credit->company_id; $fields->activity_type_id = Activity::ARCHIVE_CREDIT; diff --git a/app/Listeners/Activity/DeleteClientActivity.php b/app/Listeners/Activity/DeleteClientActivity.php index aa22255860da..410651fa095c 100644 --- a/app/Listeners/Activity/DeleteClientActivity.php +++ b/app/Listeners/Activity/DeleteClientActivity.php @@ -43,8 +43,10 @@ class DeleteClientActivity implements ShouldQueue $fields = new stdClass; + $user_id = $event->event_vars['user_id'] ?: $event->client->user_id; + $fields->client_id = $event->client->id; - $fields->user_id = $event->client->user_id; + $fields->user_id = $user_id; $fields->company_id = $event->client->company_id; $fields->activity_type_id = Activity::DELETE_CLIENT; diff --git a/app/Listeners/Activity/DeleteCreditActivity.php b/app/Listeners/Activity/DeleteCreditActivity.php index 5739ce4f7a8a..9d6d3faea98e 100644 --- a/app/Listeners/Activity/DeleteCreditActivity.php +++ b/app/Listeners/Activity/DeleteCreditActivity.php @@ -43,9 +43,11 @@ class DeleteCreditActivity implements ShouldQueue $fields = new stdClass; + $user_id = $event->event_vars['user_id'] ?: $event->credit->user_id; + $fields->client_id = $event->credit->client_id; $fields->credit_id = $event->credit->id; - $fields->user_id = $event->credit->user_id; + $fields->user_id = $user_id; $fields->company_id = $event->credit->company_id; $fields->activity_type_id = Activity::DELETE_CREDIT; diff --git a/app/Listeners/Activity/ExpenseArchivedActivity.php b/app/Listeners/Activity/ExpenseArchivedActivity.php index 876d56a7dda1..4cbefebf4c50 100644 --- a/app/Listeners/Activity/ExpenseArchivedActivity.php +++ b/app/Listeners/Activity/ExpenseArchivedActivity.php @@ -45,8 +45,10 @@ class ExpenseArchivedActivity implements ShouldQueue $fields = new stdClass; + $user_id = $event->event_vars['user_id'] ?: $event->expense->user_id; + $fields->expense_id = $expense->id; - $fields->user_id = $expense->user_id; + $fields->user_id = $user_id; $fields->company_id = $expense->company_id; $fields->activity_type_id = Activity::ARCHIVE_EXPENSE; diff --git a/app/Listeners/Activity/ExpenseDeletedActivity.php b/app/Listeners/Activity/ExpenseDeletedActivity.php index 7b7a6e6ebfa7..da9dc00932fd 100644 --- a/app/Listeners/Activity/ExpenseDeletedActivity.php +++ b/app/Listeners/Activity/ExpenseDeletedActivity.php @@ -43,8 +43,10 @@ class ExpenseDeletedActivity implements ShouldQueue $fields = new stdClass; + $user_id = $event->event_vars['user_id'] ?: $event->expense->user_id; + $fields->expense_id = $event->expense->id; - $fields->user_id = $event->expense->user_id; + $fields->user_id = $user_id; $fields->company_id = $event->expense->company_id; $fields->activity_type_id = Activity::DELETE_VENDOR; diff --git a/app/Listeners/Activity/ExpenseRestoredActivity.php b/app/Listeners/Activity/ExpenseRestoredActivity.php index 77c5e66a6b3c..d20b13bf60c6 100644 --- a/app/Listeners/Activity/ExpenseRestoredActivity.php +++ b/app/Listeners/Activity/ExpenseRestoredActivity.php @@ -43,8 +43,10 @@ class ExpenseRestoredActivity implements ShouldQueue $fields = new stdClass; + $user_id = $event->event_vars['user_id'] ?: $event->expense->user_id; + $fields->expense_id = $event->expense->id; - $fields->user_id = $event->expense->user_id; + $fields->user_id = $user_id; $fields->company_id = $event->expense->company_id; $fields->activity_type_id = Activity::RESTORE_EXPENSE; diff --git a/app/Listeners/Activity/ExpenseUpdatedActivity.php b/app/Listeners/Activity/ExpenseUpdatedActivity.php index fae44f9c77dd..69d3390e44b2 100644 --- a/app/Listeners/Activity/ExpenseUpdatedActivity.php +++ b/app/Listeners/Activity/ExpenseUpdatedActivity.php @@ -43,10 +43,12 @@ class ExpenseUpdatedActivity implements ShouldQueue $expense = $event->expense; + $user_id = $event->event_vars['user_id'] ?: $event->expense->user_id; + $fields = new stdClass; $fields->expense_id = $expense->id; - $fields->user_id = $expense->user_id; + $fields->user_id = $user_id; $fields->company_id = $expense->company_id; $fields->activity_type_id = Activity::UPDATE_EXPENSE; diff --git a/app/Listeners/Activity/PaymentArchivedActivity.php b/app/Listeners/Activity/PaymentArchivedActivity.php index f2e3e17fdf98..aa7f4f3d680b 100644 --- a/app/Listeners/Activity/PaymentArchivedActivity.php +++ b/app/Listeners/Activity/PaymentArchivedActivity.php @@ -48,9 +48,11 @@ class PaymentArchivedActivity implements ShouldQueue $fields = new stdClass; + $user_id = $event->event_vars['user_id'] ?: $event->payment->user_id; + $fields->payment_id = $payment->id; $fields->client_id = $payment->client_id; - $fields->user_id = $payment->user_id; + $fields->user_id = $user_id; $fields->company_id = $payment->company_id; $fields->activity_type_id = Activity::ARCHIVE_PAYMENT; diff --git a/app/Listeners/Activity/PaymentCreatedActivity.php b/app/Listeners/Activity/PaymentCreatedActivity.php index 5adca5b0d17d..c21dc7ce1d7f 100644 --- a/app/Listeners/Activity/PaymentCreatedActivity.php +++ b/app/Listeners/Activity/PaymentCreatedActivity.php @@ -43,13 +43,15 @@ class PaymentCreatedActivity implements ShouldQueue $payment = $event->payment; + $user_id = $event->event_vars['user_id'] ?: $event->payment->user_id; + $invoices = $payment->invoices; $fields = new stdClass; $fields->payment_id = $payment->id; $fields->client_id = $payment->client_id; - $fields->user_id = $payment->user_id; + $fields->user_id = $user_id; $fields->company_id = $payment->company_id; $fields->activity_type_id = Activity::CREATE_PAYMENT; diff --git a/app/Listeners/Activity/PaymentDeletedActivity.php b/app/Listeners/Activity/PaymentDeletedActivity.php index acc7aa2619d4..38a27181eab3 100644 --- a/app/Listeners/Activity/PaymentDeletedActivity.php +++ b/app/Listeners/Activity/PaymentDeletedActivity.php @@ -43,13 +43,15 @@ class PaymentDeletedActivity implements ShouldQueue $payment = $event->payment; + $user_id = $event->event_vars['user_id'] ?: $event->payment->user_id; + $invoices = $payment->invoices; $fields = new stdClass; $fields->payment_id = $payment->id; $fields->client_id = $payment->client_id; - $fields->user_id = $payment->user_id; + $fields->user_id = $user_id; $fields->company_id = $payment->company_id; $fields->activity_type_id = Activity::DELETE_PAYMENT; diff --git a/app/Listeners/Activity/PaymentRefundedActivity.php b/app/Listeners/Activity/PaymentRefundedActivity.php index 8ce9fcc956c8..095fe8391965 100644 --- a/app/Listeners/Activity/PaymentRefundedActivity.php +++ b/app/Listeners/Activity/PaymentRefundedActivity.php @@ -43,9 +43,11 @@ class PaymentRefundedActivity implements ShouldQueue $fields = new stdClass; + $user_id = $event->event_vars['user_id'] ?: $event->payment->user_id; + $fields->client_id = $event->payment->id; $fields->client_id = $event->payment->client_id; - $fields->user_id = $event->payment->user_id; + $fields->user_id = $user_id; $fields->company_id = $event->payment->company_id; $fields->activity_type_id = Activity::REFUNDED_PAYMENT; $fields->payment_id = $event->payment->id; diff --git a/app/Listeners/Activity/PaymentUpdatedActivity.php b/app/Listeners/Activity/PaymentUpdatedActivity.php index 3e349972c945..2802c74a7ce0 100644 --- a/app/Listeners/Activity/PaymentUpdatedActivity.php +++ b/app/Listeners/Activity/PaymentUpdatedActivity.php @@ -48,9 +48,11 @@ class PaymentUpdatedActivity implements ShouldQueue $fields = new stdClass; + $user_id = $event->event_vars['user_id'] ?: $event->payment->user_id; + $fields->payment_id = $payment->id; $fields->client_id = $payment->client_id; - $fields->user_id = $payment->user_id; + $fields->user_id = $user_id; $fields->company_id = $payment->company_id; $fields->activity_type_id = Activity::UPDATE_PAYMENT; diff --git a/app/Listeners/Activity/PaymentVoidedActivity.php b/app/Listeners/Activity/PaymentVoidedActivity.php index 480e6caa26a6..f10d4ac01c46 100644 --- a/app/Listeners/Activity/PaymentVoidedActivity.php +++ b/app/Listeners/Activity/PaymentVoidedActivity.php @@ -43,8 +43,10 @@ class PaymentVoidedActivity implements ShouldQueue $fields = new stdClass; + $user_id = $event->event_vars['user_id'] ?: $event->payment->user_id; + $fields->client_id = $event->payment->id; - $fields->user_id = $event->payment->user_id; + $fields->user_id = $user_id; $fields->company_id = $event->payment->company_id; $fields->activity_type_id = Activity::VOIDED_PAYMENT; $fields->payment_id = $event->payment->id; diff --git a/app/Listeners/Activity/QuoteUpdatedActivity.php b/app/Listeners/Activity/QuoteUpdatedActivity.php index ac13c8c5e172..9506c8ae2291 100644 --- a/app/Listeners/Activity/QuoteUpdatedActivity.php +++ b/app/Listeners/Activity/QuoteUpdatedActivity.php @@ -45,9 +45,11 @@ class QuoteUpdatedActivity implements ShouldQueue $fields = new stdClass; + $user_id = $event->event_vars['user_id'] ?: $event->quote->user_id; + $fields->quote_id = $quote->id; $fields->client_id = $quote->client_id; - $fields->user_id = $quote->user_id; + $fields->user_id = $user_id; $fields->company_id = $quote->company_id; $fields->activity_type_id = Activity::UPDATE_QUOTE; diff --git a/app/Listeners/Activity/RestoreClientActivity.php b/app/Listeners/Activity/RestoreClientActivity.php index 05fb909bfd6d..93b1b83ba4d5 100644 --- a/app/Listeners/Activity/RestoreClientActivity.php +++ b/app/Listeners/Activity/RestoreClientActivity.php @@ -43,8 +43,10 @@ class RestoreClientActivity implements ShouldQueue $fields = new stdClass; + $user_id = $event->event_vars['user_id'] ?: $event->client->user_id; + $fields->client_id = $event->client->id; - $fields->user_id = $event->client->user_id; + $fields->user_id = $user_id; $fields->company_id = $event->client->company_id; $fields->activity_type_id = Activity::RESTORE_CLIENT; diff --git a/app/Listeners/Activity/SubscriptionArchivedActivity.php b/app/Listeners/Activity/SubscriptionArchivedActivity.php new file mode 100644 index 000000000000..ec793416ca2b --- /dev/null +++ b/app/Listeners/Activity/SubscriptionArchivedActivity.php @@ -0,0 +1,57 @@ +activity_repo = $activity_repo; + } + + /** + * Handle the event. + * + * @param object $event + * @return void + */ + public function handle($event) + { + MultiDB::setDb($event->company->db); + + $subscription = $event->subscription; + + $fields = new stdClass; + + $user_id = $event->event_vars['user_id'] ?: $event->subscription->user_id; + + $fields->subscription_id = $subscription->id; + $fields->user_id = $user_id; + $fields->company_id = $subscription->company_id; + $fields->activity_type_id = Activity::ARCHIVE_SUBSCRIPTIOn; + + $this->activity_repo->save($fields, $subscription, $event->event_vars); + } +} diff --git a/app/Listeners/Activity/SubscriptionDeletedActivity.php b/app/Listeners/Activity/SubscriptionDeletedActivity.php new file mode 100644 index 000000000000..73a9e749f916 --- /dev/null +++ b/app/Listeners/Activity/SubscriptionDeletedActivity.php @@ -0,0 +1,55 @@ +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 = $event->event_vars['user_id'] ?: $event->subscription->user_id; + + $fields->subscription_id = $event->subscription->id; + $fields->user_id = $user_id; + $fields->company_id = $event->subscription->company_id; + $fields->activity_type_id = Activity::DELETE_SUBSCRIPTION; + + $this->activity_repo->save($fields, $event->subscription, $event->event_vars); + } +} diff --git a/app/Listeners/Activity/SubscriptionRestoredActivity.php b/app/Listeners/Activity/SubscriptionRestoredActivity.php new file mode 100644 index 000000000000..09b6b860cb62 --- /dev/null +++ b/app/Listeners/Activity/SubscriptionRestoredActivity.php @@ -0,0 +1,55 @@ +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 = $event->event_vars['user_id'] ?: $event->subscription->user_id; + + $fields->subscription_id = $event->subscription->id; + $fields->user_id = $user_id; + $fields->company_id = $event->subscription->company_id; + $fields->activity_type_id = Activity::RESTORE_SUBSCRIPTION; + + $this->activity_repo->save($fields, $event->subscription, $event->event_vars); + } +} diff --git a/app/Listeners/Activity/SubscriptionUpdatedActivity.php b/app/Listeners/Activity/SubscriptionUpdatedActivity.php new file mode 100644 index 000000000000..a07f4a78ff4c --- /dev/null +++ b/app/Listeners/Activity/SubscriptionUpdatedActivity.php @@ -0,0 +1,57 @@ +activity_repo = $activity_repo; + } + + /** + * Handle the event. + * + * @param object $event + * @return void + */ + public function handle($event) + { + MultiDB::setDb($event->company->db); + + $subscription = $event->subscription; + + $fields = new stdClass; + + $user_id = $event->event_vars['user_id'] ?: $event->subscription->user_id; + + $fields->subscription_id = $subscription->id; + $fields->user_id = $user_id; + $fields->company_id = $subscription->company_id; + $fields->activity_type_id = Activity::UPDATE_SUBSCRIPTION; + + $this->activity_repo->save($fields, $subscription, $event->event_vars); + } +} diff --git a/app/Listeners/Activity/TaskArchivedActivity.php b/app/Listeners/Activity/TaskArchivedActivity.php index d8610a71867b..83cf0d6bd62f 100644 --- a/app/Listeners/Activity/TaskArchivedActivity.php +++ b/app/Listeners/Activity/TaskArchivedActivity.php @@ -45,8 +45,10 @@ class TaskArchivedActivity implements ShouldQueue $fields = new stdClass; + $user_id = $event->event_vars['user_id'] ?: $event->task->user_id; + $fields->task_id = $task->id; - $fields->user_id = $task->user_id; + $fields->user_id = $user_id; $fields->company_id = $task->company_id; $fields->activity_type_id = Activity::ARCHIVE_TASK; diff --git a/app/Listeners/Activity/TaskDeletedActivity.php b/app/Listeners/Activity/TaskDeletedActivity.php index 3989601b1562..61d9797484eb 100644 --- a/app/Listeners/Activity/TaskDeletedActivity.php +++ b/app/Listeners/Activity/TaskDeletedActivity.php @@ -43,8 +43,10 @@ class TaskDeletedActivity implements ShouldQueue $fields = new stdClass; + $user_id = $event->event_vars['user_id'] ?: $event->task->user_id; + $fields->task_id = $event->task->id; - $fields->user_id = $event->task->user_id; + $fields->user_id = $user_id; $fields->company_id = $event->task->company_id; $fields->activity_type_id = Activity::DELETE_TASK; diff --git a/app/Listeners/Activity/TaskRestoredActivity.php b/app/Listeners/Activity/TaskRestoredActivity.php index c932480139a5..19d0a4cf39da 100644 --- a/app/Listeners/Activity/TaskRestoredActivity.php +++ b/app/Listeners/Activity/TaskRestoredActivity.php @@ -43,8 +43,10 @@ class TaskRestoredActivity implements ShouldQueue $fields = new stdClass; + $user_id = $event->event_vars['user_id'] ?: $event->task->user_id; + $fields->task_id = $event->task->id; - $fields->user_id = $event->task->user_id; + $fields->user_id = $user_id; $fields->company_id = $event->task->company_id; $fields->activity_type_id = Activity::RESTORE_TASK; diff --git a/app/Listeners/Activity/TaskUpdatedActivity.php b/app/Listeners/Activity/TaskUpdatedActivity.php index f761b4a71289..11a5ace8ca2f 100644 --- a/app/Listeners/Activity/TaskUpdatedActivity.php +++ b/app/Listeners/Activity/TaskUpdatedActivity.php @@ -45,8 +45,10 @@ class TaskUpdatedActivity implements ShouldQueue $fields = new stdClass; + $user_id = $event->event_vars['user_id'] ?: $event->task->user_id; + $fields->task_id = $task->id; - $fields->user_id = $task->user_id; + $fields->user_id = $user_id; $fields->company_id = $task->company_id; $fields->activity_type_id = Activity::UPDATE_TASK; diff --git a/app/Listeners/Activity/UpdatedCreditActivity.php b/app/Listeners/Activity/UpdatedCreditActivity.php index 88d256e3f7e5..9974fbd5fef1 100644 --- a/app/Listeners/Activity/UpdatedCreditActivity.php +++ b/app/Listeners/Activity/UpdatedCreditActivity.php @@ -43,9 +43,11 @@ class UpdatedCreditActivity implements ShouldQueue $fields = new stdClass; + $user_id = $event->event_vars['user_id'] ?: $event->credit->user_id; + $fields->credit_id = $event->credit->id; $fields->client_id = $event->credit->client_id; - $fields->user_id = $event->credit->user_id; + $fields->user_id = $user_id; $fields->company_id = $event->credit->company_id; $fields->activity_type_id = Activity::UPDATE_CREDIT; diff --git a/app/Listeners/Activity/VendorArchivedActivity.php b/app/Listeners/Activity/VendorArchivedActivity.php index 7dd24eb44dd1..262de59ce29b 100644 --- a/app/Listeners/Activity/VendorArchivedActivity.php +++ b/app/Listeners/Activity/VendorArchivedActivity.php @@ -45,8 +45,10 @@ class VendorArchivedActivity implements ShouldQueue $fields = new stdClass; + $user_id = $event->event_vars['user_id'] ?: $event->vendor->user_id; + $fields->vendor_id = $vendor->id; - $fields->user_id = $vendor->user_id; + $fields->user_id = $user_id; $fields->company_id = $vendor->company_id; $fields->activity_type_id = Activity::ARCHIVE_VENDOR; diff --git a/app/Listeners/Activity/VendorDeletedActivity.php b/app/Listeners/Activity/VendorDeletedActivity.php index ad60c2d21d2e..b63f76d0f2ef 100644 --- a/app/Listeners/Activity/VendorDeletedActivity.php +++ b/app/Listeners/Activity/VendorDeletedActivity.php @@ -43,8 +43,10 @@ class VendorDeletedActivity implements ShouldQueue $fields = new stdClass; + $user_id = $event->event_vars['user_id'] ?: $event->vendor->user_id; + $fields->vendor_id = $event->vendor->id; - $fields->user_id = $event->vendor->user_id; + $fields->user_id = $user_id; $fields->company_id = $event->vendor->company_id; $fields->activity_type_id = Activity::DELETE_VENDOR; diff --git a/app/Listeners/Activity/VendorRestoredActivity.php b/app/Listeners/Activity/VendorRestoredActivity.php index 86a7d5dbb68c..a6927cddfdfb 100644 --- a/app/Listeners/Activity/VendorRestoredActivity.php +++ b/app/Listeners/Activity/VendorRestoredActivity.php @@ -43,8 +43,10 @@ class VendorRestoredActivity implements ShouldQueue $fields = new stdClass; + $user_id = $event->event_vars['user_id'] ?: $event->vendor->user_id; + $fields->vendor_id = $event->vendor->id; - $fields->user_id = $event->vendor->user_id; + $fields->user_id = $user_id; $fields->company_id = $event->vendor->company_id; $fields->activity_type_id = Activity::RESTORE_VENDOR; diff --git a/app/Listeners/Activity/VendorUpdatedActivity.php b/app/Listeners/Activity/VendorUpdatedActivity.php index 8a2198abdd85..2b1d7bab0262 100644 --- a/app/Listeners/Activity/VendorUpdatedActivity.php +++ b/app/Listeners/Activity/VendorUpdatedActivity.php @@ -45,8 +45,10 @@ class VendorUpdatedActivity implements ShouldQueue $fields = new stdClass; + $user_id = $event->event_vars['user_id'] ?: $event->vendor->user_id; + $fields->vendor_id = $vendor->id; - $fields->user_id = $vendor->user_id; + $fields->user_id = $user_id; $fields->company_id = $vendor->company_id; $fields->activity_type_id = Activity::UPDATE_VENDOR; diff --git a/app/Models/Activity.php b/app/Models/Activity.php index afeda7e23c5f..9f42edac178e 100644 --- a/app/Models/Activity.php +++ b/app/Models/Activity.php @@ -84,6 +84,12 @@ class Activity extends StaticModel const INVOICE_REMINDER3_SENT = 65; const INVOICE_REMINDER_ENDLESS_SENT = 66; + const CREATE_SUBSCRIPTION = 80; + const UPDATE_SUBSCRIPTION = 81; + const ARCHIVE_SUBSCRIPTION = 82; + const DELETE_SUBSCRIPTION = 83; + const RESTORE_SUBSCRIPTION = 84; + protected $casts = [ 'is_system' => 'boolean', 'updated_at' => 'timestamp', diff --git a/app/Models/Credit.php b/app/Models/Credit.php index aca29955edbb..3890fe7c9b91 100644 --- a/app/Models/Credit.php +++ b/app/Models/Credit.php @@ -255,10 +255,10 @@ class Credit extends BaseModel } if (! $invitation) { - event(new CreditWasUpdated($this, $this->company, Ninja::eventVars())); + event(new CreditWasUpdated($this, $this->company, Ninja::eventVars(auth()->user()->id))); CreateEntityPdf::dispatchNow($this->invitations->first()); } else { - event(new CreditWasUpdated($this, $this->company, Ninja::eventVars())); + event(new CreditWasUpdated($this, $this->company, Ninja::eventVars(auth()->user()->id))); CreateEntityPdf::dispatchNow($invitation); } diff --git a/app/Models/CreditInvitation.php b/app/Models/CreditInvitation.php index 8f5f9f7744f4..d8938f702dac 100644 --- a/app/Models/CreditInvitation.php +++ b/app/Models/CreditInvitation.php @@ -129,7 +129,7 @@ class CreditInvitation extends BaseModel $storage_path = Storage::url($this->credit->client->quote_filepath().$this->credit->numberFormatter().'.pdf'); if (! Storage::exists($this->credit->client->credit_filepath().$this->credit->numberFormatter().'.pdf')) { - event(new CreditWasUpdated($this, $this->company, Ninja::eventVars())); + event(new CreditWasUpdated($this, $this->company, Ninja::eventVars(auth()->user()->id))); CreateEntityPdf::dispatchNow($this); } diff --git a/app/Models/Invoice.php b/app/Models/Invoice.php index 177137e13409..b15649d23866 100644 --- a/app/Models/Invoice.php +++ b/app/Models/Invoice.php @@ -397,7 +397,7 @@ class Invoice extends BaseModel $storage_path = Storage::$type($this->client->invoice_filepath().$this->numberFormatter().'.pdf'); if (! Storage::exists($this->client->invoice_filepath().$this->numberFormatter().'.pdf')) { - event(new InvoiceWasUpdated($this, $this->company, Ninja::eventVars())); + event(new InvoiceWasUpdated($this, $this->company, Ninja::eventVars(auth()->user()->id))); CreateEntityPdf::dispatchNow($invitation); } diff --git a/app/Models/InvoiceInvitation.php b/app/Models/InvoiceInvitation.php index 17417106e0bb..51042e7d70fa 100644 --- a/app/Models/InvoiceInvitation.php +++ b/app/Models/InvoiceInvitation.php @@ -143,7 +143,7 @@ class InvoiceInvitation extends BaseModel $storage_path = Storage::url($this->invoice->client->invoice_filepath().$this->invoice->numberFormatter().'.pdf'); if (! Storage::exists($this->invoice->client->invoice_filepath().$this->invoice->numberFormatter().'.pdf')) { - event(new InvoiceWasUpdated($this->invoice, $this->company, Ninja::eventVars())); + event(new InvoiceWasUpdated($this->invoice, $this->company, Ninja::eventVars(auth()->user()->id))); CreateEntityPdf::dispatchNow($this); } diff --git a/app/Models/Payment.php b/app/Models/Payment.php index f1ab6e08c87e..123cddd6615e 100644 --- a/app/Models/Payment.php +++ b/app/Models/Payment.php @@ -243,7 +243,7 @@ class Payment extends BaseModel $this->status_id = $this->refunded == $this->amount ? self::STATUS_REFUNDED : self::STATUS_PARTIALLY_REFUNDED; $this->save(); - event(new PaymentWasRefunded($this, $refund_change, $this->company, Ninja::eventVars())); + event(new PaymentWasRefunded($this, $refund_change, $this->company, Ninja::eventVars(auth()->user()->id))); } return true; @@ -280,7 +280,7 @@ class Payment extends BaseModel $this->status_id = self::STATUS_CANCELLED; $this->save(); - event(new PaymentWasVoided($this, $this->company, Ninja::eventVars())); + event(new PaymentWasVoided($this, $this->company, Ninja::eventVars(auth()->user()->id))); } public function getLink() diff --git a/app/Models/Quote.php b/app/Models/Quote.php index aa9720a505a5..68d37826847f 100644 --- a/app/Models/Quote.php +++ b/app/Models/Quote.php @@ -213,7 +213,7 @@ class Quote extends BaseModel nlog($storage_path); if (! Storage::exists($this->client->quote_filepath().$this->numberFormatter().'.pdf')) { - event(new QuoteWasUpdated($this, $this->company, Ninja::eventVars())); + event(new QuoteWasUpdated($this, $this->company, Ninja::eventVars(auth()->user()->id))); CreateEntityPdf::dispatchNow($invitation); } diff --git a/app/Models/QuoteInvitation.php b/app/Models/QuoteInvitation.php index 74871dd05da0..8506a80f23fd 100644 --- a/app/Models/QuoteInvitation.php +++ b/app/Models/QuoteInvitation.php @@ -133,7 +133,7 @@ class QuoteInvitation extends BaseModel $storage_path = Storage::url($this->quote->client->quote_filepath().$this->quote->numberFormatter().'.pdf'); if (! Storage::exists($this->quote->client->quote_filepath().$this->quote->numberFormatter().'.pdf')) { - event(new QuoteWasUpdated($this->quote, $this->company, Ninja::eventVars())); + event(new QuoteWasUpdated($this->quote, $this->company, Ninja::eventVars(auth()->user()->id))); CreateEntityPdf::dispatchNow($this); } diff --git a/app/PaymentDrivers/DriverTemplate.php b/app/PaymentDrivers/DriverTemplate.php index cd79f68c67ba..f747bacfe3fd 100644 --- a/app/PaymentDrivers/DriverTemplate.php +++ b/app/PaymentDrivers/DriverTemplate.php @@ -11,6 +11,12 @@ namespace App\PaymentDrivers; +use App\Models\ClientGatewayToken; +use App\Models\GatewayType; +use App\Models\Payment; +use App\Models\PaymentHash; +use App\Models\SystemLog; +use App\PaymentDrivers\Stripe\CreditCard; use App\Utils\Traits\MakesHash; class DriverTemplate extends BaseDriver diff --git a/app/Providers/EventServiceProvider.php b/app/Providers/EventServiceProvider.php index 8728ecb8d81c..144710dbb598 100644 --- a/app/Providers/EventServiceProvider.php +++ b/app/Providers/EventServiceProvider.php @@ -67,6 +67,11 @@ use App\Events\Quote\QuoteWasEmailed; use App\Events\Quote\QuoteWasRestored; use App\Events\Quote\QuoteWasUpdated; use App\Events\Quote\QuoteWasViewed; +use App\Events\Subscription\SubscriptionWasArchived; +use App\Events\Subscription\SubscriptionWasCreated; +use App\Events\Subscription\SubscriptionWasDeleted; +use App\Events\Subscription\SubscriptionWasRestored; +use App\Events\Subscription\SubscriptionWasUpdated; use App\Events\Task\TaskWasArchived; use App\Events\Task\TaskWasCreated; use App\Events\Task\TaskWasDeleted; @@ -89,6 +94,7 @@ use App\Listeners\Activity\CreatedClientActivity; use App\Listeners\Activity\CreatedCreditActivity; use App\Listeners\Activity\CreatedExpenseActivity; use App\Listeners\Activity\CreatedQuoteActivity; +use App\Listeners\Activity\CreatedSubscriptionActivity; use App\Listeners\Activity\CreatedTaskActivity; use App\Listeners\Activity\CreatedVendorActivity; use App\Listeners\Activity\CreditArchivedActivity; @@ -106,6 +112,10 @@ use App\Listeners\Activity\PaymentUpdatedActivity; use App\Listeners\Activity\PaymentVoidedActivity; use App\Listeners\Activity\QuoteUpdatedActivity; use App\Listeners\Activity\RestoreClientActivity; +use App\Listeners\Activity\SubscriptionArchivedActivity; +use App\Listeners\Activity\SubscriptionDeletedActivity; +use App\Listeners\Activity\SubscriptionRestoredActivity; +use App\Listeners\Activity\SubscriptionUpdatedActivity; use App\Listeners\Activity\TaskArchivedActivity; use App\Listeners\Activity\TaskDeletedActivity; use App\Listeners\Activity\TaskRestoredActivity; @@ -396,6 +406,21 @@ class EventServiceProvider extends ServiceProvider TaskWasRestored::class => [ TaskRestoredActivity::class, ], + SubscriptionWasCreated::class => [ + CreatedSubscriptionActivity::class, + ], + SubscriptionWasUpdated::class => [ + SubscriptionUpdatedActivity::class, + ], + SubscriptionWasArchived::class => [ + SubscriptionArchivedActivity::class, + ], + SubscriptionWasDeleted::class => [ + SubscriptionDeletedActivity::class, + ], + SubscriptionWasRestored::class => [ + SubscriptionRestoredActivity::class, + ], VendorWasCreated::class => [ CreatedVendorActivity::class, ], diff --git a/app/Repositories/BaseRepository.php b/app/Repositories/BaseRepository.php index 6b182baf56cd..ddf2645d9051 100644 --- a/app/Repositories/BaseRepository.php +++ b/app/Repositories/BaseRepository.php @@ -55,7 +55,7 @@ class BaseRepository $className = $this->getEventClass($entity, 'Archived'); if (class_exists($className)) { - event(new $className($entity, $entity->company, Ninja::eventVars())); + event(new $className($entity, $entity->company, Ninja::eventVars(auth()->user()->id))); } } @@ -81,7 +81,7 @@ class BaseRepository $className = $this->getEventClass($entity, 'Restored'); if (class_exists($className)) { - event(new $className($entity, $fromDeleted, $entity->company, Ninja::eventVars())); + event(new $className($entity, $fromDeleted, $entity->company, Ninja::eventVars(auth()->user()->id))); } } @@ -102,7 +102,7 @@ class BaseRepository $className = $this->getEventClass($entity, 'Deleted'); if (class_exists($className) && ! ($entity instanceof Company)) { - event(new $className($entity, $entity->company, Ninja::eventVars())); + event(new $className($entity, $entity->company, Ninja::eventVars(auth()->user()->id))); } } diff --git a/app/Repositories/PaymentRepository.php b/app/Repositories/PaymentRepository.php index b94161609fcc..ae9f7733b37c 100644 --- a/app/Repositories/PaymentRepository.php +++ b/app/Repositories/PaymentRepository.php @@ -155,7 +155,7 @@ class PaymentRepository extends BaseRepository { } if ( ! $is_existing_payment && ! $this->import_mode ) { - event( new PaymentWasCreated( $payment, $payment->company, Ninja::eventVars() ) ); + event( new PaymentWasCreated( $payment, $payment->company, Ninja::eventVars(auth()->user()->id) ) ); } nlog("payment amount = {$payment->amount}"); @@ -205,7 +205,7 @@ class PaymentRepository extends BaseRepository { $payment = $payment->service()->deletePayment(); - event(new PaymentWasDeleted($payment, $payment->company, Ninja::eventVars())); + event(new PaymentWasDeleted($payment, $payment->company, Ninja::eventVars(auth()->user()->id))); return $payment; //return parent::delete($payment); diff --git a/app/Repositories/UserRepository.php b/app/Repositories/UserRepository.php index 826eebb568ab..19c7535c2824 100644 --- a/app/Repositories/UserRepository.php +++ b/app/Repositories/UserRepository.php @@ -123,7 +123,7 @@ class UserRepository extends BaseRepository $cu->forceDelete(); } - event(new UserWasDeleted($user, $company, Ninja::eventVars())); + event(new UserWasDeleted($user, $company, Ninja::eventVars(auth()->user()->id))); $user->delete(); @@ -146,7 +146,7 @@ class UserRepository extends BaseRepository $cu->delete(); } - event(new UserWasDeleted($user, auth()->user(), $company, Ninja::eventVars())); + event(new UserWasDeleted($user, auth()->user(), $company, Ninja::eventVars(auth()->user()->id))); $user->is_deleted = true; $user->save(); @@ -164,7 +164,7 @@ class UserRepository extends BaseRepository $user->delete(); - event(new UserWasArchived($user, auth()->user(), auth()->user()->company, Ninja::eventVars())); + event(new UserWasArchived($user, auth()->user(), auth()->user()->company, Ninja::eventVars(auth()->user()->id))); } @@ -189,7 +189,7 @@ class UserRepository extends BaseRepository $cu->restore(); - event(new UserWasRestored($user, auth()->user(), auth()->user()->company, Ninja::eventVars())); + event(new UserWasRestored($user, auth()->user(), auth()->user()->company, Ninja::eventVars(auth()->user()->id))); } } diff --git a/app/Services/Credit/ApplyPayment.php b/app/Services/Credit/ApplyPayment.php index e97e38c3854b..d7a91a924559 100644 --- a/app/Services/Credit/ApplyPayment.php +++ b/app/Services/Credit/ApplyPayment.php @@ -144,11 +144,11 @@ class ApplyPayment ->ledger() ->updateCreditBalance(($this->amount_applied * -1), "Credit payment applied to Invoice {$this->invoice->number}"); - event(new InvoiceWasUpdated($this->invoice, $this->invoice->company, Ninja::eventVars())); + event(new InvoiceWasUpdated($this->invoice, $this->invoice->company, Ninja::eventVars(auth()->user()->id))); if ((int)$this->invoice->balance == 0) { $this->invoice->service()->deletePdf(); - event(new InvoiceWasPaid($this->invoice, $payment, $this->payment->company, Ninja::eventVars())); + event(new InvoiceWasPaid($this->invoice, $payment, $this->payment->company, Ninja::eventVars(auth()->user()->id))); } } } diff --git a/app/Services/Credit/MarkSent.php b/app/Services/Credit/MarkSent.php index 5b9418e02416..0b39f19a868e 100644 --- a/app/Services/Credit/MarkSent.php +++ b/app/Services/Credit/MarkSent.php @@ -37,7 +37,7 @@ class MarkSent $this->credit->markInvitationsSent(); - event(new CreditWasMarkedSent($this->credit, $this->credit->company, Ninja::eventVars())); + event(new CreditWasMarkedSent($this->credit, $this->credit->company, Ninja::eventVars(auth()->user() ? auth()->user()->id : null))); $this->credit ->service() diff --git a/app/Services/Invoice/HandleCancellation.php b/app/Services/Invoice/HandleCancellation.php index d18c76e5a803..b937ee846694 100644 --- a/app/Services/Invoice/HandleCancellation.php +++ b/app/Services/Invoice/HandleCancellation.php @@ -50,7 +50,7 @@ class HandleCancellation extends AbstractService //adjust client balance $this->invoice->client->service()->updateBalance($adjustment)->save(); - event(new InvoiceWasCancelled($this->invoice, $this->invoice->company, Ninja::eventVars())); + event(new InvoiceWasCancelled($this->invoice, $this->invoice->company, Ninja::eventVars(auth()->user() ? auth()->user()->id : null))); return $this->invoice; } diff --git a/app/Services/Invoice/MarkPaid.php b/app/Services/Invoice/MarkPaid.php index 7f827a5fd842..f325fbf68700 100644 --- a/app/Services/Invoice/MarkPaid.php +++ b/app/Services/Invoice/MarkPaid.php @@ -81,8 +81,8 @@ class MarkPaid extends AbstractService $payment->service()->sendEmail(); /* Update Invoice balance */ - event(new PaymentWasCreated($payment, $payment->company, Ninja::eventVars())); - event(new InvoiceWasPaid($this->invoice, $payment, $payment->company, Ninja::eventVars())); + event(new PaymentWasCreated($payment, $payment->company, Ninja::eventVars(auth()->user() ? auth()->user()->id : null))); + event(new InvoiceWasPaid($this->invoice, $payment, $payment->company, Ninja::eventVars(auth()->user() ? auth()->user()->id : null))); $payment->ledger() ->updatePaymentBalance($payment->amount * -1); diff --git a/app/Services/Invoice/MarkSent.php b/app/Services/Invoice/MarkSent.php index c5149a462577..f212666fd27a 100644 --- a/app/Services/Invoice/MarkSent.php +++ b/app/Services/Invoice/MarkSent.php @@ -54,7 +54,7 @@ class MarkSent extends AbstractService $this->invoice->ledger()->updateInvoiceBalance($this->invoice->balance, "Invoice {$this->invoice->number} marked as sent."); - event(new InvoiceWasUpdated($this->invoice, $this->invoice->company, Ninja::eventVars())); + event(new InvoiceWasUpdated($this->invoice, $this->invoice->company, Ninja::eventVars(auth()->user() ? auth()->user()->id : null))); return $this->invoice->fresh(); } diff --git a/app/Services/Payment/RefundPayment.php b/app/Services/Payment/RefundPayment.php index 2e7de5277a91..74803a8e7f1d 100644 --- a/app/Services/Payment/RefundPayment.php +++ b/app/Services/Payment/RefundPayment.php @@ -112,10 +112,10 @@ class RefundPayment if (isset($this->refund_data['invoices'])) { foreach ($this->refund_data['invoices'] as $invoice) { $fields->invoice_id = $invoice['invoice_id']; - $activity_repo->save($fields, $this->payment, Ninja::eventVars()); + $activity_repo->save($fields, $this->payment, Ninja::eventVars(auth()->user()->id)); } } else { - $activity_repo->save($fields, $this->payment, Ninja::eventVars()); + $activity_repo->save($fields, $this->payment, Ninja::eventVars(auth()->user()->id)); } return $this; diff --git a/app/Services/Quote/MarkSent.php b/app/Services/Quote/MarkSent.php index d91617324708..7a4417ee6e31 100644 --- a/app/Services/Quote/MarkSent.php +++ b/app/Services/Quote/MarkSent.php @@ -45,7 +45,7 @@ class MarkSent $this->quote->due_date = Carbon::parse($this->quote->date)->addDays($this->quote->client->getSetting('valid_until')); } - event(new QuoteWasMarkedSent($this->quote, $this->quote->company, Ninja::eventVars())); + event(new QuoteWasMarkedSent($this->quote, $this->quote->company, Ninja::eventVars(auth()->user() ? auth()->user()->id : null))); $this->quote ->service() diff --git a/app/Utils/Ninja.php b/app/Utils/Ninja.php index e5b55d90b9cd..4107c3cdacd7 100644 --- a/app/Utils/Ninja.php +++ b/app/Utils/Ninja.php @@ -111,12 +111,13 @@ class Ninja curl_close($ch); } - public static function eventVars() + public static function eventVars($user_id = null) { return [ 'ip' => request()->getClientIp(), 'token' => request()->header('X-API-TOKEN'), 'is_system' => app()->runningInConsole(), + 'user_id' => $user_id, ]; } diff --git a/app/Utils/Traits/Payment/Refundable.php b/app/Utils/Traits/Payment/Refundable.php index 39636065f01a..5d9e8f6e82b7 100644 --- a/app/Utils/Traits/Payment/Refundable.php +++ b/app/Utils/Traits/Payment/Refundable.php @@ -211,10 +211,10 @@ trait Refundable foreach ($data['invoices'] as $invoice) { $fields->invoice_id = $invoice->id; - $activity_repo->save($fields, $this, Ninja::eventVars()); + $activity_repo->save($fields, $this, Ninja::eventVars(auth()->user()->id)); } } else { - $activity_repo->save($fields, $this, Ninja::eventVars()); + $activity_repo->save($fields, $this, Ninja::eventVars(auth()->user()->id)); } } diff --git a/composer.json b/composer.json index 9b29fe5258b5..29da3c0fb585 100644 --- a/composer.json +++ b/composer.json @@ -77,9 +77,9 @@ "brianium/paratest": "^6.1", "darkaonline/l5-swagger": "^8.0", "facade/ignition": "^2.3.6", + "fakerphp/faker": "^1.14", "filp/whoops": "^2.7", "friendsofphp/php-cs-fixer": "^2.16", - "fakerphp/faker": "^1.14", "mockery/mockery": "^1.3.1", "nunomaduro/collision": "^5.0", "phpunit/phpunit": "^9.0", diff --git a/composer.lock b/composer.lock index e426f659b282..27906d3c6663 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "56b8467dfddd19762a9124d0624a5003", + "content-hash": "7ccb8d2434343dfb0ba62866f0ee919a", "packages": [ { "name": "authorizenet/authorizenet", @@ -11718,6 +11718,103 @@ ], "time": "2021-01-25T15:34:13+00:00" }, + { + "name": "nunomaduro/larastan", + "version": "v0.7.3", + "source": { + "type": "git", + "url": "https://github.com/nunomaduro/larastan.git", + "reference": "9c515d46851dca5a99fc82c0a69392c362b7affd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nunomaduro/larastan/zipball/9c515d46851dca5a99fc82c0a69392c362b7affd", + "reference": "9c515d46851dca5a99fc82c0a69392c362b7affd", + "shasum": "" + }, + "require": { + "composer/composer": "^1.0 || ^2.0", + "ext-json": "*", + "illuminate/console": "^6.0 || ^7.0 || ^8.0 || ^9.0", + "illuminate/container": "^6.0 || ^7.0 || ^8.0 || ^9.0", + "illuminate/contracts": "^6.0 || ^7.0 || ^8.0 || ^9.0", + "illuminate/database": "^6.0 || ^7.0 || ^8.0 || ^9.0", + "illuminate/http": "^6.0 || ^7.0 || ^8.0 || ^9.0", + "illuminate/pipeline": "^6.0 || ^7.0 || ^8.0 || ^9.0", + "illuminate/support": "^6.0 || ^7.0 || ^8.0 || ^9.0", + "mockery/mockery": "^0.9 || ^1.0", + "php": "^7.2 || ^8.0", + "phpstan/phpstan": "^0.12.83", + "symfony/process": "^4.3 || ^5.0" + }, + "require-dev": { + "orchestra/testbench": "^4.0 || ^5.0 || ^6.0 || ^7.0", + "phpunit/phpunit": "^7.3 || ^8.2 || ^9.3" + }, + "suggest": { + "orchestra/testbench": "^4.0 || ^5.0" + }, + "type": "phpstan-extension", + "extra": { + "branch-alias": { + "dev-master": "0.6-dev" + }, + "phpstan": { + "includes": [ + "extension.neon" + ] + } + }, + "autoload": { + "psr-4": { + "NunoMaduro\\Larastan\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "Larastan - Discover bugs in your code without running it. A phpstan/phpstan wrapper for Laravel", + "keywords": [ + "PHPStan", + "code analyse", + "code analysis", + "larastan", + "laravel", + "package", + "php", + "static analysis" + ], + "support": { + "issues": "https://github.com/nunomaduro/larastan/issues", + "source": "https://github.com/nunomaduro/larastan/tree/v0.7.3" + }, + "funding": [ + { + "url": "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L", + "type": "custom" + }, + { + "url": "https://github.com/canvural", + "type": "github" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + }, + { + "url": "https://www.patreon.com/nunomaduro", + "type": "patreon" + } + ], + "time": "2021-04-12T11:01:46+00:00" + }, { "name": "openlss/lib-array2xml", "version": "1.0.0", @@ -12162,6 +12259,66 @@ }, "time": "2021-03-17T13:42:18+00:00" }, + { + "name": "phpstan/phpstan", + "version": "0.12.83", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpstan.git", + "reference": "4a967cec6efb46b500dd6d768657336a3ffe699f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/4a967cec6efb46b500dd6d768657336a3ffe699f", + "reference": "4a967cec6efb46b500dd6d768657336a3ffe699f", + "shasum": "" + }, + "require": { + "php": "^7.1|^8.0" + }, + "conflict": { + "phpstan/phpstan-shim": "*" + }, + "bin": [ + "phpstan", + "phpstan.phar" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.12-dev" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPStan - PHP Static Analysis Tool", + "support": { + "issues": "https://github.com/phpstan/phpstan/issues", + "source": "https://github.com/phpstan/phpstan/tree/0.12.83" + }, + "funding": [ + { + "url": "https://github.com/ondrejmirtes", + "type": "github" + }, + { + "url": "https://www.patreon.com/phpstan", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan", + "type": "tidelift" + } + ], + "time": "2021-04-03T15:35:45+00:00" + }, { "name": "phpunit/php-code-coverage", "version": "9.2.6", diff --git a/resources/lang/en/texts.php b/resources/lang/en/texts.php index f1668102b436..76df1c0f39f1 100644 --- a/resources/lang/en/texts.php +++ b/resources/lang/en/texts.php @@ -4203,6 +4203,12 @@ $LANG = array( 'promo_code' => 'Promo code', 'recurring_invoice_issued_to' => 'Recurring invoice issued to', 'subscription' => 'Subscription', + + 'activity_80' => ':user created subscription :subscription', + 'activity_81' => ':user updated subscription :subscription', + 'activity_82' => ':user archived subscription :subscription', + 'activity_83' => ':user deleted subscription :subscription', + 'activity_84' => ':user restored subscription :subscription', ); return $LANG; diff --git a/tests/Integration/EventTest.php b/tests/Integration/EventTest.php index d161bc41b11e..740b4f55930f 100644 --- a/tests/Integration/EventTest.php +++ b/tests/Integration/EventTest.php @@ -41,6 +41,11 @@ use App\Events\Quote\QuoteWasCreated; use App\Events\Quote\QuoteWasDeleted; use App\Events\Quote\QuoteWasRestored; use App\Events\Quote\QuoteWasUpdated; +use App\Events\Subscription\SubscriptionWasArchived; +use App\Events\Subscription\SubscriptionWasCreated; +use App\Events\Subscription\SubscriptionWasDeleted; +use App\Events\Subscription\SubscriptionWasRestored; +use App\Events\Subscription\SubscriptionWasUpdated; use App\Events\Task\TaskWasArchived; use App\Events\Task\TaskWasCreated; use App\Events\Task\TaskWasDeleted; @@ -670,5 +675,61 @@ class EventTest extends TestCase ->assertStatus(200); } + public function testSubscriptionEvents() + { + $this->expectsEvents([ + SubscriptionWasCreated::class, + SubscriptionWasUpdated::class, + SubscriptionWasArchived::class, + SubscriptionWasRestored::class, + SubscriptionWasDeleted::class, + ]); + + $data = [ + 'name' => $this->faker->firstName, + ]; + + $response = $this->withHeaders([ + 'X-API-SECRET' => config('ninja.api_secret'), + 'X-API-TOKEN' => $this->token, + ])->post('/api/v1/subscriptions/', $data) + ->assertStatus(200); + + + $arr = $response->json(); + + $data = [ + 'name' => $this->faker->firstName, + ]; + + $response = $this->withHeaders([ + 'X-API-SECRET' => config('ninja.api_secret'), + 'X-API-TOKEN' => $this->token, + ])->put('/api/v1/subscriptions/' . $arr['data']['id'], $data) + ->assertStatus(200); + + + $data = [ + 'ids' => [$arr['data']['id']], + ]; + + $response = $this->withHeaders([ + 'X-API-SECRET' => config('ninja.api_secret'), + 'X-API-TOKEN' => $this->token, + ])->post('/api/v1/subscriptions/bulk?action=archive', $data) + ->assertStatus(200); + + $response = $this->withHeaders([ + 'X-API-SECRET' => config('ninja.api_secret'), + 'X-API-TOKEN' => $this->token, + ])->post('/api/v1/subscriptions/bulk?action=restore', $data) + ->assertStatus(200); + + $response = $this->withHeaders([ + 'X-API-SECRET' => config('ninja.api_secret'), + 'X-API-TOKEN' => $this->token, + ])->post('/api/v1/subscriptions/bulk?action=delete', $data) + ->assertStatus(200); + } }