From b854115389c72532b2f1fe6d46faca67815472be Mon Sep 17 00:00:00 2001 From: Christopher Di Carlo Date: Thu, 9 May 2019 07:07:15 -0400 Subject: [PATCH 1/4] Display contact in activity dashboard and client activity --- app/Models/Activity.php | 3 ++- app/Ninja/Datatables/ActivityDatatable.php | 2 +- app/Ninja/Repositories/ActivityRepository.php | 1 - resources/lang/en/texts.php | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/Models/Activity.php b/app/Models/Activity.php index cf9f948eeeba..c0b492666812 100644 --- a/app/Models/Activity.php +++ b/app/Models/Activity.php @@ -121,6 +121,7 @@ class Activity extends Eloquent $user = $this->user; $invoice = $this->invoice; $contactId = $this->contact_id; + $contact = $this->contact; $payment = $this->payment; $credit = $this->credit; $expense = $this->expense; @@ -133,7 +134,7 @@ class Activity extends Eloquent 'user' => $isSystem ? '' . trans('texts.system') . '' : e($user->getDisplayName()), 'invoice' => $invoice ? link_to($invoice->getRoute(), $invoice->getDisplayName()) : null, 'quote' => $invoice ? link_to($invoice->getRoute(), $invoice->getDisplayName()) : null, - 'contact' => $contactId ? link_to($client->getRoute(), $client->getDisplayName()) : e($user->getDisplayName()), + 'contact' => $contactId ? link_to($client->getRoute(), $contact->getDisplayName()) : e($user->getDisplayName()), 'payment' => $payment ? e($payment->transaction_reference) : null, 'payment_amount' => $payment ? $account->formatMoney($payment->amount, $payment) : null, 'adjustment' => $this->adjustment ? $account->formatMoney($this->adjustment, $this) : null, diff --git a/app/Ninja/Datatables/ActivityDatatable.php b/app/Ninja/Datatables/ActivityDatatable.php index 5d555c48531b..eded41be72fd 100644 --- a/app/Ninja/Datatables/ActivityDatatable.php +++ b/app/Ninja/Datatables/ActivityDatatable.php @@ -44,7 +44,7 @@ class ActivityDatatable extends EntityDatatable 'user' => $model->is_system ? '' . trans('texts.system') . '' : Utils::getPersonDisplayName($model->user_first_name, $model->user_last_name, $model->user_email), 'invoice' => $model->invoice ? link_to('/invoices/' . $model->invoice_public_id, $model->is_recurring ? trans('texts.recurring_invoice') : $model->invoice)->toHtml() : null, 'quote' => $model->invoice ? link_to('/quotes/' . $model->invoice_public_id, $model->invoice)->toHtml() : null, - 'contact' => $model->contact_id ? link_to('/clients/' . $model->client_public_id, Utils::getClientDisplayName($model))->toHtml() : Utils::getPersonDisplayName($model->user_first_name, $model->user_last_name, $model->user_email), + 'contact' => $model->contact_id ? link_to('/clients/' . $model->client_public_id, Utils::getPersonDisplayName($model->first_name, $model->last_name, $model->email))->toHtml() : Utils::getPersonDisplayName($model->user_first_name, $model->user_last_name, $model->user_email), 'payment' => $model->payment ? e($model->payment) : '', 'credit' => $model->payment_amount ? Utils::formatMoney($model->credit, $model->currency_id, $model->country_id) : '', 'payment_amount' => $model->payment_amount ? Utils::formatMoney($model->payment_amount, $model->currency_id, $model->country_id) : null, diff --git a/app/Ninja/Repositories/ActivityRepository.php b/app/Ninja/Repositories/ActivityRepository.php index 85153a4468fc..3932d6742ac8 100644 --- a/app/Ninja/Repositories/ActivityRepository.php +++ b/app/Ninja/Repositories/ActivityRepository.php @@ -79,7 +79,6 @@ class ActivityRepository ->leftJoin('expenses', 'expenses.id', '=', 'activities.expense_id') ->leftJoin('tickets', 'tickets.id', '=', 'activities.ticket_id') ->where('clients.id', '=', $clientId) - ->where('contacts.is_primary', '=', 1) ->whereNull('contacts.deleted_at') ->select( DB::raw('COALESCE(clients.currency_id, accounts.currency_id) currency_id'), diff --git a/resources/lang/en/texts.php b/resources/lang/en/texts.php index 7c5f7e3b2167..bc8ae2d6ced5 100644 --- a/resources/lang/en/texts.php +++ b/resources/lang/en/texts.php @@ -756,7 +756,7 @@ $LANG = array( 'activity_3' => ':user deleted client :client', 'activity_4' => ':user created invoice :invoice', 'activity_5' => ':user updated invoice :invoice', - 'activity_6' => ':user emailed invoice :invoice to :contact', + 'activity_6' => ':user emailed invoice :invoice for :client to :contact', 'activity_7' => ':contact viewed invoice :invoice', 'activity_8' => ':user archived invoice :invoice', 'activity_9' => ':user deleted invoice :invoice', @@ -770,7 +770,7 @@ $LANG = array( 'activity_17' => ':user deleted :credit credit', 'activity_18' => ':user created quote :quote', 'activity_19' => ':user updated quote :quote', - 'activity_20' => ':user emailed quote :quote to :contact', + 'activity_20' => ':user emailed quote :quote for :client to :contact', 'activity_21' => ':contact viewed quote :quote', 'activity_22' => ':user archived quote :quote', 'activity_23' => ':user deleted quote :quote', From aa97b0a9ac0f68222047564ccaaf267ba6a8f875 Mon Sep 17 00:00:00 2001 From: Christopher Di Carlo Date: Fri, 17 May 2019 08:25:40 -0400 Subject: [PATCH 2/4] Fixed sorting issue if activities created with exact same timestamp --- app/Ninja/Repositories/DashboardRepository.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Ninja/Repositories/DashboardRepository.php b/app/Ninja/Repositories/DashboardRepository.php index 1c9694f27718..093e7e0276a4 100644 --- a/app/Ninja/Repositories/DashboardRepository.php +++ b/app/Ninja/Repositories/DashboardRepository.php @@ -345,7 +345,7 @@ class DashboardRepository $activities = $activities->where('activities.user_id', '=', $userId); } - return $activities->orderBy('activities.created_at', 'desc') + return $activities->orderBy('activities.created_at', 'desc')->orderBy('activities.id', 'desc') ->with('client.contacts', 'user', 'invoice', 'payment', 'credit', 'account', 'task', 'expense', 'contact') ->take(50) ->get(); From 97019f22e95adb4007a7bd6d57c869fcaf8d1bb4 Mon Sep 17 00:00:00 2001 From: Christopher Di Carlo Date: Fri, 17 May 2019 08:26:04 -0400 Subject: [PATCH 3/4] Updated activity messages to include contact and client --- resources/lang/en/texts.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/lang/en/texts.php b/resources/lang/en/texts.php index bc8ae2d6ced5..fe75bff035e6 100644 --- a/resources/lang/en/texts.php +++ b/resources/lang/en/texts.php @@ -757,10 +757,10 @@ $LANG = array( 'activity_4' => ':user created invoice :invoice', 'activity_5' => ':user updated invoice :invoice', 'activity_6' => ':user emailed invoice :invoice for :client to :contact', - 'activity_7' => ':contact viewed invoice :invoice', + 'activity_7' => ':contact viewed invoice :invoice for :client', 'activity_8' => ':user archived invoice :invoice', 'activity_9' => ':user deleted invoice :invoice', - 'activity_10' => ':contact entered payment :payment for :invoice', + 'activity_10' => ':contact entered payment :payment for :invoice for :client', 'activity_11' => ':user updated payment :payment', 'activity_12' => ':user archived payment :payment', 'activity_13' => ':user deleted payment :payment', @@ -779,7 +779,7 @@ $LANG = array( 'activity_26' => ':user restored client :client', 'activity_27' => ':user restored payment :payment', 'activity_28' => ':user restored :credit credit', - 'activity_29' => ':contact approved quote :quote', + 'activity_29' => ':contact approved quote :quote for :client', 'activity_30' => ':user created vendor :vendor', 'activity_31' => ':user archived vendor :vendor', 'activity_32' => ':user deleted vendor :vendor', From 6eb2717d13ab44711712fcd02a293db06c7e2833 Mon Sep 17 00:00:00 2001 From: Christopher Di Carlo Date: Fri, 17 May 2019 08:27:17 -0400 Subject: [PATCH 4/4] Fixed query bug related to inclusion of contact in activity message --- app/Ninja/Repositories/ActivityRepository.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/Ninja/Repositories/ActivityRepository.php b/app/Ninja/Repositories/ActivityRepository.php index 3932d6742ac8..b7ad8383eab5 100644 --- a/app/Ninja/Repositories/ActivityRepository.php +++ b/app/Ninja/Repositories/ActivityRepository.php @@ -71,7 +71,7 @@ class ActivityRepository ->join('accounts', 'accounts.id', '=', 'activities.account_id') ->join('users', 'users.id', '=', 'activities.user_id') ->join('clients', 'clients.id', '=', 'activities.client_id') - ->leftJoin('contacts', 'contacts.client_id', '=', 'clients.id') + ->leftJoin('contacts', 'contacts.id', '=', 'activities.contact_id') ->leftJoin('invoices', 'invoices.id', '=', 'activities.invoice_id') ->leftJoin('payments', 'payments.id', '=', 'activities.payment_id') ->leftJoin('credits', 'credits.id', '=', 'activities.credit_id') @@ -114,6 +114,7 @@ class ActivityRepository 'expenses.public_notes as expense_public_notes', 'expenses.public_id as expense_public_id', 'tickets.public_id as ticket_public_id' - ); + ) + ->orderBy('activities.created_at', 'desc'); } }