Exemplo n.º 1
0
 public function testLatLngShouldNotAllowZeros()
 {
     $ticket = new Ticket();
     $ticket->handleAdd(array('description' => 'Testing', 'category_id' => $this->testCategoryId, 'latitude' => 0, 'longitude' => 0));
     $id = $ticket->getId();
     $zend_db = Database::getConnection();
     $result = $zend_db->query('select latitude,longitude from tickets where id=?')->execute([$id]);
     $row = $result->current();
     $this->assertNull($row['latitude']);
     $this->assertNull($row['longitude']);
 }
Exemplo n.º 2
0
 /**
  * Transfers issues and history from another ticket into this one
  *
  * We're only migrating the issue and history
  * Once we're done we delete the other ticket
  *
  * @param Ticket $ticket
  */
 public function mergeFrom(Ticket $ticket)
 {
     if ($this->getId()) {
         $zend_db = Database::getConnection();
         $zend_db->getDriver()->getConnection()->beginTransaction();
         try {
             $zend_db->query('update ticketHistory set ticket_id=? where ticket_id=?')->execute([$this->getId(), $ticket->getId()]);
             $zend_db->query('update issues        set ticket_id=? where ticket_id=?')->execute([$this->getId(), $ticket->getId()]);
             $zend_db->query('delete from tickets where id=?')->execute([$ticket->getId()]);
         } catch (\Exception $e) {
             $zend_db->getDriver()->getConnection()->rollback();
             throw $e;
         }
         $zend_db->getDriver()->getConnection()->commit();
         $search = new Search();
         $search->delete($ticket);
         $search->add($this);
         $search->solrClient->commit();
     }
 }
Exemplo n.º 3
0
 public static function updateTicketClusters(Ticket $ticket)
 {
     if ($ticket->getId()) {
         $zend_db = Database::getConnection();
         $zend_db->query('delete from ticket_geodata where ticket_id=?')->execute([$ticket->getId()]);
         if ($ticket->getLatitude() && $ticket->getLongitude()) {
             $data['ticket_id'] = $ticket->getId();
             for ($i = 0; $i <= 6; $i++) {
                 $data["cluster_id_{$i}"] = self::assignClusterIdForLevel($ticket, $i);
             }
             $sql = new Sql($zend_db);
             $insert = $sql->insert('ticket_geodata');
             $insert->values($data);
             $sql->prepareStatementForSqlObject($insert)->execute();
         }
     }
 }