Esempio n. 1
0
 /**
  * The delete handler.
  *
  * @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)
 {
     $this->_hour_report = new org_openpsa_projects_hour_report_dba($args[0]);
     $this->_hour_report->require_do('midgard:delete');
     if (array_key_exists('org_openpsa_expenses_deleteok', $_REQUEST)) {
         // Deletion confirmed.
         if (!$this->_hour_report->delete()) {
             throw new midcom_error("Failed to delete hour report {$args[0]}, last Midgard error was: " . midcom_connection::get_error_string());
         }
         // Delete ok, relocating to welcome.
         return new midcom_response_relocate('');
     }
     if (array_key_exists('org_openpsa_expenses_deletecancel', $_REQUEST)) {
         // Redirect to view page.
         return new midcom_response_relocate('');
     }
     $this->_load_schemadb();
     $dm = new midcom_helper_datamanager2_datamanager($this->_schemadb);
     $dm->autoset_storage($this->_hour_report);
     $data['datamanager'] =& $dm;
     $this->_update_breadcrumb_line($handler_id);
     $this->_view_toolbar->bind_to($this->_hour_report);
     midcom::get('metadata')->set_request_metadata($this->_hour_report->metadata->revised, $this->_hour_report->guid);
 }