@@ -44,4 +44,39 @@ public function process(\App\Request $request)
4444 $ exportModel ->sendHttpHeader ();
4545 $ exportModel ->exportData ();
4646 }
47+
48+ /**
49+ * {@inheritdoc}
50+ */
51+ public static function getQuery (\App \Request $ request )
52+ {
53+ $ cvId = $ request ->isEmpty ('viewname ' ) ? '' : $ request ->getByType ('viewname ' , 2 );
54+ $ moduleName = $ request ->getByType ('source_module ' , 'Alnum ' );
55+ if (!empty ($ cvId ) && $ cvId === 'undefined ' && $ moduleName !== 'Users ' ) {
56+ $ sourceModule = $ request ->getByType ('sourceModule ' , 2 );
57+ $ cvId = CustomView_Record_Model::getAllFilterByModule ($ sourceModule )->getId ();
58+ }
59+ $ customViewModel = CustomView_Record_Model::getInstanceById ($ cvId );
60+ if (!$ customViewModel ) {
61+ return false ;
62+ }
63+ $ selectedIds = $ request ->getArray ('selected_ids ' , 2 );
64+ if ($ selectedIds && $ selectedIds [0 ] !== 'all ' ) {
65+ $ queryGenerator = new App \QueryGenerator ($ moduleName );
66+ $ queryGenerator ->setFields (['id ' ]);
67+ $ queryGenerator ->addCondition ('id ' , $ selectedIds , 'e ' );
68+ $ queryGenerator ->setStateCondition ($ request ->getByType ('entityState ' ));
69+ return $ queryGenerator ;
70+ }
71+ if (!$ request ->isEmpty ('operator ' )) {
72+ $ operator = $ request ->getByType ('operator ' );
73+ $ searchKey = $ request ->getByType ('search_key ' , 'Alnum ' );
74+ $ customViewModel ->set ('operator ' , $ operator );
75+ $ customViewModel ->set ('search_key ' , $ searchKey );
76+ $ customViewModel ->set ('search_value ' , App \Condition::validSearchValue ($ request ->getByType ('search_value ' , 'Text ' ), $ moduleName , $ searchKey , $ operator ));
77+ }
78+ $ customViewModel ->set ('search_params ' , App \Condition::validSearchParams ($ moduleName , $ request ->getArray ('search_params ' )));
79+ $ customViewModel ->set ('entityState ' , $ request ->getByType ('entityState ' ));
80+ return $ customViewModel ->getRecordsListQuery ($ request ->getArray ('excluded_ids ' , 2 ), $ moduleName );
81+ }
4782}
0 commit comments