summaryrefslogtreecommitdiffstats
path: root/app/model
diff options
context:
space:
mode:
Diffstat (limited to 'app/model')
-rw-r--r--app/model/issue.php66
-rw-r--r--app/model/pad.php2
2 files changed, 59 insertions, 9 deletions
diff --git a/app/model/issue.php b/app/model/issue.php
index 4300bbb..7159015 100644
--- a/app/model/issue.php
+++ b/app/model/issue.php
@@ -23,7 +23,8 @@ if (isAction("iss-mesg-add"))
{
$form = new form();
$form->text("issue");
- $form->text("mesg");
+ $form->text("mesg", false);
+ $form->text("assignee");
if (!$form->populate(input()))
return;
@@ -36,22 +37,69 @@ if (isAction("iss-mesg-add"))
return;
}
- if (!$user->canCreateSub($issue))
+ if (isset($form->mesg) && $form->mesg != "")
{
- logError(ERROR, "You do not have permission to post to this issue");
- return;
+ 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
+ {
+ $log = mesg::initNewLog("%s closed issue", $user, $issue);
+ }
}
- $mesg = mesg::initNew($form->mesg, $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);
+ $stat = $issue->addAssignee($assignee, $user);
- if ($mesg->setAttachment("attachment"))
- logError(NOTICE, "Saved attachment " . $mesg->attachment);
+ if (!$stat)
+ logError(ERROR, "Failed to assign issue");
+ else
+ $log = mesg::initNewLog("%s assigned " . $assignee->getDisplayName(), $user, $issue);
+ }
- if (isset(input()['closeIssue']))
+ else if (isset(input()['closeIssue']))
{
+ if (!$user->canModify($issue))
+ {
+ logError(ERROR, "You do not have permission to close this issue");
+ return;
+ }
+
$issue->close($user);
logError(NOTICE, "Issue #" . $issue->numb . " closed");
- $log = mesg::initNewLog("% closed issue", $user, $issue);
+ $log = mesg::initNewLog("%s closed issue", $user, $issue);
}
}
diff --git a/app/model/pad.php b/app/model/pad.php
index d7cfb23..0090c27 100644
--- a/app/model/pad.php
+++ b/app/model/pad.php
@@ -26,4 +26,6 @@ foreach ($stages as $s)
$issues = array_merge($issues, $i);
}
+$closed_issues = $pad->getClosedIssues_ordByClosed();
+
?>