(Index: modules/poll/poll.module =================================================================== RCS file: /cvs/drupal/drupal/modules/poll/poll.module,v retrieving revision 1.248 diff -u -p -r1.248 poll.module --- modules/poll/poll.module 25 Oct 2007 15:32:56 -0000 1.248 +++ modules/poll/poll.module 3 Nov 2007 18:29:32 -0000 @@ -54,15 +54,20 @@ function poll_theme() { * Implementation of hook_perm(). */ function poll_perm() { - return array('create polls', 'vote on polls', 'cancel own vote', 'inspect all votes'); + return array('create polls', 'edit own poll', 'vote on polls', 'cancel own vote', 'inspect all votes'); } /** * Implementation of hook_access(). */ function poll_access($op, $node, $account) { - if ($op == 'create') { - return user_access('create polls', $account); + global $user; + + switch ($op) { + case 'create': + return user_access('create polls', $account); + case 'update': + return user_access('edit own poll') && ($node->uid == $user->uid); } } @@ -177,7 +182,7 @@ function poll_node_info() { * Implementation of hook_form(). */ function poll_form(&$node, $form_state) { - $admin = user_access('administer nodes'); + $admin = user_access('administer nodes') || user_access('create poll') || user_access('edit own poll'); $type = node_get_types('type', $node); $form = array(