v0.9.2 - Added send notifications

This commit is contained in:
frederikpyt 2020-08-12 15:26:32 +02:00
parent e06504b5fb
commit fff03fd131
3 changed files with 49 additions and 9 deletions

View File

@ -2,6 +2,8 @@
namespace App; namespace App;
use Illuminate\Database\Eloquent\Collection;
class Helpers class Helpers
{ {
public static function closetags($html) { public static function closetags($html) {
@ -23,4 +25,20 @@ class Helpers
} }
return $html; return $html;
} }
public static function sendNewsNotification(News $news, Collection $users){
foreach ($users as $user) {
$email = $user->email;
if($news->name !== "")
$subject = $news->name;
else
$subject = $news->subname;
$msg = "Hej " . $user->name_first . " ". $user->name_last . ".\n\nDer er kommet en ny nyhed i skolehjems appen! ";
mail($email, $subject, $msg);
}
}
} }

View File

@ -138,13 +138,13 @@ class MenuPlanController extends Controller
$menuPlans = MenuPlan::query()->paginate($request->input("limit", 20)); $menuPlans = MenuPlan::query()->paginate($request->input("limit", 20));
if($request->newsoption == true){ if($request->newsoption == true){
$news = new News(); $news = [
"name" => "Opdateret menuplan",
"subname" => "Uge " . $menuplan->week,
"content" => $menuplan->menu
];
$news->name = "Opdateret menuplan"; NewsController::storeAndGet($news);
$news->subname = "Uge " . $menuplan->week;
$news->content = $menuplan->menu;
$news->save();
} }
return redirect()->route("menu-plans.index", ['menuPlans' => $menuPlans]); return redirect()->route("menu-plans.index", ['menuPlans' => $menuPlans]);

View File

@ -2,7 +2,11 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Helpers;
use App\News; use App\News;
use App\User;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Http\Response; use Illuminate\Http\Response;
@ -45,7 +49,7 @@ class NewsController extends Controller
* Store a newly created resource in storage. * Store a newly created resource in storage.
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\RedirectResponse * @return RedirectResponse
*/ */
public function store(Request $request) public function store(Request $request)
{ {
@ -58,9 +62,27 @@ class NewsController extends Controller
$news->name = ""; $news->name = "";
$news->save(); $news->save();
Helpers::sendNewsNotification($news, User::all());
return redirect()->route("news.index"); return redirect()->route("news.index");
} }
/**
* Store a newly created resource in storage.
*
* @return News
*/
public static function storeAndGet($request)
{
$news = new News($request);
$news->name = "";
$news->save();
Helpers::sendNewsNotification($news, User::all());
return $news;
}
/** /**
* Display the specified resource. * Display the specified resource.
* *
@ -88,7 +110,7 @@ class NewsController extends Controller
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @param \App\News $news * @param \App\News $news
* @return \Illuminate\Http\RedirectResponse * @return RedirectResponse
*/ */
public function update(Request $request, News $news) public function update(Request $request, News $news)
{ {
@ -106,7 +128,7 @@ class NewsController extends Controller
* Remove the specified resource from storage. * Remove the specified resource from storage.
* *
* @param \App\News $news * @param \App\News $news
* @return \Illuminate\Http\RedirectResponse * @return RedirectResponse
* @throws \Exception * @throws \Exception
*/ */
public function destroy(News $news) public function destroy(News $news)