Skip to content

Commit 43ffa4e

Browse files
Implementata paginazione pratiche/clienti index
1 parent bec3fbf commit 43ffa4e

File tree

5 files changed

+41
-16
lines changed

5 files changed

+41
-16
lines changed

app/Http/Controllers/ClientiController.php

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,13 @@ public function __construct()
4646
public function index(Request $request)
4747
{
4848
if ($request->user()->isAdmin())
49-
$clienti = \App\Cliente::filter($request->all())->take(100)->orderBy('cognome')->get();
49+
$clienti = \App\Cliente::filter($request->all())->orderBy('cognome');
5050
else
5151
$clienti = \App\Cliente::where('filiale_id', $request->user()->filiale->id)
52-
->filter($request->all())->take(100)->orderBy('cognome')->get();
53-
52+
->filter($request->all())->orderBy('cognome');
53+
54+
$clienti = $clienti->paginate(50);
55+
5456
$filiali = \App\Filiale::pluck('nome', 'id');
5557
$professioni = \App\Professione::pluck('nome', 'id');
5658

@@ -181,7 +183,7 @@ public function filter(Request $request)
181183

182184
foreach($request->all() as $k => $v)
183185
{
184-
if ($k[0] != '_') {
186+
if ($k[0] != '_' && $k != 'page') {
185187
if ($v != '')
186188
$params[$k] = $v;
187189
if ($j > 2 && !in_array($k, $requestedFields))
@@ -201,10 +203,12 @@ public function filter(Request $request)
201203
}
202204

203205
if ($request->user()->isAdmin())
204-
$clienti = \App\Cliente::filter($params)->orderBy('cognome')->get();
206+
$clienti = \App\Cliente::filter($params)->orderBy('cognome');
205207
else
206208
$clienti = \App\Cliente::where('filiale_id', $request->user()->filiale->id)
207-
->filter($params)->orderBy('cognome')->get();
209+
->filter($params)->orderBy('cognome');
210+
211+
$clienti = $clienti->paginate(50);
208212

209213

210214
$queryFields = $this->queryFields;

app/Http/Controllers/PraticheController.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ public function filter(Request $request)
337337

338338
foreach($request->all() as $k => $v)
339339
{
340-
if ($k[0] != '_') {
340+
if ($k[0] != '_' && $k != 'page') {
341341
if ($v != '')
342342
$params[$k] = $v;
343343
if ($j > 1 && !in_array($k, $requestedFields))
@@ -358,14 +358,17 @@ public function filter(Request $request)
358358

359359

360360
if ($request->user()->isAdmin())
361-
$pratiche = \App\Pratica::filter($params)->get();
361+
$pratiche = \App\Pratica::filter($params);
362362
else
363363
$pratiche = \App\Pratica::whereHas('cliente', function($query) use ($request) {
364364
$query->where('filiale_id', $request->user()->filiale->id);
365-
})->filter($params)->get();
365+
})->filter($params);
366366

367367

368368
$queryFields = $this->queryFields;
369+
370+
$pratiche = $pratiche->paginate(50);
371+
369372
return view('pratiche._tabella', compact('pratiche', 'requestedFields', 'queryFields'));
370373
}
371374

public/js/app.js

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -202,20 +202,19 @@ var parseQueryString = function() {
202202
}
203203
});
204204

205-
206-
$("#queryForm").off('submit').submit(function(e) {
207-
e.preventDefault();
205+
var executeQuery = function(page) {
206+
var $form = $("#queryForm");
208207

209208
$('#queryBtn').prop('disabled', true);
210209
$('#queryBtn i').removeClass('fa-search');
211210
$('#queryBtn i').addClass('fa-spin fa-refresh');
212211

213-
var queryData = $(this).serializeArray();
212+
var queryData = $form.serializeArray();
214213

215214
$.ajax({
216215
type : "POST",
217216
cache : false,
218-
url : $(this).attr('action'),
217+
url : `${$form.attr('action')}?page=${page}`,
219218
data : $.param(queryData),
220219
success : function(data) {
221220
$("#queryResult").empty().append(data);
@@ -225,6 +224,13 @@ var parseQueryString = function() {
225224
$('#queryBtn').prop('disabled', false);
226225
}
227226
});
227+
};
228+
229+
230+
$("#queryForm").off('submit').submit(function(e) {
231+
e.preventDefault();
232+
233+
executeQuery('1');
228234
});
229235

230236
$('#newFieldQuerySelect').change(function() {
@@ -475,4 +481,9 @@ var parseQueryString = function() {
475481
});
476482
});
477483

484+
$(document).on('click', '.links .pagination a', function (e) {
485+
var page = $(this).attr('href').split('page=')[1];
486+
executeQuery(page);
487+
e.preventDefault();
488+
});
478489
})();

resources/views/clienti/_tabella.blade.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
@if (count($clienti) > 0)
2-
<p class="pull-right">{{ count($clienti) }} risultati.</p>
2+
<p class="pull-right">{{ $clienti->total() }} risultati.</p>
33
<table class="table table-hover table-striped">
44
<thead>
55
@for ($i = 0; $i < 5; $i++)
@@ -30,6 +30,10 @@
3030
@endforeach
3131
</tbody>
3232
</table>
33+
34+
<div class="clienti links text-center">
35+
{{ $clienti->render() }}
36+
</div>
3337
@else
3438
<p class="text-center">Non sono presenti clienti</p>
3539
@endif

resources/views/pratiche/_tabella.blade.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
@if (count($pratiche) > 0)
2-
<p class="pull-right">{{ count($pratiche) }} risultati.</p>
2+
<p class="pull-right">{{ $pratiche->total() }} risultati.</p>
33
<table class="table table-hover table-striped">
44
<thead>
55
@for ($i = 0; $i < 6; $i++)
@@ -34,6 +34,9 @@
3434
@endforeach
3535
</tbody>
3636
</table>
37+
<div class="pratiche links text-center">
38+
{{ $pratiche->render() }}
39+
</div>
3740
@else
3841
<p class="text-center">Non sono presenti pratiche</p>
3942
@endif

0 commit comments

Comments
 (0)