/** * Handle on_milestone_add_links event * * @param Milestone $milestone * @param User $user * @param array $links * @return null */ function tickets_handle_on_milestone_add_links($milestone, $user, &$links) { if ($user->getProjectPermission('ticket', $milestone->getProject()) >= PROJECT_PERMISSION_CREATE) { $links[lang('Ticket')] = tickets_module_add_ticket_url($milestone->getProject(), array('milestone_id' => $milestone->getId())); } // if }
/** * Constructor * * @param Request $request * @return TicketsController */ function __construct($request) { parent::__construct($request); if ($this->logged_user->getProjectPermission('ticket', $this->active_project) < PROJECT_PERMISSION_ACCESS) { $this->httpError(HTTP_ERR_FORBIDDEN); } // if $tickets_url = tickets_module_url($this->active_project); $archive_url = assemble_url('project_tickets_archive', array('project_id' => $this->active_project->getId())); $this->wireframe->addBreadCrumb(lang('Tickets'), $tickets_url); /*$_options = new NamedList(); $_options->add('_category', array('url' => $tickets_url, 'text' => lang('Category'))); $_options->add('_star', array('url' => $tickets_url, 'text' => lang('Star'))); $_options->add('_priority', array('url' => $tickets_url, 'text' => lang('Priority'))); $_options->add('_name', array('url' => $tickets_url, 'text' => lang('Name'))); $_options->add('_owner', array('url' => $tickets_url, 'text' => lang('Owner'))); $this->wireframe->addPageAction(lang('Sort by'), $tickets_url, $_options, null, '0');*/ $add_ticket_url = false; if (Ticket::canAdd($this->logged_user, $this->active_project)) { $params = null; if ($this->active_category->isLoaded()) { $params = array('category_id' => $this->active_category->getId()); } // if $add_ticket_url = tickets_module_add_ticket_url($this->active_project, $params); $this->wireframe->addPageAction(lang('New Ticket'), $add_ticket_url, null, '1'); //$this->wireframe->addPageAction(lang('New Ticket'), $add_ticket_url); } // if $ticket_id = $this->request->getId('ticket_id'); if ($ticket_id) { $this->active_ticket = Tickets::findByTicketId($this->active_project, $ticket_id); } // if if (instance_of($this->active_category, 'Category') && $this->active_category->isLoaded()) { $this->wireframe->addBreadCrumb($this->active_category->getName(), $this->active_category->getViewUrl()); } // if if (instance_of($this->active_ticket, 'Ticket')) { if ($this->active_ticket->isCompleted()) { $this->wireframe->addBreadCrumb(lang('Archive'), $archive_url); } // if $this->wireframe->addBreadCrumb($this->active_ticket->getName(), $this->active_ticket->getViewUrl()); } else { $this->active_ticket = new Ticket(); } // if $this->smarty->assign(array('tickets_url' => $tickets_url, 'tickets_archive_url' => $archive_url, 'add_ticket_url' => $add_ticket_url, 'active_ticket' => $this->active_ticket, 'page_tab' => 'tickets', 'mass_edit_tickets_url' => assemble_url('project_tickets_mass_edit', array('project_id' => $this->active_project->getId())))); }