Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit71c3c80

Browse files
committed
feat(pagination): add pagination to list controllers
fix merge conflictscomposer update to fix composer synchro between lock and jsonfix(ci): remove --configuration for phpstan as it is deprecated
1 parent1a23e70 commit71c3c80

File tree

27 files changed

+1077
-1617
lines changed

27 files changed

+1077
-1617
lines changed

‎.github/workflows/ci.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ jobs:
102102
if:always()
103103

104104
-name:Run PHPStan
105-
run:vendor/bin/phpstan analyse --configuration phpstan.neon --level max --no-progress . --error-format=checkstyle | cs2pr
105+
run:vendor/bin/phpstan analyse --level max --no-progress . --error-format=checkstyle | cs2pr
106106
if:always()
107107

108108
-name:Bootstrap database

‎composer.json‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
"beberlei/assert":"^3.2",
1212
"doctrine/annotations":"^1.8",
1313
"doctrine/doctrine-fixtures-bundle":"^3.3",
14+
"knplabs/knp-paginator-bundle":"^5.2",
1415
"friendsofsymfony/jsrouting-bundle":"^2.5",
1516
"martin-georgiev/postgresql-for-doctrine":"^1.3",
1617
"odolbeau/phone-number-bundle":"^3.0",

‎composer.lock‎

Lines changed: 889 additions & 1583 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎config/bundles.php‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
Fidry\AliceDataFixtures\Bridge\Symfony\FidryAliceDataFixturesBundle::class => ['dev' =>true,'test' =>true,'panther' =>true],
2222
Hautelook\AliceBundle\HautelookAliceBundle::class => ['dev' =>true,'test' =>true,'panther' =>true],
2323
Misd\PhoneNumberBundle\MisdPhoneNumberBundle::class => ['all' =>true],
24+
Knp\Bundle\PaginatorBundle\KnpPaginatorBundle::class => ['all' =>true],
2425
Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' =>true,'test' =>true],
2526
FOS\JsRoutingBundle\FOSJsRoutingBundle::class => ['all' =>true],
2627
];

‎config/packages/knp_paginator.yaml‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
knp_paginator:
2+
template:
3+
pagination:'@KnpPaginator/Pagination/twitter_bootstrap_v4_pagination.html.twig'

‎config/parameters.yaml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Put parameters here that don't need to change on each machine where the app is deployed
22
# https://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration
33
parameters:
4+
app.pagination_default_limit:30
45
app.most_important_skills_limit:6# used for separing data in the planning
56
app.most_important_skills_to_display:[ch_vpsp, ch_vl]# used for displaying a badge near the user name
67
app.slot_interval:'%env(APP_SLOT_INTERVAL)%'

‎config/services.yaml‎

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,64 @@
11
# This file is the entry point to configure your own services.
22
# Files in the packages/ subdirectory configure your dependencies.
3+
# Put parameters here that don't need to change on each machine where the app is deployed
4+
# https://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration
5+
parameters:
6+
app.pagination_default_limit:30
7+
app.most_important_skills_limit:6# used for separing data in the planning
8+
app.most_important_skills_to_display:[ch_vpsp, ch_vl]# used for displaying a badge near the user name
9+
app.slot_interval:'%env(APP_SLOT_INTERVAL)%'
10+
app.available_skills:
11+
# Caution: the order matters for the planning display
12+
ci_bspp:
13+
label:CI Réseau BSPP
14+
includes:[ci_samu]
15+
ci_samu:
16+
label:CI Réseau Samu
17+
includes:[ci]
18+
ch_vpsp:
19+
label:Chauffeur VPSP
20+
includes:[pse2, ch_vl]
21+
ci:
22+
label:CI
23+
includes:[pse2]
24+
pse2:
25+
label:PSE2
26+
includes:[pse1]
27+
pse1:
28+
label:PSE1
29+
includes:[psc1]
30+
ch_vl:
31+
label:Chauffeur VL
32+
includes:[benevole]
33+
infirmier:
34+
label:Infirmier.e local.e
35+
includes:[benevole]
36+
ce_maraude:
37+
label:Chef.fe d'équipe maraudes
38+
includes:[solidar]
39+
solidar:
40+
label:Solidar
41+
includes:[maraudeur]
42+
maraudeur:
43+
label:Maraudeur.se
44+
includes:[benevole]
45+
tsa_coreg:
46+
label:TSA / Coreg
47+
includes:[pse2]
48+
logisticien:
49+
label:Logisticien.ne Croix-Rouge
50+
includes:[benevole]
51+
resp_perm_soc:
52+
label:Responsable Permanence Sociale
53+
includes:[benevole]
54+
anim_fle:
55+
label:Animateur.rice de cours de FLE
56+
includes:[benevole]
57+
psc1:
58+
label:PSC1
59+
includes:[benevole]
60+
benevole:
61+
label:Bénévole
362

463
services:
564
# default configuration for services in *this* file

‎src/Controller/Organization/AssetType/AssetTypeListController.php‎

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,10 @@
66

77
useApp\Entity\Organization;
88
useApp\Repository\AssetTypeRepository;
9+
useKnp\Component\Pager\PaginatorInterface;
910
useSensio\Bundle\FrameworkExtraBundle\Configuration\Security;
1011
useSymfony\Bundle\FrameworkBundle\Controller\AbstractController;
12+
useSymfony\Component\HttpFoundation\Request;
1113
useSymfony\Component\HttpFoundation\Response;
1214
useSymfony\Component\Routing\Annotation\Route;
1315

@@ -18,19 +20,26 @@
1820
class AssetTypeListControllerextends AbstractController
1921
{
2022
privateAssetTypeRepository$assetTypeRepository;
23+
privatePaginatorInterface$paginator;
2124

22-
publicfunction__construct(AssetTypeRepository$assetTypeRepository)
25+
publicfunction__construct(AssetTypeRepository$assetTypeRepository,PaginatorInterface$paginator)
2326
{
2427
$this->assetTypeRepository =$assetTypeRepository;
28+
$this->paginator =$paginator;
2529
}
2630

27-
publicfunction__invoke():Response
31+
publicfunction__invoke(Request$request):Response
2832
{
2933
/** @var Organization $organization */
3034
$organization =$this->getUser();
35+
$assetTypes =$this->paginator->paginate(
36+
$this->assetTypeRepository->findByOrganization($organization),
37+
$request->query->getInt('page',1),
38+
$this->getParameter('app.pagination_default_limit')
39+
);
3140

3241
return$this->render('organization/assetType/list.html.twig', [
33-
'assetTypes' =>$this->assetTypeRepository->findByOrganization($organization),
42+
'assetTypes' =>$assetTypes,
3443
]);
3544
}
3645
}

‎src/Controller/Organization/Children/ListController.php‎

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66

77
useApp\Entity\Organization;
88
useApp\Repository\OrganizationRepository;
9+
useKnp\Component\Pager\PaginatorInterface;
910
useSymfony\Bundle\FrameworkBundle\Controller\AbstractController;
11+
useSymfony\Component\HttpFoundation\Request;
1012
useSymfony\Component\HttpFoundation\Response;
1113
useSymfony\Component\Routing\Annotation\Route;
1214
useSymfony\Component\Security\Core\Exception\AccessDeniedException;
@@ -17,20 +19,26 @@
1719
class ListControllerextends AbstractController
1820
{
1921
protectedOrganizationRepository$organizationRepository;
22+
privatePaginatorInterface$paginator;
2023

21-
publicfunction__construct(OrganizationRepository$organizationRepository)
24+
publicfunction__construct(OrganizationRepository$organizationRepository,PaginatorInterface$paginator)
2225
{
2326
$this->organizationRepository =$organizationRepository;
27+
$this->paginator =$paginator;
2428
}
2529

26-
publicfunction__invoke():Response
30+
publicfunction__invoke(Request$request):Response
2731
{
2832
$organization =$this->getUser();
2933
if (!$organizationinstanceof Organization || !$organization->isParent()) {
3034
thrownewAccessDeniedException();
3135
}
3236

33-
$organizations =$this->organizationRepository->findBy(['parent' =>$organization], ['name' =>'ASC']);
37+
$organizations =$this->paginator->paginate(
38+
$this->organizationRepository->findChildrenQueryBuilder($organization),
39+
$request->query->getInt('page',1),
40+
$this->getParameter('app.pagination_default_limit')
41+
);
3442

3543
return$this->render('organization/list.html.twig', [
3644
'organizations' =>$organizations,

‎src/Controller/Organization/CommissionableAsset/AssetsListController.php‎

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
useApp\Form\Factory\OrganizationSelectorFormFactory;
99
useApp\Repository\CommissionableAssetRepository;
1010
useApp\Security\Voter\OrganizationVoter;
11+
useKnp\Component\Pager\PaginatorInterface;
1112
useSensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted;
1213
useSymfony\Bundle\FrameworkBundle\Controller\AbstractController;
1314
useSymfony\Component\HttpFoundation\Request;
@@ -22,23 +23,30 @@ class AssetsListController extends AbstractController
2223
{
2324
privateCommissionableAssetRepository$assetRepository;
2425
privateOrganizationSelectorFormFactory$organizationSelectorFormFactory;
26+
privatePaginatorInterface$paginator;
2527

26-
publicfunction__construct(CommissionableAssetRepository$assetRepository,OrganizationSelectorFormFactory$organizationSelectorFormFactory)
28+
publicfunction__construct(CommissionableAssetRepository$assetRepository,OrganizationSelectorFormFactory$organizationSelectorFormFactory,PaginatorInterface$paginator)
2729
{
2830
$this->assetRepository =$assetRepository;
2931
$this->organizationSelectorFormFactory =$organizationSelectorFormFactory;
32+
$this->paginator =$paginator;
3033
}
3134

3235
publicfunction__invoke(Request$request,Organization$organization):Response
3336
{
3437
/** @var Organization $currentOrganization */
3538
$currentOrganization =$this->getUser();
39+
$assets =$this->paginator->paginate(
40+
$this->assetRepository->findByOrganizationAndChildrenQb($organization),
41+
$request->query->getInt('page',1),
42+
$this->getParameter('app.pagination_default_limit')
43+
);
3644

3745
return$this->render(
3846
'organization/commissionable_asset/list.html.twig',
3947
[
4048
'organization' =>$organization,
41-
'assets' =>$this->assetRepository->findByOrganization($organization),
49+
'assets' =>$assets,
4250
'organization_selector_form' =>$this->organizationSelectorFormFactory->createForm(
4351
$organization,
4452
$currentOrganization

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp