Added filter by region

This commit is contained in:
2023-12-01 00:22:49 +05:00
parent 5ebcc60bd5
commit cee905ec77
7 changed files with 65 additions and 5 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@@ -0,0 +1,51 @@
<?php
namespace App\Nova\Filters;
use App\Repos\System\Settings\Location\RegionRepo;
use Laravel\Nova\Filters\Filter;
use Laravel\Nova\Http\Requests\NovaRequest;
class RegionFilter extends Filter
{
/**
* The filter's component.
*
* @var string
*/
public $component = 'select-filter';
/**
* Get the displayable name of the filter.
*
* @return string
*/
public function name(): string
{
return __('Region');
}
/**
* Apply the filter to the given query.
*
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
* @param \Illuminate\Database\Eloquent\Builder $query
* @param mixed $value
* @return \Illuminate\Database\Eloquent\Builder
*/
public function apply(NovaRequest $request, $query, $value)
{
return $value ? $query->where('region', $value) : $query;
}
/**
* Get the filter's available options.
*
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
* @return array
*/
public function options(NovaRequest $request): array
{
return array_flip(RegionRepo::values());
}
}

View File

@@ -3,6 +3,7 @@
namespace App\Nova\Resources\Branch; namespace App\Nova\Resources\Branch;
use App\Models\Branch\Branch as BranchModel; use App\Models\Branch\Branch as BranchModel;
use App\Nova\Filters\RegionFilter;
use App\Repos\System\Nova\NovaRepo; use App\Repos\System\Nova\NovaRepo;
use App\Repos\System\Settings\Location\RegionRepo; use App\Repos\System\Settings\Location\RegionRepo;
use Illuminate\Http\Request; use Illuminate\Http\Request;
@@ -113,7 +114,9 @@ class Branch extends Resource
*/ */
public function filters(NovaRequest $request) public function filters(NovaRequest $request)
{ {
return []; return [
new RegionFilter(),
];
} }
/** /**

View File

@@ -5,6 +5,7 @@ namespace App\Nova\Resources\Order\Loan;
use App\Models\Branch\Branch; use App\Models\Branch\Branch;
use App\Models\Order\Loan\LoanOrder as LoanOrderModel; use App\Models\Order\Loan\LoanOrder as LoanOrderModel;
use App\Models\System\Location\Province; use App\Models\System\Location\Province;
use App\Nova\Filters\RegionFilter;
use App\Nova\Resource; use App\Nova\Resource;
use App\Nova\Resources\Order\Loan\Concerns\LoanOrderEvents; use App\Nova\Resources\Order\Loan\Concerns\LoanOrderEvents;
use App\Nova\Resources\Order\Loan\Concerns\LoanOrderFieldsForDetail; use App\Nova\Resources\Order\Loan\Concerns\LoanOrderFieldsForDetail;
@@ -356,7 +357,9 @@ class LoanOrder extends Resource
*/ */
public function filters(NovaRequest $request): array public function filters(NovaRequest $request): array
{ {
return []; return [
new RegionFilter(),
];
} }
/** /**

View File

@@ -3,6 +3,7 @@
namespace App\Nova\Resources\System\Location; namespace App\Nova\Resources\System\Location;
use App\Models\System\Location\Province as ProvinceModel; use App\Models\System\Location\Province as ProvinceModel;
use App\Nova\Filters\RegionFilter;
use App\Nova\Resource; use App\Nova\Resource;
use App\Repos\System\Settings\Location\RegionRepo; use App\Repos\System\Settings\Location\RegionRepo;
use Illuminate\Http\Request; use Illuminate\Http\Request;
@@ -91,7 +92,9 @@ class Province extends Resource
*/ */
public function filters(NovaRequest $request): array public function filters(NovaRequest $request): array
{ {
return []; return [
new RegionFilter(),
];
} }
/** /**

View File

@@ -147,7 +147,7 @@
"Regions": "Welaýatlar", "Regions": "Welaýatlar",
"Register": "Hasaba al", "Register": "Hasaba al",
"Registered": "Bellige alyndy", "Registered": "Bellige alyndy",
"Remember Me": "Meni ýatla", "Remember Me": "Meni ýatda sakla",
"Request Header Fields Too Large": "Sözbaşy meýdanlaryny gaty uly haýyş", "Request Header Fields Too Large": "Sözbaşy meýdanlaryny gaty uly haýyş",
"Request Timeout": "Wagt gutarmagyny haýyş", "Request Timeout": "Wagt gutarmagyny haýyş",
"Reset Content": "Mazmuny täzeden düzmek", "Reset Content": "Mazmuny täzeden düzmek",

View File

@@ -326,7 +326,7 @@
"Remember me": "Meni ýatla", "Remember me": "Meni ýatla",
"Remove": "Aýyr", "Remove": "Aýyr",
"Replicate": "Şeýle resurs goş", "Replicate": "Şeýle resurs goş",
"Reset Filters": "Süzgüçleri täzeden düzmek", "Reset Filters": "Filterleri aýyr",
"Reset Password": "Paroly täzeden düzmek", "Reset Password": "Paroly täzeden düzmek",
"Reset Password Notification": "Parol habarnamasyny täzeden düzmek", "Reset Password Notification": "Parol habarnamasyny täzeden düzmek",
"resource": "resurs", "resource": "resurs",