1414
1515namespace ProcessManagerBundle \Controller ;
1616
17+ use CoreShop \Bundle \ResourceBundle \Controller \EventDispatcherInterface ;
1718use CoreShop \Bundle \ResourceBundle \Controller \ResourceController ;
19+ use CoreShop \Bundle \ResourceBundle \Controller \ResourceFormFactoryInterface ;
20+ use CoreShop \Bundle \ResourceBundle \Controller \ViewHandler ;
21+ use CoreShop \Bundle \ResourceBundle \Form \Helper \ErrorSerializer ;
22+ use CoreShop \Component \Resource \Factory \FactoryInterface ;
23+ use CoreShop \Component \Resource \Metadata \MetadataInterface ;
24+ use CoreShop \Component \Resource \Repository \RepositoryInterface ;
25+ use Doctrine \Persistence \ObjectManager ;
26+ use Pimcore \Db ;
1827use ProcessManagerBundle \Model \Process ;
1928use ProcessManagerBundle \Model \ProcessInterface ;
2029use ProcessManagerBundle \Service \CleanupService ;
@@ -34,6 +43,17 @@ public function listAction(Request $request): JsonResponse
3443 * @var Process\Listing $list
3544 */
3645 $ list = new $ listingClass ();
46+ if ($ filterString = $ request ->get ('filter ' )) {
47+ $ db = Db::get ();
48+ $ filters = json_decode ($ filterString );
49+ $ conditionParts = [];
50+ foreach ($ filters as $ f ) {
51+ $ fieldname = $ f ->property ;
52+ $ conditionParts [] = $ db ->quoteIdentifier ($ fieldname ) . ' LIKE ' . $ db ->quote ('% ' . $ f ->value . '% ' );
53+ }
54+ $ condition = implode (' AND ' , $ conditionParts );
55+ $ list ->setCondition ($ condition );
56+ }
3757 if ($ sort = $ request ->get ('sort ' )) {
3858 $ sort = json_decode ($ sort )[0 ];
3959 $ list ->setOrderKey ($ sort ->property );
@@ -113,7 +133,7 @@ public function clearAction(Request $request): JsonResponse
113133 $ keepLogs = $ this ->container ->getParameter ('process_manager.keep_logs ' );
114134
115135 /** @var CleanupService $cleanupService */
116- $ cleanupService = $ this ->get ('process_manager.cleanup_service ' );
136+ $ cleanupService = $ this ->container -> get ('process_manager.cleanup_service ' );
117137 $ cleanupService ->cleanupDbEntries ($ seconds );
118138 $ cleanupService ->cleanupLogFiles ($ logDirectory , $ seconds , $ keepLogs );
119139 return $ this ->json (['success ' => true ]);
0 commit comments