File: /home/xedaptot/ai.naniguide.com/app/Http/Controllers/Admin/SystemTemplateController.php
<?php
namespace App\Http\Controllers\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class SystemTemplateController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index(Request $request)
{
if ($request->user()->admin->getPermission('layout_read') == 'no') {
return $this->notAuthorized();
}
//
$pricingPageSystemTemplate = \App\Model\SystemTemplate::where('alias', 'pricing_page')->first();
return view('admin.system_templates.index', [
'pricingPageSystemTemplate' => $pricingPageSystemTemplate,
]);
}
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function listing(Request $request)
{
if ($request->user()->admin->getPermission('layout_read') == 'no') {
return $this->notAuthorized();
}
$systemTemplates = \App\Model\SystemTemplate::search($request)->orderBy('system_templates.id', 'asc')->paginate($request->per_page);
return view('admin.system_templates._list', [
'systemTemplates' => $systemTemplates,
]);
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
*
* @return \Illuminate\Http\Response
*/
public function edit(Request $request, $id)
{
// Generate info
$user = $request->user();
$systemTemplate = \App\Model\SystemTemplate::findByUid($id);
// authorize
if (\Gate::denies('update', $systemTemplate)) {
return $this->notAuthorized();
}
return view('admin.system_templates.edit', [
'systemTemplate' => $systemTemplate,
'template' => $systemTemplate->template,
'templates' => collect([]),
]);
}
public function save(Request $request, $id)
{
// Generate info
$user = $request->user();
$systemTemplate = \App\Model\SystemTemplate::findByUid($id);
// authorize
if (\Gate::denies('update', $systemTemplate)) {
return $this->notAuthorized();
}
//
$validator = $systemTemplate->template->updateContent($request->json, $request->content);
//
if ($validator->fails()) {
return response()->json($validator->errors(), 400);
}
//
return response()->json([
'status' => 'success',
]);
}
public function pricingPageBuilder(Request $request)
{
$pricingPageSystemTemplate = \App\Model\SystemTemplate::getPricingPageSystemTemplate();
$pricingListCollection = \App\Model\SystemTemplate::getPricingListCollection();
return view('admin.system_templates.pricingPageBuilder', [
'pricingPageSystemTemplate' => $pricingPageSystemTemplate,
'template' => $pricingPageSystemTemplate->template,
'pricingListJson' => json_encode($pricingListCollection),
]);
}
}