Commit a77f5c98 by Arpit Jain

Working on pagination task

parent 43a9b46c
......@@ -17,7 +17,6 @@ class HomepageController extends AdminController
$this->record_per_page=10;
}
public function homepagesList(Request $request) {
$admin_id = $request->session()->get('id');
......@@ -39,13 +38,12 @@ class HomepageController extends AdminController
public function saveHomepage(Request $request) {
$user_id = auth()->user('id');
if ($request->all()) { dd($request->all());
if ($request->all()) {
$header_image_normal = trim($request->header_image_normal);
$header_image_mobile = trim($request->header_image_mobile);
$footer_image_normal = trim($request->footer_image_normal);
$footer_image_mobile = trim($request->footer_image_mobile);
$created_by = trim($user_id->id);
$status = trim($request->status);
$meta_title = trim($request->meta_title);
$meta_keyword = trim($request->meta_keyword);
$meta_description = trim($request->meta_description);
......@@ -78,7 +76,6 @@ class HomepageController extends AdminController
$homepage->footer_image_mobile = $request->file('footer_image_mobile')->store('image');
}
$homepage->status = $status;
$homepage->meta_title = $meta_title;
$homepage->meta_keyword = $meta_keyword;
$homepage->meta_description = $meta_description;
......@@ -95,38 +92,29 @@ class HomepageController extends AdminController
if(!empty($id)){
$data = Homepage::find($id);
}
return view('admin.homepages.edit');
return view('admin.homepages.edit',compact('data'));
}
/**
* Function add_homepage
*
* 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 = '') {
public function updateHomepage(Request $request, $id) {
$user_id = auth()->user('id');
$data = array();
if(!empty($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_mobile = trim($request->header_image_mobile);
$footer_image_normal = trim($request->footer_image_normal);
$footer_image_mobile = trim($request->footer_image_mobile);
$created_by = trim($user_id->id);
$status = trim($request->status);
$meta_title = trim($request->meta_title);
$meta_keyword = trim($request->meta_keyword);
$meta_description = trim($request->meta_description);
if ($id) {
//Validate the input
$validator = Validator::make($request->all(), [
'header_image_normal' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048',
'header_image_mobile' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048',
......@@ -134,34 +122,14 @@ class HomepageController extends AdminController
'footer_image_mobile' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048',
]);
$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($id) {
return redirect()->route('admin-edithomepage',['id'=>$id])
->withErrors($validator)
->withInput();
} else {
return redirect()->route('admin-addhomepage')
return redirect()->route('admin.homepages.edit',['id'=>$id])
->withErrors($validator)
->withInput();
}
} else {
if ($id) { //update case
$homepage = Homepage::find($id);//->with('userlists');
$modified_by = trim($user_id->id);
$homepage->modified_by = $modified_by;
} else {
$homepage = new Homepage;
$homepage->created_by = $user_id->id;
}
if(!empty($request->header_image_normal)){
$homepage->header_image_normal = $request->file('header_image_normal')->store('image');
}
......@@ -175,50 +143,28 @@ class HomepageController extends AdminController
$homepage->footer_image_mobile = $request->file('footer_image_mobile')->store('image');
}
$homepage->status = $status;
$homepage->meta_title = $meta_title;
$homepage->meta_keyword = $meta_keyword;
$homepage->meta_description = $meta_description;
$homepage->save();
if ($id) {
$msg = 'Homepage has been updated successfully.';
$request->session()->flash('add_message', $msg);
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.';
$msg = 'Homepage has been updated 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) {
$homepage = Homepage::find($id);
$homepage->is_deleted = '1';
if($homepage->save()){
$msg = 'Homepage has been deleted successfully.';
$request->session()->flash('message', $msg);
}
}
return redirect()->route('admin.homepages');
}
......
......@@ -16,7 +16,7 @@ class LocaterController extends AdminController
public function __construct()
{
$this->middleware('auth');
$this->record_per_page=10;
$this->record_per_page=1;
}
public function locatersList(Request $request) {
......
......@@ -54,7 +54,6 @@ class SearchController extends Controller
}))
->get();
$locaterData = !empty($locaterData) ? $locaterData->groupBy('locater_identity') : [];
$finalData = array_map(function ($data) use ($locaterData) {
......@@ -69,9 +68,14 @@ class SearchController extends Controller
return $data;
}, $apiLocaterData['data']);
$links = $apiLocaterData['links'];
//echo"<pre>";
//print_r($links);die;
$meta = $apiLocaterData['meta'];
$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,7 +84,8 @@ class SearchController extends Controller
public function searchlocator(Request $request)
{
$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 '';
......@@ -106,7 +111,12 @@ class SearchController extends Controller
return $data;
}, $apiLocaterData['data']);
return view('frontend.searchs.location_element', compact('finalData'));
$links = $apiLocaterData['links'];
$meta = $apiLocaterData['meta'];
$locality = $request->locality;
//print_r($links);
return view('frontend.searchs.location_element', compact('finalData','links','locality','meta'));
}
/**
......
......@@ -20,4 +20,25 @@ Trait Apitraits
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 {
top: 9px;
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 @@
</div>
@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() }}
......@@ -50,7 +50,7 @@
<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>
<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>
......
......@@ -4,12 +4,12 @@
<div class="container-fluid">
<div class="">
<div class="col-sm-6">
<h2>Locaters</h2>
<h2>Homepages</h2>
</div>
<div class="col-sm-6">
<ol class="breadcrumb float-sm-right">
<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>
</div>
</div>
......@@ -63,7 +63,7 @@
<!-- /.box-header -->
<form id="locaters-add" method="get" action="">
<form id="homepages-add" method="get" action="">
<div class="card">
<!-- /.card-header -->
......
<ul class="dropdown-menu" style="display:block; position:relative">
@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
</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="row result_head">
<div class="col-6">
<span class="result_head-counts">
<?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 class="dropdown-menu" aria-labelledby="reviewbyfilter">
<a class="dropdown-item" href="javascript:void(0);">Most relevant</a>
<a class="dropdown-item" href="javascript:void(0);">Newest</a>
<a class="dropdown-item" href="javascript:void(0);">Highest rating</a>
<a class="dropdown-item" href="javascript:void(0);">Lowest rating</a>
</div>
</div>
</div>
</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']])}}">{{ $data['name'] }}</a>
</h5>
<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>
......@@ -15,10 +37,61 @@
<i class="mdi mdi-star"></i>
<i class="mdi mdi-star-outline"></i>
<br>
<span class="counts">{{ $data['reviewCounts'] }}</span>
<span class="counts">({{ $data['reviewCounts'] }})</span>
</span>
<p class="address">{{ $data['fullAddress']['addressLines'][0] }} <br> {{ $data['fullAddress']['addressLines'][1] }}</p>
<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>
@endforeach
</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