mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-05-31 14:44:34 -04:00
Refactor activities
This commit is contained in:
parent
4065427da0
commit
455cc41d77
@ -103,9 +103,8 @@ class ActivityController extends BaseController
|
|||||||
|
|
||||||
$system = ctrans('texts.system');
|
$system = ctrans('texts.system');
|
||||||
|
|
||||||
$data = $activities->cursor()->map(function ($activity) use ($system) {
|
$data = $activities->cursor()->map(function ($activity) {
|
||||||
|
|
||||||
return $activity->activity_string();
|
|
||||||
$arr =
|
$arr =
|
||||||
[
|
[
|
||||||
'client' => $activity->client ? $activity->client : '',
|
'client' => $activity->client ? $activity->client : '',
|
||||||
@ -126,21 +125,31 @@ class ActivityController extends BaseController
|
|||||||
];
|
];
|
||||||
|
|
||||||
$activity_array = $activity->toArray();
|
$activity_array = $activity->toArray();
|
||||||
$activity_meta = [];
|
|
||||||
$activity_meta['hashed_id'] = $activity->hashed_id;
|
|
||||||
$activity_meta['notes'] = $activity->notes;
|
|
||||||
$activity_meta['ip'] = $activity->ip;
|
|
||||||
$activity_meta['activity_type_id'] = $activity->activity_type_id;
|
|
||||||
$activity_meta['created_at'] = $activity->created_at;
|
|
||||||
$activity_meta['updated_at'] = $activity->updated_at;
|
|
||||||
$activity_meta['is_system'] = $activity->is_system;
|
|
||||||
// $activity_meta['currency_id'] = $activity->currency_id;
|
|
||||||
|
|
||||||
return array_merge($arr, $activity_array);
|
return array_merge($arr, $activity_array);
|
||||||
});
|
});
|
||||||
|
|
||||||
return response()->json(['data' => $data->toArray()], 200);
|
return response()->json(['data' => $data->toArray()], 200);
|
||||||
}
|
}
|
||||||
|
elseif($request->has('reactv2')) {
|
||||||
|
|
||||||
|
/** @var \App\Models\User auth()->user() */
|
||||||
|
$user = auth()->user();
|
||||||
|
|
||||||
|
if (!$user->isAdmin()) {
|
||||||
|
$activities->where('user_id', auth()->user()->id);
|
||||||
|
}
|
||||||
|
|
||||||
|
$system = ctrans('texts.system');
|
||||||
|
|
||||||
|
$data = $activities->cursor()->map(function ($activity) use ($system) {
|
||||||
|
|
||||||
|
return $activity->activity_string();
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
return response()->json(['data' => $data->toArray()], 200);
|
||||||
|
}
|
||||||
|
|
||||||
return $this->listResponse($activities);
|
return $this->listResponse($activities);
|
||||||
}
|
}
|
||||||
|
@ -58,7 +58,6 @@ class InvoiceEmailFailedActivity implements ShouldQueue
|
|||||||
$fields->client_contact_id = $event->invitation->client_contact_id;
|
$fields->client_contact_id = $event->invitation->client_contact_id;
|
||||||
$fields->company_id = $event->invitation->invoice->company_id;
|
$fields->company_id = $event->invitation->invoice->company_id;
|
||||||
$fields->activity_type_id = Activity::EMAIL_INVOICE_FAILED;
|
$fields->activity_type_id = Activity::EMAIL_INVOICE_FAILED;
|
||||||
$fields->notes = $event->message;
|
|
||||||
|
|
||||||
$this->activity_repo->save($fields, $event->invitation->invoice, $event->event_vars);
|
$this->activity_repo->save($fields, $event->invitation->invoice, $event->event_vars);
|
||||||
}
|
}
|
||||||
|
@ -46,7 +46,6 @@ class ArchivedUserActivity implements ShouldQueue
|
|||||||
$user_id = array_key_exists('user_id', $event->event_vars) ? $event->event_vars['user_id'] : $event->creating_user->id;
|
$user_id = array_key_exists('user_id', $event->event_vars) ? $event->event_vars['user_id'] : $event->creating_user->id;
|
||||||
|
|
||||||
$fields->user_id = $user_id;
|
$fields->user_id = $user_id;
|
||||||
$fields->notes = $event->creating_user->present()->name.' Archived User '.$event->user->present()->name();
|
|
||||||
|
|
||||||
$fields->company_id = $event->company->id;
|
$fields->company_id = $event->company->id;
|
||||||
$fields->activity_type_id = Activity::ARCHIVE_USER;
|
$fields->activity_type_id = Activity::ARCHIVE_USER;
|
||||||
|
@ -46,7 +46,6 @@ class CreatedUserActivity implements ShouldQueue
|
|||||||
$user_id = array_key_exists('user_id', $event->event_vars) ? $event->event_vars['user_id'] : $event->creating_user->id;
|
$user_id = array_key_exists('user_id', $event->event_vars) ? $event->event_vars['user_id'] : $event->creating_user->id;
|
||||||
|
|
||||||
$fields->user_id = $user_id;
|
$fields->user_id = $user_id;
|
||||||
$fields->notes = $event->creating_user->present()->name().' Created the user '.$event->user->present()->name();
|
|
||||||
$fields->company_id = $event->company->id;
|
$fields->company_id = $event->company->id;
|
||||||
$fields->activity_type_id = Activity::CREATE_USER;
|
$fields->activity_type_id = Activity::CREATE_USER;
|
||||||
|
|
||||||
|
@ -51,8 +51,6 @@ class DeletedUserActivity implements ShouldQueue
|
|||||||
$user_id = array_key_exists('user_id', $event->event_vars) ? $event->event_vars['user_id'] : $event->creating_user->id;
|
$user_id = array_key_exists('user_id', $event->event_vars) ? $event->event_vars['user_id'] : $event->creating_user->id;
|
||||||
|
|
||||||
$fields->user_id = $user_id;
|
$fields->user_id = $user_id;
|
||||||
|
|
||||||
$fields->notes = $event->creating_user->present()->name().' Deleted the user '.$event->user->present()->name();
|
|
||||||
$fields->company_id = $event->company->id;
|
$fields->company_id = $event->company->id;
|
||||||
$fields->activity_type_id = Activity::DELETE_USER;
|
$fields->activity_type_id = Activity::DELETE_USER;
|
||||||
|
|
||||||
|
@ -45,7 +45,6 @@ class RestoredUserActivity implements ShouldQueue
|
|||||||
$user_id = array_key_exists('user_id', $event->event_vars) ? $event->event_vars['user_id'] : $event->creating_user->id;
|
$user_id = array_key_exists('user_id', $event->event_vars) ? $event->event_vars['user_id'] : $event->creating_user->id;
|
||||||
|
|
||||||
$fields->user_id = $user_id;
|
$fields->user_id = $user_id;
|
||||||
$fields->notes = $event->creating_user->present()->name().' Restored user '.$event->user->present()->name();
|
|
||||||
|
|
||||||
$fields->company_id = $event->company->id;
|
$fields->company_id = $event->company->id;
|
||||||
$fields->activity_type_id = Activity::RESTORE_USER;
|
$fields->activity_type_id = Activity::RESTORE_USER;
|
||||||
|
@ -45,7 +45,6 @@ class UpdatedUserActivity implements ShouldQueue
|
|||||||
$user_id = array_key_exists('user_id', $event->event_vars) ? $event->event_vars['user_id'] : $event->creating_user->id;
|
$user_id = array_key_exists('user_id', $event->event_vars) ? $event->event_vars['user_id'] : $event->creating_user->id;
|
||||||
|
|
||||||
$fields->user_id = $user_id;
|
$fields->user_id = $user_id;
|
||||||
$fields->notes = $event->creating_user->present()->name().' Updated user '.$event->user->present()->name();
|
|
||||||
|
|
||||||
$fields->company_id = $event->company->id;
|
$fields->company_id = $event->company->id;
|
||||||
$fields->activity_type_id = Activity::UPDATE_USER;
|
$fields->activity_type_id = Activity::UPDATE_USER;
|
||||||
|
@ -484,40 +484,41 @@ class Activity extends StaticModel
|
|||||||
':number',
|
':number',
|
||||||
':payment_amount',
|
':payment_amount',
|
||||||
':gateway',
|
':gateway',
|
||||||
':adjustment',
|
':adjustment'
|
||||||
':ip',
|
|
||||||
];
|
];
|
||||||
|
|
||||||
$found_variables = array_intersect(explode(" ",trans("texts.activity_{$this->activity_type_id}")), $intersect);
|
$found_variables = array_intersect(explode(" ",trans("texts.activity_{$this->activity_type_id}")), $intersect);
|
||||||
|
|
||||||
$replacements = [];
|
$replacements = [];
|
||||||
|
|
||||||
foreach($found_variables as $var){
|
foreach($found_variables as $var)
|
||||||
$replacements[] = $this->matchVar($var);
|
$replacements = array_merge($replacements, $this->matchVar($var));
|
||||||
}
|
|
||||||
|
|
||||||
foreach(['id', 'hashed_id','notes','created_at','activity_type_id'] as $var)
|
if($this->client)
|
||||||
$replacements[] = $this->matchVar($var);
|
$replacements['client'] = ['label' => $this?->client?->present()->name() ?? '', 'hashed_id' => $this->client->hashed_id ?? ''];
|
||||||
|
|
||||||
// return ctrans("texts.activity_{$this->activity_type_id}",$replacements);
|
|
||||||
|
|
||||||
|
if($this->vendor)
|
||||||
|
$replacements['vendor'] = ['label' => $this?->vendor?->present()->name() ?? '', 'hashed_id' => $this->vendor->hashed_id ?? ''];
|
||||||
|
|
||||||
|
$replacements['activity_type_id'] = $this->activity_type_id;
|
||||||
|
$replacements['id'] = $this->id;
|
||||||
|
$replacements['hashed_id'] = $this->hashed_id;
|
||||||
|
$replacements['notes'] = $this->notes ?? '';
|
||||||
|
$replacements['created_at'] = $this->created_at ?? '';
|
||||||
|
$replacements['ip'] = $this->ip ?? '';
|
||||||
|
|
||||||
return $replacements;
|
return $replacements;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private function matchVar(string $variable)
|
private function matchVar(string $variable)
|
||||||
{
|
{
|
||||||
|
$system = ctrans('texts.system');
|
||||||
|
|
||||||
return match($variable) {
|
return match($variable) {
|
||||||
'activity_type_id' => $translation = ['activity_type_id' => $this->activity_type_id],
|
|
||||||
'id' => $translation = ['id' => $this->id],
|
|
||||||
'hashed_id' => $translation = ['hashed_id' => $this->hashed_id],
|
|
||||||
'notes' => $translation = ['notes' => $this->notes ?? ''],
|
|
||||||
'created_at' => $translation = ['created_at' => $this->created_at ?? ''],
|
|
||||||
':invoice' => $translation = [substr($variable, 1) => [ 'label' => $this?->invoice?->number ?? '', 'hashed_id' => $this->invoice?->hashed_id ?? '']],
|
':invoice' => $translation = [substr($variable, 1) => [ 'label' => $this?->invoice?->number ?? '', 'hashed_id' => $this->invoice?->hashed_id ?? '']],
|
||||||
':client' => $translation = [substr($variable, 1) => [ 'label' => $this?->client?->present()->name() ?? '', 'hashed_id' => $this->client->hashed_id ?? '']],
|
':contact' => $translation = $this->resolveContact(),
|
||||||
':contact' => $translation = [substr($variable, 1) => [ 'label' => $this?->contact?->present()->name() ?? '', 'hashed_id' => $this->contact->client->hashed_id ?? '']],
|
':user' => $translation = [substr($variable, 1) => [ 'label' => $this?->user?->present()->name() ?? $system, 'hashed_id' => $this->user->hashed_id ?? '']],
|
||||||
':user' => $translation = [substr($variable, 1) => [ 'label' => $this?->user?->present()->name() ??'', 'hashed_id' => $this->user->hashed_id ?? '']],
|
|
||||||
':vendor' => $translation = [substr($variable, 1) => [ 'label' => $this?->vendor?->present()->name() ?? '', 'hashed_id' => $this->vendor->hashed_id ?? '']],
|
|
||||||
':quote' => $translation = [substr($variable, 1) => [ 'label' => $this?->quote?->number ?? '', 'hashed_id' => $this->quote->hashed_id ?? '']],
|
':quote' => $translation = [substr($variable, 1) => [ 'label' => $this?->quote?->number ?? '', 'hashed_id' => $this->quote->hashed_id ?? '']],
|
||||||
':credit' => $translation = [substr($variable, 1) => [ 'label' => $this?->credit?->number ?? '', 'hashed_id' => $this->credit->hashed_id ?? '']],
|
':credit' => $translation = [substr($variable, 1) => [ 'label' => $this?->credit?->number ?? '', 'hashed_id' => $this->credit->hashed_id ?? '']],
|
||||||
':payment' => $translation = [substr($variable, 1) => [ 'label' => $this?->payment?->number ?? '', 'hashed_id' => $this->payment->hashed_id ?? '']],
|
':payment' => $translation = [substr($variable, 1) => [ 'label' => $this?->payment?->number ?? '', 'hashed_id' => $this->payment->hashed_id ?? '']],
|
||||||
@ -527,17 +528,23 @@ class Activity extends StaticModel
|
|||||||
':subscription' => $translation = [substr($variable, 1) => [ 'label' => $this?->subscription?->number ?? '', 'hashed_id' => $this->subscription->hashed_id ?? '' ]],
|
':subscription' => $translation = [substr($variable, 1) => [ 'label' => $this?->subscription?->number ?? '', 'hashed_id' => $this->subscription->hashed_id ?? '' ]],
|
||||||
':recurring_invoice' => $translation = [substr($variable, 1) =>[ 'label' => $this?->recurring_invoice?->number ??'', 'hashed_id' => $this->recurring_invoice->hashed_id ?? '']],
|
':recurring_invoice' => $translation = [substr($variable, 1) =>[ 'label' => $this?->recurring_invoice?->number ??'', 'hashed_id' => $this->recurring_invoice->hashed_id ?? '']],
|
||||||
':recurring_expense' => $translation = [substr($variable, 1) => [ 'label' => $this?->recurring_expense?->number ??'', 'hashed_id' => $this->recurring_expense->hashed_id ?? '']],
|
':recurring_expense' => $translation = [substr($variable, 1) => [ 'label' => $this?->recurring_expense?->number ??'', 'hashed_id' => $this->recurring_expense->hashed_id ?? '']],
|
||||||
':payment_amount' => $translation = [substr($variable, 1) =>[ 'label' => Number::formatMoney($this?->payment?->amount, $this?->payment?->client) ?? '']],
|
':payment_amount' => $translation = [substr($variable, 1) =>[ 'label' => Number::formatMoney($this?->payment?->amount, $this?->payment?->client) ?? '', 'hashed_id' => '']],
|
||||||
':adjustment' => $translation = [substr($variable, 1) =>[ 'label' => Number::formatMoney($this?->payment?->refunded, $this?->payment?->client) ?? '']],
|
':adjustment' => $translation = [substr($variable, 1) =>[ 'label' => Number::formatMoney($this?->payment?->refunded, $this?->payment?->client) ?? '', 'hashed_id' => '']],
|
||||||
':ip' => $translation = [ 'ip' => $this->ip ?? ''],
|
':ip' => $translation = [ 'ip' => $this->ip ?? ''],
|
||||||
default => $translation = [substr($variable, 1) => ''],
|
default => $translation = [],
|
||||||
};
|
};
|
||||||
|
|
||||||
return $translation;
|
return $translation;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function returnEntityValue(string $variable)
|
private function resolveContact() : array
|
||||||
{
|
{
|
||||||
|
$contact = $this->contact ? $this->contact : $this->vendor_contact;
|
||||||
|
|
||||||
|
$entity = $this->contact ? $this->client : $this->vendor;
|
||||||
|
|
||||||
|
$contact_entity = $this->contact ? 'clients' : 'vendors';
|
||||||
|
|
||||||
|
return ['contact' => [ 'label' => $contact?->present()->name() ?? '', 'hashed_id' => $entity->hashed_id ?? '', 'contact_entity' => $contact_entity]];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user