/** * @param mixed $handler_id The ID of the handler. * @param Array $args The argument list. * @param Array &$data The local request data. */ public function _handler_delete($handler_id, array $args, array &$data) { midcom::get('auth')->require_valid_user(); $this->_document = $this->_load_document($args[0]); $this->_document->require_do('midgard:delete'); $data['controller'] = midcom_helper_datamanager2_handler::get_delete_controller(); switch ($data['controller']->process_form()) { case 'delete': if ($this->_document->delete()) { // Update the index $indexer = midcom::get('indexer'); $indexer->delete($this->_document->guid); // Redirect to the directory return new midcom_response_relocate(''); } else { // Failure, give a message midcom::get('uimessages')->add($this->_l10n->get('org.openpsa.documents'), $this->_l10n->get("failed to delete document, reason ") . midcom_connection::get_error_string(), 'error'); } //Fall-through //Fall-through case 'cancel': return new midcom_response_relocate("document/" . $this->_document->guid . "/"); } $data['document_dm'] = $this->_datamanager; $data['document'] = $this->_document; org_openpsa_helpers::dm2_savecancel($this, 'delete'); $this->_update_breadcrumb_line('delete'); }
private function _populate_toolbar() { if ($this->_document->can_do('midgard:update')) { $this->_view_toolbar->add_item(array(MIDCOM_TOOLBAR_URL => "document/edit/{$this->_document->guid}/", MIDCOM_TOOLBAR_LABEL => $this->_l10n_midcom->get('edit'), MIDCOM_TOOLBAR_ICON => 'stock-icons/16x16/edit.png', MIDCOM_TOOLBAR_ACCESSKEY => 'e')); } if ($this->_document->can_do('midgard:delete')) { $this->_view_toolbar->add_item(array(MIDCOM_TOOLBAR_URL => "document/delete/{$this->_document->guid}/", MIDCOM_TOOLBAR_LABEL => $this->_l10n_midcom->get('delete'), MIDCOM_TOOLBAR_ICON => 'stock-icons/16x16/trash.png')); } }