loan order improvemetns
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace App\Nova\Resources\Branch\Concerns;
|
||||
|
||||
use App\Models\Branch\Branch;
|
||||
use App\Models\System\Location\Province;
|
||||
use Closure;
|
||||
|
||||
class BranchNovaRepo
|
||||
@@ -15,7 +15,7 @@ class BranchNovaRepo
|
||||
return function ($field, $request, $formData) use ($attribute) {
|
||||
$field->options(
|
||||
$formData->{$attribute}
|
||||
? Branch::where('region', $formData->{$attribute})->pluck('name', 'id')
|
||||
? Province::where('region', $formData->{$attribute})->pluck('name', 'id')
|
||||
: []
|
||||
);
|
||||
};
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
namespace App\Nova\Resources\Order\Loan\Concerns;
|
||||
|
||||
use App\Nova\Resources\Order\Loan\Concerns\LoanOrderNovaRepo;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Laravel\Nova\Http\Requests\NovaRequest;
|
||||
|
||||
@@ -10,9 +9,6 @@ trait LoanOrderEvents
|
||||
{
|
||||
/**
|
||||
* Register a callback to be called after the resource is created.
|
||||
*
|
||||
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
|
||||
* @param \Illuminate\Database\Eloquent\Model $model
|
||||
*/
|
||||
public static function afterCreate(NovaRequest $request, Model $model): void
|
||||
{
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
|
||||
namespace App\Nova\Resources\Order\Loan\Concerns;
|
||||
|
||||
use App\Repos\Order\Loan\BranchRepo;
|
||||
use App\Repos\Order\Loan\LoanTypeRepo;
|
||||
use App\Repos\Order\OrderRepo;
|
||||
use App\Repos\System\Settings\Location\RegionRepo;
|
||||
use Laravel\Nova\Fields\Badge;
|
||||
use Laravel\Nova\Fields\ID;
|
||||
use Laravel\Nova\Fields\Select;
|
||||
use Laravel\Nova\Fields\Text;
|
||||
|
||||
class LoanOrderFieldsForIndex
|
||||
{
|
||||
/**
|
||||
* Loan Order fields for "create"
|
||||
*/
|
||||
public static function make(): array
|
||||
{
|
||||
return [
|
||||
ID::make()->hide(),
|
||||
|
||||
Text::make(__('ID'), 'unique_id')->sortable(),
|
||||
|
||||
Select::make(__('Loan type'), 'loan_type')
|
||||
->displayUsingLabels()
|
||||
->options(LoanTypeRepo::values())
|
||||
->sortable(),
|
||||
|
||||
Select::make(__('Region'), 'region')
|
||||
->displayUsingLabels()
|
||||
->options(RegionRepo::values())
|
||||
->sortable(),
|
||||
|
||||
Select::make(__('Branch'), 'branch_id')
|
||||
->displayUsingLabels()
|
||||
->options(BranchRepo::values())
|
||||
->sortable(),
|
||||
|
||||
Text::make(__('Name'), 'customer_name'),
|
||||
|
||||
Text::make(__('Surname'), 'customer_surname'),
|
||||
|
||||
Text::make(__('Phone'), 'phone'),
|
||||
|
||||
Badge::make(__('Status'), 'status')
|
||||
->map(OrderRepo::statusClasses())
|
||||
->addTypes([
|
||||
'primary' => 'dark:bg-gray-900 bg-gray-600 text-white',
|
||||
])
|
||||
->labels(OrderRepo::statusValues())
|
||||
->withIcons()
|
||||
->sortable(),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,6 @@ namespace App\Nova\Resources\Order\Loan\Concerns;
|
||||
|
||||
use App\Models\Branch\Branch;
|
||||
use App\Repos\Order\OrderRepo;
|
||||
use Closure;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Laravel\Nova\Http\Requests\NovaRequest;
|
||||
|
||||
@@ -13,7 +12,7 @@ class LoanOrderNovaRepo
|
||||
public static function fillUniqueId($request, $model): string
|
||||
{
|
||||
return mb_strtoupper(sprintf(
|
||||
'%s-%s',
|
||||
'%s-%s',
|
||||
Branch::find($request->branch_id)->unique_code ?? 'TB',
|
||||
$model->id
|
||||
)) ?? uniqid();
|
||||
|
||||
@@ -6,26 +6,20 @@ use App\Models\Order\Loan\LoanOrder as LoanOrderModel;
|
||||
use App\Nova\Resource;
|
||||
use App\Nova\Resources\Branch\Concerns\BranchNovaRepo;
|
||||
use App\Nova\Resources\Order\Loan\Concerns\LoanOrderEvents;
|
||||
use App\Nova\Resources\Order\Loan\Concerns\LoanOrderNovaRepo;
|
||||
use App\Nova\Resources\Order\Loan\Concerns\LoanOrderFieldsForIndex;
|
||||
use App\Repos\Order\Loan\BranchRepo;
|
||||
use App\Repos\Order\Loan\LoanTypeRepo;
|
||||
use App\Repos\Order\OrderRepo;
|
||||
use App\Repos\System\Settings\Legal\EducationRepo;
|
||||
use App\Repos\System\Settings\Legal\MarriageRepo;
|
||||
use App\Repos\System\Settings\Legal\PassportRepo;
|
||||
use App\Repos\System\Settings\Location\RegionRepo;
|
||||
use Illuminate\Http\Request;
|
||||
use Konsulting\NovaTarget\NovaTarget;
|
||||
use Laravel\Nova\Fields\Badge;
|
||||
use Laravel\Nova\Fields\Date;
|
||||
use Laravel\Nova\Fields\Email;
|
||||
use Laravel\Nova\Fields\File;
|
||||
use Laravel\Nova\Fields\Hidden;
|
||||
use Laravel\Nova\Fields\ID;
|
||||
use Laravel\Nova\Fields\Image;
|
||||
use Laravel\Nova\Fields\Number;
|
||||
use Laravel\Nova\Fields\Select;
|
||||
use Laravel\Nova\Fields\Slug;
|
||||
use Laravel\Nova\Fields\Text;
|
||||
use Laravel\Nova\Http\Requests\NovaRequest;
|
||||
use Laravel\Nova\Panel;
|
||||
@@ -55,7 +49,7 @@ class LoanOrder extends Resource
|
||||
* @var array
|
||||
*/
|
||||
public static $search = [
|
||||
'unique_id', 'customer_name', 'customer_surname'
|
||||
'unique_id', 'customer_name', 'customer_surname',
|
||||
];
|
||||
|
||||
/**
|
||||
@@ -63,21 +57,21 @@ class LoanOrder extends Resource
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
// public static $polling = true;
|
||||
public static $polling = true;
|
||||
|
||||
// /**
|
||||
// * The interval at which Nova should poll for new resources.
|
||||
// *
|
||||
// * @var int
|
||||
// */
|
||||
// public static $pollingInterval = 120;
|
||||
/**
|
||||
* The interval at which Nova should poll for new resources.
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
public static $pollingInterval = 120;
|
||||
|
||||
// /**
|
||||
// * Indicates whether to show the polling toggle button inside Nova.
|
||||
// *
|
||||
// * @var bool
|
||||
// */
|
||||
// public static $showPollingToggle = true;
|
||||
/**
|
||||
* Indicates whether to show the polling toggle button inside Nova.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
public static $showPollingToggle = true;
|
||||
|
||||
/**
|
||||
* Get the displayable label of the resource.
|
||||
@@ -100,41 +94,7 @@ class LoanOrder extends Resource
|
||||
*/
|
||||
public function fieldsForIndex(NovaRequest $request): array
|
||||
{
|
||||
return [
|
||||
ID::make()->hide(),
|
||||
|
||||
Text::make(__('ID'), 'unique_id')->sortable(),
|
||||
|
||||
Select::make(__('Loan type'), 'loan_type')
|
||||
->displayUsingLabels()
|
||||
->options(LoanTypeRepo::values())
|
||||
->sortable(),
|
||||
|
||||
Select::make(__('Region'), 'region')
|
||||
->displayUsingLabels()
|
||||
->options(RegionRepo::values())
|
||||
->sortable(),
|
||||
|
||||
Select::make(__('Branch'), 'branch_id')
|
||||
->displayUsingLabels()
|
||||
->options(BranchRepo::values())
|
||||
->sortable(),
|
||||
|
||||
Text::make(__('Name'), 'customer_name'),
|
||||
|
||||
Text::make(__('Surname'), 'customer_surname'),
|
||||
|
||||
Text::make(__('Phone'), 'phone'),
|
||||
|
||||
Badge::make(__('Status'), 'status')
|
||||
->map(OrderRepo::statusClasses())
|
||||
->addTypes([
|
||||
'primary' => 'dark:bg-gray-900 bg-gray-600 text-white',
|
||||
])
|
||||
->labels(OrderRepo::statusValues())
|
||||
->withIcons()
|
||||
->sortable(),
|
||||
];
|
||||
return LoanOrderFieldsForIndex::make();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -163,7 +123,7 @@ class LoanOrder extends Resource
|
||||
->default(RegionRepo::default())
|
||||
->size('w-1/2')
|
||||
->rules('required')
|
||||
->sortable(),
|
||||
->sortable(),
|
||||
|
||||
Select::make(__('Branch'), 'branch_id')
|
||||
->displayUsingLabels()
|
||||
@@ -287,8 +247,8 @@ class LoanOrder extends Resource
|
||||
->displayUsingLabels()
|
||||
->searchable()
|
||||
->dependsOn('region', BranchNovaRepo::dependsOnRegion('work_region'))
|
||||
->size('w-1/2'),
|
||||
// ->rules('required'),
|
||||
->size('w-1/2')
|
||||
->rules('required'),
|
||||
|
||||
Text::make(__('Position'), 'work_position')
|
||||
->size('w-1/2')
|
||||
|
||||
@@ -4,7 +4,6 @@ namespace App\Nova;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Validation\Rules;
|
||||
use Laravel\Nova\Fields\Gravatar;
|
||||
use Laravel\Nova\Fields\ID;
|
||||
use Laravel\Nova\Fields\Password;
|
||||
use Laravel\Nova\Fields\Text;
|
||||
|
||||
@@ -12,6 +12,6 @@ class LoanTypeRepo
|
||||
*/
|
||||
public static function values(): Collection|array
|
||||
{
|
||||
return LoanType::pluck('name', 'id');
|
||||
return LoanType::where('active', true)->pluck('name', 'id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -6,67 +7,67 @@ return [
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
*/
|
||||
"paths" => [
|
||||
"lang_folder" => base_path('lang')
|
||||
'paths' => [
|
||||
'lang_folder' => base_path('lang'),
|
||||
],
|
||||
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| The search options
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
*/
|
||||
"search" => [
|
||||
|
||||
'search' => [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| The folders the package uses to scan for translation keys
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
*/
|
||||
"folders" => [
|
||||
base_path("app"),
|
||||
resource_path("views"),
|
||||
'folders' => [
|
||||
base_path('app'),
|
||||
resource_path('views'),
|
||||
],
|
||||
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Enter specific files
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
*/
|
||||
"files" => [
|
||||
'files' => [
|
||||
],
|
||||
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| The folders the package excludes from scanning
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
*/
|
||||
"exclude" => [
|
||||
"storage",
|
||||
'exclude' => [
|
||||
'storage',
|
||||
],
|
||||
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| The files the package uses to scan for translation keys
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
*/
|
||||
"file_extension" => [
|
||||
'file_extension' => [
|
||||
'*.php',
|
||||
'*.js',
|
||||
]
|
||||
],
|
||||
],
|
||||
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| The methods used to translate keys
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
*/
|
||||
"translation_methods" => [
|
||||
'translation_methods' => [
|
||||
'\$t',
|
||||
'i18n.t',
|
||||
'@lang',
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
namespace Database\Seeders;
|
||||
|
||||
use App\Models\System\Location\Province;
|
||||
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
class ProvinceTableSeeder extends Seeder
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
"Completed": "Tamamlanan",
|
||||
"Contact data": "Habarlaşmak üçin maglumatlar",
|
||||
"Current Residence": "Häzirki ýaşaýyş ýeri",
|
||||
"Name": "Adyňyz",
|
||||
"Name": "Ady",
|
||||
"Patronic name": "Ataňyzyň ady",
|
||||
"Surname": "Familiýaňyz",
|
||||
"Surname": "Familiýa",
|
||||
"Dashoguz": "Daşoguz",
|
||||
"Date of birth": "Doglan gün",
|
||||
"Divorced": "Aýrylşan",
|
||||
@@ -61,9 +61,10 @@
|
||||
"Phone Additional": "Telefon goşmaça",
|
||||
"Position": "Positionerleşişi",
|
||||
"Processing": "Gaýtadan işlemek",
|
||||
"Province": "Welaýat",
|
||||
"Provinces": "Welaýatlar",
|
||||
"Province": "Etrap",
|
||||
"Provinces": "Etraplar",
|
||||
"Region": "Welaýat",
|
||||
"Regions": "Welaýatlar",
|
||||
"Registered": "Bellige alyndy",
|
||||
"Residence (passport)": "Ýazgy edilen salgyňyz",
|
||||
"Role": "Rol",
|
||||
|
||||
Reference in New Issue
Block a user