@@ -186,8 +186,7 @@ public function index(Request $request)
186186 */
187187 public function getUsersTaskCount (Request $ request )
188188 {
189- $ query = User::nonSystem ();
190- $ query ->select ('id ' , 'username ' , 'firstname ' , 'lastname ' );
189+ $ query = User::select ('id ' , 'username ' , 'firstname ' , 'lastname ' );
191190
192191 $ filter = $ request ->input ('filter ' , '' );
193192 if (!empty ($ filter )) {
@@ -199,34 +198,32 @@ public function getUsersTaskCount(Request $request)
199198 });
200199 }
201200
202- $ query ->where ('status ' , 'ACTIVE ' );
203-
204- $ query ->withCount ('activeTasks ' );
205-
206201 $ include_ids = [];
207202 $ include_ids_string = $ request ->input ('include_ids ' , '' );
208203 if (!empty ($ include_ids_string )) {
209204 $ include_ids = explode (', ' , $ include_ids_string );
210205 } elseif ($ request ->has ('assignable_for_task_id ' )) {
211- $ task = ProcessRequestToken::findOrFail ($ request ->input ('assignable_for_task_id ' ));
212- $ assignmentRule = $ task ->getAssignmentRule ();
213- if ($ assignmentRule === 'user_group ' ) {
214- // Limit the list of users to those that can be assigned to the task
215- $ include_ids = $ task ->process ->getAssignableUsers ($ task ->element_id );
206+ $ processRequestToken = ProcessRequestToken::findOrFail ($ request ->input ('assignable_for_task_id ' ));
207+ $ assignmentRule = $ processRequestToken ->getAssignmentRule ();
208+ if (config ('app.reassign_restrict_to_assignable_users ' )) {
209+ $ include_ids = $ processRequestToken ->process ->getAssignableUsersByAssignmentType ($ processRequestToken );
216210 }
217211 if ($ assignmentRule === 'rule_expression ' && $ request ->has ('form_data ' )) {
218- $ include_ids = $ task ->getAssigneesFromExpression ($ request ->input ('form_data ' ));
212+ $ include_ids = $ processRequestToken ->getAssigneesFromExpression ($ request ->input ('form_data ' ));
219213 }
220214 }
221215
222216 if (!empty ($ include_ids )) {
223217 $ query ->whereIn ('id ' , $ include_ids );
224218 }
225219
226- $ response = $ query ->orderBy (
227- $ request ->input ('order_by ' , 'username ' ),
228- $ request ->input ('order_direction ' , 'ASC ' )
229- )
220+ $ response = $ query
221+ ->where ('is_system ' , false )
222+ ->where ('status ' , 'ACTIVE ' )
223+ ->withCount ('activeTasks ' )
224+ ->orderBy (
225+ $ request ->input ('order_by ' , 'username ' ),
226+ $ request ->input ('order_direction ' , 'ASC ' ))
230227 ->paginate (50 );
231228
232229 return new ApiCollection ($ response );
0 commit comments