summaryrefslogtreecommitdiff
path: root/modules/gallery/controllers/items.php
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2009-11-30 11:10:58 -0800
committerBharat Mediratta <bharat@menalto.com>2009-11-30 13:57:50 -0800
commit852653ef2415dc070c27ce151ed399525ddfa5a0 (patch)
tree1e1e081e27fd5e3cbe0b867449332d289abdde44 /modules/gallery/controllers/items.php
parent299da7b54f17408a53f7771305bcdd22ef94ec36 (diff)
Clean up item routing a bit.
1) The new default route is "albums", and Albums_Controller::index() does the right thing 2) Items_Controller redirects to the appropriate specific controller 3) All item controllers now have show() instead of _show(), so that the routing code in url::parse_url() can get to it. But that code is protected against receiving bogus requests.
Diffstat (limited to 'modules/gallery/controllers/items.php')
-rw-r--r--modules/gallery/controllers/items.php8
1 files changed, 5 insertions, 3 deletions
diff --git a/modules/gallery/controllers/items.php b/modules/gallery/controllers/items.php
index ec3681a3..b350c5a2 100644
--- a/modules/gallery/controllers/items.php
+++ b/modules/gallery/controllers/items.php
@@ -23,10 +23,12 @@ class Items_Controller extends Controller {
if (!$item->loaded) {
return Kohana::show_404();
}
+
// Redirect to the more specific resource type, since it will render
- // differently. We could also just delegate here, but it feels more appropriate
- // to have a single canonical resource mapping.
+ // differently. We can't delegate here because we may have gotten to this
+ // page via /items/<id> which means that we don't have a type-specific controller. Also, we
+ // want to drive a single canonical resource mapping where possible.
access::required("view", $item);
- return $this->_show($item);
+ url::redirect($item->abs_url());
}
}