/** * Prende le stime dei figli, le somma e ne genera una singola */ function getEstimateFromChilds() { // Prendo tutti i figli della milestone corrente $tasks = Tasks::findByMilestone($this->object, STATE_VISIBLE); // Scorro tutti i figli e ne salvo le stime $estimates = array(); $estimates_sum = 0; if (is_foreachable($tasks)) { foreach ($tasks as $task) { $estimate = Estimates::findLatestByParent($task); // Se non รจ stata impostata la stima ritorna nullo, quindi bisogna controllare che effettivamente l'oggetto esista if ($estimate && $estimate instanceof Estimate) { $estimates[] = $estimate; $estimates_sum += $estimate->getValue(); } } } // FIXME: seconda parte dell'if inutile if ($this->object instanceof Milestone || $this->object instanceof RemediaMilestone) { $estimate = new Estimate(); $estimate->setParent($this->object); $estimate->setValue($estimates_sum); $estimate->setJobType(JobTypes::findById(1)); // TODO: ho preso un job a caso, chissene $estimate->setComment('Stima generata automaticamente'); $estimate->setCreatedBy($this->object->assignees()->getAssignee()); // Assegno come creatore un tizio tra gli assegnatari $estimate->setCreatedOn(DateTimeValue::now()); } return $estimate; }