Compare commits
4 Commits
8a2166bd78
...
1f8888d31c
| Author | SHA1 | Date | |
|---|---|---|---|
| 1f8888d31c | |||
| 330fc76ed3 | |||
| a627c85416 | |||
| f9f08c7adf |
@@ -146,7 +146,6 @@ class HomePageSettings extends SettingsPage
|
|||||||
FileUpload::make('bg_video')
|
FileUpload::make('bg_video')
|
||||||
->label('Background Video')
|
->label('Background Video')
|
||||||
->acceptedFileTypes(['video/mp4', 'video/webm', 'video/ogg'])
|
->acceptedFileTypes(['video/mp4', 'video/webm', 'video/ogg'])
|
||||||
->maxSize(51200) // 50MB
|
|
||||||
->disk('public')
|
->disk('public')
|
||||||
->directory('homepage-videos')
|
->directory('homepage-videos')
|
||||||
->required(),
|
->required(),
|
||||||
|
|||||||
110
app/Filament/Resources/ApplicationResource.php
Normal file
110
app/Filament/Resources/ApplicationResource.php
Normal file
@@ -0,0 +1,110 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Filament\Resources;
|
||||||
|
|
||||||
|
use App\Filament\Resources\ApplicationResource\Pages;
|
||||||
|
use App\Filament\Resources\ApplicationResource\RelationManagers;
|
||||||
|
use App\Models\Application;
|
||||||
|
use App\Models\Career;
|
||||||
|
use Filament\Forms;
|
||||||
|
use Filament\Forms\Form;
|
||||||
|
use Filament\Resources\Resource;
|
||||||
|
use Filament\Tables;
|
||||||
|
use Filament\Tables\Table;
|
||||||
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
|
use Illuminate\Database\Eloquent\SoftDeletingScope;
|
||||||
|
|
||||||
|
class ApplicationResource extends Resource
|
||||||
|
{
|
||||||
|
protected static ?string $model = Application::class;
|
||||||
|
|
||||||
|
protected static ?string $navigationGroup = 'Careers';
|
||||||
|
|
||||||
|
protected static ?string $navigationIcon = 'heroicon-o-document-text';
|
||||||
|
|
||||||
|
public static function form(Form $form): Form
|
||||||
|
{
|
||||||
|
return $form
|
||||||
|
->schema([
|
||||||
|
Forms\Components\Select::make('career_id')
|
||||||
|
->label('Career')
|
||||||
|
->options(Career::all()->pluck('title', 'id'))
|
||||||
|
->searchable()
|
||||||
|
->required(),
|
||||||
|
Forms\Components\TextInput::make('name')
|
||||||
|
->required()
|
||||||
|
->maxLength(255),
|
||||||
|
Forms\Components\DatePicker::make('birthdate')
|
||||||
|
->required(),
|
||||||
|
Forms\Components\TextInput::make('email')
|
||||||
|
->email()
|
||||||
|
->required()
|
||||||
|
->maxLength(255),
|
||||||
|
Forms\Components\TextInput::make('phone_number')
|
||||||
|
->maxLength(255),
|
||||||
|
Forms\Components\FileUpload::make('resume_file')
|
||||||
|
->required()
|
||||||
|
->disk('public')
|
||||||
|
->directory('resumes')
|
||||||
|
->enableDownload()
|
||||||
|
->enableOpen(),
|
||||||
|
Forms\Components\RichEditor::make('cover_letter')
|
||||||
|
->columnSpan('full'),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function table(Table $table): Table
|
||||||
|
{
|
||||||
|
return $table
|
||||||
|
->columns([
|
||||||
|
Tables\Columns\TextColumn::make('career.title')
|
||||||
|
->searchable()
|
||||||
|
->sortable(),
|
||||||
|
Tables\Columns\TextColumn::make('name')
|
||||||
|
->searchable(),
|
||||||
|
Tables\Columns\TextColumn::make('email')
|
||||||
|
->searchable(),
|
||||||
|
Tables\Columns\TextColumn::make('phone_number')
|
||||||
|
->searchable(),
|
||||||
|
Tables\Columns\TextColumn::make('birthdate')
|
||||||
|
->date()
|
||||||
|
->sortable(),
|
||||||
|
Tables\Columns\TextColumn::make('created_at')
|
||||||
|
->dateTime()
|
||||||
|
->sortable()
|
||||||
|
->toggleable(isToggledHiddenByDefault: true),
|
||||||
|
Tables\Columns\TextColumn::make('updated_at')
|
||||||
|
->dateTime()
|
||||||
|
->sortable()
|
||||||
|
->toggleable(isToggledHiddenByDefault: true),
|
||||||
|
])
|
||||||
|
->filters([
|
||||||
|
//
|
||||||
|
])
|
||||||
|
->actions([
|
||||||
|
Tables\Actions\EditAction::make(),
|
||||||
|
Tables\Actions\DeleteAction::make(),
|
||||||
|
])
|
||||||
|
->bulkActions([
|
||||||
|
Tables\Actions\BulkActionGroup::make([
|
||||||
|
Tables\Actions\DeleteBulkAction::make(),
|
||||||
|
]),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function getRelations(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
//
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function getPages(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'index' => Pages\ListApplications::route('/'),
|
||||||
|
'create' => Pages\CreateApplication::route('/create'),
|
||||||
|
'edit' => Pages\EditApplication::route('/{record}/edit'),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Filament\Resources\ApplicationResource\Pages;
|
||||||
|
|
||||||
|
use App\Filament\Resources\ApplicationResource;
|
||||||
|
use Filament\Actions;
|
||||||
|
use Filament\Resources\Pages\CreateRecord;
|
||||||
|
|
||||||
|
class CreateApplication extends CreateRecord
|
||||||
|
{
|
||||||
|
protected static string $resource = ApplicationResource::class;
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Filament\Resources\ApplicationResource\Pages;
|
||||||
|
|
||||||
|
use App\Filament\Resources\ApplicationResource;
|
||||||
|
use Filament\Actions;
|
||||||
|
use Filament\Resources\Pages\EditRecord;
|
||||||
|
|
||||||
|
class EditApplication extends EditRecord
|
||||||
|
{
|
||||||
|
protected static string $resource = ApplicationResource::class;
|
||||||
|
|
||||||
|
protected function getHeaderActions(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
Actions\DeleteAction::make(),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Filament\Resources\ApplicationResource\Pages;
|
||||||
|
|
||||||
|
use App\Filament\Resources\ApplicationResource;
|
||||||
|
use Filament\Actions;
|
||||||
|
use Filament\Resources\Pages\ListRecords;
|
||||||
|
|
||||||
|
class ListApplications extends ListRecords
|
||||||
|
{
|
||||||
|
protected static string $resource = ApplicationResource::class;
|
||||||
|
|
||||||
|
protected function getHeaderActions(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
Actions\CreateAction::make(),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -47,6 +47,10 @@ class CareerResource extends Resource
|
|||||||
->numeric()
|
->numeric()
|
||||||
->label('Salary per month')
|
->label('Salary per month')
|
||||||
->maxLength(255),
|
->maxLength(255),
|
||||||
|
Forms\Components\Select::make('salary_currency')
|
||||||
|
->options(getCurrencies())
|
||||||
|
->required()
|
||||||
|
->label('Salary currency'),
|
||||||
Repeater::make('bullets')
|
Repeater::make('bullets')
|
||||||
->schema([
|
->schema([
|
||||||
TextInput::make('bullet')
|
TextInput::make('bullet')
|
||||||
@@ -71,6 +75,9 @@ class CareerResource extends Resource
|
|||||||
Tables\Columns\TextColumn::make('salary_per_month')
|
Tables\Columns\TextColumn::make('salary_per_month')
|
||||||
->searchable()
|
->searchable()
|
||||||
->toggleable(isToggledHiddenByDefault: true),
|
->toggleable(isToggledHiddenByDefault: true),
|
||||||
|
Tables\Columns\TextColumn::make('salary_currency')
|
||||||
|
->searchable()
|
||||||
|
->toggleable(isToggledHiddenByDefault: true),
|
||||||
Tables\Columns\TextColumn::make('location')
|
Tables\Columns\TextColumn::make('location')
|
||||||
->searchable(),
|
->searchable(),
|
||||||
Tables\Columns\TextColumn::make('salary')
|
Tables\Columns\TextColumn::make('salary')
|
||||||
|
|||||||
@@ -16,3 +16,165 @@ function logDB(): void
|
|||||||
Log::info($query->sql, $query->bindings, $query->time);
|
Log::info($query->sql, $query->bindings, $query->time);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getCurrencies(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
"AED" => "UAE dirham",
|
||||||
|
"AFN" => "Afghan afghani",
|
||||||
|
"ALL" => "Albanian lek",
|
||||||
|
"AMD" => "Armenian dram",
|
||||||
|
"ANG" => "Netherlands Antillean gulden",
|
||||||
|
"AOA" => "Angolan kwanza",
|
||||||
|
"ARS" => "Argentine peso",
|
||||||
|
"AUD" => "Australian dollar",
|
||||||
|
"AWG" => "Aruban florin",
|
||||||
|
"AZN" => "Azerbaijani manat",
|
||||||
|
"BAM" => "Bosnia and Herzegovina konvertibilna marka",
|
||||||
|
"BBD" => "Barbadian dollar",
|
||||||
|
"BDT" => "Bangladeshi taka",
|
||||||
|
"BGN" => "Bulgarian lev",
|
||||||
|
"BHD" => "Bahraini dinar",
|
||||||
|
"BIF" => "Burundi franc",
|
||||||
|
"BMD" => "Bermudian dollar",
|
||||||
|
"BND" => "Brunei dollar",
|
||||||
|
"BOB" => "Bolivian boliviano",
|
||||||
|
"BRL" => "Brazilian real",
|
||||||
|
"BSD" => "Bahamian dollar",
|
||||||
|
"BTN" => "Bhutanese ngultrum",
|
||||||
|
"BWP" => "Botswana pula",
|
||||||
|
"BYR" => "Belarusian ruble",
|
||||||
|
"BZD" => "Belize dollar",
|
||||||
|
"CAD" => "Canadian dollar",
|
||||||
|
"CDF" => "Congolese franc",
|
||||||
|
"CHF" => "Swiss franc",
|
||||||
|
"CLP" => "Chilean peso",
|
||||||
|
"CNY" => "Chinese/Yuan renminbi",
|
||||||
|
"COP" => "Colombian peso",
|
||||||
|
"CRC" => "Costa Rican colon",
|
||||||
|
"CUC" => "Cuban peso",
|
||||||
|
"CVE" => "Cape Verdean escudo",
|
||||||
|
"CZK" => "Czech koruna",
|
||||||
|
"DJF" => "Djiboutian franc",
|
||||||
|
"DKK" => "Danish krone",
|
||||||
|
"DOP" => "Dominican peso",
|
||||||
|
"DZD" => "Algerian dinar",
|
||||||
|
"EEK" => "Estonian kroon",
|
||||||
|
"EGP" => "Egyptian pound",
|
||||||
|
"ERN" => "Eritrean nakfa",
|
||||||
|
"ETB" => "Ethiopian birr",
|
||||||
|
"EUR" => "European Euro",
|
||||||
|
"FJD" => "Fijian dollar",
|
||||||
|
"FKP" => "Falkland Islands pound",
|
||||||
|
"GBP" => "British pound",
|
||||||
|
"GEL" => "Georgian lari",
|
||||||
|
"GHS" => "Ghanaian cedi",
|
||||||
|
"GIP" => "Gibraltar pound",
|
||||||
|
"GMD" => "Gambian dalasi",
|
||||||
|
"GNF" => "Guinean franc",
|
||||||
|
"GQE" => "Central African CFA franc",
|
||||||
|
"GTQ" => "Guatemalan quetzal",
|
||||||
|
"GYD" => "Guyanese dollar",
|
||||||
|
"HKD" => "Hong Kong dollar",
|
||||||
|
"HNL" => "Honduran lempira",
|
||||||
|
"HRK" => "Croatian kuna",
|
||||||
|
"HTG" => "Haitian gourde",
|
||||||
|
"HUF" => "Hungarian forint",
|
||||||
|
"IDR" => "Indonesian rupiah",
|
||||||
|
"ILS" => "Israeli new sheqel",
|
||||||
|
"INR" => "Indian rupee",
|
||||||
|
"IQD" => "Iraqi dinar",
|
||||||
|
"IRR" => "Iranian rial",
|
||||||
|
"ISK" => "Icelandic króna",
|
||||||
|
"JMD" => "Jamaican dollar",
|
||||||
|
"JOD" => "Jordanian dinar",
|
||||||
|
"JPY" => "Japanese yen",
|
||||||
|
"KES" => "Kenyan shilling",
|
||||||
|
"KGS" => "Kyrgyzstani som",
|
||||||
|
"KHR" => "Cambodian riel",
|
||||||
|
"KMF" => "Comorian franc",
|
||||||
|
"KPW" => "North Korean won",
|
||||||
|
"KRW" => "South Korean won",
|
||||||
|
"KWD" => "Kuwaiti dinar",
|
||||||
|
"KYD" => "Cayman Islands dollar",
|
||||||
|
"KZT" => "Kazakhstani tenge",
|
||||||
|
"LAK" => "Lao kip",
|
||||||
|
"LBP" => "Lebanese lira",
|
||||||
|
"LKR" => "Sri Lankan rupee",
|
||||||
|
"LRD" => "Liberian dollar",
|
||||||
|
"LSL" => "Lesotho loti",
|
||||||
|
"LTL" => "Lithuanian litas",
|
||||||
|
"LVL" => "Latvian lats",
|
||||||
|
"LYD" => "Libyan dinar",
|
||||||
|
"MAD" => "Moroccan dirham",
|
||||||
|
"MDL" => "Moldovan leu",
|
||||||
|
"MGA" => "Malagasy ariary",
|
||||||
|
"MKD" => "Macedonian denar",
|
||||||
|
"MMK" => "Myanma kyat",
|
||||||
|
"MNT" => "Mongolian tugrik",
|
||||||
|
"MOP" => "Macanese pataca",
|
||||||
|
"MRO" => "Mauritanian ouguiya",
|
||||||
|
"MUR" => "Mauritian rupee",
|
||||||
|
"MVR" => "Maldivian rufiyaa",
|
||||||
|
"MWK" => "Malawian kwacha",
|
||||||
|
"MXN" => "Mexican peso",
|
||||||
|
"MYR" => "Malaysian ringgit",
|
||||||
|
"MZM" => "Mozambican metical",
|
||||||
|
"NAD" => "Namibian dollar",
|
||||||
|
"NGN" => "Nigerian naira",
|
||||||
|
"NIO" => "Nicaraguan córdoba",
|
||||||
|
"NOK" => "Norwegian krone",
|
||||||
|
"NPR" => "Nepalese rupee",
|
||||||
|
"NZD" => "New Zealand dollar",
|
||||||
|
"OMR" => "Omani rial",
|
||||||
|
"PAB" => "Panamanian balboa",
|
||||||
|
"PEN" => "Peruvian nuevo sol",
|
||||||
|
"PGK" => "Papua New Guinean kina",
|
||||||
|
"PHP" => "Philippine peso",
|
||||||
|
"PKR" => "Pakistani rupee",
|
||||||
|
"PLN" => "Polish zloty",
|
||||||
|
"PYG" => "Paraguayan guarani",
|
||||||
|
"QAR" => "Qatari riyal",
|
||||||
|
"RON" => "Romanian leu",
|
||||||
|
"RSD" => "Serbian dinar",
|
||||||
|
"RUB" => "Russian ruble",
|
||||||
|
"SAR" => "Saudi riyal",
|
||||||
|
"SBD" => "Solomon Islands dollar",
|
||||||
|
"SCR" => "Seychellois rupee",
|
||||||
|
"SDG" => "Sudanese pound",
|
||||||
|
"SEK" => "Swedish krona",
|
||||||
|
"SGD" => "Singapore dollar",
|
||||||
|
"SHP" => "Saint Helena pound",
|
||||||
|
"SLL" => "Sierra Leonean leone",
|
||||||
|
"SOS" => "Somali shilling",
|
||||||
|
"SRD" => "Surinamese dollar",
|
||||||
|
"SYP" => "Syrian pound",
|
||||||
|
"SZL" => "Swazi lilangeni",
|
||||||
|
"THB" => "Thai baht",
|
||||||
|
"TJS" => "Tajikistani somoni",
|
||||||
|
"TMT" => "Turkmen manat",
|
||||||
|
"TND" => "Tunisian dinar",
|
||||||
|
"TRY" => "Turkish new lira",
|
||||||
|
"TTD" => "Trinidad and Tobago dollar",
|
||||||
|
"TWD" => "New Taiwan dollar",
|
||||||
|
"TZS" => "Tanzanian shilling",
|
||||||
|
"UAH" => "Ukrainian hryvnia",
|
||||||
|
"UGX" => "Ugandan shilling",
|
||||||
|
"USD" => "United States dollar",
|
||||||
|
"UYU" => "Uruguayan peso",
|
||||||
|
"UZS" => "Uzbekistani som",
|
||||||
|
"VEB" => "Venezuelan bolivar",
|
||||||
|
"VND" => "Vietnamese dong",
|
||||||
|
"VUV" => "Vanuatu vatu",
|
||||||
|
"WST" => "Samoan tala",
|
||||||
|
"XAF" => "Central African CFA franc",
|
||||||
|
"XCD" => "East Caribbean dollar",
|
||||||
|
"XDR" => "Special Drawing Rights",
|
||||||
|
"XOF" => "West African CFA franc",
|
||||||
|
"XPF" => "CFP franc",
|
||||||
|
"YER" => "Yemeni rial",
|
||||||
|
"ZAR" => "South African rand",
|
||||||
|
"ZMK" => "Zambian kwacha",
|
||||||
|
"ZWR" => "Zimbabwean dollar",
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ class ApplicationController extends Controller
|
|||||||
'birthdate' => 'required|date',
|
'birthdate' => 'required|date',
|
||||||
'resume_file' => 'required|file|mimes:pdf,doc,docx|max:2048',
|
'resume_file' => 'required|file|mimes:pdf,doc,docx|max:2048',
|
||||||
'email' => 'required|email|max:255',
|
'email' => 'required|email|max:255',
|
||||||
'phone_number' => 'required|string|max:20',
|
'phone_number' => 'required|string',
|
||||||
'cover_letter' => 'nullable|string',
|
'cover_letter' => 'nullable|string',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
@@ -31,6 +31,8 @@ class ApplicationController extends Controller
|
|||||||
'cover_letter' => $validatedData['cover_letter'] ?? null,
|
'cover_letter' => $validatedData['cover_letter'] ?? null,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
return back()->with('success', 'Your application has been submitted successfully!');
|
return response()->json([
|
||||||
|
'message' => 'Your application has been submitted successfully!',
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ class Career extends Model
|
|||||||
'salary_per_month',
|
'salary_per_month',
|
||||||
'bullets',
|
'bullets',
|
||||||
'location',
|
'location',
|
||||||
|
'salary_currency',
|
||||||
];
|
];
|
||||||
|
|
||||||
protected $casts = [
|
protected $casts = [
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ namespace App\Providers\Filament;
|
|||||||
|
|
||||||
use App\Filament\Pages\HomePageSettings;
|
use App\Filament\Pages\HomePageSettings;
|
||||||
use App\Filament\Pages\ManageCtaSettings;
|
use App\Filament\Pages\ManageCtaSettings;
|
||||||
|
use App\Filament\Resources\ApplicationResource;
|
||||||
use Filament\Http\Middleware\Authenticate;
|
use Filament\Http\Middleware\Authenticate;
|
||||||
use Filament\Http\Middleware\DisableBladeIconComponents;
|
use Filament\Http\Middleware\DisableBladeIconComponents;
|
||||||
use Filament\Http\Middleware\DispatchServingFilamentEvent;
|
use Filament\Http\Middleware\DispatchServingFilamentEvent;
|
||||||
@@ -60,6 +61,7 @@ class PanelPanelProvider extends PanelProvider
|
|||||||
])
|
])
|
||||||
->resources([
|
->resources([
|
||||||
config('filament-logger.activity_resource'),
|
config('filament-logger.activity_resource'),
|
||||||
|
ApplicationResource::class,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*/
|
||||||
|
public function up(): void
|
||||||
|
{
|
||||||
|
Schema::table('careers', function (Blueprint $table) {
|
||||||
|
$table->string('salary_currency')->nullable()->after('salary_per_month');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::table('careers', function (Blueprint $table) {
|
||||||
|
$table->dropColumn('salary_currency');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
@@ -4,3 +4,4 @@
|
|||||||
<meta name="keywords" content="{{ $settings->tagline }}">
|
<meta name="keywords" content="{{ $settings->tagline }}">
|
||||||
<meta name="author" content="Webulgam">
|
<meta name="author" content="Webulgam">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||||
|
|||||||
@@ -36,7 +36,8 @@
|
|||||||
<div class="price__area-item-price">
|
<div class="price__area-item-price">
|
||||||
<span>{{ $career->title }}</span>
|
<span>{{ $career->title }}</span>
|
||||||
<h3>{{ $career->location }}</h3>
|
<h3>{{ $career->location }}</h3>
|
||||||
<h2>{{ $career->salary_per_month }}<span>/Per monthly</span></h2>
|
<h2>{{ $career->salary_per_month }} {{ $career->salary_currency }}</h2>
|
||||||
|
<span>Per monthly</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="price__area-item-list">
|
<div class="price__area-item-list">
|
||||||
<ul>
|
<ul>
|
||||||
@@ -79,22 +80,22 @@
|
|||||||
<input type="text" class="form-control" id="name" name="name" required>
|
<input type="text" class="form-control" id="name" name="name" required>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 mb-3">
|
<div class="col-md-6 mb-3">
|
||||||
<label for="birthdate" class="form-label">Birthdate</label>
|
<label for="birthdate" class="form-label">Birthdate <span> *</span></label>
|
||||||
<input type="date" class="form-control" id="birthdate" name="birthdate" required>
|
<input type="date" class="form-control" id="birthdate" name="birthdate" required>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6 mb-3">
|
<div class="col-md-6 mb-3">
|
||||||
<label for="email" class="form-label">Email</label>
|
<label for="email" class="form-label">Email <span> *</span></label>
|
||||||
<input type="email" class="form-control" id="email" name="email" required>
|
<input type="email" class="form-control" id="email" name="email" required>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 mb-3">
|
<div class="col-md-6 mb-3">
|
||||||
<label for="phone_number" class="form-label">Phone Number</label>
|
<label for="phone_number" class="form-label">Phone Number <span> *</span></label>
|
||||||
<input type="text" class="form-control" id="phone_number" name="phone_number" required>
|
<input type="text" class="form-control" id="phone_number" name="phone_number" required>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="resume_file" class="form-label">Resume (PDF, DOC, DOCX)</label>
|
<label for="resume_file" class="form-label">Resume (PDF, DOC, DOCX) <span> *</span></label>
|
||||||
<input type="file" class="form-control" id="resume_file" name="resume_file" accept=".pdf,.doc,.docx" required>
|
<input type="file" class="form-control" id="resume_file" name="resume_file" accept=".pdf,.doc,.docx" required>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
@@ -146,12 +147,13 @@
|
|||||||
method: 'POST',
|
method: 'POST',
|
||||||
body: formData,
|
body: formData,
|
||||||
headers: {
|
headers: {
|
||||||
|
'Accept': 'application/json',
|
||||||
'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').getAttribute('content')
|
'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').getAttribute('content')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.then(response => response.json())
|
.then(response => response.json())
|
||||||
.then(data => {
|
.then(data => {
|
||||||
if (data.success) {
|
if (data.message) {
|
||||||
alert(data.message);
|
alert(data.message);
|
||||||
var modal = bootstrap.Modal.getInstance(applicationModal);
|
var modal = bootstrap.Modal.getInstance(applicationModal);
|
||||||
modal.hide();
|
modal.hide();
|
||||||
|
|||||||
Reference in New Issue
Block a user