diff --git a/mozilla/webtools/tinderbox3/scripts/adminpatch.pl b/mozilla/webtools/tinderbox3/scripts/adminpatch.pl index daf51d87c20..ed496e92479 100755 --- a/mozilla/webtools/tinderbox3/scripts/adminpatch.pl +++ b/mozilla/webtools/tinderbox3/scripts/adminpatch.pl @@ -3,113 +3,59 @@ use CGI; use Tinderbox3::Header; use Tinderbox3::DB; +use Tinderbox3::Login; use strict; # # Init # my $p = new CGI; - my $dbh = get_dbh(); -my ($patch_id, $message) = update_patch($p, $dbh); +my ($login, $cookie) = check_session($p, $dbh); + +# For edit_patch +my $patch_id = Tinderbox3::DB::update_patch_action($p, $dbh, $login); # Get patch from DB -my $patch_info = $dbh->selectrow_arrayref("SELECT tree_name, patch_name, patch_ref, patch, obsolete FROM tbox_patch WHERE patch_id = ?"); -if (!$patch_info) { +my $patch_info = $dbh->selectrow_arrayref("SELECT tree_name, patch_name, patch_ref, patch, in_use FROM tbox_patch WHERE patch_id = ?", undef, $patch_id); +if (!defined($patch_info)) { die "Could not get patch!"; } -my ($tree, $patch_name, $patch_ref, $patch, $obsolete) = @{$patch_info}; +my ($tree, $patch_name, $patch_ref, $patch, $in_use) = @{$patch_info}; my $bug_id; if ($patch_ref =~ /Bug\s+(.*)/) { $bug_id = $1; } -header($p, "Edit Patch $patch_name"); +header($p, $login, $cookie, "Edit Patch $patch_name", $tree); # -# Edit / Add tree form +# Edit patch form # -print "
List Trees"; -if ($tree) { - print " | Edit Sheriff / Tree Status Info | Edit Tree\n"; -} -print "
\n"; print <| Patch Name (just for display): | |
|---|---|
| Bug #: | |
| Patch Name (just for display): | @{[$p->textfield(-name=>'patch_name', -default=>$patch_name)]} |
| Bug #: | @{[$p->textfield(-name=>'bug_id', -default=>$bug_id)]} |
| In Use: |
+$patch +EOM footer($p); $dbh->disconnect; - - -# -# Update / insert the patch -# -sub update_patch { - my ($p, $dbh) = @_; - - my $tree = $p->param('tree') || ""; - - my $action = $p->param('action') || ""; - if ($action eq 'upload_patch') { - my $tree = $p->param('tree') || ""; - my $patch_name = $p->param('_patch_name') || ""; - my $bug_id = $p->param('_bug_id') || ""; - - if (!$patch_name) { die "Must specify a non-blank patch name!"; } - - my $patch_fh = $p->upload('_patch'); - if (!$patch_fh) { die "No patch file uploaded!"; } - my $patch = ""; - while (<$patch_fh>) { - $patch .= $_; - } - - my $rows = $dbh->do("INSERT INTO tbox_patch (tree_name, patch_name, patch_ref, patch_ref_url, patch) VALUES (?, ?, ?, ?, ?)", undef, $tree, $patch_name, "Bug $bug_id", "http://bugzilla.mozilla.org/show_bug.cgi?id=$bug_id", $patch); - - # Update or insert the tree - if ($tree) { - my $rows = $dbh->do("UPDATE tbox_tree SET tree_name = ?, password = ?, field_short_names = ?, field_processors = ? WHERE tree_name = ?", undef, $newtree, $password, $field_short_names, $field_processors, $tree); - if (!$rows) { - die "No tree named $tree!"; - } - } else { - my $rows = $dbh->do("INSERT INTO tbox_tree (tree_name, password, field_short_names, field_processors) VALUES (?, ?, ?, ?)", undef, $newtree, $password, $field_short_names, $field_processors); - if (!$rows) { - die "Passing strange. Insert failed."; - } - $tree = $newtree; - } - $dbh->commit; - } elsif ($action eq 'delete_patch') { - my $patch_id = $p->param('_patch_id') || ""; - if (!$patch_id) { die "Need patch id!" } - my $rows = $dbh->do("DELETE FROM tbox_patch WHERE tree_name = ? AND patch_id = ?", undef, $tree, $patch_id); - if (!$rows) { - die "Delete failed. No such tree / patch."; - } - $dbh->commit; - } elsif ($action eq 'obsolete_patch') { - my $patch_id = $p->param('_patch_id') || ""; - if (!$patch_id) { die "Need patch id!" } - my $rows = $dbh->do("UPDATE tbox_patch SET obsolete = 'Y' WHERE tree_name = ? AND patch_id = ?", undef, $tree, $patch_id); - if (!$rows) { - die "Update failed. No such tree / patch."; - } - $dbh->commit; - } - - return $tree; -} - diff --git a/mozilla/webtools/tinderbox3/server/adminpatch.pl b/mozilla/webtools/tinderbox3/server/adminpatch.pl index daf51d87c20..ed496e92479 100755 --- a/mozilla/webtools/tinderbox3/server/adminpatch.pl +++ b/mozilla/webtools/tinderbox3/server/adminpatch.pl @@ -3,113 +3,59 @@ use CGI; use Tinderbox3::Header; use Tinderbox3::DB; +use Tinderbox3::Login; use strict; # # Init # my $p = new CGI; - my $dbh = get_dbh(); -my ($patch_id, $message) = update_patch($p, $dbh); +my ($login, $cookie) = check_session($p, $dbh); + +# For edit_patch +my $patch_id = Tinderbox3::DB::update_patch_action($p, $dbh, $login); # Get patch from DB -my $patch_info = $dbh->selectrow_arrayref("SELECT tree_name, patch_name, patch_ref, patch, obsolete FROM tbox_patch WHERE patch_id = ?"); -if (!$patch_info) { +my $patch_info = $dbh->selectrow_arrayref("SELECT tree_name, patch_name, patch_ref, patch, in_use FROM tbox_patch WHERE patch_id = ?", undef, $patch_id); +if (!defined($patch_info)) { die "Could not get patch!"; } -my ($tree, $patch_name, $patch_ref, $patch, $obsolete) = @{$patch_info}; +my ($tree, $patch_name, $patch_ref, $patch, $in_use) = @{$patch_info}; my $bug_id; if ($patch_ref =~ /Bug\s+(.*)/) { $bug_id = $1; } -header($p, "Edit Patch $patch_name"); +header($p, $login, $cookie, "Edit Patch $patch_name", $tree); # -# Edit / Add tree form +# Edit patch form # -print "
List Trees"; -if ($tree) { - print " | Edit Sheriff / Tree Status Info | Edit Tree\n"; -} -print "
\n"; print <| Patch Name (just for display): | |
|---|---|
| Bug #: | |
| Patch Name (just for display): | @{[$p->textfield(-name=>'patch_name', -default=>$patch_name)]} |
| Bug #: | @{[$p->textfield(-name=>'bug_id', -default=>$bug_id)]} |
| In Use: |
+$patch +EOM footer($p); $dbh->disconnect; - - -# -# Update / insert the patch -# -sub update_patch { - my ($p, $dbh) = @_; - - my $tree = $p->param('tree') || ""; - - my $action = $p->param('action') || ""; - if ($action eq 'upload_patch') { - my $tree = $p->param('tree') || ""; - my $patch_name = $p->param('_patch_name') || ""; - my $bug_id = $p->param('_bug_id') || ""; - - if (!$patch_name) { die "Must specify a non-blank patch name!"; } - - my $patch_fh = $p->upload('_patch'); - if (!$patch_fh) { die "No patch file uploaded!"; } - my $patch = ""; - while (<$patch_fh>) { - $patch .= $_; - } - - my $rows = $dbh->do("INSERT INTO tbox_patch (tree_name, patch_name, patch_ref, patch_ref_url, patch) VALUES (?, ?, ?, ?, ?)", undef, $tree, $patch_name, "Bug $bug_id", "http://bugzilla.mozilla.org/show_bug.cgi?id=$bug_id", $patch); - - # Update or insert the tree - if ($tree) { - my $rows = $dbh->do("UPDATE tbox_tree SET tree_name = ?, password = ?, field_short_names = ?, field_processors = ? WHERE tree_name = ?", undef, $newtree, $password, $field_short_names, $field_processors, $tree); - if (!$rows) { - die "No tree named $tree!"; - } - } else { - my $rows = $dbh->do("INSERT INTO tbox_tree (tree_name, password, field_short_names, field_processors) VALUES (?, ?, ?, ?)", undef, $newtree, $password, $field_short_names, $field_processors); - if (!$rows) { - die "Passing strange. Insert failed."; - } - $tree = $newtree; - } - $dbh->commit; - } elsif ($action eq 'delete_patch') { - my $patch_id = $p->param('_patch_id') || ""; - if (!$patch_id) { die "Need patch id!" } - my $rows = $dbh->do("DELETE FROM tbox_patch WHERE tree_name = ? AND patch_id = ?", undef, $tree, $patch_id); - if (!$rows) { - die "Delete failed. No such tree / patch."; - } - $dbh->commit; - } elsif ($action eq 'obsolete_patch') { - my $patch_id = $p->param('_patch_id') || ""; - if (!$patch_id) { die "Need patch id!" } - my $rows = $dbh->do("UPDATE tbox_patch SET obsolete = 'Y' WHERE tree_name = ? AND patch_id = ?", undef, $tree, $patch_id); - if (!$rows) { - die "Update failed. No such tree / patch."; - } - $dbh->commit; - } - - return $tree; -} -