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']); }
/** * 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(); } }
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(); } } }