|
From: Benjamin C. <bc...@us...> - 2002-03-05 23:54:19
|
Update of /cvsroot/phpbt/phpbt/admin
In directory usw-pr-cvs1:/tmp/cvs-serv15820/admin
Modified Files:
os.php resolution.php severity.php status.php
Log Message:
Allow for deleting items
Index: os.php
===================================================================
RCS file: /cvsroot/phpbt/phpbt/admin/os.php,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- os.php 26 Jan 2002 16:46:52 -0000 1.20
+++ os.php 5 Mar 2002 23:54:15 -0000 1.21
@@ -25,6 +25,23 @@
define('TEMPLATE_PATH', 'admin');
include '../include.php';
+function del_item($osid = 0) {
+ global $q, $me;
+
+ if ($osid) {
+ // Make sure we are going after a valid record
+ $itemexists = $q->grab_field('select count(*) from '.TBL_OS.
+ " where os_id = $osid");
+ // Are there any bugs tied to this one?
+ $bugcount = $q->grab_field('select count(*) from '.TBL_BUG.
+ " where os_id = $osid");
+ if ($itemexists and !$bugcount) {
+ $q->query('delete from '.TBL_OS." where os_id = $osid");
+ }
+ }
+ header("Location: $me?");
+}
+
function do_form($osid = 0) {
global $q, $me, $_pv, $STRING;
@@ -72,6 +89,7 @@
$t->set_file('content','oslist.html');
$t->set_block('content','row','rows');
+ $t->set_block('row','deleteblock','deleteb');
if (empty($_gv['order'])) {
$order = 'sort_order';
@@ -95,8 +113,11 @@
'last' => $llimit+$selrange > $nr ? $nr : $llimit+$selrange,
'records' => $nr));
- $q->limit_query("select * from ".TBL_OS." order by $order $sort",
- $selrange, $llimit);
+ $q->limit_query('select s.os_id, os_name, regex, sort_order,'.
+ ' count(bug_id) as bug_count from '.TBL_OS.
+ ' s left join '.TBL_BUG.' using (os_id) group by s.os_id,'.
+ ' os_name, regex, sort_order'.
+ " order by $order $sort", $selrange, $llimit);
if (!$q->num_rows()) {
$t->set_var('rows',"<tr><td>{$STRING['nooses']}</td></tr>");
@@ -120,6 +141,11 @@
'name' => $row['os_name'],
'regex' => $row['regex'],
'sortorder' => $row['sort_order']));
+ if ($row['bug_count']) {
+ $t->set_var('deleteb', ' ');
+ } else {
+ $t->parse('deleteb', 'deleteblock', false);
+ }
$t->parse('rows','row',true);
}
@@ -134,6 +160,7 @@
if (isset($_gv['op'])) switch($_gv['op']) {
case 'add' : list_items(); break;
case 'edit' : list_items($_gv['id']); break;
+ case 'del' : del_item($_gv['id']); break;
} elseif(isset($_pv['submit'])) {
do_form($_pv['id']);
} else list_items();
Index: resolution.php
===================================================================
RCS file: /cvsroot/phpbt/phpbt/admin/resolution.php,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- resolution.php 26 Jan 2002 16:46:52 -0000 1.21
+++ resolution.php 5 Mar 2002 23:54:15 -0000 1.22
@@ -25,6 +25,23 @@
define('TEMPLATE_PATH', 'admin');
include '../include.php';
+function del_item($resolutionid = 0) {
+ global $q, $me;
+
+ if ($resolutionid) {
+ // Make sure we are going after a valid record
+ $itemexists = $q->grab_field('select count(*) from '.TBL_RESOLUTION.
+ " where resolution_id = $resolutionid");
+ // Are there any bugs tied to this one?
+ $bugcount = $q->grab_field('select count(*) from '.TBL_BUG.
+ " where resolution_id = $resolutionid");
+ if ($itemexists and !$bugcount) {
+ $q->query('delete from '.TBL_RESOLUTION." where resolution_id = $resolutionid");
+ }
+ }
+ header("Location: $me?");
+}
+
function do_form($resolutionid = 0) {
global $q, $me, $_pv, $STRING;
@@ -79,6 +96,7 @@
$t->set_file('content','resolutionlist.html');
$t->set_block('content','row','rows');
+ $t->set_block('row','deleteblock','deleteb');
if (empty($_gv['order'])) {
$order = 'sort_order';
@@ -101,8 +119,11 @@
'last' => $llimit+$selrange > $nr ? $nr : $llimit+$selrange,
'records' => $nr));
- $q->limit_query("select * from ".TBL_RESOLUTION." order by $order $sort",
- $selrange, $llimit);
+ $q->limit_query('select s.resolution_id, resolution_name, resolution_desc,'.
+ ' sort_order, count(bug_id) as bug_count from '.TBL_RESOLUTION.
+ ' s left join '.TBL_BUG.' using (resolution_id) group by s.resolution_id,'.
+ ' resolution_name, resolution_desc, sort_order'.
+ " order by $order $sort", $selrange, $llimit);
if (!$q->num_rows()) {
$t->set_var('rows',"<tr><td>{$STRING['noresolutions']}</td></tr>");
@@ -126,6 +147,11 @@
'name' => $row['resolution_name'],
'description' => $row['resolution_desc'],
'sortorder' => $row['sort_order']));
+ if ($row['bug_count']) {
+ $t->set_var('deleteb', ' ');
+ } else {
+ $t->parse('deleteb', 'deleteblock', false);
+ }
$t->parse('rows','row',true);
}
@@ -140,6 +166,7 @@
if (isset($_gv['op'])) switch($_gv['op']) {
case 'add' : list_items(); break;
case 'edit' : list_items($_gv['id']); break;
+ case 'del' : del_item($_gv['id']); break;
} elseif(isset($_pv['submit'])) {
do_form($_pv['id']);
} else list_items();
Index: severity.php
===================================================================
RCS file: /cvsroot/phpbt/phpbt/admin/severity.php,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- severity.php 26 Jan 2002 16:46:52 -0000 1.17
+++ severity.php 5 Mar 2002 23:54:15 -0000 1.18
@@ -25,6 +25,23 @@
define('TEMPLATE_PATH', 'admin');
include '../include.php';
+function del_item($severityid = 0) {
+ global $q, $me;
+
+ if ($severityid) {
+ // Make sure we are going after a valid record
+ $itemexists = $q->grab_field('select count(*) from '.TBL_SEVERITY.
+ " where severity_id = $severityid");
+ // Are there any bugs tied to this one?
+ $bugcount = $q->grab_field('select count(*) from '.TBL_BUG.
+ " where severity_id = $severityid");
+ if ($itemexists and !$bugcount) {
+ $q->query('delete from '.TBL_SEVERITY." where severity_id = $severityid");
+ }
+ }
+ header("Location: $me?");
+}
+
function do_form($severityid = 0) {
global $q, $me, $_pv, $STRING;
@@ -82,6 +99,7 @@
$t->set_file('content','severitylist.html');
$t->set_block('content','row','rows');
+ $t->set_block('row','deleteblock','deleteb');
if (empty($_gv['order'])) {
$order = 'sort_order';
@@ -104,8 +122,11 @@
'last' => $llimit+$selrange > $nr ? $nr : $llimit+$selrange,
'records' => $nr));
- $q->limit_query("select * from ".TBL_SEVERITY." order by $order $sort",
- $selrange, $llimit);
+ $q->limit_query('select s.severity_id, severity_name, severity_desc,'.
+ ' severity_color, sort_order, count(bug_id) as bug_count from '.TBL_SEVERITY.
+ ' s left join '.TBL_BUG.' using (severity_id) group by s.severity_id,'.
+ ' severity_name, severity_desc, severity_color, sort_order'.
+ " order by $order $sort", $selrange, $llimit);
if (!$q->num_rows()) {
@@ -132,6 +153,11 @@
'name' => $row['severity_name'],
'description' => $row['severity_desc'],
'sortorder' => $row['sort_order']));
+ if ($row['bug_count']) {
+ $t->set_var('deleteb', ' ');
+ } else {
+ $t->parse('deleteb', 'deleteblock', false);
+ }
$t->parse('rows','row',true);
}
@@ -146,6 +172,7 @@
if (isset($_gv['op'])) switch($_gv['op']) {
case 'add' : list_items(); break;
case 'edit' : list_items($_gv['id']); break;
+ case 'del' : del_item($_gv['id']); break;
} elseif(isset($_pv['submit'])) {
do_form($_pv['id']);
} else list_items();
Index: status.php
===================================================================
RCS file: /cvsroot/phpbt/phpbt/admin/status.php,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- status.php 26 Jan 2002 16:46:52 -0000 1.21
+++ status.php 5 Mar 2002 23:54:15 -0000 1.22
@@ -25,6 +25,23 @@
define('TEMPLATE_PATH', 'admin');
include '../include.php';
+function del_item($statusid = 0) {
+ global $q, $me;
+
+ if ($statusid) {
+ // Make sure we are going after a valid record
+ $itemexists = $q->grab_field('select count(*) from '.TBL_STATUS.
+ " where status_id = $statusid");
+ // Are there any bugs tied to this one?
+ $bugcount = $q->grab_field('select count(*) from '.TBL_BUG.
+ " where status_id = $statusid");
+ if ($itemexists and !$bugcount) {
+ $q->query('delete from '.TBL_STATUS." where status_id = $statusid");
+ }
+ }
+ header("Location: $me?");
+}
+
function do_form($statusid = 0) {
global $q, $me, $_pv, $STRING;
@@ -79,6 +96,7 @@
$t->set_file('content','statuslist.html');
$t->set_block('content','row','rows');
+ $t->set_block('row','deleteblock','deleteb');
if (empty($_gv['order'])) {
$order = 'sort_order';
@@ -101,8 +119,10 @@
'last' => $llimit+$selrange > $nr ? $nr : $llimit+$selrange,
'records' => $nr));
- $q->limit_query("select * from ".TBL_STATUS." order by $order $sort",
- $selrange, $llimit);
+ $q->limit_query('select s.status_id, status_name, status_desc,'.
+ ' sort_order, count(bug_id) as bug_count from '.TBL_STATUS.' s left join '.
+ TBL_BUG.' using (status_id) group by s.status_id, status_name, status_desc,'.
+ " sort_order order by $order $sort", $selrange, $llimit);
if (!$q->num_rows()) {
$t->set_var('rows',"<tr><td>{$STRING['nostatuses']}</td></tr>");
@@ -125,7 +145,13 @@
'statusid' => $row['status_id'],
'name' => $row['status_name'],
'description' => $row['status_desc'],
- 'sortorder' => $row['sort_order']));
+ 'sortorder' => $row['sort_order'],
+ ));
+ if ($row['bug_count']) {
+ $t->set_var('deleteb', ' ');
+ } else {
+ $t->parse('deleteb', 'deleteblock', false);
+ }
$t->parse('rows','row',true);
}
@@ -140,6 +166,7 @@
if (isset($_gv['op'])) switch($_gv['op']) {
case 'add' : list_items(); break;
case 'edit' : list_items($_gv['id']); break;
+ case 'del' : del_item($_gv['id']); break;
} elseif(isset($_pv['submit'])) {
do_form($_pv['id']);
} else list_items();
|