diff --git a/app/Modules/VisaMasterPaymentOrder/Models/VisaMasterPaymentOrder.php b/app/Modules/VisaMasterPaymentOrder/Models/VisaMasterPaymentOrder.php index 7c1f6ed..b4ba227 100644 --- a/app/Modules/VisaMasterPaymentOrder/Models/VisaMasterPaymentOrder.php +++ b/app/Modules/VisaMasterPaymentOrder/Models/VisaMasterPaymentOrder.php @@ -110,6 +110,14 @@ class VisaMasterPaymentOrder extends Model implements HasMedia $this->addMediaCollection('sender_passport_local_old_replacement')->singleFile(); } + /** + * User + */ + public function user(): BelongsTo + { + return $this->belongsTo(User::class); + } + /** * Branch */ diff --git a/app/Modules/VisaMasterPaymentOrder/Nova/Resources/NovaVisaMasterPaymentOrder.php b/app/Modules/VisaMasterPaymentOrder/Nova/Resources/NovaVisaMasterPaymentOrder.php index 11b1a0a..589e13f 100644 --- a/app/Modules/VisaMasterPaymentOrder/Nova/Resources/NovaVisaMasterPaymentOrder.php +++ b/app/Modules/VisaMasterPaymentOrder/Nova/Resources/NovaVisaMasterPaymentOrder.php @@ -11,6 +11,7 @@ use App\Modules\VisaMasterPaymentOrder\Nova\Resources\Concerns\VisaMasterPayment use App\Nova\Actions\MakePaymentNovaVisaMaster; use App\Nova\Filters\VisaMasterMonthlyPaidFilter; use App\Nova\Resource; +use App\Nova\User; use App\Repos\Order\Card\CardOrderRepo; use App\Repos\Order\OrderRepo; use App\Repos\System\Nova\NovaRepo; @@ -21,8 +22,8 @@ use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Str; use Laravel\Nova\Fields\Badge; +use Laravel\Nova\Fields\BelongsTo; use Laravel\Nova\Fields\HasMany; -use Laravel\Nova\Fields\Hidden; use Laravel\Nova\Fields\ID; use Laravel\Nova\Fields\Select; use Laravel\Nova\Fields\Text; @@ -175,9 +176,10 @@ class NovaVisaMasterPaymentOrder extends Resource ID::make() ->hideFromDetail(), - Hidden::make('user_id') - ->default(auth()->id()) - ->hideWhenUpdating(), + BelongsTo::make(__('User'), 'user', User::class) + ->searchable() + ->fullWidth() + ->showCreateRelationButton(), Text::make(__('ID'), 'unique_id') ->exceptOnForms(), diff --git a/app/Nova/User.php b/app/Nova/User.php index 542282c..0ce52b8 100644 --- a/app/Nova/User.php +++ b/app/Nova/User.php @@ -11,6 +11,7 @@ use Illuminate\Http\Request; use Illuminate\Validation\Rules; use Laravel\Nova\Fields\BelongsToMany; use Laravel\Nova\Fields\Boolean; +use Laravel\Nova\Fields\Hidden; use Laravel\Nova\Fields\ID; use Laravel\Nova\Fields\MorphToMany; use Laravel\Nova\Fields\Password; @@ -106,6 +107,10 @@ class User extends Resource ->creationRules('required', Rules\Password::defaults()) ->updateRules('nullable', Rules\Password::defaults()), + Hidden::make('password_must_be_changed') + ->default(true) + ->hideWhenUpdating(), + Boolean::make(__('Phone verified'), 'phone_verified_at') ->default(false) ->fillUsing(function (NovaRequest $request, $model, string $attribute, string $requestAttribute) { diff --git a/database/migrations/2024_11_27_165244_add_user_id_to_loan_remianing_ok.php b/database/migrations/2024_11_27_165244_add_user_id_to_loan_remianing_ok.php index 8db46ec..f126cec 100644 --- a/database/migrations/2024_11_27_165244_add_user_id_to_loan_remianing_ok.php +++ b/database/migrations/2024_11_27_165244_add_user_id_to_loan_remianing_ok.php @@ -12,7 +12,7 @@ return new class extends Migration public function up(): void { Schema::table('loan_remaining_orders', function (Blueprint $table) { - $table->foreignId('user_id')->constrained()->cascadeOnDelete(); + $table->foreignId('user_id')->nullable()->constrained()->cascadeOnDelete(); }); } diff --git a/database/migrations/2025_02_21_011211_add_password_must_be_changed_field_to_users.php b/database/migrations/2025_02_21_011211_add_password_must_be_changed_field_to_users.php new file mode 100644 index 0000000..d3cca53 --- /dev/null +++ b/database/migrations/2025_02_21_011211_add_password_must_be_changed_field_to_users.php @@ -0,0 +1,28 @@ +boolean('password_must_be_changed')->default(false); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('users', function (Blueprint $table) { + $table->dropColumn('password_must_be_changed'); + }); + } +};