update v 1.0.7.5
This commit is contained in:
258
app/Http/Controllers/Common/TemplateController.php
Normal file
258
app/Http/Controllers/Common/TemplateController.php
Normal file
@@ -0,0 +1,258 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Common;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\helpdesk\TemplateRequest;
|
||||
use App\Http\Requests\helpdesk\TemplateUdate;
|
||||
use App\Model\Common\Template;
|
||||
use App\Model\Common\TemplateType;
|
||||
use Illuminate\Http\Request;
|
||||
use Lang;
|
||||
|
||||
/**
|
||||
* |======================================================
|
||||
* | Class Template Controller
|
||||
* |======================================================
|
||||
* This controller is for CRUD email templates.
|
||||
*/
|
||||
class TemplateController extends Controller
|
||||
{
|
||||
public $template;
|
||||
public $type;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('auth');
|
||||
$this->middleware('roles');
|
||||
|
||||
$template = new Template();
|
||||
$this->template = $template;
|
||||
|
||||
$type = new TemplateType();
|
||||
$this->type = $type;
|
||||
}
|
||||
|
||||
/**
|
||||
* get the list of templates.
|
||||
*
|
||||
* @return type view
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
try {
|
||||
return view('themes.default1.common.template.inbox');
|
||||
} catch (\Exception $ex) {
|
||||
return redirect()->back()->with('fails', $ex->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Show template
|
||||
* This template to show a particular template.
|
||||
*
|
||||
* @param type $id
|
||||
*
|
||||
* @return type view
|
||||
*/
|
||||
public function showTemplate($id)
|
||||
{
|
||||
try {
|
||||
$templates = Template::where('set_id', '=', $id)->get();
|
||||
|
||||
return view('themes.default1.common.template.list-templates', compact('templates'));
|
||||
} catch (\Exception $ex) {
|
||||
return redirect()->back()->with('fails', $ex->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This function is used to display chumper datatables of the template list.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
*
|
||||
* @return type datatable
|
||||
*/
|
||||
public function GetTemplates(Request $request)
|
||||
{
|
||||
$id = $request->input('id');
|
||||
|
||||
return \Datatable::collection($this->template->where('set_id', '=', $id)->select('id', 'name', 'type')->get())
|
||||
->showColumns('name')
|
||||
->addColumn('type', function ($model) {
|
||||
return $this->type->where('id', $model->type)->first()->name;
|
||||
})
|
||||
->addColumn('action', function ($model) {
|
||||
return '<a href='.url('templates/'.$model->id.'/edit')." class='btn btn-sm btn-primary'>Edit</a>";
|
||||
})
|
||||
->searchColumns('name')
|
||||
->orderColumns('name')
|
||||
->make();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return type view
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
try {
|
||||
$i = $this->template->orderBy('created_at', 'desc')->first()->id + 1;
|
||||
$type = $this->type->lists('name', 'id')->toArray();
|
||||
|
||||
return view('themes.default1.common.template.create', compact('type'));
|
||||
} catch (\Exception $ex) {
|
||||
return redirect()->back()->with('fails', $ex->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* To store a set of templates.
|
||||
*
|
||||
* @param \App\Http\Requests\helpdesk\TemplateRequest $request
|
||||
*
|
||||
* @return type redirect
|
||||
*/
|
||||
public function store(TemplateRequest $request)
|
||||
{
|
||||
try {
|
||||
//dd($request);
|
||||
$this->template->fill($request->input())->save();
|
||||
|
||||
return redirect('templates')->with('success', Lang::get('lang.template_saved_successfully'));
|
||||
} catch (\Exception $ex) {
|
||||
return redirect()->back()->with('fails', $ex->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public function edit($id)
|
||||
{
|
||||
try {
|
||||
$i = $this->template->orderBy('created_at', 'desc')->first()->id + 1;
|
||||
$template = $this->template->where('id', $id)->first();
|
||||
$type = $this->type->lists('name', 'id')->toArray();
|
||||
|
||||
return view('themes.default1.common.template.edit', compact('type', 'template'));
|
||||
} catch (\Exception $ex) {
|
||||
return redirect()->back()->with('fails', $ex->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public function update($id, TemplateUdate $request)
|
||||
{
|
||||
try {
|
||||
//dd($request);
|
||||
$template = $this->template->where('id', $id)->first();
|
||||
$template->fill($request->input())->save();
|
||||
|
||||
return redirect()->back()->with('success', Lang::get('lang.template_updated_successfully'));
|
||||
} catch (\Exception $ex) {
|
||||
return redirect()->back()->with('fails', $ex->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function destroy(Request $request)
|
||||
{
|
||||
try {
|
||||
$ids = $request->input('select');
|
||||
if (!empty($ids)) {
|
||||
foreach ($ids as $id) {
|
||||
$template = $this->template->where('id', $id)->first();
|
||||
if ($template) {
|
||||
$template->delete();
|
||||
} else {
|
||||
echo "<div class='alert alert-danger alert-dismissable'>
|
||||
<i class='fa fa-ban'></i>
|
||||
<b>".\Lang::get('message.alert').'!</b>
|
||||
<button type=button class=close data-dismiss=alert aria-hidden=true>×</button>
|
||||
'.\Lang::get('message.no-record').'
|
||||
</div>';
|
||||
}
|
||||
}
|
||||
echo "<div class='alert alert-success alert-dismissable'>
|
||||
<i class='fa fa-ban'></i>
|
||||
<b>
|
||||
<button type=button class=close data-dismiss=alert aria-hidden=true>×</button>
|
||||
".\Lang::get('message.deleted-successfully').'
|
||||
</div>';
|
||||
} else {
|
||||
echo "<div class='alert alert-danger alert-dismissable'>
|
||||
<i class='fa fa-ban'></i>
|
||||
<b>".\Lang::get('message.alert').'!</b>
|
||||
<button type=button class=close data-dismiss=alert aria-hidden=true>×</button>
|
||||
'.\Lang::get('message.select-a-row').'
|
||||
</div>';
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
echo "<div class='alert alert-danger alert-dismissable'>
|
||||
<i class='fa fa-ban'></i>
|
||||
<b>".\Lang::get('message.alert').'!</b>
|
||||
<button type=button class=close data-dismiss=alert aria-hidden=true>×</button>
|
||||
'.$e->getMessage().'
|
||||
</div>';
|
||||
}
|
||||
}
|
||||
|
||||
public function show($id)
|
||||
{
|
||||
//dd($currency);
|
||||
try {
|
||||
if ($this->template->where('type', 3)->where('id', $id)->first()) {
|
||||
$data = $this->template->where('type', 3)->where('id', $id)->first()->data;
|
||||
$products = $this->product->where('id', '!=', 1)->take(4)->get();
|
||||
if (count($products) > 0) {
|
||||
$template = '';
|
||||
foreach ($products as $product) {
|
||||
//dd($this->checkPriceWithTaxClass($product->id, $currency));
|
||||
$url = $product->shoping_cart_link;
|
||||
$title = $product->name;
|
||||
if ($product->description) {
|
||||
$description = str_replace('</ul>', '', str_replace('<ul>', '', $product->description));
|
||||
} else {
|
||||
$description = '';
|
||||
}
|
||||
$currency = \Session::get('currency');
|
||||
if ($this->price->where('product_id', $product->id)->where('currency', $currency)->first()) {
|
||||
$product_currency = $this->price->where('product_id', $product->id)->where('currency', $currency)->first();
|
||||
$code = $product_currency->currency;
|
||||
$currency = $this->currency->where('code', $code)->first();
|
||||
if ($currency->symbol) {
|
||||
$currency = $currency->symbol;
|
||||
} else {
|
||||
$currency = $currency->code;
|
||||
}
|
||||
$price = \App\Http\Controllers\Front\CartController::calculateTax($product->id, $product_currency->currency, 1, 0, 1);
|
||||
|
||||
$subscription = $this->plan->where('id', $product_currency->subscription)->first()->name;
|
||||
} else {
|
||||
return redirect('/')->with('fails', \Lang::get('message.no-such-currency-in-system'));
|
||||
}
|
||||
|
||||
$array1 = ['{{title}}', '{{currency}}', '{{price}}', '{{subscription}}', '<li>{{feature}}</li>', '{{url}}'];
|
||||
$array2 = [$title, $currency, $price, $subscription, $description, $url];
|
||||
$template .= str_replace($array1, $array2, $data);
|
||||
}
|
||||
|
||||
//dd($template);
|
||||
return view('themes.default1.common.template.shoppingcart', compact('template'));
|
||||
} else {
|
||||
$template = '<p>No Products</p>';
|
||||
|
||||
return view('themes.default1.common.template.shoppingcart', compact('template'));
|
||||
}
|
||||
} else {
|
||||
return redirect('/')->with('fails', 'no such record');
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
dd($e);
|
||||
|
||||
return redirect('/')->with('fails', $e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user