From f14defeebd4c6f070421a6f03b110370d187a677 Mon Sep 17 00:00:00 2001 From: Nurmuhammet Allanov Date: Mon, 22 Sep 2025 16:31:13 +0500 Subject: [PATCH] Refactor imports and formatting in various Filament resources; add SMS sending helper function --- app/Filament/Pages/Auth/Login.php | 2 +- app/Filament/Pages/Auth/Register.php | 47 ++++++++++++++++++ .../Resources/Banks/Banks/BankResource.php | 18 ++++--- .../Resources/Banks/Pages/EditBank.php | 3 +- .../Resources/Banks/Pages/ListBanks.php | 3 +- .../Pages/EditPaymentPurposeCode.php | 3 +- .../Pages/ListPaymentPurposeCodes.php | 3 +- .../PaymentPurposeCodeResource.php | 18 ++++--- .../UserCompanies/Pages/EditUserCompany.php | 3 +- .../UserCompanies/Pages/ListUserCompanies.php | 3 +- .../UserCompanies/UserCompanyResource.php | 16 +++---- .../IncomingLetterResource.php | 16 +++---- .../Pages/EditIncomingLetter.php | 3 +- .../Pages/ListIncomingLetters.php | 3 +- .../OutgoingLetterResource.php | 14 +++--- .../Pages/EditOutgoingLetter.php | 3 +- .../Pages/ListOutgoingLetters.php | 3 +- .../PaymentOrders/Pages/EditPaymentOrder.php | 4 +- .../PaymentOrders/Pages/ListPaymentOrders.php | 3 +- .../PaymentOrders/PaymentOrderResource.php | 16 +++---- app/Helpers/helpers.php | 28 +++++++++++ .../PhoneNumberVerificationModule.php | 48 +++++++++++++++++++ .../PhoneNumberVerificationRepository.php | 5 ++ .../Rules/PhoneNumberVerificationRule.php | 31 ++++++++++++ .../UserCompany/Models/UserCompany.php | 4 +- app/Providers/Filament/AdminPanelProvider.php | 6 +-- ...62906_add_extra_columns_to_users_table.php | 30 ++++++++++++ 27 files changed, 251 insertions(+), 85 deletions(-) create mode 100644 app/Filament/Pages/Auth/Register.php create mode 100644 app/Modules/PhoneNumberVerification/PhoneNumberVerificationModule.php create mode 100644 app/Modules/PhoneNumberVerification/Repositories/PhoneNumberVerificationRepository.php create mode 100644 app/Modules/PhoneNumberVerification/Rules/PhoneNumberVerificationRule.php create mode 100644 database/migrations/2025_09_22_162906_add_extra_columns_to_users_table.php diff --git a/app/Filament/Pages/Auth/Login.php b/app/Filament/Pages/Auth/Login.php index 277ab1f..8f2afc8 100644 --- a/app/Filament/Pages/Auth/Login.php +++ b/app/Filament/Pages/Auth/Login.php @@ -33,7 +33,7 @@ class Login extends BaseLogin return [ $login_type => $data['login'], - 'password' => $data['password'], + 'password' => $data['password'], ]; } diff --git a/app/Filament/Pages/Auth/Register.php b/app/Filament/Pages/Auth/Register.php new file mode 100644 index 0000000..324d13b --- /dev/null +++ b/app/Filament/Pages/Auth/Register.php @@ -0,0 +1,47 @@ +schema([ + $this->getNameFormComponent(), + $this->getPhoneNumberFormComponent(), + $this->getPasswordFormComponent(), + $this->getPasswordConfirmationFormComponent(), + ]); + } + + protected function getPhoneNumberFormComponent(): TextInput + { + return TextInput::make('phone_number') + ->prefix('+993') + ->label('Telefon') + ->mask('99 99 99 99') + ->rules(['bail', 'required', new PhoneNumberVerificationRule, 'unique:users,phone_number']) + ->autofocus(); + } + + protected function beforeValidate(): void + { + if (isset($this->data['phone_number'])) { + $this->data['phone_number'] = str_replace(' ', '', $this->data['phone_number']); + } + } + + protected function mutateFormDataBeforeRegister(array $data): array + { + $data['phone_number'] = str_replace(' ', '', $data['phone_number']); + $data['email'] = $data['phone_number'] . '@telekechi.com'; + + return $data; + } +} diff --git a/app/Filament/Resources/Banks/Banks/BankResource.php b/app/Filament/Resources/Banks/Banks/BankResource.php index 65b6ca3..e75625e 100644 --- a/app/Filament/Resources/Banks/Banks/BankResource.php +++ b/app/Filament/Resources/Banks/Banks/BankResource.php @@ -2,19 +2,17 @@ namespace App\Filament\Resources\Banks\Banks; -use Filament\Schemas\Schema; -use Filament\Actions\EditAction; -use Filament\Actions\DeleteAction; -use Filament\Actions\BulkActionGroup; -use Filament\Actions\DeleteBulkAction; -use App\Filament\Resources\Banks\Pages\ListBanks; use App\Filament\Resources\Banks\Pages\CreateBank; use App\Filament\Resources\Banks\Pages\EditBank; -use App\Filament\Resources\BankResource\Pages; +use App\Filament\Resources\Banks\Pages\ListBanks; use App\Modules\Bank\Models\Bank; +use Filament\Actions\BulkActionGroup; +use Filament\Actions\DeleteAction; +use Filament\Actions\DeleteBulkAction; +use Filament\Actions\EditAction; use Filament\Forms\Components\TextInput; use Filament\Resources\Resource; -use Filament\Tables; +use Filament\Schemas\Schema; use Filament\Tables\Columns\TextColumn; use Filament\Tables\Table; use Illuminate\Support\Carbon; @@ -23,9 +21,9 @@ class BankResource extends Resource { protected static ?string $model = Bank::class; - protected static string | \UnitEnum | null $navigationGroup = 'Settings'; + protected static string|\UnitEnum|null $navigationGroup = 'Settings'; - protected static string | \BackedEnum | null $navigationIcon = 'heroicon-o-building-library'; + protected static string|\BackedEnum|null $navigationIcon = 'heroicon-o-building-library'; public static function form(Schema $schema): Schema { diff --git a/app/Filament/Resources/Banks/Pages/EditBank.php b/app/Filament/Resources/Banks/Pages/EditBank.php index 3385c24..91d51bc 100644 --- a/app/Filament/Resources/Banks/Pages/EditBank.php +++ b/app/Filament/Resources/Banks/Pages/EditBank.php @@ -2,9 +2,8 @@ namespace App\Filament\Resources\Banks\Pages; -use Filament\Actions\DeleteAction; use App\Filament\Resources\Banks\Banks\BankResource; -use Filament\Actions; +use Filament\Actions\DeleteAction; use Filament\Resources\Pages\EditRecord; class EditBank extends EditRecord diff --git a/app/Filament/Resources/Banks/Pages/ListBanks.php b/app/Filament/Resources/Banks/Pages/ListBanks.php index 5ac6cce..7eea80e 100644 --- a/app/Filament/Resources/Banks/Pages/ListBanks.php +++ b/app/Filament/Resources/Banks/Pages/ListBanks.php @@ -2,9 +2,8 @@ namespace App\Filament\Resources\Banks\Pages; -use Filament\Actions\CreateAction; use App\Filament\Resources\Banks\Banks\BankResource; -use Filament\Actions; +use Filament\Actions\CreateAction; use Filament\Resources\Pages\ListRecords; class ListBanks extends ListRecords diff --git a/app/Filament/Resources/Codes/PaymentPurposeCodes/Pages/EditPaymentPurposeCode.php b/app/Filament/Resources/Codes/PaymentPurposeCodes/Pages/EditPaymentPurposeCode.php index 21d0598..699493b 100644 --- a/app/Filament/Resources/Codes/PaymentPurposeCodes/Pages/EditPaymentPurposeCode.php +++ b/app/Filament/Resources/Codes/PaymentPurposeCodes/Pages/EditPaymentPurposeCode.php @@ -2,9 +2,8 @@ namespace App\Filament\Resources\Codes\PaymentPurposeCodes\Pages; -use Filament\Actions\DeleteAction; use App\Filament\Resources\Codes\PaymentPurposeCodes\PaymentPurposeCodes\PaymentPurposeCodeResource; -use Filament\Actions; +use Filament\Actions\DeleteAction; use Filament\Resources\Pages\EditRecord; class EditPaymentPurposeCode extends EditRecord diff --git a/app/Filament/Resources/Codes/PaymentPurposeCodes/Pages/ListPaymentPurposeCodes.php b/app/Filament/Resources/Codes/PaymentPurposeCodes/Pages/ListPaymentPurposeCodes.php index 2ce9008..cfc6801 100644 --- a/app/Filament/Resources/Codes/PaymentPurposeCodes/Pages/ListPaymentPurposeCodes.php +++ b/app/Filament/Resources/Codes/PaymentPurposeCodes/Pages/ListPaymentPurposeCodes.php @@ -2,9 +2,8 @@ namespace App\Filament\Resources\Codes\PaymentPurposeCodes\Pages; -use Filament\Actions\CreateAction; use App\Filament\Resources\Codes\PaymentPurposeCodes\PaymentPurposeCodes\PaymentPurposeCodeResource; -use Filament\Actions; +use Filament\Actions\CreateAction; use Filament\Resources\Pages\ListRecords; class ListPaymentPurposeCodes extends ListRecords diff --git a/app/Filament/Resources/Codes/PaymentPurposeCodes/PaymentPurposeCodes/PaymentPurposeCodeResource.php b/app/Filament/Resources/Codes/PaymentPurposeCodes/PaymentPurposeCodes/PaymentPurposeCodeResource.php index 728852d..5b63732 100644 --- a/app/Filament/Resources/Codes/PaymentPurposeCodes/PaymentPurposeCodes/PaymentPurposeCodeResource.php +++ b/app/Filament/Resources/Codes/PaymentPurposeCodes/PaymentPurposeCodes/PaymentPurposeCodeResource.php @@ -2,19 +2,17 @@ namespace App\Filament\Resources\Codes\PaymentPurposeCodes\PaymentPurposeCodes; -use Filament\Schemas\Schema; -use Filament\Actions\EditAction; -use Filament\Actions\DeleteAction; -use Filament\Actions\BulkActionGroup; -use Filament\Actions\DeleteBulkAction; -use App\Filament\Resources\Codes\PaymentPurposeCodes\Pages\ListPaymentPurposeCodes; use App\Filament\Resources\Codes\PaymentPurposeCodes\Pages\CreatePaymentPurposeCode; use App\Filament\Resources\Codes\PaymentPurposeCodes\Pages\EditPaymentPurposeCode; -use App\Filament\Resources\Codes\PaymentPurposeCodeResource\Pages; +use App\Filament\Resources\Codes\PaymentPurposeCodes\Pages\ListPaymentPurposeCodes; use App\Modules\PaymentPurposeCode\Models\PaymentPurposeCode; +use Filament\Actions\BulkActionGroup; +use Filament\Actions\DeleteAction; +use Filament\Actions\DeleteBulkAction; +use Filament\Actions\EditAction; use Filament\Forms\Components\TextInput; use Filament\Resources\Resource; -use Filament\Tables; +use Filament\Schemas\Schema; use Filament\Tables\Columns\TextColumn; use Filament\Tables\Table; @@ -22,9 +20,9 @@ class PaymentPurposeCodeResource extends Resource { protected static ?string $model = PaymentPurposeCode::class; - protected static string | \BackedEnum | null $navigationIcon = 'heroicon-o-cube'; + protected static string|\BackedEnum|null $navigationIcon = 'heroicon-o-cube'; - protected static string | \UnitEnum | null $navigationGroup = 'Settings'; + protected static string|\UnitEnum|null $navigationGroup = 'Settings'; public static function form(Schema $schema): Schema { diff --git a/app/Filament/Resources/Company/UserCompanies/Pages/EditUserCompany.php b/app/Filament/Resources/Company/UserCompanies/Pages/EditUserCompany.php index a66f79f..4bf9682 100644 --- a/app/Filament/Resources/Company/UserCompanies/Pages/EditUserCompany.php +++ b/app/Filament/Resources/Company/UserCompanies/Pages/EditUserCompany.php @@ -2,9 +2,8 @@ namespace App\Filament\Resources\Company\UserCompanies\Pages; -use Filament\Actions\DeleteAction; use App\Filament\Resources\Company\UserCompanies\UserCompanies\UserCompanyResource; -use Filament\Actions; +use Filament\Actions\DeleteAction; use Filament\Resources\Pages\EditRecord; class EditUserCompany extends EditRecord diff --git a/app/Filament/Resources/Company/UserCompanies/Pages/ListUserCompanies.php b/app/Filament/Resources/Company/UserCompanies/Pages/ListUserCompanies.php index e96b8f5..af9a635 100644 --- a/app/Filament/Resources/Company/UserCompanies/Pages/ListUserCompanies.php +++ b/app/Filament/Resources/Company/UserCompanies/Pages/ListUserCompanies.php @@ -2,9 +2,8 @@ namespace App\Filament\Resources\Company\UserCompanies\Pages; -use Filament\Actions\CreateAction; use App\Filament\Resources\Company\UserCompanies\UserCompanies\UserCompanyResource; -use Filament\Actions; +use Filament\Actions\CreateAction; use Filament\Resources\Pages\ListRecords; class ListUserCompanies extends ListRecords diff --git a/app/Filament/Resources/Company/UserCompanies/UserCompanies/UserCompanyResource.php b/app/Filament/Resources/Company/UserCompanies/UserCompanies/UserCompanyResource.php index a70ad2f..d0d4246 100644 --- a/app/Filament/Resources/Company/UserCompanies/UserCompanies/UserCompanyResource.php +++ b/app/Filament/Resources/Company/UserCompanies/UserCompanies/UserCompanyResource.php @@ -2,22 +2,20 @@ namespace App\Filament\Resources\Company\UserCompanies\UserCompanies; -use Filament\Schemas\Schema; -use Filament\Actions\EditAction; -use Filament\Actions\BulkActionGroup; -use Filament\Actions\DeleteBulkAction; -use App\Filament\Resources\Company\UserCompanies\Pages\ListUserCompanies; use App\Filament\Resources\Company\UserCompanies\Pages\CreateUserCompany; use App\Filament\Resources\Company\UserCompanies\Pages\EditUserCompany; -use App\Filament\Resources\Company\UserCompanyResource\Pages; +use App\Filament\Resources\Company\UserCompanies\Pages\ListUserCompanies; use App\Modules\Bank\Repositories\BankRepository; use App\Modules\UserCompany\Models\UserCompany; use App\Modules\UserCompany\Types\CompanyType; +use Filament\Actions\BulkActionGroup; +use Filament\Actions\DeleteBulkAction; +use Filament\Actions\EditAction; use Filament\Forms\Components\Select; use Filament\Forms\Components\TextInput; use Filament\Forms\Components\Toggle; use Filament\Resources\Resource; -use Filament\Tables; +use Filament\Schemas\Schema; use Filament\Tables\Columns\TextColumn; use Filament\Tables\Columns\ToggleColumn; use Filament\Tables\Filters\Filter; @@ -27,9 +25,9 @@ class UserCompanyResource extends Resource { protected static ?string $model = UserCompany::class; - protected static string | \UnitEnum | null $navigationGroup = 'Company'; + protected static string|\UnitEnum|null $navigationGroup = 'Company'; - protected static string | \BackedEnum | null $navigationIcon = 'heroicon-o-building-office'; + protected static string|\BackedEnum|null $navigationIcon = 'heroicon-o-building-office'; public static function form(Schema $schema): Schema { diff --git a/app/Filament/Resources/IncomingLetters/IncomingLetters/IncomingLetterResource.php b/app/Filament/Resources/IncomingLetters/IncomingLetters/IncomingLetterResource.php index 3a5593e..ff1a1be 100644 --- a/app/Filament/Resources/IncomingLetters/IncomingLetters/IncomingLetterResource.php +++ b/app/Filament/Resources/IncomingLetters/IncomingLetters/IncomingLetterResource.php @@ -2,20 +2,18 @@ namespace App\Filament\Resources\IncomingLetters\IncomingLetters; -use Filament\Schemas\Schema; -use Filament\Actions\EditAction; -use Filament\Actions\DeleteAction; -use Filament\Actions\BulkActionGroup; -use Filament\Actions\DeleteBulkAction; -use App\Filament\Resources\IncomingLetters\Pages\ListIncomingLetters; use App\Filament\Resources\IncomingLetters\Pages\CreateIncomingLetter; use App\Filament\Resources\IncomingLetters\Pages\EditIncomingLetter; -use App\Filament\Resources\IncomingLetterResource\Pages; +use App\Filament\Resources\IncomingLetters\Pages\ListIncomingLetters; use App\Modules\IncomingLetter\Models\IncomingLetter; +use Filament\Actions\BulkActionGroup; +use Filament\Actions\DeleteAction; +use Filament\Actions\DeleteBulkAction; +use Filament\Actions\EditAction; use Filament\Forms\Components\FileUpload; use Filament\Forms\Components\TextInput; use Filament\Resources\Resource; -use Filament\Tables; +use Filament\Schemas\Schema; use Filament\Tables\Columns\TextColumn; use Filament\Tables\Table; use Illuminate\Database\Eloquent\Builder; @@ -25,7 +23,7 @@ class IncomingLetterResource extends Resource { protected static ?string $model = IncomingLetter::class; - protected static string | \BackedEnum | null $navigationIcon = 'heroicon-o-document-arrow-down'; + protected static string|\BackedEnum|null $navigationIcon = 'heroicon-o-document-arrow-down'; public static function form(Schema $schema): Schema { diff --git a/app/Filament/Resources/IncomingLetters/Pages/EditIncomingLetter.php b/app/Filament/Resources/IncomingLetters/Pages/EditIncomingLetter.php index f712bc1..0f8dbde 100644 --- a/app/Filament/Resources/IncomingLetters/Pages/EditIncomingLetter.php +++ b/app/Filament/Resources/IncomingLetters/Pages/EditIncomingLetter.php @@ -2,9 +2,8 @@ namespace App\Filament\Resources\IncomingLetters\Pages; -use Filament\Actions\DeleteAction; use App\Filament\Resources\IncomingLetters\IncomingLetters\IncomingLetterResource; -use Filament\Actions; +use Filament\Actions\DeleteAction; use Filament\Resources\Pages\EditRecord; class EditIncomingLetter extends EditRecord diff --git a/app/Filament/Resources/IncomingLetters/Pages/ListIncomingLetters.php b/app/Filament/Resources/IncomingLetters/Pages/ListIncomingLetters.php index 6ef0dca..d181f60 100644 --- a/app/Filament/Resources/IncomingLetters/Pages/ListIncomingLetters.php +++ b/app/Filament/Resources/IncomingLetters/Pages/ListIncomingLetters.php @@ -2,9 +2,8 @@ namespace App\Filament\Resources\IncomingLetters\Pages; -use Filament\Actions\CreateAction; use App\Filament\Resources\IncomingLetters\IncomingLetters\IncomingLetterResource; -use Filament\Actions; +use Filament\Actions\CreateAction; use Filament\Resources\Pages\ListRecords; class ListIncomingLetters extends ListRecords diff --git a/app/Filament/Resources/OutgoingLetters/OutgoingLetters/OutgoingLetterResource.php b/app/Filament/Resources/OutgoingLetters/OutgoingLetters/OutgoingLetterResource.php index 7d0fec4..9342e00 100644 --- a/app/Filament/Resources/OutgoingLetters/OutgoingLetters/OutgoingLetterResource.php +++ b/app/Filament/Resources/OutgoingLetters/OutgoingLetters/OutgoingLetterResource.php @@ -2,19 +2,17 @@ namespace App\Filament\Resources\OutgoingLetters\OutgoingLetters; -use Filament\Schemas\Schema; -use Filament\Actions\EditAction; -use Filament\Actions\BulkActionGroup; -use Filament\Actions\DeleteBulkAction; -use App\Filament\Resources\OutgoingLetters\Pages\ListOutgoingLetters; use App\Filament\Resources\OutgoingLetters\Pages\CreateOutgoingLetter; use App\Filament\Resources\OutgoingLetters\Pages\EditOutgoingLetter; -use App\Filament\Resources\OutgoingLetterResource\Pages; +use App\Filament\Resources\OutgoingLetters\Pages\ListOutgoingLetters; use App\Modules\OutgoingLetter\Models\OutgoingLetter; +use Filament\Actions\BulkActionGroup; +use Filament\Actions\DeleteBulkAction; +use Filament\Actions\EditAction; use Filament\Forms\Components\FileUpload; use Filament\Forms\Components\TextInput; use Filament\Resources\Resource; -use Filament\Tables; +use Filament\Schemas\Schema; use Filament\Tables\Columns\TextColumn; use Filament\Tables\Table; use Illuminate\Database\Eloquent\Builder; @@ -24,7 +22,7 @@ class OutgoingLetterResource extends Resource { protected static ?string $model = OutgoingLetter::class; - protected static string | \BackedEnum | null $navigationIcon = 'heroicon-o-document-arrow-up'; + protected static string|\BackedEnum|null $navigationIcon = 'heroicon-o-document-arrow-up'; public static function form(Schema $schema): Schema { diff --git a/app/Filament/Resources/OutgoingLetters/Pages/EditOutgoingLetter.php b/app/Filament/Resources/OutgoingLetters/Pages/EditOutgoingLetter.php index 16dcd73..7be75b4 100644 --- a/app/Filament/Resources/OutgoingLetters/Pages/EditOutgoingLetter.php +++ b/app/Filament/Resources/OutgoingLetters/Pages/EditOutgoingLetter.php @@ -2,9 +2,8 @@ namespace App\Filament\Resources\OutgoingLetters\Pages; -use Filament\Actions\DeleteAction; use App\Filament\Resources\OutgoingLetters\OutgoingLetters\OutgoingLetterResource; -use Filament\Actions; +use Filament\Actions\DeleteAction; use Filament\Resources\Pages\EditRecord; class EditOutgoingLetter extends EditRecord diff --git a/app/Filament/Resources/OutgoingLetters/Pages/ListOutgoingLetters.php b/app/Filament/Resources/OutgoingLetters/Pages/ListOutgoingLetters.php index d9ba7f5..bf4c4cf 100644 --- a/app/Filament/Resources/OutgoingLetters/Pages/ListOutgoingLetters.php +++ b/app/Filament/Resources/OutgoingLetters/Pages/ListOutgoingLetters.php @@ -2,9 +2,8 @@ namespace App\Filament\Resources\OutgoingLetters\Pages; -use Filament\Actions\CreateAction; use App\Filament\Resources\OutgoingLetters\OutgoingLetters\OutgoingLetterResource; -use Filament\Actions; +use Filament\Actions\CreateAction; use Filament\Resources\Pages\ListRecords; class ListOutgoingLetters extends ListRecords diff --git a/app/Filament/Resources/PaymentOrder/PaymentOrders/Pages/EditPaymentOrder.php b/app/Filament/Resources/PaymentOrder/PaymentOrders/Pages/EditPaymentOrder.php index b66bb1e..fe35233 100644 --- a/app/Filament/Resources/PaymentOrder/PaymentOrders/Pages/EditPaymentOrder.php +++ b/app/Filament/Resources/PaymentOrder/PaymentOrders/Pages/EditPaymentOrder.php @@ -2,11 +2,11 @@ namespace App\Filament\Resources\PaymentOrder\PaymentOrders\Pages; -use Filament\Actions\DeleteAction; -use App\Filament\Resources\PaymentOrder\PaymentOrders\PaymentOrders\PaymentOrderResource; use App\Filament\Resources\PaymentOrder\PaymentOrders\Actions\ExportToWord; +use App\Filament\Resources\PaymentOrder\PaymentOrders\PaymentOrders\PaymentOrderResource; use Filament\Actions; use Filament\Actions\Action; +use Filament\Actions\DeleteAction; use Filament\Resources\Pages\EditRecord; class EditPaymentOrder extends EditRecord diff --git a/app/Filament/Resources/PaymentOrder/PaymentOrders/Pages/ListPaymentOrders.php b/app/Filament/Resources/PaymentOrder/PaymentOrders/Pages/ListPaymentOrders.php index dd85c20..f4b4bbf 100644 --- a/app/Filament/Resources/PaymentOrder/PaymentOrders/Pages/ListPaymentOrders.php +++ b/app/Filament/Resources/PaymentOrder/PaymentOrders/Pages/ListPaymentOrders.php @@ -2,9 +2,8 @@ namespace App\Filament\Resources\PaymentOrder\PaymentOrders\Pages; -use Filament\Actions\CreateAction; use App\Filament\Resources\PaymentOrder\PaymentOrders\PaymentOrders\PaymentOrderResource; -use Filament\Actions; +use Filament\Actions\CreateAction; use Filament\Resources\Pages\ListRecords; class ListPaymentOrders extends ListRecords diff --git a/app/Filament/Resources/PaymentOrder/PaymentOrders/PaymentOrders/PaymentOrderResource.php b/app/Filament/Resources/PaymentOrder/PaymentOrders/PaymentOrders/PaymentOrderResource.php index d2b5d7a..0b2489b 100644 --- a/app/Filament/Resources/PaymentOrder/PaymentOrders/PaymentOrders/PaymentOrderResource.php +++ b/app/Filament/Resources/PaymentOrder/PaymentOrders/PaymentOrders/PaymentOrderResource.php @@ -2,20 +2,18 @@ namespace App\Filament\Resources\PaymentOrder\PaymentOrders\PaymentOrders; -use Filament\Schemas\Schema; -use Filament\Schemas\Components\Fieldset; -use Filament\Actions\EditAction; -use Filament\Actions\BulkActionGroup; -use Filament\Actions\DeleteBulkAction; -use App\Filament\Resources\PaymentOrder\PaymentOrders\Pages\ListPaymentOrders; use App\Filament\Resources\PaymentOrder\PaymentOrders\Pages\CreatePaymentOrder; use App\Filament\Resources\PaymentOrder\PaymentOrders\Pages\EditPaymentOrder; -use App\Filament\Resources\PaymentOrder\PaymentOrderResource\Pages; +use App\Filament\Resources\PaymentOrder\PaymentOrders\Pages\ListPaymentOrders; use App\Modules\PaymentOrder\Models\PaymentOrder; +use Filament\Actions\BulkActionGroup; +use Filament\Actions\DeleteBulkAction; +use Filament\Actions\EditAction; use Filament\Forms\Components\Textarea; use Filament\Forms\Components\TextInput; use Filament\Resources\Resource; -use Filament\Tables; +use Filament\Schemas\Components\Fieldset; +use Filament\Schemas\Schema; use Filament\Tables\Columns\TextColumn; use Filament\Tables\Table; @@ -23,7 +21,7 @@ class PaymentOrderResource extends Resource { protected static ?string $model = PaymentOrder::class; - protected static string | \BackedEnum | null $navigationIcon = 'heroicon-o-receipt-percent'; + protected static string|\BackedEnum|null $navigationIcon = 'heroicon-o-receipt-percent'; public static function form(Schema $schema): Schema { diff --git a/app/Helpers/helpers.php b/app/Helpers/helpers.php index 8a87410..c58281a 100644 --- a/app/Helpers/helpers.php +++ b/app/Helpers/helpers.php @@ -6,8 +6,10 @@ use App\Modules\ModuleContract; use App\Modules\ModuleRepository; use App\Modules\TurkmenNumberFormatter\Repositories\TurkmenNumberFormatter; use Illuminate\Contracts\Cache\Repository as CacheRepository; +use Illuminate\Http\Client\PendingRequest; use Illuminate\Support\Collection; use Illuminate\Support\Facades\DB; +use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Log; /** @@ -106,3 +108,29 @@ function moneyFormatInTurkmenLetter(int|float|string $money): string { return TurkmenNumberFormatter::format(floatval($money)); } + +/** + * Send a sms + */ +function sendSMS(string|int $phone, string|int $message): mixed +{ + $response = Http::retry( + times: 3, + sleepMilliseconds: 50, + throw: false, + when: function (Exception $exception, PendingRequest $request) { + Log::channel('sms_api_error') + ->error('Exception: ', [ + 'message' => $exception->getMessage(), + 'line' => $exception->getLine(), + ]); + + return true; + }) + ->post('http://216.250.14.144:3000/api/data', [ + 'phone' => '+993'.$phone, + 'code' => $message, + ]); + + return $response->body(); +} diff --git a/app/Modules/PhoneNumberVerification/PhoneNumberVerificationModule.php b/app/Modules/PhoneNumberVerification/PhoneNumberVerificationModule.php new file mode 100644 index 0000000..bdbf5e6 --- /dev/null +++ b/app/Modules/PhoneNumberVerification/PhoneNumberVerificationModule.php @@ -0,0 +1,48 @@ +enabled; + } + + /** + * Disable module + */ + public function disable(): void + { + $this->enabled = false; + } + + /** + * Enable module + */ + public function enable(): void + { + $this->enabled = true; + } + + /** + * Check if module has a filament resource + */ + public function hasFilamentResource(): bool + { + return false; + } +} diff --git a/app/Modules/PhoneNumberVerification/Repositories/PhoneNumberVerificationRepository.php b/app/Modules/PhoneNumberVerification/Repositories/PhoneNumberVerificationRepository.php new file mode 100644 index 0000000..f2b67a8 --- /dev/null +++ b/app/Modules/PhoneNumberVerification/Repositories/PhoneNumberVerificationRepository.php @@ -0,0 +1,5 @@ += 61000000 && $number <= 65999999) || ($number >= 71000000 && $number <= 71999999); + + if (! $isValid) { + $fail('Telefon belgisi nädogry aralykda.'); + } + } +} diff --git a/app/Modules/UserCompany/Models/UserCompany.php b/app/Modules/UserCompany/Models/UserCompany.php index 2bd9d75..2c62b17 100644 --- a/app/Modules/UserCompany/Models/UserCompany.php +++ b/app/Modules/UserCompany/Models/UserCompany.php @@ -2,12 +2,12 @@ namespace App\Modules\UserCompany\Models; -use App\Modules\UserCompany\Types\CompanyType; -use Illuminate\Support\Carbon; use App\Models\User; use App\Modules\Bank\Models\Bank; +use App\Modules\UserCompany\Types\CompanyType; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; +use Illuminate\Support\Carbon; /** * @property int $id [primary,unique] diff --git a/app/Providers/Filament/AdminPanelProvider.php b/app/Providers/Filament/AdminPanelProvider.php index 4ae0ae6..e8a08a4 100644 --- a/app/Providers/Filament/AdminPanelProvider.php +++ b/app/Providers/Filament/AdminPanelProvider.php @@ -3,11 +3,11 @@ namespace App\Providers\Filament; use App\Filament\Pages\Auth\Login; -use Filament\Pages\Dashboard; +use App\Filament\Pages\Auth\Register; use Filament\Http\Middleware\Authenticate; use Filament\Http\Middleware\DisableBladeIconComponents; use Filament\Http\Middleware\DispatchServingFilamentEvent; -use Filament\Pages; +use Filament\Pages\Dashboard; use Filament\Panel; use Filament\PanelProvider; use Filament\Support\Colors\Color; @@ -29,7 +29,7 @@ class AdminPanelProvider extends PanelProvider ->id('panel') ->path('panel') ->login(Login::class) - ->registration() + ->registration(Register::class) ->colors([ 'primary' => Color::Amber, ]) diff --git a/database/migrations/2025_09_22_162906_add_extra_columns_to_users_table.php b/database/migrations/2025_09_22_162906_add_extra_columns_to_users_table.php new file mode 100644 index 0000000..677b80f --- /dev/null +++ b/database/migrations/2025_09_22_162906_add_extra_columns_to_users_table.php @@ -0,0 +1,30 @@ +softDeletes()->after('updated_at'); + $table->json('meta')->nullable()->after('remember_token'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('users', function (Blueprint $table) { + $table->dropSoftDeletes(); + $table->dropColumn('meta'); + }); + } +};