From 50a69439a10e83c64fd457f06dfc8aeb0d59f342 Mon Sep 17 00:00:00 2001 From: Obenny Date: Thu, 8 Oct 2020 14:49:49 +0800 Subject: [PATCH] Commit although could not run on localhost --- .../CreateAnnouncementController.php | 21 ++++++++ .../DeleteAnnouncementController.php | 31 ++++++++++++ .../EditAnnouncementController.php | 23 +++++++++ .../PostAnnouncementController.php | 50 +++++++++++++++++++ .../UpdateAnnouncementController.php | 33 ++++++++++++ .../ViewAnnouncementController.php | 24 +++++++++ .../ViewAnnouncementsController.php | 26 ++++++++++ ...0_08_132940_create_announcements_table.php | 35 +++++++++++++ routes/web.php | 30 +++++++++++ 9 files changed, 273 insertions(+) create mode 100644 app/Http/Controllers/Announcement/CreateAnnouncementController.php create mode 100644 app/Http/Controllers/Announcement/DeleteAnnouncementController.php create mode 100644 app/Http/Controllers/Announcement/EditAnnouncementController.php create mode 100644 app/Http/Controllers/Announcement/PostAnnouncementController.php create mode 100644 app/Http/Controllers/Announcement/UpdateAnnouncementController.php create mode 100644 app/Http/Controllers/Announcement/ViewAnnouncementController.php create mode 100644 app/Http/Controllers/Announcement/ViewAnnouncementsController.php create mode 100644 database/migrations/2020_10_08_132940_create_announcements_table.php diff --git a/app/Http/Controllers/Announcement/CreateAnnouncementController.php b/app/Http/Controllers/Announcement/CreateAnnouncementController.php new file mode 100644 index 00000000..677d7df8 --- /dev/null +++ b/app/Http/Controllers/Announcement/CreateAnnouncementController.php @@ -0,0 +1,21 @@ +delete(); + + if($deleted) + { + session()->put('success', 'Announcement Successfully Deleted!'); + return redirect()->back(); + } + //the else part + session()->put('error', 'There was an error deleting this announcement!'); + return redirect()->back(); + } +} diff --git a/app/Http/Controllers/Announcement/EditAnnouncementController.php b/app/Http/Controllers/Announcement/EditAnnouncementController.php new file mode 100644 index 00000000..349676fe --- /dev/null +++ b/app/Http/Controllers/Announcement/EditAnnouncementController.php @@ -0,0 +1,23 @@ +validate($request, [ + 'startdate' => 'required', + 'enddate' => 'required', + 'content' => 'required' + ]); + + // create class objects + $announcement = new Announcement(); + $convertdate = new ConvertDateToTimeStamp(); + + //On left field name in DB and on right field name in Form/view +// $announcement->posted_by = $request->input('name'); + $announcement->start_date = $convertdate::convertDateToTimeStamp($request->input('startdate')); + $announcement->end_date = $convertdate::convertDateToTimeStamp($request->input('enddate')); + $announcement->content = $request->input('content'); + $saved = $announcement->save(); + + if($saved) + { + session()->put('success', 'Announcement Successfully Created!'); + return redirect()->back(); + } + //the else part + session()->put('error', 'There was an error creating this announcement!'); + return redirect()->back(); + + } + +} diff --git a/app/Http/Controllers/Announcement/UpdateAnnouncementController.php b/app/Http/Controllers/Announcement/UpdateAnnouncementController.php new file mode 100644 index 00000000..6357f656 --- /dev/null +++ b/app/Http/Controllers/Announcement/UpdateAnnouncementController.php @@ -0,0 +1,33 @@ +validate([ + 'content' => 'required', + ]); + $updated = Announcement::whereId($id)->update($validatedData); + if($updated) + { + session()->put('success', 'Announcement Successfully Updated!'); + return redirect()->back(); + } + //the else part + session()->put('error', 'There was an error updating this announcement!'); + return redirect()->back(); + } +} diff --git a/app/Http/Controllers/Announcement/ViewAnnouncementController.php b/app/Http/Controllers/Announcement/ViewAnnouncementController.php new file mode 100644 index 00000000..97876c41 --- /dev/null +++ b/app/Http/Controllers/Announcement/ViewAnnouncementController.php @@ -0,0 +1,24 @@ +whereDate('end_date', '>=', Carbon::now()) + ->get(); + return view('announcement.view_announcements', compact('announcements')); + } + +} diff --git a/database/migrations/2020_10_08_132940_create_announcements_table.php b/database/migrations/2020_10_08_132940_create_announcements_table.php new file mode 100644 index 00000000..ebd42348 --- /dev/null +++ b/database/migrations/2020_10_08_132940_create_announcements_table.php @@ -0,0 +1,35 @@ +increments('id'); +// $table->string('posted_by'); + $table->timestamp('start_date')->nullable(); + $table->timestamp('end_date')->nullable(); + $table->longText('content'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('announcements'); + } +} diff --git a/routes/web.php b/routes/web.php index d1d23a25..9f1fcfce 100644 --- a/routes/web.php +++ b/routes/web.php @@ -56,3 +56,33 @@ Route::get('{path}', 'WelcomeController@index')->where('path', '(.*)'); Auth::routes(); //Route::get('/home', 'WelcomeController@index')->name('home'); + + +// +// +// + +//create data +Route::get('/announcement/create', 'App\Http\Controllers\Announcement\CreateAnnouncementController@create')->name('announcement.create'); + +//store data +Route::post('/announcement/post', 'App\Http\Controllers\Announcement\PostAnnouncementController@store')->name('announcement.post'); + +//list all data +Route::get('/announcements/view', 'App\Http\Controllers\Announcement\ViewAnnouncementsController@index')->name('announcements.view'); + +//list a data +Route::get('/announcement/{id}/view', 'App\Http\Controllers\Announcement\ViewAnnouncementController@show')->name('announcement.view'); + +//edit data +Route::get('/announcement/{id}/edit', 'App\Http\Controllers\Announcement\EditAnnouncementController@edit')->name('announcement.edit'); + +//update data +Route::put('/announcement/{id}/update', 'App\Http\Controllers\Announcement\UpdateAnnouncementController@update')->name('announcement.update'); + +//delete data +Route::delete('/announcement/{id}/delete', 'App\Http\Controllers\Announcement\DeleteAnnouncementController@destroy')->name('announcement.delete'); + +// +// +// \ No newline at end of file