add notes

This commit is contained in:
2024-11-26 00:39:23 +05:00
parent 11d4d13bb6
commit 55060d1ad2
8 changed files with 128 additions and 4 deletions

View File

@@ -5,6 +5,7 @@ namespace App\Models\Order\Loan;
use App\Models\Branch\Branch;
use App\Models\System\Location\Province;
use App\Models\User;
use App\Modules\LoanOrder\Models\LoanOrderRequiredDocs;
use App\Repos\Order\Loan\LoanOrderRepo;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
@@ -82,7 +83,8 @@ use Laravel\Nova\Actions\Actionable;
* @property string $loan_card_number
* @property string $loan_card_name
* @property string $loan_card_month
* @property string $loan_card_yea
* @property string $loan_card_year
* @property ?int $loan_order_required_doc_id
*/
class LoanOrder extends Model
{
@@ -177,6 +179,14 @@ class LoanOrder extends Model
return $this->belongsTo(User::class, 'user_id');
}
/**
* Required docs
*/
public function requiredDocs(): BelongsTo
{
return $this->belongsTo(LoanOrderRequiredDocs::class, 'loan_order_required_doc_id');
}
/**
* "boot" method for model
*/

View File

@@ -2,7 +2,9 @@
namespace App\Modules\LoanOrder\Models;
use App\Models\Order\Loan\LoanOrder;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Spatie\Translatable\HasTranslations;
class LoanOrderRequiredDocs extends Model
@@ -23,4 +25,12 @@ class LoanOrderRequiredDocs extends Model
'name',
'value',
];
/**
* Loan orders
*/
public function loanOrders(): HasMany
{
return $this->hasMany(LoanOrder::class, 'loan_order_required_doc_id');
}
}

View File

@@ -0,0 +1,27 @@
<?php
namespace App\Modules\LoanOrder\Repositories;
use App\Modules\LoanOrder\Models\LoanOrderRequiredDocs;
use Illuminate\Support\Collection;
class LoanOrderRequiredDocsRepository
{
/**
* Find record
*
* @param int $id
*/
public static function find(int $id)
{
return LoanOrderRequiredDocs::find($id);
}
/**
* Values
*/
public static function values(): Collection|array
{
return LoanOrderRequiredDocs::query()->pluck('name', 'id');
}
}

View File

@@ -6,6 +6,7 @@ use App\Models\Branch\Branch;
use App\Models\Order\Loan\LoanOrder as LoanOrderModel;
use App\Models\System\Location\Province;
use App\Modules\DateHelper\Repositories\DateHelperRepository;
use App\Modules\LoanOrder\Repositories\LoanOrderRequiredDocsRepository;
use App\Nova\Filters\RegionFilter;
use App\Nova\Filters\StatusFilter;
use App\Nova\Resource;
@@ -26,12 +27,14 @@ use Illuminate\Http\Request;
use Illuminate\Support\Facades\Gate;
use Laravel\Nova\Fields\Date;
use Laravel\Nova\Fields\Email;
use Laravel\Nova\Fields\FormData;
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\Text;
use Laravel\Nova\Fields\Trix;
use Laravel\Nova\Http\Requests\NovaRequest;
use Laravel\Nova\Panel;
use Nurmuhammet\NovaInputmask\NovaInputmask;
@@ -169,9 +172,23 @@ class LoanOrderMobile extends Resource
->rules('required')
->canSeeWhen('systemUser', $this),
Text::make(__('Note'), 'notes')
Select::make(__('Required docs'), 'loan_order_required_doc_id')
->displayUsingLabels()
->searchable()
->options(LoanOrderRequiredDocsRepository::values())
->fullWidth()
->rules('required')
->canSeeWhen('systemUser', $this),
Trix::make(__('Note'), 'notes')
->fullWidth()
->dependsOn('loan_order_required_doc_id', function (Trix $field, NovaRequest $request, FormData $formData) {
$requiredDoc = $formData->get('loan_order_required_doc_id');
if ($requiredDoc) {
$field->setValue(LoanOrderRequiredDocsRepository::find($requiredDoc)->value);
}
}),
]),
new Panel(__('Loan'), [

View File

@@ -21,6 +21,7 @@ use Laravel\Nova\Fields\Image;
use Laravel\Nova\Fields\Number;
use Laravel\Nova\Fields\Select;
use Laravel\Nova\Fields\Text;
use Laravel\Nova\Fields\Trix;
use Laravel\Nova\Panel;
use Nurmuhammet\NovaCustomHtml\NovaCustomHtml;
use Nurmuhammet\NovaInputmask\NovaInputmask;
@@ -45,7 +46,9 @@ class LoanOrderMobileFieldsForDetail
->withIcons()
->icons(OrderRepo::statusIcons()),
Text::make(__('Note'), 'notes'),
Trix::make(__('Note'), 'notes')
->fullWidth()
->alwaysShow(),
BelongsTo::make(__('Created by').': ', 'user', User::class),