function createHistory($o, $h) { if ($o instanceof Ticket) { $history = new TicketHistory(); $history->setTicket($o); } else { $history = new IssueHistory(); $history->setIssue($o); } if (!empty($h['enteredDate'])) { $d = DateTime::createFromFormat('U', $h['enteredDate']->sec); if ($d) { $history->setEnteredDate($d->format('Y-m-d H:i:s')); } } if (!empty($h['actionDate'])) { $d = DateTime::createFromFormat('U', $h['actionDate']->sec); if ($d) { $history->setActionDate($d->format('Y-m-d H:i:s')); } } if (!empty($h['enteredByPerson'])) { $id = getPersonIdFromCrosswalk($h['enteredByPerson']['_id']); if ($id) { $history->setEnteredByPerson_id($id); } } if (!empty($h['actionPerson'])) { $id = getPersonIdFromCrosswalk($h['actionPerson']['_id']); if ($id) { $history->setActionPerson_id($id); } } if (!empty($h['action'])) { try { $action = new Action($h['action']); } catch (Exception $e) { $action = new Action(); $action->setName($h['action']); $action->setDescription($h['action']); $action->setType('system'); } $history->setAction($action); } if (!empty($h['notes'])) { $history->setNotes($h['notes']); } $history->save(); }
/** * @param string $name * @param null|string $label * @return Action * @throws DuplicateActionException */ public function addAction($name, $label = NULL) { if (!empty($this['actions']->components[$name])) { throw new DuplicateActionException("Action {$name} already exists."); } $action = new Action($this['actions'], $name); $action->setName($name)->setLabel($label); return $action; }
<?php /** * @copyright 2011 City of Bloomington, Indiana * @license http://www.gnu.org/licenses/agpl.txt GNU/AGPL, see LICENSE.txt * @author Cliff Ingham <*****@*****.**> */ include '../../../configuration.inc'; $resolutions = array('Resolved' => 'This ticket has been taken care of', 'Duplicate' => 'This ticket is a duplicate of another ticket', 'Bogus' => 'This ticket is not actually a problem or has already been taken care of'); foreach ($resolutions as $name => $description) { $resolution = new Resolution(); $resolution->setName($name); $resolution->setDescription($description); $resolution->save(); echo "{$resolution}\n"; } $actions = array(array('name' => 'open', 'description' => 'Opened by {actionPerson}', 'type' => 'system'), array('name' => 'assignment', 'description' => '{enteredByPerson} assigned this case to {actionPerson}', 'type' => 'system'), array('name' => 'close', 'description' => 'Closed by {actionPerson}', 'type' => 'system'), array('name' => 'referral', 'description' => '{enteredByPerson} referred this case to {actionPerson}', 'type' => 'system'), array('name' => 'Inspection', 'description' => '{actionPerson} inspected this Location', 'type' => 'department'), array('name' => 'Follow up', 'description' => '{actionPerson} followed up on this ticket', 'type' => 'department')); foreach ($actions as $a) { $action = new Action(); $action->setName($a['name']); $action->setDescription($a['description']); $action->setType($a['type']); $action->save(); echo "{$action->getName()}\n"; }