Index: trunk/core/kernel/db/db_event_handler.php =================================================================== diff -u -N -r8413 -r8420 --- trunk/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 8413) +++ trunk/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 8420) @@ -427,7 +427,7 @@ // when no permission to view item -> redirect to no pemrission template trigger_error('ItemLoad Permission Failed for prefix ['.$event->getPrefixSpecial().']', E_USER_WARNING); $next_template = $this->Application->IsAdmin() ? 'no_permission' : $this->Application->ConfigValue('NoPermissionTemplate'); - $this->Application->Redirect($next_template, Array('pass' => 'm')); + $this->Application->Redirect($next_template, Array('next_template' => $this->Application->GetVar('t'))); } } @@ -1028,15 +1028,14 @@ */ function OnDelete(&$event) { - $object =& $event->getObject( Array('skip_autoload' => true) ); - $object->ID = $this->getPassedID($event); - if ($object->Delete()) { - $event->status = erSUCCESS; + if ($this->Application->CheckPermission('SYSTEM_ACCESS.READONLY', 1)) { + return; } - else { - $event->status = erFAIL; - $event->redirect = false; - } + + $temp =& $this->Application->recallObject($event->getPrefixSpecial().'_TempHandler', 'kTempTablesHandler'); + /* @var $temp kTempTablesHandler */ + + $temp->DeleteItems($event->Prefix, $event->Special, Array($this->getPassedID($event))); } /**