@@ -319,7 +319,7 @@ public function setIssueStatus($id, $status)
319319 $ issueStatusApi = $ this ->getIssueStatusApi ();
320320
321321 return $ this ->update ($ id , [
322- 'status_id ' => $ issueStatusApi ->getIdByName ( $ status ),
322+ 'status_id ' => array_search ( $ status , $ issueStatusApi ->listNames (), true ),
323323 ]);
324324 }
325325
@@ -348,42 +348,67 @@ private function cleanParams(array $params = [])
348348 if (isset ($ params ['project ' ])) {
349349 $ projectApi = $ this ->getProjectApi ();
350350
351- $ params ['project_id ' ] = $ projectApi ->getIdByName ($ params ['project ' ]);
351+ // TODO: project names are not unique; there could be collisions
352+ $ params ['project_id ' ] = array_search (
353+ $ params ['project ' ],
354+ $ projectApi ->listNames (),
355+ true ,
356+ );
352357 unset($ params ['project ' ]);
353358 }
354359
355360 if (isset ($ params ['category ' ]) && isset ($ params ['project_id ' ])) {
356361 $ issueCategoryApi = $ this ->getIssueCategoryApi ();
357362
358- $ params ['category_id ' ] = $ issueCategoryApi ->getIdByName ($ params ['project_id ' ], $ params ['category ' ]);
363+ $ params ['category_id ' ] = array_search (
364+ $ params ['category ' ],
365+ $ issueCategoryApi ->listNamesByProject ($ params ['project_id ' ]),
366+ true ,
367+ );
359368 unset($ params ['category ' ]);
360369 }
361370
362371 if (isset ($ params ['status ' ])) {
363372 $ issueStatusApi = $ this ->getIssueStatusApi ();
364373
365- $ params ['status_id ' ] = $ issueStatusApi ->getIdByName ($ params ['status ' ]);
374+ $ params ['status_id ' ] = array_search (
375+ $ params ['status ' ],
376+ $ issueStatusApi ->listNames (),
377+ true ,
378+ );
366379 unset($ params ['status ' ]);
367380 }
368381
369382 if (isset ($ params ['tracker ' ])) {
370383 $ trackerApi = $ this ->getTrackerApi ();
371384
372- $ params ['tracker_id ' ] = $ trackerApi ->getIdByName ($ params ['tracker ' ]);
385+ $ params ['tracker_id ' ] = array_search (
386+ $ params ['tracker ' ],
387+ $ trackerApi ->listNames (),
388+ true ,
389+ );
373390 unset($ params ['tracker ' ]);
374391 }
375392
376393 if (isset ($ params ['assigned_to ' ])) {
377394 $ userApi = $ this ->getUserApi ();
378395
379- $ params ['assigned_to_id ' ] = $ userApi ->getIdByUsername ($ params ['assigned_to ' ]);
396+ $ params ['assigned_to_id ' ] = array_search (
397+ $ params ['assigned_to ' ],
398+ $ userApi ->listLogins (),
399+ true ,
400+ );
380401 unset($ params ['assigned_to ' ]);
381402 }
382403
383404 if (isset ($ params ['author ' ])) {
384405 $ userApi = $ this ->getUserApi ();
385406
386- $ params ['author_id ' ] = $ userApi ->getIdByUsername ($ params ['author ' ]);
407+ $ params ['author_id ' ] = array_search (
408+ $ params ['author ' ],
409+ $ userApi ->listLogins (),
410+ true ,
411+ );
387412 unset($ params ['author ' ]);
388413 }
389414
0 commit comments