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;
use Illuminate\Database\Eloquent\Collection;
class Helpers
{
public static function closetags($html) {
@ -23,4 +25,20 @@ class Helpers
}
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));
if($request->newsoption == true){
$news = new News();
$news = [
"name" => "Opdateret menuplan",
"subname" => "Uge " . $menuplan->week,
"content" => $menuplan->menu
];
$news->name = "Opdateret menuplan";
$news->subname = "Uge " . $menuplan->week;
$news->content = $menuplan->menu;
$news->save();
NewsController::storeAndGet($news);
}
return redirect()->route("menu-plans.index", ['menuPlans' => $menuPlans]);

View File

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