[horde] Is this a bug in nag api.php?

Monty Hall hall_monty at rastar.merseine.nu
Sat Apr 17 01:43:02 UTC 2010


Looks like this may work.

   1260     while ($task = $tasks->each()) {
   1261         if ($criteria['active'] == $task->completed)  
   1262             continue;

Complete tasks don't appear as cost objects when entering time, and 
appears in the time tracking list.

Monty
==========================
I'm trying to get hermes to ignore completed tasks in nag.  Hermes, does 
in fact make a request for incomplete tasks via hermes/lib/Forms/Time.php:

   $criteria = array('user'   => Auth::getAuth(),  'active' => true)

However in the nag/lib/api.php, the list tasks, ignores the criteria, is 
this correct? In fact, it doesn't even look @ the criteria.

Making the following changes appear to work:

   while ($task = $tasks->each()) {
       if ($task->completed)
           continue;


However, I have no idea what side effects I just introduced. :(


Monty


====== nag/api.php======
/**
* Lists active tasks as cost objects.
*          * @todo Implement $criteria parameter.
*
* @param array $criteria   Filter attributes
*/
function _nag_listCostObjects($criteria)
{
   require_once dirname(__FILE__) . '/base.php';

   $tasks = Nag::listTasks(null, null, null, null, 1);
   $result = array();
   $tasks->reset();
   while ($task = $tasks->each()) {

       $result[$task->id] = array('id' => $task->id,
                                  'active' => !$task->completed,
                                  'name' => $task->name);
       if (!empty($task->estimate)) {
           $result[$task->id]['estimate'] = $task->estimate;
       }
   }
     if (count($result) == 0) {
       return array();
   } else {
       return array(array('category' => _("Tasks"),
                          'objects'  => array_values($result)));
   }
}




More information about the horde mailing list