255 lines
7.3 KiB
PHP
255 lines
7.3 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Backend;
|
|
|
|
use Exception;
|
|
use App\Models\Sant;
|
|
use App\Models\Thana;
|
|
use App\Models\Dharma;
|
|
use App\Models\SantTemp;
|
|
use App\Models\Sampraday;
|
|
use App\Constant\Constant;
|
|
use App\Models\ThanaMember;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Http\JsonResponse;
|
|
use Illuminate\Support\Facades\Log;
|
|
use App\Http\Controllers\BaseController;
|
|
use App\Http\Requests\Sant\StoreSantRequest;
|
|
use App\Http\Requests\Sant\UpdateSantRequest;
|
|
use App\Repositories\Backend\Sant\SantService;
|
|
|
|
class SantController extends BaseController
|
|
{
|
|
/**
|
|
* @var SantService
|
|
*/
|
|
protected $santService;
|
|
|
|
/**
|
|
* SantController constructor.
|
|
* @param SantService $santService
|
|
*/
|
|
public function __construct(SantService $santService)
|
|
{
|
|
$this->santService = $santService;
|
|
}
|
|
|
|
/**
|
|
* This function is returning the Datatable columns response
|
|
*
|
|
* @param Request $request
|
|
* @return array|object
|
|
*/
|
|
public function getSantListing(Request $request)
|
|
{
|
|
$response = [];
|
|
|
|
try {
|
|
$response = $this->santService->getForDataTable($request->all());
|
|
} catch (Exception $ex) {
|
|
Log::error($ex->getMessage());
|
|
}
|
|
|
|
return $response;
|
|
}
|
|
|
|
/**
|
|
* Display a listing of the resource.
|
|
*
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function index()
|
|
{
|
|
try {
|
|
$dharmas = Dharma::pluck('name','id');
|
|
$sampradaies = [];
|
|
} catch (Exception $ex) {
|
|
Log::error($ex->getMessage());
|
|
}
|
|
|
|
return view('backend.sant.list', compact('dharmas', 'sampradaies'));
|
|
}
|
|
|
|
/**
|
|
* Show the form for creating a new resource.
|
|
*
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function create()
|
|
{
|
|
try {
|
|
$guruName = Sant::pluck('name','id');
|
|
$dharmaName = Dharma::pluck('name','id');
|
|
$sampradayName = [];
|
|
} catch (Exception $ex) {
|
|
Log::error($ex->getMessage());
|
|
}
|
|
|
|
return view('backend.sant.create', compact('guruName', 'dharmaName', 'sampradayName'));
|
|
}
|
|
|
|
/**
|
|
* Store a newly created resource in storage.
|
|
*
|
|
* @param \App\Http\Requests\StoreSantRequest $request
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function store(StoreSantRequest $request)
|
|
{
|
|
try {
|
|
$response = $this->santService->create($request);
|
|
|
|
if ($response) {
|
|
return redirect(route('admin.sant.index'))
|
|
->with('flash_success', __('message.create_sant_success'));
|
|
}
|
|
} catch (Exception $ex) {
|
|
Log::error($ex->getMessage());
|
|
}
|
|
|
|
return redirect()->back()->with('flash_error', __('message.create_sant_error'));
|
|
}
|
|
|
|
/**
|
|
* Display the specified resource.
|
|
*
|
|
* @param \App\Models\Sant $sant
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function show(Sant $sant)
|
|
{
|
|
//
|
|
}
|
|
|
|
/**
|
|
* Show the form for editing the specified resource.
|
|
*
|
|
* @param \App\Models\Sant $sant
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function edit(SantTemp $sant)
|
|
{
|
|
try {
|
|
$thanaMembers = [];
|
|
$thana = [];
|
|
$santLive = Sant::find($sant->sant_id);
|
|
$thanaMemberExist = ThanaMember::where('sant_id', $sant->sant_id)->select('thana_id')->first();
|
|
|
|
if (!empty($thanaMemberExist)) {
|
|
$thanaOfSant = $santLive->ownedThana()->first();
|
|
$thana = Thana::find($thanaMemberExist->thana_id);
|
|
$thanaMembers = $thana->getThanaMember()->with(['dharm', 'sampraday'])->get();
|
|
}
|
|
|
|
$guruName = SantTemp::pluck('name','sant_id');
|
|
$dharmaName = Dharma::pluck('name','id');
|
|
$sampradayName = Sampraday::pluck('name','id');
|
|
$sant = $sant->load(['sampraday', 'createdBy:id,name', 'updatedBy:id,name']);
|
|
} catch (Exception $ex) {
|
|
Log::error($ex->getMessage());
|
|
}
|
|
|
|
return view('backend.sant.edit', compact('guruName', 'dharmaName', 'sampradayName', 'sant', 'thana', 'thanaMembers', 'santLive'));
|
|
}
|
|
|
|
/**
|
|
* Update the specified resource in storage.
|
|
*
|
|
* @param \App\Http\Requests\UpdateSantRequest $request
|
|
* @param \App\Models\Sant $sant
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function update(UpdateSantRequest $request, SantTemp $sant)
|
|
{
|
|
try {
|
|
$response = $this->santService->update($sant, $request);
|
|
|
|
if ($response) {
|
|
return redirect(route('admin.sant.index'))
|
|
->with('flash_success', __('message.update_sant_success'));
|
|
}
|
|
} catch (Exception $ex) {
|
|
Log::error($ex->getMessage());
|
|
}
|
|
|
|
return redirect()->back()->with('flash_error', __('message.update_sant_error'));
|
|
}
|
|
|
|
/**
|
|
* Remove the specified resource from storage.
|
|
*
|
|
* @param \App\Models\Sant $sant
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function destroy(Sant $sant)
|
|
{
|
|
//
|
|
}
|
|
|
|
/**
|
|
* This function is for the grid checkbox multiple records actions
|
|
*
|
|
* @param Request $request
|
|
* @return JsonResponse
|
|
*/
|
|
public function gridRecordsAction(Request $request): JsonResponse
|
|
{
|
|
try {
|
|
$actionType = $request->action_type ?? Constant::NULL;
|
|
$checkedRecords = $request->checked_records ?? [];
|
|
$updateStatus = $this->santService->gridActions($actionType, $checkedRecords);
|
|
|
|
if ($updateStatus) {
|
|
return response()->json(['success' => Constant::STATUS_TRUE, 'message' => __('message.update_sant_success')]);
|
|
}
|
|
} catch (Exception $ex) {
|
|
Log::error($ex->getMessage());
|
|
}
|
|
|
|
return response()->json(['error' => Constant::STATUS_TRUE, 'message' => __('message.something_went_wrong')]);
|
|
}
|
|
|
|
/**
|
|
* Import bulk sant data from excel.
|
|
*
|
|
* @param \App\Http\Requests\Request $request
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function import(Request $request)
|
|
{
|
|
try {
|
|
$response = $this->santService->importSant($request);
|
|
|
|
// if ($response) {
|
|
return redirect(route('admin.sant.index'))
|
|
->with('flash_success', __('message.sant_import_success'));
|
|
// }
|
|
} catch (Exception $ex) {
|
|
Log::error($ex->getMessage());
|
|
}
|
|
|
|
return redirect()->back()->with('flash_error', __('message.something_went_wrong'));
|
|
}
|
|
|
|
/**
|
|
* This function is to remove thana memeber
|
|
*
|
|
* @param \App\Http\Requests\Request $request
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function removeThanaMember($santID, $thanaID)
|
|
{
|
|
try {
|
|
$response = $this->santService->removeThanaMember($santID, $thanaID);
|
|
|
|
if ($response) {
|
|
return redirect()->back()->with('flash_success', __('message.remove_thana_success'));
|
|
}
|
|
} catch (Exception $ex) {
|
|
Log::error($ex->getMessage());
|
|
|
|
return redirect()->back()->with('flash_error', __('message.something_went_wrong'));
|
|
}
|
|
}
|
|
}
|