$permissions = array(
'general' => array(
'canviewbugs',
+ 'canviewhiddenbugs',
'cansearch',
'cansubscribe',
'canbeassignedto'),
CREATE TABLE `bugvaluefill` (
`bugid` INT(10) UNSIGNED NOT NULL,
PRIMARY KEY (`bugid`)
-);
\ No newline at end of file
+);
+
+ALTER TABLE `bug` ADD `hidden` INT(2) UNSIGNED NOT NULL AFTER `assignedto`;
\ No newline at end of file
$message->error_permission();
}
+if ($bug['hidden'] AND !can_perform('canviewhiddenbugs'))
+{
+ $message->error_permissison();
+}
+
// ###################################################################
if (empty($_REQUEST['do']))
$message->error_permission();
}
+if ($bug['hidden'] AND !can_perform('canviewhiddenbugs'))
+{
+ $message->error_permission();
+}
+
// setup logging
require_once('./includes/class_history.php');
$log = new History();
assignedto = " . intval($bugsys->in['assignedto']) . ",
productid = " . $pcv['product'] . ",
componentid = " . $pcv['component'] . ",
- versionid = " . $pcv['version'] . "
+ versionid = " . $pcv['version'] . ",
+ hidden = " . intval($bugsys->in['hidden']) . "
WHERE bugid = $bug[bugid]"
);
'canadmintools' => 262144, // can use admin tools
'canadminfields' => 524288, // can admin custom bug fields
'canbeassignedto' => 1048576, // can be assigned bugs,
- 'caneditattach' => 2097152 // can edit attachments
+ 'caneditattach' => 2097152, // can edit attachments
+ 'canviewhiddenbugs' => 4194304 // can see hidden bugs
);
foreach ($_PERMISSION AS $name => $maskvalue)
LEFT JOIN user AS user1
ON (bug.userid = user1.userid)
LEFT JOIN user AS user2
- ON (bug.lastpostby = user2.userid)
+ ON (bug.lastpostby = user2.userid)" . ((!can_perform('canviewhiddenbugs')) ? "
+ WHERE !hidden" : "") . "
ORDER BY bug.lastposttime DESC"
);
$message->error('alert: bad bug');
}
+if ($bug['hidden'] AND !can_perform('canviewhiddenbugs'))
+{
+ $message->error_permission();
+}
+
// ###################################################################
$logs_fetch = $db->query("
if (!is_array($bug))
{
$message->error('alert: bad bug');
-}
+}
+
+if ($bug['hidden'] AND !can_perform('canviewhiddenbugs'))
+{
+ $message->error_permission();
+}
// -------------------------------------------------------------------
// prep display
+<if condition="$bug['hidden']"><div><strong style="color: red">This bug is hidden!</strong></div></if>
+
<div><strong>Bug ID:</strong> $bug[bugid]</div>
<div><strong>Reported by:</strong> $bug[userinfo]</div>
<div><strong>Product:</strong> $bug[product] <if condition="$bug['componentid']">/ <strong>Component:</strong> $bug[component]</if> / <strong>Version:</strong> $bug[version]</div>
<input type="hidden" name="bugid" value="$bug[bugid]" />
<div><strong>Bug ID:</strong> $bug[bugid]</div>
+<div><strong<if condition="$bug['hidden']"> style="color: red"</if>>Hidden:</strong> <input type="checkbox" name="hidden" value="1"<if condition="$bug['hidden']"> checked="checked"</if> /></div>
<div><strong>Summary/Title:</strong> <input type="text" name="summary" size="25" value="$bug[summary]" /></div>
<div><strong>Severity:</strong> <select name="severity">$select[severity]</select></div>