|
Server : Apache/2.4.41 (Ubuntu) System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64 User : www-data ( 33) PHP Version : 8.2.12 Disable Function : NONE Directory : /var/www/erp.theinteractive.co.in/app/Http/Controllers/ |
Upload File : |
<?php
namespace App\Http\Controllers;
use App\Models\EmailTemplate;
use App\Models\EmailTemplateLang;
use App\Models\Language;
use App\Models\UserEmailTemplate;
use App\Models\Utility;
use Illuminate\Http\Request;
class EmailTemplateController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$usr = \Auth::user();
if($usr->type == 'super admin' || $usr->type == 'company')
{
$EmailTemplates = EmailTemplate::all();
return view('settings.company', compact('EmailTemplates'));
}
else
{
return redirect()->back()->with('error', __('Permission denied.'));
}
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
// if(\Auth::user()->can('Create Email Template'))
// {
return view('email_templates.create');
// }
// else
// {
// return redirect()->back()->with('error', __('Permission denied.'));
// }
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
*
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
// return redirect()->back()->with('error', 'Permission denied.');
$usr = \Auth::user();
// if(\Auth::user()->can('Create Email Template'))
// {
$validator = \Validator::make(
$request->all(), [
'name' => 'required',
]
);
if($validator->fails())
{
$messages = $validator->getMessageBag();
return redirect()->back()->with('error', $messages->first());
}
$EmailTemplate = new EmailTemplate();
$EmailTemplate->name = $request->name;
$EmailTemplate->created_by = $usr->id;
$EmailTemplate->save();
return redirect()->route('email_template.index')->with('success', __('Email Template successfully created.'));
// }
// else
// {
// return redirect()->back()->with('error', __('Permission denied.'));
// }
}
/**
* Display the specified resource.
*
* @param \App\EmailTemplate $emailTemplate
*
* @return \Illuminate\Http\Response
*/
public function show()
{
return redirect()->back()->with('error', 'Permission denied.');
}
/**
* Show the form for editing the specified resource.
*
* @param \App\EmailTemplate $emailTemplate
*
* @return \Illuminate\Http\Response
*/
public function edit(EmailTemplate $emailTemplate)
{
return redirect()->back()->with('error', 'Permission denied.');
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\EmailTemplate $emailTemplate
*
* @return \Illuminate\Http\Response
*/
public function update(Request $request,$id)
{
$validator = \Validator::make(
$request->all(), [
'from' => 'required',
'subject' => 'required',
'content' => 'required',
]
);
if($validator->fails())
{
$messages = $validator->getMessageBag();
return redirect()->back()->with('error', $messages->first());
}
$emailTemplate = EmailTemplate::where('id',$id)->first();
$emailTemplate->from = $request->from;
$emailTemplate->save();
$emailLangTemplate = EmailTemplateLang::where('parent_id', '=', $id)->where('lang', '=', $request->lang)->first();
// if record not found then create new record else update it.
if(empty($emailLangTemplate))
{
$emailLangTemplate = new EmailTemplateLang();
$emailLangTemplate->parent_id = $id;
$emailLangTemplate->lang = $request['lang'];
$emailLangTemplate->subject = $request['subject'];
$emailLangTemplate->content = $request['content'];
$emailLangTemplate->save();
}
else
{
$emailLangTemplate->subject = $request['subject'];
$emailLangTemplate->content = $request['content'];
$emailLangTemplate->save();
}
return redirect()->route(
'manage.email.language', [
$emailTemplate->id,
$request->lang,
]
)->with('success', __('Email Template successfully updated.'));
}
/**
* Remove the specified resource from storage.
*
* @param \App\EmailTemplate $emailTemplate
*
* @return \Illuminate\Http\Response
*/
public function destroy(EmailTemplate $emailTemplate)
{
return redirect()->back()->with('error', 'Permission denied.');
}
// Used For View Email Template Language Wise
public function manageEmailLang($id, $lang = 'en')
{
if(\Auth::user()->type == 'super admin')
{
$languages = Utility::languages();
$LangName = Language::where('code',$lang)->first();
$emailTemplate = EmailTemplate::emailTemplateData();
$currEmailTempLang = EmailTemplateLang::where('parent_id', '=', $id)->where('lang', $lang)->first();
if(empty($currEmailTempLang))
{
return redirect()->back()->with('error', 'Data not found.');
}
if(!isset($currEmailTempLang) || empty($currEmailTempLang))
{
$currEmailTempLang = EmailTemplateLang::where('lang', $lang)->first();
$currEmailTempLang->lang = $lang;
}
if(\Auth::user()->type == 'super admin')
{
$emailTemplate = EmailTemplate::where('id', '=', $id)->first();
}
else {
$settings = Utility::settings();
$emailTemplate = $settings['company_name'];
}
$EmailTemplates = EmailTemplate::all();
return view('email_templates.show', compact('emailTemplate', 'languages', 'currEmailTempLang','EmailTemplates','LangName'));
}
else
{
return redirect()->back()->with('error', 'Permission denied.');
}
}
// Used For Store Email Template Language Wise
public function storeEmailLang(Request $request, $id)
{
$validator = \Validator::make(
$request->all(), [
'subject' => 'required',
'content' => 'required',
]
);
if($validator->fails())
{
$messages = $validator->getMessageBag();
return redirect()->back()->with('error', $messages->first());
}
$emailLangTemplate = EmailTemplateLang::where('parent_id', '=', $id)->where('lang', '=', $request->lang)->first();
// if record not found then create new record else update it.
if(empty($emailLangTemplate))
{
$emailLangTemplate = new EmailTemplateLang();
$emailLangTemplate->parent_id = $id;
$emailLangTemplate->lang = $request['lang'];
$emailLangTemplate->subject = $request['subject'];
$emailLangTemplate->content = $request['content'];
$emailLangTemplate->save();
}
else
{
$emailLangTemplate->subject = $request['subject'];
$emailLangTemplate->content = $request['content'];
$emailLangTemplate->save();
}
return redirect()->route(
'manage.email.language', [
$id,
$request->lang,
]
)->with('success', __('Email Template Detail successfully updated.'));
}
// Used For Update Status Company Wise.
public function updateStatus(Request $request)
{
$post = $request->all();
unset($post['_token']);
$usr = \Auth::user();
if($usr->type == 'super admin' || $usr->type == 'company')
{
UserEmailTemplate::where('user_id', $usr->id)->update([ 'is_active' => 0]);
foreach ($post as $key => $value) {
$UserEmailTemplate = UserEmailTemplate::where('user_id', $usr->id)->where('template_id', $key)->first();
$UserEmailTemplate->is_active = $value;
$UserEmailTemplate->save();
}
return redirect()->back()->with('success', __('Status successfully updated!'));
}
else
{
return redirect()->back()->with('error', __('Permission Denied.'));
}
}
}