From 88604c82a62a39768e0ecd686c1d5528dc3491f5 Mon Sep 17 00:00:00 2001
From: Earl Miles <merlin@logrus.com>
Date: Thu, 30 Apr 2009 20:08:32 +0000
Subject: [PATCH] Do not allow the "new" page to ever be locked since it does
 not really exist.

---
 delegator/plugins/tasks/node_edit.inc  | 3 ++-
 delegator/plugins/tasks/page.admin.inc | 7 ++++++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/delegator/plugins/tasks/node_edit.inc b/delegator/plugins/tasks/node_edit.inc
index f981d226..83b94f44 100644
--- a/delegator/plugins/tasks/node_edit.inc
+++ b/delegator/plugins/tasks/node_edit.inc
@@ -71,7 +71,8 @@ function delegator_node_edit($node) {
   ctools_include('context-task-handler');
   $contexts = ctools_context_handler_get_task_contexts($task, '', array($node));
 
-  $output = ctools_context_handler_render($task, '', $contexts, array($node->nid));
+  $arg = array(isset($node->nid) ? $node->nid : $node->type);
+  $output = ctools_context_handler_render($task, '', $contexts, $arg);
   if ($output === FALSE) {
     // Fall back!
     // We've already built the form with the context, so we can't build it again, or
diff --git a/delegator/plugins/tasks/page.admin.inc b/delegator/plugins/tasks/page.admin.inc
index 917daac1..eba9266d 100644
--- a/delegator/plugins/tasks/page.admin.inc
+++ b/delegator/plugins/tasks/page.admin.inc
@@ -240,7 +240,12 @@ function delegator_page_get_page_cache($name) {
     $cache = delegator_page_load($name);
   }
 
-  $cache->locked = ctools_object_cache_test('delegator_page', $name);
+  if ($name != '::new') {
+    $cache->locked = ctools_object_cache_test('delegator_page', $name);
+  }
+  else {
+    $cache->locked = FALSE;
+  }
 
   return $cache;
 }
-- 
GitLab