diff --git a/application/views/scripts/object/show.phtml b/application/views/scripts/object/show.phtml index 6611dd8b..3a6e8895 100644 --- a/application/views/scripts/object/show.phtml +++ b/application/views/scripts/object/show.phtml @@ -1,6 +1,9 @@
tabs ?>

escape($this->title) ?>

+ +actionLinks ?> +
diff --git a/library/Director/Web/Controller/ObjectController.php b/library/Director/Web/Controller/ObjectController.php index 745058d6..da778806 100644 --- a/library/Director/Web/Controller/ObjectController.php +++ b/library/Director/Web/Controller/ObjectController.php @@ -75,10 +75,38 @@ abstract class ObjectController extends ActionController { $type = $this->getType(); $this->getTabs()->activate('render'); - $this->view->object = $this->object; + $object = $this->object; + + if ($this->params->shift('resolved')) { + $this->view->object = $object::fromPlainObject( + $object->toPlainObject(true), + $object->getConnection() + ); + + if ($object->imports()->count() > 0) { + $this->view->actionLinks = $this->view->qlink( + $this->translate('Show normal'), + $this->getRequest()->getUrl()->without('resolved'), + null, + array('class' => 'icon-resize-small state-warning') + ); + } + } else { + $this->view->object = $object; + + if ($object->imports()->count() > 0) { + $this->view->actionLinks = $this->view->qlink( + $this->translate('Show resolved'), + $this->getRequest()->getUrl()->with('resolved', true), + null, + array('class' => 'icon-resize-full') + ); + } + } + $this->view->title = sprintf( $this->translate('Config preview: %s'), - $this->object->object_name + $object->object_name ); $this->render('object/show', null, true); }