function _dispatch($view, $item, $root, $get_show_view)
 {
     switch ($view) {
         case 'permissions':
             if (!$this->userCanManage($item->getId())) {
                 $this->feedback->log('error', $GLOBALS['Language']->getText('plugin_docman', 'error_perms_perms'));
             } else {
                 $this->action = $view;
                 $this->_setView('');
             }
             break;
         case 'appendFileChunk':
         case 'new_version':
         case 'update':
             if (!$this->userCanWrite($item->getId())) {
                 $this->feedback->log('error', $GLOBALS['Language']->getText('plugin_docman', 'error_perms_edit'));
             } else {
                 $this->action = $view;
                 $this->_setView('');
             }
             break;
         case 'getFileMD5sum':
         case 'getMetadataListOfValues':
         case 'getProjectMetadata':
         case 'getTreeInfo':
         case 'getFileContents':
         case 'getFileChunk':
             if (!$this->userCanRead($item->getId())) {
                 $this->feedback->log('error', $GLOBALS['Language']->getText('plugin_docman', 'error_perms_view'));
             } else {
                 $this->action = $view;
                 $this->_setView('');
             }
             break;
         case 'search':
             $this->view = 'Search';
             break;
         default:
             parent::_dispatch($view, $item, $root, $get_show_view);
     }
 }