Example #1
0
 /**
  * Add project
  *
  * @todo finish responsible id's
  * @param Model\Project $project
  * @param Model\Milestone $milestone
  * @return boolean
  * @throws Exception\ArgumentException
  */
 public function addProject(Model\Project $project, Model\Milestone $milestone)
 {
     if ($project->getId() > 0) {
         throw new Exception\ArgumentException('An teamleader ID is already set in project, add is not allowed.', 1440437772);
     }
     if ($milestone->getId() > 0) {
         throw new Exception\ArgumentException('An teamleader ID is already set in milestone, add is not allowed.', 1440437773);
     }
     $action = 'addProject.php';
     $parameters = ['project_name' => $project->getTitle(), 'project_budget' => $project->getBudgetIndication(), 'project_start_date' => $project->getStartDate()->format('d/m/Y'), 'milestone_title' => $milestone->getTitle(), 'milestone_budget' => $milestone->getBudget(), 'milestone_invoiceable' => $milestone->getInvoiceable(), 'milestone_due_date' => $milestone->getDueDate()->format('d/m/Y'), 'milestone_billing_type' => $milestone->getBillingType()];
     $client = $project->getClient();
     if ($client instanceof Model\Contact) {
         $parameters['contact_or_company'] = 'contact';
         $parameters['contact_or_company_id'] = $client->getId();
     } elseif ($client instanceof Model\Company) {
         $parameters['contact_or_company'] = 'company';
         $parameters['contact_or_company_id'] = $client->getId();
     }
     return (bool) $this->doRequest($action, $parameters);
 }