Files
portal-api/app/Http/Controllers/admin/TemplateController.php
T
pbao9 17b02631e4 Refactor views to use new layout structure and update routes for administrator pages
- Changed view extends from "admin.main" to "administrator.layout.master" across multiple files.
- Updated route names in admin.php and administrator.php to reflect new structure for user, order, invoice, and other management functionalities.
- Adjusted view includes to point to the new directory structure for blocks and components.
- Ensured all permission checks remain intact while refactoring the views.
2026-02-02 10:31:11 +07:00

141 lines
3.9 KiB
PHP

<?php
namespace App\Http\Controllers\admin;
use App\Http\Controllers\Controller;
use App\Models\Template;
use App\Models\Type;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Validator;
use Mockery\Exception;
class TemplateController extends Controller
{
public function index()
{
$template = Template::with('Type')->orderBy('type_id')->simplePaginate(20);
$title = "List email template";
return view('administrator.pages.template.index', compact('template', 'title'));
}
public function create()
{
$title = "Add new email template";
$type = Type::select('name', 'id')->get();
return view('administrator.pages.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('administrator.pages.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');
}
}