/** * Constructor * * @param Request $request * @return ChecklistsController */ function __construct($request) { parent::__construct($request); if ($this->logged_user->getProjectPermission('checklist', $this->active_project) < PROJECT_PERMISSION_ACCESS) { $this->httpError(HTTP_ERR_FORBIDDEN); } // if $checklists_url = checklists_module_url($this->active_project); $checklists_archive_url = checklists_module_archive_url($this->active_project); $add_checklist_url = false; $this->wireframe->addBreadCrumb(lang('Checklists'), $checklists_url); if (Checklist::canAdd($this->logged_user, $this->active_project)) { $add_checklist_url = checklists_module_add_checklist_url($this->active_project); $this->wireframe->addPageAction(lang('New Checklist'), $add_checklist_url); } // if $checklist_id = $this->request->getId('checklist_id'); if ($checklist_id) { $this->active_checklist = ProjectObjects::findById($checklist_id); } // if if (instance_of($this->active_checklist, 'Checklist')) { if ($this->active_checklist->isCompleted()) { $this->wireframe->addBreadCrumb(lang('Archive'), checklists_module_archive_url($this->active_project)); } // if $this->wireframe->addBreadCrumb($this->active_checklist->getName(), $this->active_checklist->getViewUrl()); } else { $this->active_checklist = new Checklist(); } // if $this->smarty->assign(array('active_checklist' => $this->active_checklist, 'checklists_url' => $checklists_url, 'checklists_archive_url' => $checklists_archive_url, 'add_checklist_url' => $add_checklist_url, 'page_tab' => 'checklists')); }