<?php $canEdit = $ticket->canEdit(logged_user()); // Set page title and set crumbs to index $title = $canEdit ? 'edit ticket' : 'view ticket'; set_page_title(lang($title)); project_tabbed_navigation(PROJECT_TAB_TICKETS); $crumbs = array(array(lang('tickets'), get_url('tickets'))); if ($ticket->isClosed()) { $crumbs[] = array(lang('closed tickets'), ProjectTickets::getIndexUrl(true)); } $crumbs[] = array(lang($title)); project_crumbs($crumbs); add_stylesheet_to_page('project/tickets.css'); add_stylesheet_to_page('application_logs.css'); if ($ticket->isPrivate()) { ?> <div class="private" title="<?php echo lang('private ticket'); ?> "><span><?php echo lang('private ticket'); ?> </span></div> <?php } // if ?> <h2><?php echo lang('ticket #', $ticket->getId()); ?>
/** * Open specific ticket * * @access public * @param void * @return null */ function open() { $ticket = ProjectTickets::findById(get_id()); if (!$ticket instanceof ProjectTicket) { flash_error(lang('ticket dnx')); $this->redirectTo('tickets'); } // if if (!$ticket->canChangeStatus(logged_user())) { flash_error(lang('no access permissions')); $this->redirectToReferer(get_url('tickets')); } // if $status = $ticket->isClosed() ? 'closed' : 'open'; try { DB::beginWork(); $ticket->openTicket(); ApplicationLogs::createLog($ticket, active_project(), ApplicationLogs::ACTION_OPEN); DB::commit(); if ($status != 'open') { $change = new ProjectTicketChange(); $change->setTicketId($ticket->getId()); $change->setType('status'); $change->setFromData($status); $change->setToData('open'); $change->save(); } try { Notifier::ticket($ticket, $ticket->getSubscribers(), 'open_ticket', logged_user()); } catch (Exception $e) { // nothing here, just suppress error... } // try flash_success(lang('success open ticket')); } catch (Exception $e) { flash_error(lang('error open ticket')); DB::rollback(); } // try $this->redirectToUrl(ProjectTickets::getIndexUrl()); }
<div class="blockContent"> <ul> <li><a href="<?php echo ProjectTickets::getIndexUrl(); ?> " <?php if (isset($closed) && !$closed) { echo 'class="selected"'; } ?> ><?php echo lang('open tickets'); ?> </a></li> <li><a href="<?php echo ProjectTickets::getIndexUrl(true); ?> " <?php if (isset($closed) && $closed) { echo 'class="selected"'; } ?> ><?php echo lang('closed tickets'); ?> </a></li> <li><a href="<?php echo get_url('tickets', 'categories'); ?> " <?php if (!isset($closed)) {