orderBy('type_id')->simplePaginate(20); $title = "List email template"; return view('admin.template.index', compact('template', 'title')); } public function create() { $title = "Add new email template"; $type = Type::select('name', 'id')->get(); return view('admin.template.add', compact('title', 'type')); } public function store(Request $request) { $request->validate([ 'type_id' => 'required', 'name' => 'required', 'subject' => 'required', 'message' => 'required' ]); try { DB::beginTransaction(); Template::create($request->all()); DB::commit(); } catch (Exception $exception) { DB::rollBack(); return back()->withErrors($exception->getMessage()); } return redirect()->route('template.index')->with('success', 'Add hew template success'); } public function edit(Request $request) { $validator = Validator::make($request->all(), [ 'id' => 'numeric|required|not__in:0' ], [ 'id' => [ 'required' => 'Please choose Template' ] ]); if ($validator->fails()) { return back()->withErrors($validator); } $template = Template::find($request->id); if (!$template) { return back()->withErrors('Invalidate request'); } $title = "View email template"; $type = Type::select('name', 'id')->get(); return view('admin.template.edit', compact('title', 'type', 'template')); } public function update(Request $request) { $validator = Validator::make($request->all(), [ 'type_id' => 'required', 'name' => 'required', 'subject' => 'required', 'status' => 'required', 'message' => 'required', 'id' => 'numeric|required|not__in:0' ], [ 'id' => [ 'required' => 'Please choose Template' ] ] ); if ($validator->fails()) { return back()->withErrors($validator); } $template = Template::find($request->id); if (!$template) { return back()->withErrors('Invalidate request'); } try { DB::beginTransaction(); $template->update($request->except(['id','_token','_method'])); DB::commit(); } catch (\Exception $error) { DB::rollBack(); return back()->withErrors($error->getMessage()); } return redirect()->route('template.index')->with('success','Update new information for template'); } public function destroy(Request $request) { $validator = Validator::make($request->all(), [ 'id' => 'numeric|required|not__in:0' ], [ 'id' => [ 'required' => 'Please choose Template' ] ]); if ($validator->fails()) { return back()->withErrors($validator); } $template = Template::find($request->id); if (!$template) { return back()->withErrors('Invalidate request'); } if (in_array($request->id,[])) { return back()->withErrors('Invalidate request'); } $template->detele(); return back()->with('success','Delete success'); } }