File: /var/www/html/fieldsblaze-heroku/app/Http/Controllers/TerritoryController.php
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Models\Territory;
use Illuminate\Http\Request;
use App\Library\UserLib;
class TerritoryController extends Controller
{
protected $userLib;
public function __construct(UserLib $userLib)
{
$this->userLib = $userLib;
}
public function allTerritory()
{
if(empty(session('UserId')))
{
return redirect('/admin/logout');
}
$territory = Territory::select('tbl_sales_territory.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_admin', 'tbl_sales_territory.Updated_by', '=', 'tbl_admin.UserId')
->where('IsDeleted','=','0')
->orderBy('tbl_sales_territory.id', 'desc')
->get();
$activeTerritory = Territory::select('tbl_sales_territory.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_admin', 'tbl_sales_territory.Updated_by', '=', 'tbl_admin.UserId')
->where('IsDeleted','=','0')
->where('tbl_sales_territory.Status', '1')
->orderBy('tbl_sales_territory.id', 'desc')
->get();
$inactiveTerritory = Territory::select('tbl_sales_territory.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_admin', 'tbl_sales_territory.Updated_by', '=', 'tbl_admin.UserId')
->where('IsDeleted','=','0')
->where('tbl_sales_territory.Status', '0')
->orderBy('tbl_sales_territory.id', 'desc')
->get();
$trashTerritory = Territory::select('tbl_sales_territory.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_admin', 'tbl_sales_territory.Updated_by', '=', 'tbl_admin.UserId')
->where('IsDeleted','=','1')
->orderBy('tbl_sales_territory.id', 'desc')
->get();
return view('admin.all-territory', ['Territory' => $territory, 'activeTerritory' => $activeTerritory, 'inactiveTerritory' => $inactiveTerritory, 'TrashTerritory' => $trashTerritory]);
}
// Active
public function activeTerritory()
{
if(empty(session('UserId')))
{
return redirect('/admin/logout');
}
$territory = Territory::select('tbl_sales_territory.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_admin', 'tbl_sales_territory.Updated_by', '=', 'tbl_admin.UserId')
->where('IsDeleted','=','0')
->orderBy('tbl_sales_territory.id', 'desc')
->get();
$activeTerritory = Territory::select('tbl_sales_territory.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_admin', 'tbl_sales_territory.Updated_by', '=', 'tbl_admin.UserId')
->where('IsDeleted','=','0')
->where('tbl_sales_territory.Status', '1')
->orderBy('tbl_sales_territory.id', 'desc')
->get();
$inactiveTerritory = Territory::select('tbl_sales_territory.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_admin', 'tbl_sales_territory.Updated_by', '=', 'tbl_admin.UserId')
->where('IsDeleted','=','0')
->where('tbl_sales_territory.Status', '0')
->orderBy('tbl_sales_territory.id', 'desc')
->get();
$trashTerritory = Territory::select('tbl_sales_territory.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_admin', 'tbl_sales_territory.Updated_by', '=', 'tbl_admin.UserId')
->where('IsDeleted','=','1')
->orderBy('tbl_sales_territory.id', 'desc')
->get();
return view('admin.active-territory', ['Territory' => $territory, 'activeTerritory' => $activeTerritory, 'inactiveTerritory' => $inactiveTerritory, 'TrashTerritory' => $trashTerritory]);
}
public function inactiveTerritory()
{
if(empty(session('UserId')))
{
return redirect('/admin/logout');
}
$territory = Territory::select('tbl_sales_territory.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_admin', 'tbl_sales_territory.Updated_by', '=', 'tbl_admin.UserId')
->where('IsDeleted','=','0')
->orderBy('tbl_sales_territory.id', 'desc')
->get();
$activeTerritory = Territory::select('tbl_sales_territory.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_admin', 'tbl_sales_territory.Updated_by', '=', 'tbl_admin.UserId')
->where('IsDeleted','=','0')
->where('tbl_sales_territory.Status', '1')
->orderBy('tbl_sales_territory.id', 'desc')
->get();
$inactiveTerritory = Territory::select('tbl_sales_territory.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_admin', 'tbl_sales_territory.Updated_by', '=', 'tbl_admin.UserId')
->where('IsDeleted','=','0')
->where('tbl_sales_territory.Status', '0')
->orderBy('tbl_sales_territory.id', 'desc')
->get();
$trashTerritory = Territory::select('tbl_sales_territory.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_admin', 'tbl_sales_territory.Updated_by', '=', 'tbl_admin.UserId')
->where('IsDeleted','=','1')
->orderBy('tbl_sales_territory.id', 'desc')
->get();
return view('admin.inactive-territory', ['Territory' => $territory, 'activeTerritory' => $activeTerritory, 'inactiveTerritory' => $inactiveTerritory, 'TrashTerritory' => $trashTerritory]);
}
public function trashTerritory()
{
if(empty(session('UserId')))
{
return redirect('/admin/logout');
}
$territory = Territory::select('tbl_sales_territory.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_admin', 'tbl_sales_territory.Updated_by', '=', 'tbl_admin.UserId')
->where('IsDeleted','=','0')
->orderBy('tbl_sales_territory.id', 'desc')
->get();
$activeTerritory = Territory::select('tbl_sales_territory.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_admin', 'tbl_sales_territory.Updated_by', '=', 'tbl_admin.UserId')
->where('IsDeleted','=','0')
->where('tbl_sales_territory.Status', '1')
->orderBy('tbl_sales_territory.id', 'desc')
->get();
$inactiveTerritory = Territory::select('tbl_sales_territory.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_admin', 'tbl_sales_territory.Updated_by', '=', 'tbl_admin.UserId')
->where('IsDeleted','=','0')
->where('tbl_sales_territory.Status', '0')
->orderBy('tbl_sales_territory.id', 'desc')
->get();
$trashTerritory = Territory::select('tbl_sales_territory.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_admin', 'tbl_sales_territory.Updated_by', '=', 'tbl_admin.UserId')
->where('IsDeleted','=','1')
->orderBy('tbl_sales_territory.id', 'desc')
->get();
return view('admin.trash-territory', ['Territory' => $territory, 'activeTerritory' => $activeTerritory, 'inactiveTerritory' => $inactiveTerritory, 'TrashTerritory' => $trashTerritory]);
}
public function viewTerritory($TerritoryId)
{
if(empty(session('UserId')))
{
return redirect('/admin/logout');
}
$viewTerritory = Territory::select('tbl_sales_territory.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')->where('TerritoryId', '=', $TerritoryId)
->leftJoin('tbl_admin', 'tbl_sales_territory.Updated_by', '=', 'tbl_admin.UserId')
->get()->first();
return view('admin.view-territory', ['Territory' => $viewTerritory]);
//return $viewTerritory;
}
### Store Records
public function storeTerritory(Request $request)
{
if(empty(session('UserId')))
{
return redirect('/admin/logout');
}
$newTerritory = new Territory;
$newTerritory->TerritoryId = $this->userLib->useridGenrator();
$newTerritory->Name = $request->input('name');
$newTerritory->Created_by = session('UserId');
$newTerritory->Updated_by = session('UserId');
$newTerritory->IsDeleted = '0';
$newTerritory->DeviceName = '';
$newTerritory->Status = '1';
$newTerritory->save();
//return redirect()->back()->with('status_success');
return response()->json('successfully');
}
#### Change Status
public function statusUpdateTerritory($id)
{
if(empty(session('UserId')))
{
return redirect('/admin/logout');
}
$data = Territory::find($id);
if ($data->Status == '1') {
$Status = '0';
} else {
$Status = '1';
}
$values = array('Status' => $Status);
Territory::find($id)->update($values);
return redirect()->back();
}
#### Delete Temporary
public function deleteTerritory($id)
{
if (empty(session('UserId'))) {
return redirect('/admin/logout');
}
$checkData = Territory::find($id);
if ($checkData->IsDeleted == '0') {
$CreatedDate = date('Y-m-d H:i:s', time());
$data = array();
$data['Updated_at'] = $CreatedDate;
$data['IsDeleted'] = '1';
$data['Status'] = '0';
$territory_update = Territory::where('id', $id)->update($data);
if ($territory_update) {
echo '1';
} else {
echo '0';
}
} else {
$destroyData = Territory::find($id);
$destroyData->delete();
}
// $CreatedDate = date('Y-m-d H:i:s', time());
// $data = array();
// $data['Updated_at'] = $CreatedDate;
// $data['IsDeleted'] = '1';
// $territory_update = Territory::where('id', $id)->update($data);
// if ($territory_update) {
// echo '1';
// } else {
// echo '0';
// }
// $value = array('IsDeleted' => '1');
// Territory::find($id)->update($value);
}
#### Delete Selected Territory
public function deleteSelectedTerritory(Request $request)
{
if (empty(session('UserId'))) {
return redirect('/admin/logout');
}
$id = $request->input('SelectedTerritory');
if ($id) {
foreach ($id as $territory) {
$checkData = Territory::find($territory);
if ($checkData->IsDeleted == '0') {
$CreatedDate = date(
'Y-m-d H:i:s',
time()
);
$data = array();
$data['Updated_at'] = $CreatedDate;
$data['IsDeleted'] = '1';
$sales_territory = Territory::where('id', $territory)->update($data);
if ($sales_territory) {
echo '1';
} else {
echo '0';
}
} else {
$sales_territory = Territory::find($territory);
$sales_territory->delete();
}
}
}
return redirect()->back()->with('status_success');
}
#### Restore
public function restoreTerritory($id)
{
if(empty(session('UserId')))
{
return redirect('/admin/logout');
}
$value = array('IsDeleted' => '0');
Territory::find($id)->update($value);
}
#### Delete Permanent
public function destroyTerritory($id)
{
if(empty(session('UserId')))
{
return redirect('/admin/logout');
}
$destroyData = Territory::find($id);
$destroyData->delete();
}
### Edit Records
public function editTerritory($id)
{
if(empty(session('UserId')))
{
return redirect('/admin/logout');
}
$Territory = Territory::find($id);
return response()->json([
'status' => 200,
'Territory' => $Territory,
]);
}
### Update Records
public function updateTerritory(Request $request)
{
if(empty(session('UserId')))
{
return redirect('/admin/logout');
}
//$user_id = Auth::id();
$territory_id = $request->input('id');
$Territory = Territory::find($territory_id);
$Territory->Name = $request->input('name');
$Territory->Updated_by = session('UserId');
$Territory->DeviceName = '';
if ($request->has('editStatus')) {
$Territory->Status = '0';
} else {
$Territory->Status = '1';
}
$Territory->update();
return redirect()->back()->with('status_success');
}
}