Skip to content

Commit e205f76

Browse files
committed
del visits.approved_by_reception and add appointme
1 parent a579d8c commit e205f76

File tree

7 files changed

+45
-16
lines changed

7 files changed

+45
-16
lines changed

app/Http/Controllers/PatientController.php

+20-4
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace App\Http\Controllers;
44

55
use App\Models\User;
6+
use App\Models\Visit;
67
use App\Models\VisitType;
78
use Illuminate\Http\Request;
89

@@ -13,16 +14,31 @@ public function get_home() {
1314
$visits = User::allFutureVisits(auth()->user()->id);
1415
return view("patient.home", compact('visits'));
1516
}
16-
17+
1718
public function get_all_doctors() {
1819
return view("patient.all_doctors", ["doctors" => User::allDoctors()]);
1920
}
20-
21+
2122
public function get_add_appointment() {
22-
23+
2324
$doctors = User::allDoctors();
2425
$visitTypes = VisitType::all();
25-
26+
2627
return view("patient.add_appointment", compact('doctors', 'visitTypes'));
2728
}
29+
30+
public function post_add_appointment(Request $request) {
31+
32+
$dateOfVisit = $request->get('visit_date').' '.$request->get('visit_time');
33+
34+
Visit::create([
35+
'patient_id' => $request->get('patient_id'),
36+
'doctor_id' => $request->get('doctor_id'),
37+
'visit_type_id' => $request->get('visit_type_id'),
38+
'date' => $dateOfVisit,
39+
'description' => $request->get('description')
40+
]);
41+
42+
return redirect()->route('patient_add_appointment');
43+
}
2844
}

app/Models/Visit.php

+8
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,14 @@ class Visit extends Model
1111
{
1212
use HasFactory;
1313

14+
protected $fillable = [
15+
'patient_id',
16+
'doctor_id',
17+
'visit_type_id',
18+
'date',
19+
'description',
20+
];
21+
1422
public static function allFullData() {
1523
return DB::table('full_visit_view')
1624
->get();

database/factories/VisitFactory.php

-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ public function definition()
2727
'visit_type_id' => rand(1, $visit_type_count),
2828
'date' => $this->faker->dateTimeBetween('-1 year', '+1 year'),
2929
'description' => $this->faker->paragraph(),
30-
'approved_by_reception' => rand(0, 1) == 1
3130
];
3231
}
3332
}

database/migrations/2021_10_31_211802_create_visits_table.php

-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ public function up()
2020
$table->unsignedBigInteger('visit_type_id');
2121
$table->dateTime('date', $precision=0);
2222
$table->text('description');
23-
$table->boolean('approved_by_reception');
2423
$table->timestamps();
2524
});
2625

database/migrations/2021_11_16_204806_create_full_visit_view.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@ public function up()
1919
// tak wiem że to skomplikowane zapytania, ale prościej się nie dało przy takich relacjach :)
2020
DB::statement("create view full_visit_view as
2121
22-
select id1 as 'visit_id', patient, patient_id, doctor, doctor_id, date, date_add(date, interval standard_duration hour) as estimated_end, description, approved_by_reception, type, standard_duration
22+
select id1 as 'visit_id', patient, patient_id, doctor, doctor_id, date, date_add(date, interval standard_duration hour) as estimated_end, description, type, standard_duration
2323
from
2424
(select visits.id as 'id1', users.name as 'patient' , users.id as 'patient_id'
2525
from visits
2626
inner join users
2727
on visits.patient_id = users.id) as s1
2828
inner join
29-
(select visits.id as 'id2', users.name as 'doctor', users.id as 'doctor_id',visits.date, visits.description, visits.approved_by_reception, visit_types.type, visit_types.standard_duration
29+
(select visits.id as 'id2', users.name as 'doctor', users.id as 'doctor_id',visits.date, visits.description, visit_types.type, visit_types.standard_duration
3030
from visits
3131
inner join users
3232
on visits.doctor_id = users.id

resources/views/patient/add_appointment.blade.php

+12-5
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,30 @@
88
<div id="appointment_banner">
99
Umawianie wizyty
1010
</div>
11-
<form id="appointment_form">
11+
<form id="appointment_form" method="POST">
1212
<div id="form_down">
13-
<select id="form_doctor" name="doctor_name">
13+
14+
@csrf
15+
16+
<input type="hidden" value="{{ auth()->user()->id }}" name="patient_id">
17+
18+
<select id="form_doctor" name="doctor_id">
1419
@foreach($doctors as $doctor)
1520
<option value="{{ $doctor->id }}">{{ $doctor->name }}</option>
1621
@endforeach
1722
</select>
18-
<select id="form_doctor" name="visit_type">
23+
<select id="form_doctor" name="visit_type_id">
1924
@foreach($visitTypes as $visitType)
2025
<option value="{{ $visitType->id }}">{{ $visitType->type }}</option>
2126
@endforeach
2227
</select>
23-
<textarea id="form_description" placeholder="Krótki opis dla lekarza..." name="short_description"></textarea>
28+
<textarea id="form_description" placeholder="Krótki opis dla lekarza..." name="description"></textarea>
2429
<input type="date" name="visit_date" />
2530
<input type="time" name="visit_time" />
2631
<input type="submit" />
27-
<span id="error">Error ci wyjebało</span>
32+
33+
<span id="error">Error test test</span>
34+
2835
</div>
2936

3037
<div id="appointment_work_hours">

routes/web.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@
2929
Route::group(['middleware' => 'auth'], function() {
3030

3131
//Patient
32-
Route::group(['middleware' => 'checkPatient'], function(){
32+
Route::group(['middleware' => 'checkPatient'], function() {
3333

3434
Route::get('/patient_home', [PatientController::class, 'get_home'])->name('patient_home');
3535
Route::get('/patient_all_doctors', [PatientController::class, 'get_all_doctors'])->name('patient_all_doctors');
3636
Route::get('/patient_add_appointment', [PatientController::class, 'get_add_appointment'])->name('patient_add_appointment');
37-
// TODO POST dodawanie wizyty
37+
Route::post('/patient_add_appointment', [PatientController::class, 'post_add_appointment']);
3838

3939
});
4040

@@ -53,7 +53,7 @@
5353
});
5454

5555
// Doctor
56-
Route::group(['middleware' => 'checkDoctor'], function(){
56+
Route::group(['middleware' => 'checkDoctor'], function() {
5757

5858
Route::get('/doctor_home', [DoctorController::class, 'get_home'])->name('doctor_home');
5959
Route::get('/doctor_home_archive', [DoctorController::class, 'get_home_archive'])->name('doctor_home_archive');

0 commit comments

Comments
 (0)