added Issue::isCreatedBy()
This commit is contained in:
parent
866a78c908
commit
0ccf0428b2
@ -661,8 +661,7 @@ DEPRECATED
|
|||||||
// TODO: add a project option to accept an issue from anonymous users, logged-in users or just members.
|
// TODO: add a project option to accept an issue from anonymous users, logged-in users or just members.
|
||||||
else if (!$login['sysadmin?'] &&
|
else if (!$login['sysadmin?'] &&
|
||||||
$this->projects->projectHasMember($projectid, $login['id']) === FALSE &&
|
$this->projects->projectHasMember($projectid, $login['id']) === FALSE &&
|
||||||
($issue = $this->issues->get ($login['id'], $project, $issueid)) !== FALSE &&
|
$this->issues->isCreatedBy($projectid, $issueid, $login['id']) === FALSE)
|
||||||
$login['id'] != $issue->createdby)
|
|
||||||
{
|
{
|
||||||
$status = "error - not a member nor a creator - {$login['id']}";
|
$status = "error - not a member nor a creator - {$login['id']}";
|
||||||
}
|
}
|
||||||
@ -793,8 +792,7 @@ DEPRECATED
|
|||||||
// TODO: add a project option to accept an issue from anonymous users, logged-in users or just members.
|
// TODO: add a project option to accept an issue from anonymous users, logged-in users or just members.
|
||||||
else if (!$login['sysadmin?'] &&
|
else if (!$login['sysadmin?'] &&
|
||||||
$this->projects->projectHasMember($projectid, $login['id']) === FALSE &&
|
$this->projects->projectHasMember($projectid, $login['id']) === FALSE &&
|
||||||
($issue = $this->issues->get ($login['id'], $project, $issueid)) !== FALSE &&
|
$this->issues->isCreatedBy($projectid, $issueid, $login['id']) === FALSE)
|
||||||
$login['id'] != $issue->createdby)
|
|
||||||
{
|
{
|
||||||
$status = "error - not a member nor a creator - {$login['id']}";
|
$status = "error - not a member nor a creator - {$login['id']}";
|
||||||
}
|
}
|
||||||
@ -875,8 +873,7 @@ DEPRECATED
|
|||||||
// TODO: add a project option to accept an issue from anonymous users, logged-in users or just members.
|
// TODO: add a project option to accept an issue from anonymous users, logged-in users or just members.
|
||||||
else if (!$login['sysadmin?'] &&
|
else if (!$login['sysadmin?'] &&
|
||||||
$this->projects->projectHasMember($projectid, $login['id']) === FALSE &&
|
$this->projects->projectHasMember($projectid, $login['id']) === FALSE &&
|
||||||
($issue = $this->issues->get ($login['id'], $project, $issueid)) !== FALSE &&
|
$this->issues->isCreatedBy($projectid, $issueid, $login['id']) === FALSE)
|
||||||
$login['id'] != $issue->createdby)
|
|
||||||
{
|
{
|
||||||
$status = "error - not a member nor a creator - {$login['id']}";
|
$status = "error - not a member nor a creator - {$login['id']}";
|
||||||
}
|
}
|
||||||
|
@ -899,6 +899,32 @@ class IssueModel extends Model
|
|||||||
restore_error_handler ();
|
restore_error_handler ();
|
||||||
return $x;
|
return $x;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function isCreatedBy ($projectid, $issueid, $userid)
|
||||||
|
{
|
||||||
|
$this->db->trans_begin (); // manual transaction. not using trans_start().
|
||||||
|
|
||||||
|
$this->db->where ('projectid', $projectod);
|
||||||
|
$this->db->where ('id', $issueid);
|
||||||
|
$query = $this->db->get ('issue');
|
||||||
|
if ($this->db->trans_status() === FALSE)
|
||||||
|
{
|
||||||
|
$this->db->trans_rollback ();
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
$result = $query->result ();
|
||||||
|
if (empty($result))
|
||||||
|
{
|
||||||
|
$this->db->trans_commit ();
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->db->trans_commit ();
|
||||||
|
|
||||||
|
$issue = &$result[0];
|
||||||
|
return ($issue->created_by == $userid);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
Loading…
Reference in New Issue
Block a user