=== modified file 'sites/all/modules/drupalorg/drupalorg_project/drupalorg_project.module'
--- sites/all/modules/drupalorg/drupalorg_project/drupalorg_project.module	2012-01-15 21:55:41 +0000
+++ sites/all/modules/drupalorg/drupalorg_project/drupalorg_project.module	2012-03-24 18:13:38 +0000
@@ -93,6 +93,16 @@
     'access arguments'   => array('access content'),
     'type'               => MENU_SUGGESTED_ITEM,
   );
+  $items['sandbox/%/%node'] = array(
+    // Modeled on $items['node/%node'] will pass through
+    'title callback'     => 'node_page_title',
+    'title arguments'    => array(2),
+    'page callback'      => 'drupalorg_project_sandbox',
+    'page arguments'     => array(2),
+    'access callback'    => 'node_access',
+    'access arguments'   => array('view', 2),
+    'type'               => MENU_CALLBACK,
+  );
 
   return $items;
 }
@@ -1103,3 +1113,17 @@
       break;
   }
 }
+
+/**
+ * Menu callback for serving up sandbox projects (or redirecting to full).
+ */
+function drupalorg_project_sandbox($node) {
+  // If a sandbox project, do the same as node module does for page views.
+  if (isset($node->project['sandbox']) && $node->project['sandbox']) {
+    return node_page_view($node);
+  }
+  else {
+    // Not a sandbox project, redirect to the node's usual path.
+    drupal_goto('node/' . $node->nid, NULL, NULL, 301);
+  }
+}

