diff --git a/Dataface/Relationship.php b/Dataface/Relationship.php index dc949c00..5bf3989d 100644 --- a/Dataface/Relationship.php +++ b/Dataface/Relationship.php @@ -141,6 +141,10 @@ function setFieldDefOverride($field_name, array $field_def){ } $this->_field_def_overrides[$field_name] = $field_def; } + + function isLinkToDomainRecord() { + return !empty($this->_schema['list']['link_to_domain_record']) and $this->_schema['list']['link_to_domain_record']; + } /** * Returns an array of names of fields in this relationship. diff --git a/actions/view_related_record.php b/actions/view_related_record.php index 2edc4609..0c8a0d42 100644 --- a/actions/view_related_record.php +++ b/actions/view_related_record.php @@ -17,6 +17,12 @@ function handle($params){ if ( !@$perms['view'] ){ return Dataface_Error::permissionDenied('You don\'t have permission to view this record.'); } + + if ($related_record->_relationship->isLinkToDomainRecord()) { + $domainRecord = $related_record->toRecord(); + header('Location: '.$domainRecord->getURL()); + return; + } $query['-relationship'] = $related_record->_relationship->getName(); Dataface_JavascriptTool::getInstance()->import('xataface/actions/view_related_record.js');