summaryrefslogtreecommitdiffstats
path: root/app/model
diff options
context:
space:
mode:
authorMalf Furious <m@lfurio.us>2018-11-10 23:21:39 -0500
committerMalf Furious <m@lfurio.us>2018-11-10 23:21:39 -0500
commitf3165d28fff6468fca44ff2ec3b6cfb3fb82ee90 (patch)
treea8edb746f0a21d9e7ad134ba79be8278ecce147e /app/model
parent0421aa1b60f4fe6bf140888159c58059c1013588 (diff)
parent295ba9fce85a959b04db4ac74b4ee378b42e6153 (diff)
downloadscrott-13fcb4fedfbcc13fd8cfe4518825bffe346110c5.tar.gz
scrott-13fcb4fedfbcc13fd8cfe4518825bffe346110c5.zip
Merge branch 'rel/v0.2'v0.2
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();
+
?>