Esempio n. 1
0
     $item->pricePerUnit = $invoice->sum;
     $item->units = 1;
     $item->description = $deliverable->title . ' (auto-generated)';
     $item->create();
 } else {
     $found = false;
     foreach ($items as $item) {
         if ($item->deliverable == $deliverable->id) {
             echo "Found invoice item for deliverable " . $deliverable->title . "\n";
             flush();
             $found = true;
             break;
         }
     }
     if (!$found) {
         $cycle_number = (int) $invoice->get_parameter('org.openpsa.sales', 'cycle_number');
         $description = $deliverable->title;
         if ($cycle_number) {
             $description .= ' ' . $cycle_number;
         }
         foreach ($items as $item) {
             if ($item->description == $description && $item->deliverable == 0) {
                 echo "Found invoice item for deliverable " . $deliverable->title . " by description\n";
                 flush();
                 $found = true;
                 break;
             }
         }
     }
     if (!$found) {
         echo "Could not identify invoice item for deliverable " . $deliverable->title . " on invoice " . $invoice->get_label() . ", creating empty item\n";