From 0943faf26373d870a956c7af602803e99c96bcd3 Mon Sep 17 00:00:00 2001
From: Krzysztof Strzelecki
Date: Wed, 1 Jan 2020 03:18:06 +0100
Subject: [PATCH] =?UTF-8?q?Dodanie=20odznacze=C5=84=20do=20bazy.=20Przyzna?=
=?UTF-8?q?wanie,=20wy=C5=9Bwietlanie=20i=20usuwanie=20odznacze=C5=84=20po?=
=?UTF-8?q?szczeg=C3=B3lnych=20stra=C5=BCak=C3=B3w.=20Wy=C5=9Bwietlanie=20?=
=?UTF-8?q?odznacze=C5=84=20w=20profilu=20u=C5=BCytkownika.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Controllers/DecorationsController.php | 72 +++++++++++++++++++
app/decorationsFirefighters.php | 15 ++++
..._12_31_001536_create_decorations_table.php | 42 +++++++++++
...6_create_decorationsFirefighters_table.php | 35 +++++++++
resources/lang/en/validation.php | 4 +-
resources/views/changePassword.blade.php | 3 +-
resources/views/decorations.blade.php | 70 ++++++++++++++++++
resources/views/fireFighters.blade.php | 3 +-
resources/views/userDecorations.blade.php | 41 +++++++++++
resources/views/userProfile.blade.php | 5 +-
resources/views/userProfileEdit.blade.php | 3 +-
resources/views/userTrainings.blade.php | 1 +
routes/web.php | 5 ++
13 files changed, 293 insertions(+), 6 deletions(-)
create mode 100644 app/Http/Controllers/DecorationsController.php
create mode 100644 app/decorationsFirefighters.php
create mode 100644 database/migrations/2019_12_31_001536_create_decorations_table.php
create mode 100644 database/migrations/2019_12_31_003036_create_decorationsFirefighters_table.php
create mode 100644 resources/views/decorations.blade.php
create mode 100644 resources/views/userDecorations.blade.php
diff --git a/app/Http/Controllers/DecorationsController.php b/app/Http/Controllers/DecorationsController.php
new file mode 100644
index 0000000..fb4ece1
--- /dev/null
+++ b/app/Http/Controllers/DecorationsController.php
@@ -0,0 +1,72 @@
+user() != null && auth()->user()->fireStationID != null ){
+ $awardedDecorations = DB::table('decorationsFirefighters')->where("decorationsFirefighters.firefighterID", '=', $id)
+ ->whereNull('decorationsFirefighters.deleted_at')
+ ->leftJoin('decorations', 'decorationsFirefighters.decorationID', '=', 'decorations.id')
+ ->select('decorationName', 'dateOfAward', 'firefighterID', 'decorations.id AS decorationsId', 'decorationsFirefighters.id AS decorationsFirefightersID')
+ ->get();
+ $alreadyAwarded = $awardedDecorations->pluck('decorationsId')->toArray(); // tablica id wszystkich wyróżnień już posiadanych
+ $firefighter = User::find($id, ['id', 'name', 'surname']);
+ $decoration = DB::table('decorations')
+ ->whereNotIn('id', $alreadyAwarded) //ograniczenie wyboru do wyróżnień jeszcze nie posiadanych
+ ->pluck('decorationName', 'id');
+
+ return View::make("decorations")
+ ->with(compact('firefighter'))
+ ->with(compact('awardedDecorations'))
+ ->with(compact('decoration'));
+
+ } else{
+ return "Brak dostepu";
+ }
+ }
+
+ public function store()
+ {
+ $this->validate(request(),[
+ 'decoration' => 'required',
+ 'dateOfAward' => 'required',
+ ],
+ [
+ 'required' => ':attribute jest wymagany(e).',
+ ]);
+
+ $request = request();
+ $decoration = decorationsFirefighters::create([
+ 'firefighterID' => $request-> firefighterID,
+ 'decorationID' => $request-> decoration,
+ 'dateOfAward' => formatDate($request-> dateOfAward),
+ ]);
+
+ return back();
+ }
+
+ public function destroy($id)
+ {
+ decorationsFirefighters::where('id',$id)->delete();
+
+ return back();
+ }
+}
diff --git a/app/decorationsFirefighters.php b/app/decorationsFirefighters.php
new file mode 100644
index 0000000..e98da75
--- /dev/null
+++ b/app/decorationsFirefighters.php
@@ -0,0 +1,15 @@
+integer('id');
+ $table->string('decorationName');
+ });
+
+ DB::table('decorations')->insert([ 'id' => '1', 'decorationName' => 'Odznaka "Młodzieżowa Drużyna Pożarnicza" - brązowa' ]);
+ DB::table('decorations')->insert([ 'id' => '2', 'decorationName' => 'Odznaka "Młodzieżowa Drużyna Pożarnicza" - srebrna' ]);
+ DB::table('decorations')->insert([ 'id' => '3', 'decorationName' => 'Odznaka "Młodzieżowa Drużyna Pożarnicza" - złota' ]);
+ DB::table('decorations')->insert([ 'id' => '4', 'decorationName' => 'Odznaka "Za wysługę lat"' ]);
+ DB::table('decorations')->insert([ 'id' => '5', 'decorationName' => 'Odznaka "Strażak Wzorowy"' ]);
+ DB::table('decorations')->insert([ 'id' => '6', 'decorationName' => 'Medal "Za Zasługi dla Pożarnictwa" - brązowy' ]);
+ DB::table('decorations')->insert([ 'id' => '7', 'decorationName' => 'Medal "Za Zasługi dla Pożarnictwa" - srebrny' ]);
+ DB::table('decorations')->insert([ 'id' => '8', 'decorationName' => 'Medal "Za Zasługi dla Pożarnictwa" - złoty' ]);
+ DB::table('decorations')->insert([ 'id' => '9', 'decorationName' => 'Medal Honorowy im. Bolesława Chomicza' ]);
+ DB::table('decorations')->insert([ 'id' => '10', 'decorationName' => 'Złoty Znak Związku Ochotniczych Straży Pożarnych Rzeczypospolitej Polskiej' ]);
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('decorations');
+ }
+}
diff --git a/database/migrations/2019_12_31_003036_create_decorationsFirefighters_table.php b/database/migrations/2019_12_31_003036_create_decorationsFirefighters_table.php
new file mode 100644
index 0000000..1ea2e5c
--- /dev/null
+++ b/database/migrations/2019_12_31_003036_create_decorationsFirefighters_table.php
@@ -0,0 +1,35 @@
+increments('id');
+ $table->integer('firefighterID');
+ $table->integer('decorationID');
+ $table->date('dateOfAward');
+ $table->softDeletes();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('decorationsFirefighters');
+ }
+}
diff --git a/resources/lang/en/validation.php b/resources/lang/en/validation.php
index 63ecebe..4315724 100644
--- a/resources/lang/en/validation.php
+++ b/resources/lang/en/validation.php
@@ -161,7 +161,9 @@ return [
'unitName' => 'nazwa jednostki',
'longitude' => 'długość geograficzna',
'latitude' => 'szerokość geograficzna',
- 'amount' => 'ilość'
+ 'amount' => 'ilość',
+ 'decoration' => 'odznaczenie',
+ 'dateOfAward' => 'data przyznania'
],
diff --git a/resources/views/changePassword.blade.php b/resources/views/changePassword.blade.php
index 474fc9c..842de51 100644
--- a/resources/views/changePassword.blade.php
+++ b/resources/views/changePassword.blade.php
@@ -5,7 +5,8 @@
@stop
diff --git a/resources/views/decorations.blade.php b/resources/views/decorations.blade.php
new file mode 100644
index 0000000..791e107
--- /dev/null
+++ b/resources/views/decorations.blade.php
@@ -0,0 +1,70 @@
+@extends('layout.app')
+
+@section('left-menu')
+ @parent
+
+ @stop
+@section('center-area')
+ @parent
+
+ @if( auth()->check())
+ @if( auth()->user()->fireStationID == NULL)
+ Jednostka nie istnieje
+ @else
+ @if(count($awardedDecorations) > 0)
+
+
+
+ @else
+ {{ $firefighter->name }} {{ $firefighter->surname }} nie posiada żadnych odznaczeń.
+ @endif
+
+
+ @endif
+ @else
+ Brak autoryzacji
+ @endif
+
+@stop
\ No newline at end of file
diff --git a/resources/views/fireFighters.blade.php b/resources/views/fireFighters.blade.php
index a1b7975..a638fd6 100644
--- a/resources/views/fireFighters.blade.php
+++ b/resources/views/fireFighters.blade.php
@@ -4,7 +4,6 @@
@parent