text("issue"); $form->text("mesg", false); $form->text("assignee"); $form->flag("nopop"); if (!$form->populate(input())) return; $issue = new issue($form->issue); if (!($user = user::getCurrent())) { logError(ERROR, "You must be logged in to post a message"); return; } if (isset($form->mesg) && $form->mesg != "") { if (!$user->canCreateSub($issue)) { logError(ERROR, "You do not have permission to post to this issue"); return; } $mesg = mesg::initNew($form->mesg, $user, $issue); if ($mesg->setAttachment("attachment")) { //logError(NOTICE, "Saved attachment " . $mesg->attachment); } } if (isset(input()['advIssue'])) { if (!$user->canModify($issue)) { logError(ERROR, "You do not have permission to move this issue"); return; } $issue->advance($user); if ($issue->isOpen()) { $sgename = $issue->getParent()->name; $log = mesg::initNewLog("%s advanced issue to '" . $sgename . "'", $user, $issue); } else { $issue->signoffAssignee($user); $log = mesg::initNewLog("%s closed issue", $user, $issue); } } else if (isset(input()['assIssue'])) { if (!$user->canModify($issue)) { logError(ERROR, "You do not have permission to assign this issue"); return; } $assignee = new user($form->assignee); if (!$assignee->isAssignedTo($issue)) { $stat = $issue->addAssignee($assignee, $user); $mesg = ($assignee->guid == $user->guid ? "%s claimed" : "%s assigned " . $assignee->getDisplayName()); if (!$stat) logError(ERROR, "Failed to assign issue"); else $log = mesg::initNewLog($mesg, $user, $issue); } } else if (isset(input()['closeIssue'])) { if (!$user->canModify($issue)) { logError(ERROR, "You do not have permission to close this issue"); return; } $issue->signoffAssignee($user); $issue->close($user); $log = mesg::initNewLog("%s closed issue", $user, $issue); } else if (isset(input()['signoff'])) { if (!$user->isAssignedTo($issue)) { logError(ERROR, "You are not an active assignee of this issue"); return; } $issue->signoffAssignee($user); $log = mesg::initNewLog("%s signed off", $user, $issue); } /* automatically redisplay issue modal */ if ($form->nopop != "1") setAutoModal("#issueModal-" . $issue->guid); } ?>