diff --git a/app/Http/Controllers/API/v1/Voter/AttendanceController.php b/app/Http/Controllers/API/v1/Voter/AttendanceController.php new file mode 100644 index 0000000..c36b913 --- /dev/null +++ b/app/Http/Controllers/API/v1/Voter/AttendanceController.php @@ -0,0 +1,60 @@ +validateRequest($request, $id); + $this->updateAttendance($request, $id); + return response()->json([ + 'status' => 'success', + 'message' => 'Kehadiran anda telah disahkan.' + ]); + } + + private function validateRequest($request, $id) + { + $this->validate($request, [ + 'name' => [ + 'required', + Rule::unique('voter')->ignore($id)->where(function($query){ + $query->where('election_id', Util::getCurrentElection()); + }) + ], + 'no_kp' => [ + 'required', + Rule::unique('voter')->ignore($id)->where(function($query){ + $query->where('election_id', Util::getCurrentElection()); + }) + ], + + 'unit' => 'required', + + 'no_anggota' => [ + 'required', + Rule::unique('voter')->ignore($id)->where(function($query){ + $query->where('election_id', Util::getCurrentElection()); + }) + ], + + 'kehadiran' => 'required' + + ]); + } + + private function updateAttendance($request, $id) + { + $voter = $request->all(); + Voter::find($id)->update($voter); + } + +} diff --git a/app/Voter.php b/app/Voter.php index 0ccd09e..6c00b2c 100644 --- a/app/Voter.php +++ b/app/Voter.php @@ -10,5 +10,5 @@ class Voter extends Authenticatable use HasApiTokens; protected $table = 'voter'; - protected $fillable = ['name', 'no_kp', 'no_anggota','unit', 'election_id', 'alamat', 'telefon', 'saham', 'yuran']; + protected $fillable = ['name', 'no_kp', 'no_anggota','unit', 'election_id', 'alamat', 'telefon', 'saham', 'yuran', 'kehadiran']; } diff --git a/database/migrations/2024_04_15_120701_add_kehadiran_to_voter_table.php b/database/migrations/2024_04_15_120701_add_kehadiran_to_voter_table.php new file mode 100644 index 0000000..a25c4e8 --- /dev/null +++ b/database/migrations/2024_04_15_120701_add_kehadiran_to_voter_table.php @@ -0,0 +1,35 @@ +integer('kehadiran'); + + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('voter', function (Blueprint $table) { + // + $table->dropColumn('kehadiran'); + }); + } +} diff --git a/resources/assets/js/components/demo/admin/index.vue b/resources/assets/js/components/demo/admin/index.vue index cb46a9c..f4bdbc2 100644 --- a/resources/assets/js/components/demo/admin/index.vue +++ b/resources/assets/js/components/demo/admin/index.vue @@ -20,9 +20,9 @@ Jawatan - + Anggota Koperasi @@ -32,6 +32,10 @@ Calon + + Kehadiran + + diff --git a/resources/assets/js/components/demo/voter/home/attendance.vue b/resources/assets/js/components/demo/voter/home/attendance.vue index 5bbd978..a18d3e2 100644 --- a/resources/assets/js/components/demo/voter/home/attendance.vue +++ b/resources/assets/js/components/demo/voter/home/attendance.vue @@ -3,134 +3,84 @@ Pendaftaran Kehadiran - - No. Kad Pengenalan : {{ data.user.no_kp }} - No. Anggota : {{ data.user.no_anggota }} - Nama : {{ data.user.name }} - Unit : {{ data.user.unit }} - - - SAYA TERIMA - - - - - - - Maklumat Undian - - - - {{ getPosition(result.position_id) }} : {{ getNominee(result.nominee_id) }} - - - - - - + + No. Anggota : + + + + + Unit : + + + + + Kehadiran : + + Fizikal + Maya + + + + + *Elaun akan diberikan setelah pengundi membuat pengesahan kehadiran + *Pendaftaran online sehingga jam 10 pagi + + + + + + +
*Elaun akan diberikan setelah pengundi membuat pengesahan kehadiran
*Pendaftaran online sehingga jam 10 pagi