--- project_issue.module.orig	2008-01-26 01:41:51.000000000 -0500
+++ project_issue.module	2008-01-31 10:52:26.000000000 -0500
@@ -135,7 +135,9 @@ function project_issue_perm() {
     'create project issues',
     'access project issues',
     'edit own project issues',
-    'access own project issues'
+    'access own project issues',
+    'assign project issues to others',
+    'be assigned project issues'
   );
   $states = project_issue_state();
   foreach($states as $key => $value) {
--- issue.inc.orig	2008-01-30 19:22:17.000000000 -0500
+++ issue.inc	2008-01-31 10:58:08.000000000 -0500
@@ -697,6 +697,22 @@ function project_issue_form($node) {
   // Always let the person replying assign it to themselves.
   $assigned[$user->uid] = $user->name;
 
+  // If person has rights to assign to others, append available assignees
+  if (user_access('assign project issues to others')) {
+    $options = array();
+       $result = db_query(
+        "SELECT u.uid, u.name "
+      . "FROM {users} u "
+      . "INNER JOIN {users_roles} ur ON u.uid  = ur.uid "
+      . "INNER JOIN {permission}  p  ON ur.rid = p.rid "
+      . "WHERE p.perm like '%%be assigned project issues%%' "
+      . "ORDER BY u.name"
+      );
+    while ($account = db_fetch_object($result)) {
+      $assigned[$account->uid] = $account->name;
+    }
+  }
+
   if (trim($project->help)) {
     $form['project_help'] = array(
       '#prefix' => '<div class="messages status">',
