Commit a77f5c98 by Arpit Jain

Working on pagination task

parent 43a9b46c
...@@ -17,7 +17,6 @@ class HomepageController extends AdminController ...@@ -17,7 +17,6 @@ class HomepageController extends AdminController
$this->record_per_page=10; $this->record_per_page=10;
} }
public function homepagesList(Request $request) { public function homepagesList(Request $request) {
$admin_id = $request->session()->get('id'); $admin_id = $request->session()->get('id');
...@@ -39,13 +38,12 @@ class HomepageController extends AdminController ...@@ -39,13 +38,12 @@ class HomepageController extends AdminController
public function saveHomepage(Request $request) { public function saveHomepage(Request $request) {
$user_id = auth()->user('id'); $user_id = auth()->user('id');
if ($request->all()) { dd($request->all()); if ($request->all()) {
$header_image_normal = trim($request->header_image_normal); $header_image_normal = trim($request->header_image_normal);
$header_image_mobile = trim($request->header_image_mobile); $header_image_mobile = trim($request->header_image_mobile);
$footer_image_normal = trim($request->footer_image_normal); $footer_image_normal = trim($request->footer_image_normal);
$footer_image_mobile = trim($request->footer_image_mobile); $footer_image_mobile = trim($request->footer_image_mobile);
$created_by = trim($user_id->id); $created_by = trim($user_id->id);
$status = trim($request->status);
$meta_title = trim($request->meta_title); $meta_title = trim($request->meta_title);
$meta_keyword = trim($request->meta_keyword); $meta_keyword = trim($request->meta_keyword);
$meta_description = trim($request->meta_description); $meta_description = trim($request->meta_description);
...@@ -78,7 +76,6 @@ class HomepageController extends AdminController ...@@ -78,7 +76,6 @@ class HomepageController extends AdminController
$homepage->footer_image_mobile = $request->file('footer_image_mobile')->store('image'); $homepage->footer_image_mobile = $request->file('footer_image_mobile')->store('image');
} }
$homepage->status = $status;
$homepage->meta_title = $meta_title; $homepage->meta_title = $meta_title;
$homepage->meta_keyword = $meta_keyword; $homepage->meta_keyword = $meta_keyword;
$homepage->meta_description = $meta_description; $homepage->meta_description = $meta_description;
...@@ -95,73 +92,44 @@ class HomepageController extends AdminController ...@@ -95,73 +92,44 @@ class HomepageController extends AdminController
if(!empty($id)){ if(!empty($id)){
$data = Homepage::find($id); $data = Homepage::find($id);
} }
return view('admin.homepages.edit'); return view('admin.homepages.edit',compact('data'));
} }
/**
* Function add_homepage public function updateHomepage(Request $request, $id) {
*
* function to add homepage
*
* @Created Date: 02 July,2019
* @Modified Date: 02 July,2019
* @param ARRAY
* @return STRING
*/
public function add_homepage(Request $request, $id = '') {
$user_id = auth()->user('id'); $user_id = auth()->user('id');
$data = array(); $data = array();
if(!empty($id)){ if(!empty($id)){
$data = Homepage::find($id); $data = Homepage::find($id);
} }
if ($request->all()) { //post
if ($request->all()) { //dd($request->all());
$header_image_normal = trim($request->header_image_normal); $header_image_normal = trim($request->header_image_normal);
$header_image_mobile = trim($request->header_image_mobile); $header_image_mobile = trim($request->header_image_mobile);
$footer_image_normal = trim($request->footer_image_normal); $footer_image_normal = trim($request->footer_image_normal);
$footer_image_mobile = trim($request->footer_image_mobile); $footer_image_mobile = trim($request->footer_image_mobile);
$created_by = trim($user_id->id); $created_by = trim($user_id->id);
$status = trim($request->status);
$meta_title = trim($request->meta_title); $meta_title = trim($request->meta_title);
$meta_keyword = trim($request->meta_keyword); $meta_keyword = trim($request->meta_keyword);
$meta_description = trim($request->meta_description); $meta_description = trim($request->meta_description);
if ($id) { $validator = Validator::make($request->all(), [
//Validate the input 'header_image_normal' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048',
$validator = Validator::make($request->all(), [ 'header_image_mobile' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048',
'header_image_normal' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048', 'footer_image_normal' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048',
'header_image_mobile' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048', 'footer_image_mobile' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048',
'footer_image_normal' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048', ]);
'footer_image_mobile' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048', $messages = $validator->messages();
]);
$messages = $validator->messages();
}else {
//Validate the input
$validator = Validator::make($request->all(), [
'header_image_normal' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
'header_image_mobile' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
'footer_image_normal' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
'footer_image_mobile' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
]);
}
if ($validator->fails()) { if ($validator->fails()) {
if($id) { return redirect()->route('admin.homepages.edit',['id'=>$id])
return redirect()->route('admin-edithomepage',['id'=>$id])
->withErrors($validator) ->withErrors($validator)
->withInput(); ->withInput();
} else {
return redirect()->route('admin-addhomepage')
->withErrors($validator)
->withInput();
}
} else { } else {
if ($id) { //update case $homepage = Homepage::find($id);//->with('userlists');
$homepage = Homepage::find($id);//->with('userlists'); $modified_by = trim($user_id->id);
$modified_by = trim($user_id->id); $homepage->modified_by = $modified_by;
$homepage->modified_by = $modified_by;
} else {
$homepage = new Homepage;
$homepage->created_by = $user_id->id;
}
if(!empty($request->header_image_normal)){ if(!empty($request->header_image_normal)){
$homepage->header_image_normal = $request->file('header_image_normal')->store('image'); $homepage->header_image_normal = $request->file('header_image_normal')->store('image');
} }
...@@ -175,50 +143,28 @@ class HomepageController extends AdminController ...@@ -175,50 +143,28 @@ class HomepageController extends AdminController
$homepage->footer_image_mobile = $request->file('footer_image_mobile')->store('image'); $homepage->footer_image_mobile = $request->file('footer_image_mobile')->store('image');
} }
$homepage->status = $status;
$homepage->meta_title = $meta_title; $homepage->meta_title = $meta_title;
$homepage->meta_keyword = $meta_keyword; $homepage->meta_keyword = $meta_keyword;
$homepage->meta_description = $meta_description; $homepage->meta_description = $meta_description;
$homepage->save(); $homepage->save();
if ($id) {
$msg = 'Homepage has been updated successfully.'; $msg = 'Homepage has been updated successfully.';
$request->session()->flash('add_message', $msg); $request->session()->flash('add_message', $msg);
return redirect()->route('admin.homepages'); return redirect()->route('admin.homepages');
} else if (!empty($id)){
try{
$msg = 'Homepage has been added successfully.';
$request->session()->flash('add_message', $msg);
return redirect()->route('admin.homepages');
}
catch(\Exception $e){
//
}
} else {
try{
$msg = 'Homepage has been added successfully.';
$request->session()->flash('add_message', $msg);
return redirect()->route('admin.homepages');
}
catch(\Exception $e){
//
}
}
} }
} }
else {
return view('admin.homepages.add_homepage', ['data' => $data, 'request' => $request]);
}
} }
public function homepage_delete($id, Request $request) { public function deleteHomepage($id, Request $request) {
if ($id) { if ($id) {
$homepage = Homepage::find($id); $homepage = Homepage::find($id);
$homepage->is_deleted = '1'; $homepage->is_deleted = '1';
if($homepage->save()){ if($homepage->save()){
$msg = 'Homepage has been deleted successfully.'; $msg = 'Homepage has been deleted successfully.';
$request->session()->flash('message', $msg); $request->session()->flash('message', $msg);
} }
} }
return redirect()->route('admin.homepages'); return redirect()->route('admin.homepages');
} }
......
...@@ -16,7 +16,7 @@ class LocaterController extends AdminController ...@@ -16,7 +16,7 @@ class LocaterController extends AdminController
public function __construct() public function __construct()
{ {
$this->middleware('auth'); $this->middleware('auth');
$this->record_per_page=10; $this->record_per_page=1;
} }
public function locatersList(Request $request) { public function locatersList(Request $request) {
......
...@@ -54,7 +54,6 @@ class SearchController extends Controller ...@@ -54,7 +54,6 @@ class SearchController extends Controller
})) }))
->get(); ->get();
$locaterData = !empty($locaterData) ? $locaterData->groupBy('locater_identity') : []; $locaterData = !empty($locaterData) ? $locaterData->groupBy('locater_identity') : [];
$finalData = array_map(function ($data) use ($locaterData) { $finalData = array_map(function ($data) use ($locaterData) {
...@@ -69,9 +68,14 @@ class SearchController extends Controller ...@@ -69,9 +68,14 @@ class SearchController extends Controller
return $data; return $data;
}, $apiLocaterData['data']); }, $apiLocaterData['data']);
$links = $apiLocaterData['links'];
//echo"<pre>";
//print_r($links);die;
$meta = $apiLocaterData['meta'];
$homepage = Homepage::where('homepages.status', '=', '1')->first(); $homepage = Homepage::where('homepages.status', '=', '1')->first();
return view('frontend.searchs.index', compact('homepage','finalData')); return view('frontend.searchs.index', compact('homepage','finalData','links','meta'));
} }
/** /**
...@@ -80,8 +84,9 @@ class SearchController extends Controller ...@@ -80,8 +84,9 @@ class SearchController extends Controller
public function searchlocator(Request $request) public function searchlocator(Request $request)
{ {
$api_url = config('app.api_list'); $api_url = config('app.api_list');
$apiLocaterData = $this->call_api($request->locality,$api_url);
$apiLocaterData = $this->call_api_page($api_url,$request->locality,$request->page);
if ( count($apiLocaterData['data']) < 1 ) return ''; if ( count($apiLocaterData['data']) < 1 ) return '';
$locaterIds = collect($apiLocaterData['data'])->pluck('id'); $locaterIds = collect($apiLocaterData['data'])->pluck('id');
...@@ -105,8 +110,13 @@ class SearchController extends Controller ...@@ -105,8 +110,13 @@ class SearchController extends Controller
return $data; return $data;
}, $apiLocaterData['data']); }, $apiLocaterData['data']);
$links = $apiLocaterData['links'];
$meta = $apiLocaterData['meta'];
$locality = $request->locality;
//print_r($links);
return view('frontend.searchs.location_element', compact('finalData')); return view('frontend.searchs.location_element', compact('finalData','links','locality','meta'));
} }
/** /**
......
...@@ -20,4 +20,25 @@ Trait Apitraits ...@@ -20,4 +20,25 @@ Trait Apitraits
return $locationDetailAPIdata = json_decode($body,true); return $locationDetailAPIdata = json_decode($body,true);
} }
public function call_api_page($api_url,$locatorID=null,$page=1)
{
$query_param = array(
'keyword' => $locatorID,
'page' => empty($page) ? 1 : $page
);
//print_r($query_param);
$client = new Client();
$response = $client->request('GET', $api_url,[ 'headers' => [
'Accept' => 'application/json',
'Authorization' => getenv('API_KEY')],
'query' => $query_param
]);
$statusCode = $response->getStatusCode();
$body = $response->getBody()->getContents();
return $locationDetailAPIdata = json_decode($body,true);
}
} }
\ No newline at end of file
...@@ -37,3 +37,10 @@ div#localitylist { ...@@ -37,3 +37,10 @@ div#localitylist {
top: 9px; top: 9px;
left: 4px; left: 4px;
} }
.current{
background: #EAEAEA;
border: 0px;
padding: .3rem .75rem;
font-size: 0.9rem;
color: rgba(0, 0, 0, 0.6);
}
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
</div> </div>
@endif @endif
<form class="form-horizontal" id="add-pageform" action="{{route('admin.homepages.save')}}" method="POST" enctype="multipart/form-data"> <form class="form-horizontal" id="add-pageform" action="{{route('admin.homepages.update',['id'=>@$data->id])}}" method="POST" enctype="multipart/form-data">
{{ csrf_field() }} {{ csrf_field() }}
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
<div class="form-group @if($errors->first('other_setting')) {{' has-error has-feedback'}} @endif "> <div class="form-group @if($errors->first('other_setting')) {{' has-error has-feedback'}} @endif ">
<label for="inputError" class="col-sm-2 control-label">other_setting</label> <label for="inputError" class="col-sm-2 control-label">other_setting</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input type="text" name="other_setting" class="form-control"> <input type="text" name="other_setting" class="form-control" value="{{old('other_setting',@$data->other_setting)}}">
</div> </div>
</div> </div>
</div> </div>
......
...@@ -4,12 +4,12 @@ ...@@ -4,12 +4,12 @@
<div class="container-fluid"> <div class="container-fluid">
<div class=""> <div class="">
<div class="col-sm-6"> <div class="col-sm-6">
<h2>Locaters</h2> <h2>Homepages</h2>
</div> </div>
<div class="col-sm-6"> <div class="col-sm-6">
<ol class="breadcrumb float-sm-right"> <ol class="breadcrumb float-sm-right">
<li class="breadcrumb-item"><a href="#">Home</a></li> <li class="breadcrumb-item"><a href="#">Home</a></li>
<li class="breadcrumb-item active">Locater Tables</li> <li class="breadcrumb-item active">Homepages Tables</li>
</ol> </ol>
</div> </div>
</div> </div>
...@@ -63,7 +63,7 @@ ...@@ -63,7 +63,7 @@
<!-- /.box-header --> <!-- /.box-header -->
<form id="locaters-add" method="get" action=""> <form id="homepages-add" method="get" action="">
<div class="card"> <div class="card">
<!-- /.card-header --> <!-- /.card-header -->
......
<ul class="dropdown-menu" style="display:block; position:relative"> <ul class="dropdown-menu" style="display:block; position:relative">
@foreach($locationDetailAPIdata['data'] as $row) @foreach($locationDetailAPIdata['data'] as $row)
<li><i class="mdi mdi-map-marker"></i><a href="#">{{ $row['name'] }}</a></li> <li><i class="mdi mdi-map-marker"></i><a href="javascript:void(0);">{{ $row['name'] }}</a></li>
@endforeach @endforeach
</ul> </ul>
\ No newline at end of file
@foreach($finalData as $key=>$data)
<div class="card">
<div class="card-body">
<div class="location_data-img">
<img src="vendor/frontend/img/location-img.png" />
</div>
<div class="location_data-content">
<h5 class="title">
<a href="{{route('detail',['slug'=>$data['slug']])}}">{{ $data['name'] }}</a>
</h5>
<span class="ratings">
<i class="mdi mdi-star"></i>
<i class="mdi mdi-star"></i>
<i class="mdi mdi-star"></i>
<i class="mdi mdi-star"></i>
<i class="mdi mdi-star-outline"></i>
<br>
<span class="counts">{{ $data['reviewCounts'] }}</span>
</span>
<p class="address">{{ $data['fullAddress']['addressLines'][0] }}
<?php if(!empty($data['fullAddress']['addressLines'][1])){ ?>
<br> {{ $data['fullAddress']['addressLines'][1] }}</p>
<?php } ?>
</div>
</div>
</div>
@endforeach
@foreach($finalData as $key=>$data) <!--search count and filter start-->
<div class="card"> <div class="row result_head">
<div class="card-body"> <div class="col-6">
<div class="location_data-img"> <span class="result_head-counts">
<img src="vendor/frontend/img/location-img.png" /> <?php $totalFoundLocation = count($finalData); ?>
{{ $totalFoundLocation }} locations found</span>
</div>
<div class="col-6 text-right">
<div class="dropdown">
<div class="btn btn-secondary dropdown-toggle custom-dropdown" id="reviewbyfilter" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Most relevant
</div> </div>
<div class="location_data-content"> <div class="dropdown-menu" aria-labelledby="reviewbyfilter">
<h5 class="title"> <a class="dropdown-item" href="javascript:void(0);">Most relevant</a>
<a href="{{route('detail',['slug'=>$data['slug']])}}">{{ $data['name'] }}</a> <a class="dropdown-item" href="javascript:void(0);">Newest</a>
</h5> <a class="dropdown-item" href="javascript:void(0);">Highest rating</a>
<span class="ratings"> <a class="dropdown-item" href="javascript:void(0);">Lowest rating</a>
<i class="mdi mdi-star"></i>
<i class="mdi mdi-star"></i>
<i class="mdi mdi-star"></i>
<i class="mdi mdi-star"></i>
<i class="mdi mdi-star-outline"></i>
<br>
<span class="counts">{{ $data['reviewCounts'] }}</span>
</span>
<p class="address">{{ $data['fullAddress']['addressLines'][0] }} <br> {{ $data['fullAddress']['addressLines'][1] }}</p>
</div> </div>
</div> </div>
</div> </div>
@endforeach </div>
<!--location listing start-->
<div class="row no-gutters">
<div class=" mt-4 location_data-listing">
<?php foreach($finalData as $key=>$data){ ?>
<div class="card">
<div class="card-body">
<div class="location_data-img">
<img src="vendor/frontend/img/location-img.png" />
</div>
<div class="location_data-content">
<h5 class="title"><a href="{{route('detail',['slug'=>$data['slug']])}}"><?php echo $data['name']; ?></a></h5>
<span class="ratings">
<i class="mdi mdi-star"></i>
<i class="mdi mdi-star"></i>
<i class="mdi mdi-star"></i>
<i class="mdi mdi-star"></i>
<i class="mdi mdi-star-outline"></i>
<br>
<span class="counts">({{ $data['reviewCounts'] }})</span>
</span>
<p class="address">
<?php echo $data['fullAddress']['addressLines'][0]; ?>
<?php if(!empty($data['fullAddress']['addressLines'][1])){ ?>
<br> {{ $data['fullAddress']['addressLines'][1] }}</p>
<?php } ?>
</p>
</div>
</div>
</div>
<?php } ?>
</div>
</div>
<!--pagination start-->
<div class="pagination-wrapper justify-content-center">
<nav>
<ul class="pagination">
<?php
$links['first'] = explode('page=',$links['first']);
if(!empty($links['last'])){
$links['last'] = explode('page=',$links['last']);
}else{
$links['last'] = '';
}
if(!empty($links['prev'])){
$links['prev'] = explode('page=',$links['prev']);
}else{
$links['prev'] = '';
}
if(!empty($links['next'])){
$links['next'] = explode('page=',$links['next']);
}else{
$links['next'] = '';
}
?>
<li class="page-item active">
<a class="page-link" id="first" title="First" data-page="{{ $links['first'][1] }}" href="javascript:void(0);">
<i class="mdi mdi-chevron-double-left"></i>
</a>
</li>
<li class="page-item active">
<a class="page-link" title="Prev" href="javascript:void(0);" id="prev" data-page="@if(@$links['prev']) {{ $links['prev'][1] }} @else @endif" aria-label="Previous">
<i class="mdi mdi-chevron-left"></i>
</a>
</li>
<li class="page-item active">
<a class="page-link" title="Next" href="javascript:void(0);" id="next" data-page="@if(@$links['next']) {{ $links['next'][1] }} @else @endif" name="next" aria-label="Next">
<i class="mdi mdi-chevron-right"></i>
</a>
</li>
<li class="page-item active">
<a class="page-link" title="Last" id="last" data-page="{{ $links['last'][1] }}" href="javascript:void(0);"><i class="mdi mdi-chevron-double-right"></i></a>
</li>
</ul>
</nav>
</div>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment