Esempio n. 1
0
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();
}
Esempio n. 2
0
 /**
  * @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;
 }
Esempio n. 3
0
<?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";
}