fixed export pagination issue

This commit is contained in:
Cihan Şentürk 2024-05-22 19:26:16 +03:00 committed by GitHub
parent e4743947eb
commit af990972b9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
25 changed files with 61 additions and 24 deletions

View File

@ -5,6 +5,7 @@ namespace App\Abstracts;
use Akaunting\Sortable\Traits\Sortable;
use App\Events\Common\SearchStringApplied;
use App\Events\Common\SearchStringApplying;
use App\Interfaces\Export\WithParentSheet;
use App\Traits\DateTime;
use App\Traits\Owners;
use App\Traits\Sources;
@ -161,7 +162,9 @@ abstract class Model extends Eloquent implements Ownable
$limit = (int) $request->get('limit', setting('default.list_limit', '25'));
$offset = $page ? ($page - 1) * $limit : 0;
$query->offset($offset)->limit($limit);
if (! $this instanceof WithParentSheet && count((array) $ids) < $limit) {
$query->offset($offset)->limit($limit);
}
return $query->cursor();
}

View File

@ -4,10 +4,11 @@ namespace App\Exports\Banking\Sheets;
use App\Abstracts\Export;
use App\Models\Banking\Transaction as Model;
use App\Interfaces\Export\WithParentSheet;
use Maatwebsite\Excel\Concerns\WithColumnFormatting;
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
class RecurringTransactions extends Export implements WithColumnFormatting
class RecurringTransactions extends Export implements WithColumnFormatting, WithParentSheet
{
public function collection()
{

View File

@ -4,9 +4,10 @@ namespace App\Exports\Common\Sheets;
use App\Abstracts\Export;
use App\Http\Requests\Common\ItemTax as Request;
use App\Interfaces\Export\WithParentSheet;
use App\Models\Common\ItemTax as Model;
class ItemTaxes extends Export
class ItemTaxes extends Export implements WithParentSheet
{
public $request_class = Request::class;

View File

@ -4,8 +4,9 @@ namespace App\Exports\Purchases\Bills\Sheets;
use App\Abstracts\Export;
use App\Models\Document\DocumentHistory as Model;
use App\Interfaces\Export\WithParentSheet;
class BillHistories extends Export
class BillHistories extends Export implements WithParentSheet
{
public function collection()
{

View File

@ -4,8 +4,9 @@ namespace App\Exports\Purchases\Bills\Sheets;
use App\Abstracts\Export;
use App\Models\Document\DocumentItemTax as Model;
use App\Interfaces\Export\WithParentSheet;
class BillItemTaxes extends Export
class BillItemTaxes extends Export implements WithParentSheet
{
public function collection()
{

View File

@ -4,8 +4,9 @@ namespace App\Exports\Purchases\Bills\Sheets;
use App\Abstracts\Export;
use App\Models\Document\DocumentItem as Model;
use App\Interfaces\Export\WithParentSheet;
class BillItems extends Export
class BillItems extends Export implements WithParentSheet
{
public function collection()
{

View File

@ -4,8 +4,9 @@ namespace App\Exports\Purchases\Bills\Sheets;
use App\Abstracts\Export;
use App\Models\Document\DocumentTotal as Model;
use App\Interfaces\Export\WithParentSheet;
class BillTotals extends Export
class BillTotals extends Export implements WithParentSheet
{
public function collection()
{

View File

@ -4,10 +4,11 @@ namespace App\Exports\Purchases\Bills\Sheets;
use App\Abstracts\Export;
use App\Models\Banking\Transaction as Model;
use App\Interfaces\Export\WithParentSheet;
use Maatwebsite\Excel\Concerns\WithColumnFormatting;
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
class BillTransactions extends Export implements WithColumnFormatting
class BillTransactions extends Export implements WithColumnFormatting, WithParentSheet
{
public function collection()
{

View File

@ -4,8 +4,9 @@ namespace App\Exports\Purchases\RecurringBills\Sheets;
use App\Abstracts\Export;
use App\Models\Document\DocumentHistory as Model;
use App\Interfaces\Export\WithParentSheet;
class RecurringBillHistories extends Export
class RecurringBillHistories extends Export implements WithParentSheet
{
public function collection()
{

View File

@ -4,8 +4,9 @@ namespace App\Exports\Purchases\RecurringBills\Sheets;
use App\Abstracts\Export;
use App\Models\Document\DocumentItemTax as Model;
use App\Interfaces\Export\WithParentSheet;
class RecurringBillItemTaxes extends Export
class RecurringBillItemTaxes extends Export implements WithParentSheet
{
public function collection()
{

View File

@ -4,8 +4,9 @@ namespace App\Exports\Purchases\RecurringBills\Sheets;
use App\Abstracts\Export;
use App\Models\Document\DocumentItem as Model;
use App\Interfaces\Export\WithParentSheet;
class RecurringBillItems extends Export
class RecurringBillItems extends Export implements WithParentSheet
{
public function collection()
{

View File

@ -4,8 +4,9 @@ namespace App\Exports\Purchases\RecurringBills\Sheets;
use App\Abstracts\Export;
use App\Models\Document\DocumentTotal as Model;
use App\Interfaces\Export\WithParentSheet;
class RecurringBillTotals extends Export
class RecurringBillTotals extends Export implements WithParentSheet
{
public function collection()
{

View File

@ -4,10 +4,11 @@ namespace App\Exports\Purchases\RecurringBills\Sheets;
use App\Abstracts\Export;
use App\Models\Document\Document as Model;
use App\Interfaces\Export\WithParentSheet;
use Maatwebsite\Excel\Concerns\WithColumnFormatting;
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
class RecurringBills extends Export implements WithColumnFormatting
class RecurringBills extends Export implements WithColumnFormatting, WithParentSheet
{
public function collection()
{

View File

@ -4,8 +4,9 @@ namespace App\Exports\Sales\Invoices\Sheets;
use App\Abstracts\Export;
use App\Models\Document\DocumentHistory as Model;
use App\Interfaces\Export\WithParentSheet;
class InvoiceHistories extends Export
class InvoiceHistories extends Export implements WithParentSheet
{
public function collection()
{

View File

@ -4,8 +4,9 @@ namespace App\Exports\Sales\Invoices\Sheets;
use App\Abstracts\Export;
use App\Models\Document\DocumentItemTax as Model;
use App\Interfaces\Export\WithParentSheet;
class InvoiceItemTaxes extends Export
class InvoiceItemTaxes extends Export implements WithParentSheet
{
public function collection()
{

View File

@ -4,8 +4,9 @@ namespace App\Exports\Sales\Invoices\Sheets;
use App\Abstracts\Export;
use App\Models\Document\DocumentItem as Model;
use App\Interfaces\Export\WithParentSheet;
class InvoiceItems extends Export
class InvoiceItems extends Export implements WithParentSheet
{
public function collection()
{

View File

@ -4,8 +4,10 @@ namespace App\Exports\Sales\Invoices\Sheets;
use App\Abstracts\Export;
use App\Models\Document\DocumentTotal as Model;
use App\Interfaces\Export\WithParentSheet;
class InvoiceTotals extends Export
class InvoiceTotals extends Export implements WithParentSheet
{
public function collection()
{

View File

@ -4,10 +4,11 @@ namespace App\Exports\Sales\Invoices\Sheets;
use App\Abstracts\Export;
use App\Models\Banking\Transaction as Model;
use App\Interfaces\Export\WithParentSheet;
use Maatwebsite\Excel\Concerns\WithColumnFormatting;
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
class InvoiceTransactions extends Export implements WithColumnFormatting
class InvoiceTransactions extends Export implements WithColumnFormatting, WithParentSheet
{
public function collection()
{

View File

@ -4,8 +4,9 @@ namespace App\Exports\Sales\RecurringInvoices\Sheets;
use App\Abstracts\Export;
use App\Models\Document\DocumentHistory as Model;
use App\Interfaces\Export\WithParentSheet;
class RecurringInvoiceHistories extends Export
class RecurringInvoiceHistories extends Export implements WithParentSheet
{
public function collection()
{

View File

@ -4,8 +4,9 @@ namespace App\Exports\Sales\RecurringInvoices\Sheets;
use App\Abstracts\Export;
use App\Models\Document\DocumentItemTax as Model;
use App\Interfaces\Export\WithParentSheet;
class RecurringInvoiceItemTaxes extends Export
class RecurringInvoiceItemTaxes extends Export implements WithParentSheet
{
public function collection()
{

View File

@ -4,8 +4,9 @@ namespace App\Exports\Sales\RecurringInvoices\Sheets;
use App\Abstracts\Export;
use App\Models\Document\DocumentItem as Model;
use App\Interfaces\Export\WithParentSheet;
class RecurringInvoiceItems extends Export
class RecurringInvoiceItems extends Export implements WithParentSheet
{
public function collection()
{

View File

@ -4,8 +4,9 @@ namespace App\Exports\Sales\RecurringInvoices\Sheets;
use App\Abstracts\Export;
use App\Models\Document\DocumentTotal as Model;
use App\Interfaces\Export\WithParentSheet;
class RecurringInvoiceTotals extends Export
class RecurringInvoiceTotals extends Export implements WithParentSheet
{
public function collection()
{

View File

@ -4,10 +4,11 @@ namespace App\Exports\Sales\RecurringInvoices\Sheets;
use App\Abstracts\Export;
use App\Models\Document\Document as Model;
use App\Interfaces\Export\WithParentSheet;
use Maatwebsite\Excel\Concerns\WithColumnFormatting;
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
class RecurringInvoices extends Export implements WithColumnFormatting
class RecurringInvoices extends Export implements WithColumnFormatting, WithParentSheet
{
public function collection()
{

View File

@ -0,0 +1,8 @@
<?php
namespace App\Interfaces\Export;
interface WithParentSheet
{
//
}

View File

@ -5,6 +5,7 @@ namespace App\Models\Setting;
use App\Abstracts\Model;
use App\Builders\Category as Builder;
use App\Models\Document\Document;
use App\Interfaces\Export\WithParentSheet;
use App\Relations\HasMany\Category as HasMany;
use App\Scopes\Category as Scope;
use App\Traits\Categories;
@ -240,7 +241,9 @@ class Category extends Model
$limit = (int) $request->get('limit', setting('default.list_limit', '25'));
$offset = $page ? ($page - 1) * $limit : 0;
$query->offset($offset)->limit($limit);
if (! $this instanceof WithParentSheet && count((array) $ids) < $limit) {
$query->offset($offset)->limit($limit);
}
return $query->cursor();
}