Index: branches/5.2.x/core/units/relationship/relationship_event_handler.php =================================================================== diff -u -N -r14628 -r14680 --- branches/5.2.x/core/units/relationship/relationship_event_handler.php (.../relationship_event_handler.php) (revision 14628) +++ branches/5.2.x/core/units/relationship/relationship_event_handler.php (.../relationship_event_handler.php) (revision 14680) @@ -1,6 +1,6 @@ Array('subitem' => 'add|edit'), - ); + + $permissions = Array ( + 'OnProcessSelected' => Array ('subitem' => 'add|edit') + ); + $this->permMapping = array_merge($this->permMapping, $permissions); } @@ -40,7 +42,7 @@ $object =& $event->getObject(); /* @var $object kDBItem */ - + $table_info = $object->getLinkedInfo(); $object->SetDBField('SourceId', $table_info['ParentId']); @@ -102,8 +104,15 @@ $source_prefix = $this->Application->getUnitOption($event->Prefix, 'ParentPrefix'); $template = $this->Application->getUnitOption($source_prefix, 'AdminTemplatePath') . '/relations_edit'; - $redirect_params = Array ($event->Prefix . '_event' => 'OnNew', 'target_id' => $target_id, 'm_opener' => 's', 'target_type' => $target_type); - $this->Application->EventManager->openerStackPush($template, $redirect_params, 'all,' . $event->Prefix); + $redirect_params = Array ( + $event->Prefix . '_event' => 'OnNew', + 'target_id' => $target_id, + 'm_opener' => 's', + 'target_type' => $target_type, + 'pass' => 'all,' . $event->Prefix, + ); + + $this->Application->EventManager->openerStackPush($template, $redirect_params); } } else { @@ -275,10 +284,10 @@ function OnDeleteForeignRelations(&$event) { $main_object =& $event->MasterEvent->getObject(); - $resource_id = $main_object->GetDBField('ResourceId'); + /* @var $main_object kDBItem */ - $table = $this->Application->getUnitOption($event->Prefix,'TableName'); - $sql = 'DELETE FROM '.$table.' WHERE TargetId = '.$resource_id; + $sql = 'DELETE FROM ' . $this->Application->getUnitOption($event->Prefix, 'TableName') . ' + WHERE TargetId = ' . $main_object->GetDBField('ResourceId'); $this->Conn->Query($sql); }