added eager loading to bulk actions
This commit is contained in:
parent
77ab04db0c
commit
fa4c2b2a5a
@ -9,6 +9,7 @@ use App\Traits\Jobs;
|
|||||||
use App\Traits\Relationships;
|
use App\Traits\Relationships;
|
||||||
use App\Utilities\Export;
|
use App\Utilities\Export;
|
||||||
use App\Utilities\Import;
|
use App\Utilities\Import;
|
||||||
|
use Illuminate\Support\Arr;
|
||||||
|
|
||||||
abstract class BulkAction
|
abstract class BulkAction
|
||||||
{
|
{
|
||||||
@ -39,9 +40,17 @@ abstract class BulkAction
|
|||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
public function getSelectedRecords($request)
|
public function getSelectedRecords($request, $relationships = null)
|
||||||
{
|
{
|
||||||
return $this->model::find($this->getSelectedInput($request));
|
if (empty($relationships)) {
|
||||||
|
$model = $this->model::query();
|
||||||
|
} else {
|
||||||
|
$relationships = Arr::wrap($relationships);
|
||||||
|
|
||||||
|
$model = $this->model::with($relationships);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $model->find($this->getSelectedInput($request));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getSelectedInput($request)
|
public function getSelectedInput($request)
|
||||||
@ -129,7 +138,7 @@ abstract class BulkAction
|
|||||||
|
|
||||||
public function disableContacts($request)
|
public function disableContacts($request)
|
||||||
{
|
{
|
||||||
$contacts = $this->getSelectedRecords($request);
|
$contacts = $this->getSelectedRecords($request, 'user');
|
||||||
|
|
||||||
foreach ($contacts as $contact) {
|
foreach ($contacts as $contact) {
|
||||||
try {
|
try {
|
||||||
@ -142,7 +151,7 @@ abstract class BulkAction
|
|||||||
|
|
||||||
public function deleteContacts($request)
|
public function deleteContacts($request)
|
||||||
{
|
{
|
||||||
$contacts = $this->getSelectedRecords($request);
|
$contacts = $this->getSelectedRecords($request, 'user');
|
||||||
|
|
||||||
foreach ($contacts as $contact) {
|
foreach ($contacts as $contact) {
|
||||||
try {
|
try {
|
||||||
@ -155,7 +164,7 @@ abstract class BulkAction
|
|||||||
|
|
||||||
public function deleteTransactions($request)
|
public function deleteTransactions($request)
|
||||||
{
|
{
|
||||||
$transactions = $this->getSelectedRecords($request);
|
$transactions = $this->getSelectedRecords($request, 'category');
|
||||||
|
|
||||||
foreach ($transactions as $transaction) {
|
foreach ($transactions as $transaction) {
|
||||||
try {
|
try {
|
||||||
|
@ -31,7 +31,7 @@ class Users extends BulkAction
|
|||||||
|
|
||||||
public function disable($request)
|
public function disable($request)
|
||||||
{
|
{
|
||||||
$users = $this->getSelectedRecords($request);
|
$users = $this->getSelectedRecords($request, 'contact');
|
||||||
|
|
||||||
foreach ($users as $user) {
|
foreach ($users as $user) {
|
||||||
try {
|
try {
|
||||||
|
@ -26,7 +26,9 @@ class Transfers extends BulkAction
|
|||||||
|
|
||||||
public function destroy($request)
|
public function destroy($request)
|
||||||
{
|
{
|
||||||
$transfers = $this->getSelectedRecords($request);
|
$transfers = $this->getSelectedRecords($request, [
|
||||||
|
'expense_transaction', 'income_transaction'
|
||||||
|
]);
|
||||||
|
|
||||||
foreach ($transfers as $transfer) {
|
foreach ($transfers as $transfer) {
|
||||||
try {
|
try {
|
||||||
|
@ -40,7 +40,7 @@ class Items extends BulkAction
|
|||||||
|
|
||||||
public function destroy($request)
|
public function destroy($request)
|
||||||
{
|
{
|
||||||
$items = $this->getSelectedRecords($request);
|
$items = $this->getSelectedRecords($request, 'taxes');
|
||||||
|
|
||||||
foreach ($items as $item) {
|
foreach ($items as $item) {
|
||||||
try {
|
try {
|
||||||
|
@ -47,7 +47,7 @@ class Bills extends BulkAction
|
|||||||
{
|
{
|
||||||
$bills = $this->getSelectedRecords($request);
|
$bills = $this->getSelectedRecords($request);
|
||||||
|
|
||||||
foreach ($bills as $bill) {// Already in transactions
|
foreach ($bills as $bill) {
|
||||||
if ($bill->status == 'paid') {
|
if ($bill->status == 'paid') {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -61,6 +61,10 @@ class Bills extends BulkAction
|
|||||||
$bills = $this->getSelectedRecords($request);
|
$bills = $this->getSelectedRecords($request);
|
||||||
|
|
||||||
foreach ($bills as $bill) {
|
foreach ($bills as $bill) {
|
||||||
|
if ($bill->status == 'received') {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
event(new DocumentReceived($bill));
|
event(new DocumentReceived($bill));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -70,6 +74,10 @@ class Bills extends BulkAction
|
|||||||
$bills = $this->getSelectedRecords($request);
|
$bills = $this->getSelectedRecords($request);
|
||||||
|
|
||||||
foreach ($bills as $bill) {
|
foreach ($bills as $bill) {
|
||||||
|
if ($bill->status == 'cancelled') {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
event(new DocumentCancelled($bill));
|
event(new DocumentCancelled($bill));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -89,7 +97,9 @@ class Bills extends BulkAction
|
|||||||
|
|
||||||
public function destroy($request)
|
public function destroy($request)
|
||||||
{
|
{
|
||||||
$bills = $this->getSelectedRecords($request);
|
$bills = $this->getSelectedRecords($request, [
|
||||||
|
'items', 'item_taxes', 'histories', 'transactions', 'recurring', 'totals'
|
||||||
|
]);
|
||||||
|
|
||||||
foreach ($bills as $bill) {
|
foreach ($bills as $bill) {
|
||||||
try {
|
try {
|
||||||
|
@ -48,7 +48,6 @@ class Invoices extends BulkAction
|
|||||||
$invoices = $this->getSelectedRecords($request);
|
$invoices = $this->getSelectedRecords($request);
|
||||||
|
|
||||||
foreach ($invoices as $invoice) {
|
foreach ($invoices as $invoice) {
|
||||||
// Already in transactions
|
|
||||||
if ($invoice->status == 'paid') {
|
if ($invoice->status == 'paid') {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -62,6 +61,10 @@ class Invoices extends BulkAction
|
|||||||
$invoices = $this->getSelectedRecords($request);
|
$invoices = $this->getSelectedRecords($request);
|
||||||
|
|
||||||
foreach ($invoices as $invoice) {
|
foreach ($invoices as $invoice) {
|
||||||
|
if ($invoice->status == 'sent') {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
event(new DocumentSent($invoice));
|
event(new DocumentSent($invoice));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -71,6 +74,10 @@ class Invoices extends BulkAction
|
|||||||
$invoices = $this->getSelectedRecords($request);
|
$invoices = $this->getSelectedRecords($request);
|
||||||
|
|
||||||
foreach ($invoices as $invoice) {
|
foreach ($invoices as $invoice) {
|
||||||
|
if ($invoice->status == 'cancelled') {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
event(new DocumentCancelled($invoice));
|
event(new DocumentCancelled($invoice));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -86,14 +93,11 @@ class Invoices extends BulkAction
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function delete($request)
|
|
||||||
{
|
|
||||||
$this->destroy($request);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function destroy($request)
|
public function destroy($request)
|
||||||
{
|
{
|
||||||
$invoices = $this->getSelectedRecords($request);
|
$invoices = $this->getSelectedRecords($request, [
|
||||||
|
'items', 'item_taxes', 'histories', 'transactions', 'recurring', 'totals'
|
||||||
|
]);
|
||||||
|
|
||||||
foreach ($invoices as $invoice) {
|
foreach ($invoices as $invoice) {
|
||||||
try {
|
try {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user